本帖最后由 wjxcom 于 2010-12-16 12:52 编辑
各位好:
我现在在做usb方面的东西,到的问题是CY7C68013的速率提不上去。
测试系统结构:FPGA => CY7C68013 => PC
1、FPGA以16M/s连续产生16位并行测试数据至CY7C68013,即16M bytes/s
2、CY7C68013配置为SLAVE FIFO工作模式,端点2接受PC发出的命令,启动FPGA开始计数,接着端点8接受FPGA的计数器发出的数据。
测试过程及问题:将CY7C68013的端点缓冲区分别配置为双缓冲和四缓冲,用quartusii的SignalTap观察端点8的full信号,发现PC在接收数据的过程中,full信号由高变为低了。因此估计是PC未及时从FIFO中读取数据,但PC应用层只是执行了接收数据操作,不知是否低层驱动的问题。
其实我遇到的这个问题与https://bbs.21ic.com/viewthread.php?tid=114226&highlight=CY7C68013%E7%9A%84%E9%80%9F%E7%8E%87%E6%8F%90%E4%B8%8D%E4%B8%8A%E5%8E%BB是一样的,我看见版主computer00提出驱动在取数据时,最好一时提交很大量的数据。
我是写硬件的,不知道如何写软件,所以向大家请教一下,该如何写这个驱动呢?我把我写的两个主要的C文件放到附件里了,麻烦大家给看一下,该如何修改会更好呢? |