阅读:1156回复:0
关于usb问题dma以及传输速度的讨论
看了周立功单片机关于usbd12的速度报告。我对我的usb作了测试。
发2M字节。每次WRITE 64BYTE,共发了36000次,FIRMWARE写中断时,把数据读进CPU BUFFER,然后接着把BUFFER的数据发往外部FIFO,用时几分钟。后来每次WRITE 64KBYTE 发35次,用时40秒。 想每次WRITE再大点,可是超过65535系统WRITE 返回错误不知为什吗?后用DMA,每次WRITE 64KBYTE 发35次,用时8秒。 经过测试得出结论:系统在2次WRITE包之间的通讯准备和单片机速度是影响速率的主要原因。我用的20M,12分频的那种CPU.周立功用24M, 6分频的那种测试最快好像300多K/S. 关于DMA,需接外部DMA控制器,我看大部分人好像都自己用PLD实现的,我对PLD不很熟悉,自己编的DMA控制这块有点不太好,不知哪位 高手可慷慨相助?用VHDL最好。 |
|
|