|
我用STM32F407 作USB host, 配置为FS。用它接声卡。如果STM32F407 单向给 声卡传送音频,输出声音正常。或者 407单向接收声卡的音频,工作也正常。但是同时发送和接收声音(即同时作同步IN和OUT),USB就会出错,具体出错中断信号为 未完成周期性传输中断 或 Tx FIFO 空中断。 因为ST 对USB host 提供的 audio class例程只有stream out, 没有stream in。不知道是不是407对于同步双向传输处理速度不够造成? |
stm32 f411偶发性无法启动大神求助
STM32F407全速USB 回复 STALL 握手包
USB_WritePacket 陷入无限循环
STM32F405RG VCP 报错This device cannot start (code 10)
在擦除flash时 同时挂起中断 是否会造成卡死以及相关的卡死机制
STM32F401RBT6 USB 大容量存储设备问题
STM32F407VET6,使用cubeIDE下载跑不起来
FLASH擦除轮询等待时CPU真的会轮询吗
STM32F417 RTC读取亚秒寄存器
USB OTG 主机枚举问题
微信公众号
手机版
但是,我用示波器测量STM32F4 USB host 同步传输时,一帧内In 288Bytes, Out 288 Bytes, 所需要的时间也<500us, 它完全有足够时间处理的。
并且,按照STM32F4中文参考手册上关于USB系统性能说的,“凭借大容量 RAM 缓冲区、高度可配置的 FIFO 大小、通过 AHB 压栈/出栈寄存器进行 32 位FIFO 快速访问。。。。。。
由于 OTG_FS 模块能够高效填充1.25 KB RAM 缓冲区且 1.25 KB 发送/接收数据足以满足一个全速帧所能容纳的数据量,因此USB 系统在一帧之内可以无需应用程序干预达到最大USB 带宽。”
既然一帧内都能够处理1.25KB的数据,现在实际处理576Bytes, 应该不成问题。
如果我遇到这个问题,真的是由于STM32F4处理速度跟不上,那就跟手册上说的有矛盾。
我做了这样的测试,第一帧只做同步OUT, 第二帧只做同步IN,即一帧只做一种同步传输,如此循环。但它依然会产生未完成周期性传输(Incomplete periodic transfer)中断。所以应该不是STM32F4速度不够。但为什么IN 和 OUT 通道都打开就会出现这样的问题?