


下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、一种基于USB的快速数据传输系统设计 摘要:文章介绍了一种利用基于USB的快速读数系统的设计方法。该系统利用CY7C68013实现,文章给出了系统的硬件设计方案、FPGA内部集成FIFO的软件实现方法以及GPIF与FLASH握手信号的设计。通过此USB数据传输模块,实现了FLASH存储器与计算机之间的数据高速传输
2、。应用结果表明,此数据通信系统是可靠有效的,具有一定的通用性,可用于其它类似的测试存储系统中。 关键词:USB;GPIF;数据传输;FPGA 目前计算机的有线数据传输方式主要有串口、并口和USB三种。串口最高传输速度仅为115200bit/s。并口传输的模式有两种,速度最快的EPP模式其传输速度约为两百K。而USB方式中数据以包的形式进行传送,工作模式分低速、全速和高速,低速的传输速度为1.5M/S,全速约为12M/S,高速可达480M/S。面对今天容量日益庞大的存储系统,使用USB技术无疑将大大提高系统读数速度。随着嵌入式系统的发展,将USB硬件收发器、SIE串行接口引擎等USB硬件集成在一
3、个单片机芯片上,简化USB协议,为我们使用USB设计读数模块提供了可能。 本文USB传输系统采用微处理器CY68013实现。文章给出了此数据传输系统的硬件设计方案,着重介绍了FPGA控制模块中内部集成FIFO的实现方法,以及GPIF与FLASH通信时握手信号的设计方案。 1系统硬件方案设计 CY68013是Cypress公司推出的EZ-USBFX2系列产品之一,内部集成了USB2.0收发器、智能串行引擎(SIE)、增强型8051控制器、通用可编程接口(GPIF)、8.5KB的RAM和FIFO存储器,最大限度的满足了USB2.0的总线带宽。FX2最常用的数据传输方式就是GPIF。GPIF是一种快
4、速的数据传输方式,时序简单。它可以很容易的从RAM中读取数据。但是,由于FLASH存储器的读数操作是以页为单位,读数时页与页之间有一小段时间间隔,数据输出不是连续的。为解决此问题,实现FX2GPIF方式读取FLASH中的数据,需要使用FIFO作为数据过渡,先将FLASH中的数据读到FIFO中,USB控制器再从FIFO中读取数据。 2FPGA内部集成FIFO的软件设计 2.1内部集成FIFO的结构 FIFO的本质是一种特殊的双口RAM,由于大部分FPGA内部就有双口RAM资源。因此在这里选用合适的FPGA芯片来编写FPGA内部集成FIFO。FIFO结构的特点是先进先出,对外它是一种没有地址控制的
5、特殊缓存。只要给一个FIFO提供读、写使能信号就能使其工作,不同的是FIFO对外不显示地址,只是给出表现内部状态的满、半满和空信号,用户根据这些信号对FIFO进行操作。 FIFO设计时最重要的就是怎么给出这些信号。本设计中FIFO产生满、半满以及空状态标志信号采用如下方法:用读地址和写地址相减结果来判断FIFO的满空状态;此外还可以据此得到FIFO的半满状态信号。这种方法可以容易的控制FIFO满、半满、空的深度。 2.2FIFO标志信号的产生 FIFO满、空、半满标志信号的生成过程是一样的,只不过判断比较的差值不一样。FIFO满时差值为1023,空为1。为了避免时序错误,还可以设定一定的满空深
6、度。例如,当地址差大于1000时认为FIFO已满,不再向FIFO中写入数据,这样可以避免错误的出现。 3GPIF与FLASH握手信号设计满、空信号主要是在读数时使用,用作GPIF与FLASH读数时的握手信号,以保证读数的稳定可靠。读数时数据要先存到FIFO中,然后USB再从FIFO中读取数据。对于FIFO来说,读取和写入的速度是不同的,可能读比写快,也可能写比读快。因此,我们需要设计读数握手信号,以防读数时丢失数据。信号的握手过程是:对于读数控制模块来说,只要FIFO不满它就向FIFO中写入数据。对于FX2GPIF来说,只要FIFO不空它就从FIFO中读取数据。这样对于FIFO的读写就组成了一
7、个闭环,保证了读数的完整准确。 读数握手方式确定以后可能出现两种情况:FIFO的写数速度大于读数速度,这样写地址慢慢就追上读地址了,这时的总的读数速度就由读数速度决定。FIFO的写数速度大于读数速度,这样读地址慢慢就追上写地址,这时的总的读数速度就由写数速度决定。 4结语 本文设计的基于EZ-USBFX2微处理器的数据通信系统,实现了利用USB端口从FLASH存储器种快速读取数据。此数据通信系统应用在了某型号车载测试存储系统中。存储的数据通过此传输模块快速地读入计算机,根据上位机数据恢复的信号与原始信号比较,失真较小,噪声水平低取得了良好的效果。此设计具有一定的通用性,对于一般基于USB的高速数据传输系统设计具有一定的应用参考价值。 参考文献: 1钱峰.EZ-USBFX2单片机原理、编程及应用M.北京:北京航空航天大学出版社,2006. 2张会新,王红亮.通用异步串行通讯测试系统J.
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
评论
0/150
提交评论