我用STM32F407 作USB host, 配置为FS。用它接声卡。如果STM32F407 单向给 声卡传送音频,输出声音正常。或者 407单向接收声卡的音频,工作也正常。但是同时发送和接收声音(即同时作同步IN和OUT),USB就会出错,具体出错中断信号为 未完成周期性传输中断 或 Tx FIFO 空中断。 因为ST 对USB host 提供的 audio class例程只有stream out, 没有stream in。不知道是不是407对于同步双向传输处理速度不够造成? |
cubeMX硬件spi
请教PDMtPCM库的使用,我看了UM2372的用户手册,还是没搞懂pdm2pcm库怎么集成到我的程序中。我找到了手册上的pdm2pcm_glo.h头文件和libPDMFilter_CM4_Keil_wc16.lib库文件,之后如何操作呢?还有手册中的audio_fw_glo.h文件没有在软件包中找到怎么办?求解,万分感谢!!!
SPI寄存器状态异常
stm32F407VGT6网络初始化的问题
CAN发送数据HAL_CAN_Transmit能够发送数据HAL_CAN_AddTxMessage()函数发送数据堵在邮箱里面发不出去了
需要同时接多个usb设备,f407的usb能否外挂一个sl2.1的hub芯片,
debug显示cannot access Memory
【求助】STM32F427 Flash报PGSERR错误
CubeAI如何加载caffe模型
在测量ADC时,不接ST-link采样值偏小
但是,我用示波器测量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 通道都打开就会出现这样的问题?