基于Verilog的FPGA与USB20高速接口设计

基于Verilog的FPGA与USB20高速接口设计

ID:41729449

大小:120.61 KB

页数:6页

时间:2019-08-30

基于Verilog的FPGA与USB20高速接口设计_第1页
基于Verilog的FPGA与USB20高速接口设计_第2页
基于Verilog的FPGA与USB20高速接口设计_第3页
基于Verilog的FPGA与USB20高速接口设计_第4页
基于Verilog的FPGA与USB20高速接口设计_第5页
资源描述:

《基于Verilog的FPGA与USB20高速接口设计》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库

1、基于Verilog的FPGA与USE2・0高速接口设计0引言USB(通用串行总线)是英特尔、微软、IBM、康柏等公司1994年联合制定的一种通用串行总线规范,它具有数据传输速度快,成本低,可靠性高,支持即插即用和热插拔等优点,迅速得到广泛应用。在高速的数据采集或传输中,目前使用较多的都是采用USB2.0接口控制器和FPGA或DSP实现的,本设计在USB2.0接口芯片CY7C68013的SlaveFIFO模式下,利用FPGA作为外部主控制器实现対FX2USB内部的FIFO进行控制,以实现数据的高速传输。该模块可普遍适用于基于USB2.0接口的

2、高速数据传输或采集中。1系统硬件模块设计1.1系统硬件框图图1中展示了SlaveFlFO方式下FX2USB和FPGA的典型连接。其中,FD[7..O]为8位双向数据总线FLAGA-FLAGC为FX2内FIFO的标志管脚,映射FIFO的当前状态;SLCS为SlaveFIFO的片选信号;SLOE用于使能数据总线FD的输出;FIFOADR[1..0J用于选择和FD连接的端点缓冲区(00代表端点2,01代表端点4,10代表端点6,11代表端点8);SLRD和SLWR可分别作为FIFO的读写选通信号。CY7C680I3FPGA图1硬件系统框1.2US

3、B2.0接口芯JVCY7C680131.2.1CY7C68013的结构特点Cypress公司的USBFX2是第一个包含USB2.0的集成微控制器,它内部集成了1个增强型的8051,1个智能USB串行接口引擎,1个USB数据收发器,3个8位1/O口,16位地址线,8.5KBRAM4KBFIFO增强性8051内核完全与标准8051兼容,而性能可达到标准8051的3倍以上。其框图如图2所示。FX2X20PLL/0.5/1.0/2.08051core12/24/48MHzK5KBRAM(8)snco3ECV(9-)SEPPV住CompatibleM

4、asterGPIFAdditionalI/Os(24)4KBFIFOCYSmartUSBl.i/20EngineUSB2.0XCVRD4图2CY7C68013内部结构框图1.2.2CY7C68013的工作模式CY7C68013冇Ports模式、SlaveFIFO和GPIF三种接口方式。Ports模式是一种最基本的数据传输方式,其数据传输主要由固件程序完成,需要CPU的参与,因此数据传输速率比较低,适用于传输速率要求不高的场合。SlaveFIFO方式是从机方式,外部控制器,如FPGA,可像对普通FIFO一样对FX2的多层缓冲FIFO进行读写。

5、FX2内部的FIFO捉供所需的时序信号、握手信号(满、空等)和输出使能等。这里就是在SlaveFIFO模式下实现USB2.0接口和FPGA的数据通信。可编程接口GPIF是主机方式,GP1F作为内部主机控制端点FIFO,町以软件编程读写控制波形,儿乎可以对任何8/16b接口的控制器、存储器和总线进行数据的主动读写,非常灵活。2系统软件模块设计2.1USB固件程序设计应川屮采川异步FIFO方式,使用内部48MHz时钟,自动方式,固件程序采用Cypress公司提供的固件程序框架,在其初始化函数中添加了用户配置代码。该设计中异步自动从属FIFO数据

6、传输的初始化代码如下:BREAKPT&=〜bmBPEN:Rwuen=TRUE;CPUCS=((CPUCS&〜bmCLKPSD)

7、bmCLKPSDl):〃设定40MHz主频IFCONFIG=OxE3;〃设定IFCLK时钟为48MHz,提供对外输岀EPlOUTCFG=0xA0;〃配置端点1,OUT,批凰传输EPlINCFG=0xA0;EP2CFG=OxA2;〃配習端点2,OUT,批帯传输,2倍缓冲EP4CFG=0xA0;〃配置端点4.OUT,批嵐传输,2倍缓冲EP6CFG=OxE2;〃配置端点6,IN.批愀传输,2倍缓冲EP8CFG=0xE0;

8、〃配置端点8,IN■批最传输・2倍缓冲PINFLAGSAB=0x00?〃定义FLAGA为可编程级标志.FLAGB为满标志.由FIFOADR[1:0]指定PINFl,AGSCD=0x00;〃定义FLAGC为空标志WAKEUP=0xF4iAUTOPTRSETUP1=0x01;}・•…2.2FPGA控制程序设计CY7C68013A提供的端口FIFO的读写操作,与普通FIFO读写操作方式一样。CY7C68013A为每个端口提供了“空标志、“满”标志和“可编程级”标志。FPGA检测这些信号,川于控制读写的过程。FPGA在完成这些端口FIFO的操作时,

9、采川VedlogHDL锁件描述语言实现了FIFO的读写时序,并在ALTERA公司捉供的QuartusIlS.O开发工具屮综合编译并映射到FPGA中运行。2.2.1从属FIFO异步

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。