网站导航网学 原创论文 原创专题 网站设计 最新系统 原创论文 论文降重 发表论文 论文发表 UI设计定制 论文答辩PPT格式排版 期刊发表 论文专题
返回网学首页
网学原创论文
最新论文 推荐专题 热门论文 论文专题
当前位置: 网学 > 设计资源 > FPGA > 正文

基于Verilog的FPGA与USB2.0高速接口设计

论文降重修改服务、格式排版等 获取论文 论文降重及排版 论文发表 相关服务

  可编程接口GPIF是主机方式,GPIF作为内部主机控制端点FIFO,可以软件编程读写控制波形,几乎可以对任何8/16 b接口的控制器、存储器和总线进行数据的主动读写,非常灵活。

  2 系统软件模块设计

  2.1 USB固件程序设计

  应用中采用异步FIFO方式,使用内部48 MHz时钟,自动方式,固件程序采用Cypress公司提供的固件程序框架,在其初始化函数中添加了用户配置代码。该设计中异步自动从属FIFO数据传输的初始化代码如下:

 

  2.2 FPGA控制程序设计

  CY7C68013A提供的端口FIFO的读写操作,与普通FIFO读写操作方式一样。CY7C68013A为每个端口提供了“空”标志、“满”标志和“ 可编程级”标志。FPGA检测这些信号,用于控制读写的过程。FPGA在完成这些端口FIFO的操作时,采用Verilog HDL硬件描述语言实现了FIFO的读写时序,并在ALTERA公司提供的QuartusⅡ8.O开发工具中综合编译并映射到FPGA中运行。

  2.2.1 从属FIFO异步“读”操作

  实现异步从属FIFO“读”的状态机如图3所示。其状态转移进程如下:

  IDLE:当“写”事件发生时,转到状态1。

  状态1:指向OUT FIFO,激活FIFOADR[1:O],转向状态2。

  状态2:激活SLOE,如果FIFO空标志为“假”(FIFO不空),则转向状态3;否则停留在状态2。

  状态3:激活SLOE,SLRD,传送总线采样数据;撤销激活SLRD(指针加1)和SLOE,转向状态4。

  状态4:如果有更多的数据要求,则转向状态2;否则转向IDLE。

  实现以上状态机的仿真波形如图4所示。

  2.2.2 从属FIFO异步“写”操作

  实现异步从属FIFO“写”的状态机如图5所示。其状态转移进程如下:


  IDLE:当写事件发生时,转到状态1。

  状态1:指向IN FIFO,激活FIFOADR[1:O],转向状态2。

  状态2:如果FIFO满标志为“假”(FIFO不满),则转向状态3;否则停留在状态2。

  状态3:传送总线驱动数据。为一个IFCLK激活SLWR,转向状态4。

  状态4:如果有更多的数据要写,则转向状态2;否则转向IDLE。

  用QuartusⅡ进行仿真验证,其仿真波形如图6所示,在此过程中USB_SLWR信号很重要,经分析可知,本状态机实现的FIFO写控制信号完全正确。

  3 实验结果

  对传输的数据进行验证,可通过FPGA编程生成O~255的数据传送至CY7C68013的EP6端点,连续传送两次,然后利用EZ一USB Control Panel软件测试所接收到的数据,测试结果如图7所示,可以看出,数据传输准确无误。

  4 结 语

  USB 2.0控制器CY7C68013已经被广泛应用到许多数据传输领域,由于USB具有灵活的接口和可编程特性,大大简化了外部硬件的设计,提高了系统可靠性。该设计可扩展性好,已经被应用于数据传输与采集的板卡上,经实际测试,没有出现数据的误码等错误,数据传送正确,传输速率可达30 MHz/s以上,满足设计要求。

设为首页 | 加入收藏 | 网学首页 | 原创论文 | 计算机原创
版权所有 网学网 [Myeducs.cn] 您电脑的分辨率是 像素
Copyright 2008-2020 myeducs.Cn www.myeducs.Cn All Rights Reserved 湘ICP备09003080号 常年法律顾问:王律师