各位大神,求帮助!
我现在在做68013的项目开发!
用68013的异步slave fifo,BULK方式传输数据,开发板用的是DM648,68013的异步slave fifo引脚控制分别由DSP和CPLD控制。dsp端控制FIFO_ADR0/FIFO_ADR1、FLAGB/FLAGC、PKTEND这些信号。然后CPLD端控制SLOE、ERE/EWE、USB_FIFO_CS这些信号。
现在我dsp端通过usb2.0给pc机发送数据已经可以正确接受。但是现在传输速度只有0.97MB/S,远远小于usb2.0实际的20MB/S以上的速度。
首先我自己排查掉的因素有:
1.首先是pc端接受缓冲区的大小,我pc端缓冲区设置大小为64K,速度也变化不了多少,还是小于1Mb/S.
2.fifo的外部MCU的晶振。这个是我dsp芯片的主控晶振可达900MHZ,这个应该是可以达到要求。
3.还有就是我dsp端发送的数据连续性,这个对速度影响也是不到,比如我发送1024自己跟发送64K字节,速度变化几乎不大。
4.可能还有一个问题就是怀疑我pc电脑的usb是1.1的。这个应该是不可能。
首先我用8G的优盘拷贝3.9G的东西,用时17分钟。这样算下来是3.9*1024/(17*60)=3.9MB/S,这大于1.1的usb的最大传输速度。所以说我这个usb是2.0的,并且应该是支持usb2.0的吧!!(有一种说法是在主板BIOS中没有设置支持usb2.0,既然我这个拷贝东西的速度可达3.9MB/S,那就是支持了吧!)
pc端我用CYpress公司的control center,还有WinDriver都试过,速度一样。
真心求各位给点意见。具体我这个速度这么低的原因在哪????
在线等!!!
|