(1)在数据处理部分利用FPGA截取数据的有效部分,并将串行数据变成并行数据,以利于数据更快、更准确的传输。
(2)为了保证数据不丢失,在FPGA内部增加内部FIFO,使数据在提交的同时也可以传输。
(3)在USB的固件部分,使用AUTO传输方式,数据直接经过USB2.0核、FIFO、GPIF Master以及NandFlash这条高速路径传输,而不经过低速的8051核,从而可以达到较高数据传输速度。
(4)在固件的端点设置中,使用多缓冲机制,通过改变EPxCFG配置寄存器中的BUF0、BUF1位的值,就可以设置缓冲数。
(5)使用GPIF方式进行传输,在GPIF波形的延时,提高GPIF波形的执行频率,也可以提升读取速度。
在进行系统整体性能的测试中,发现如果加快FPGA的数据输出速度,则在读出的波形中会有部分丢包的现象,经过分步重新测试,发现在FPGA的内部FIFO中,如果写时钟与读时钟的差距太大,就会造成丢点或者错点的现象,所以USB的GPIF产生的读波形应该与FPGA的写入速度相平衡,整体重新进行调试后,满足了实时显示并且稳定的条件。
本文利用FPGA和USB接口芯片CY7C68013实现了采样数据的高速传输。特别是在调试过程中为了保证数据的正确性,提出了适合于通用驱动程序的块传输同步控制信号。在上下位机的协调控制下数据能够高速有效地传输。多次试验证明,此系统运行稳定,能够满足工作环境复杂、传输速度要求高的场合。
参考文献
[1] EZ-USB FX2 technical reference manual version 2.0 [M/CD].Cypress Semionductor Corp data book,2001.
[2] 钱峰.EZ-USB FX2 单片机原理、编程及应用[M].北京:北京航空航天大学出版社,2005.
[3] 时向卫.Win2000/XP USB 设备驱动程序研究与设计[J]. 计算机工程与设计,2008,29(21):5563-5564.
[4] 赵卉.基于USB接口的无线数据传输系统设计[J].微计算机信息,2008,24(8-2):107-108.
[5] .基于USB2.0 的高速数据采集与传输系统的研究[D].长春:吉林大学,2007.
本文来自电脑杂谈,转载请注明本文网址:
http://www.pc-fly.com/a/dianqi/article-31457-3.html
而且要严正表明
0现在是9
奋斗