我用STR9 USB HID DEMO修改成BULK传输程序后,已经能用了。可是速度只有130KB/S,离理论速度1.5M/s还差得远。 我已经尝试了很多办法,发现问题不在PC的驱动上,因为即使不用驱动,使用USB HOUND也达不到高速。另外,问题也不在MCU处理速度上,48MHz和96Mhz的主频下传输速度都一样。还有,单缓冲双缓冲也没有速度上的区别。DMA应该也不能解决问题,因为即使不更新缓冲区的内容(DMA就是自动干这个的),速度也一样。 另外,理论上说全速设备的端口描述的MaxPacket大小应该是64,32……,可是我把它设置到256还能用,这是速度明显比设置到64快得多(64的速度只有30KB/S)。但是不能设置成更大了,更大就会出错,不能正常传输。这一点我一直不理解。
特请教专家,USB BULK速度上不去会是什么原因?怎样解决? 谢谢!
|