利用FPGA实现外设通信接口之:利用FPGA实现USB 2.0通信接口

2013-08-30 14:51:46 来源:EEFOCUS
标签:

 

10.3  利用FPGA实现USB 2.0通信接口

10.3.1  USB 2.0接口的实现方式

利用FPGA来实现USB 2.0接口的方式一般有两种,一是借助外围的USB接口芯片,二是FPGA内部实现USB协议控制器,外部通过USB的PHY芯片来实现接口。

 

对于第一种方式,FPGA不需要实现USB通信协议,开发的风险小,而且性能稳定,因此被大部分设计者所采用。而第二种方式需要购买USB的IP核,门槛较高。如果自己开发基于FPGA的USB协议栈,风险高,而且兼容性和稳定性很难保证。

 

目前市场上的USB 2.0接口芯片厂家和型号比较多,其中Cypress Semiconductor公司的EZ-USB FX2(CY7C68013)是世界上第一款集成USB 2.0的微处理器,它集成了USB 2.0收发器、SIE(串行接口引擎)、增强的8051微控制器和可编程的外围接口。

 

FX2这种独创性结构可使数据传输率达到56MByte/s,即USB 2.0允许的最大带宽。在FX2中,智能SIE可以硬件处理许多USB 1.1和USB 2.0协议,从而减少了开发时间、确保了USB的兼容性。

GPIF(General Programmable Interface)和主/从端点FIFO(8位或16位数据总线)为ATA、UTOPIA、EPP、PCMCIA和DSP等提供了简单和无缝连接接口。

 

CY7C68013结构图如图10.4所示。FPGA与CY7C68013的电路连接关系可以参考本书2.2.11小节的内容。

图10.4  CY7C68013 FX2结构示意图

 

10.3.2  FX2接口芯片的Slave FIFO传输模式

当FPGA与FX2芯片相连时,只需要利用FX2作为一个USB 2.0数据通道来实现与主机的高速通信。FPGA能够提供满足Slave FIFO要求的传输时序,可以作为Slave FIFO主控制器。`

 

Slave FIFO传输的示意图如图10.5所示。

图10.5  Slave FIFO传输的示意图

在这种方式下,FX2内嵌的8051固件的功能只是配置Slave FIFO相关的寄存器以及控制FX2何时工作在Slave FIFO模式下。一旦8051固件将相关的寄存器配置完毕,且使自身工作在Slave FIFO模式下后,FPGA就可按照Slave FIFO的传输时序,高速与主机进行通信,而在通信过程中不需要8051固件的参与。

 
关注与非网微信 ( ee-focus )
限量版产业观察、行业动态、技术大餐每日推荐
享受快时代的精品慢阅读
 

 

作者简介
华清远见
华清远见

华清远见(www.farsight.com.cn)是国内领先嵌入师培训机构,2004年注册于中国北京海淀高科技园区,除北京总部外,上海、深圳、成都、南京、武汉、西安、广州均有直营分公司。华清远见除提供嵌入式相关的长期就业培训、短期高端培训、师资培训及企业员工内训等业务外,其下属研发中心还负责嵌入式、Android及物联网方向的教学实验平台的研发及培训教材的出版,截止目前为止已公开出版70余本嵌入式/移动开发/物联网相关图书。企业理念:专业始于专注 卓识源于远见。企业价值观:做良心教育、做专业教育,更要做受人尊敬的职业教育。

继续阅读
通过单片机控制数据流对FPGA进行编程配置

基于FPGA基本数据流的下载控制方式,利用遗传算法,通过单片机控制数据流的方式对FPGA进行编程配置,实现自身重构,使系统具有自适应、自组织和自修复的特性。

升级固件写FLASH如何避免让FPGA发生意外?
升级固件写FLASH如何避免让FPGA发生意外?

FPGA配置两种模式:主动配置和被动配置方式,采用主动配置下,我们就需要一片FLASH来存储FPGA固件,那么我们在升级固件写FLASH的过程中如何避免因意外情况发生导致升级失败而使FPGA变砖呢?下面就由笔者带领大家来挖山掘石、一探究竟。

当FPGA越来越像SoC,FPGA跟ASIC还有啥区别
当FPGA越来越像SoC,FPGA跟ASIC还有啥区别

随着处理器被添加到传统FPGA中,可编程性被添加到ASIC中,FPGA和ASIC的分界线日益模糊。

FPGA的两条发展之路,怎么走更稳?
FPGA的两条发展之路,怎么走更稳?

在第一条路上,FPGA不断优化,主要用于加速数据中心工作负载。 数据中心是大型供应商关注的下一个“圣杯”。

给 FPGA 配备一个最合适的电源管理产品

寻找为 FPGA 供电的最佳解决方案并不简单。许多供应商以适合为 FPGA 供电的名义推销某些产品。为 FPGA 供电的 DC-DC 转换器选择有何特定要求?其实并不多。一般而言,所有电源转换器都可用来为 FPGA 供电。

更多资讯
搞懂数据分析中因变量和自变量之间的关系

回归模型有多种,一般在数据分析中用的比较常用的有线性回归和逻辑回归。其描述的是一组因变量和自变量之间的关系,通过特定的方程来模拟。这么做的目的也是为了预测,但有时也不是全部为了预测,只是为了解释一种现象,因果关系。

树莓派 3B 接MPU6050方法 以及ROS应用
树莓派 3B 接MPU6050方法 以及ROS应用

主要是ROS应用,不多说了,可能要你自己重新编译工作空间的话,可以选择性的只编译这个包就行了。

典型的SDSoC设计开发的几个步骤
典型的SDSoC设计开发的几个步骤

类比到FPGA SoC的应用开发中,用户最关注的部分往往是算法的最终实现和算法模块的优化——包括IP或是软件功能块——SDSoC的设计理念正是让用户能够更加专注于这些核心问题,其他问题SDSoC帮你搞掂。从这个意义上看,SDSoC在“简单”的背后确实不简单。

HDL仿真器基于事件的仿真算法
HDL仿真器基于事件的仿真算法

目前,HDL仿真器主要有三种实现算法(机制):基于时间的算法(Time-Based)、基于事件的算法(Event-Based,EBS)和基于周期的算法(Cycle-Based,CBS)。

想要入门eFPGA,看这一篇就够了
想要入门eFPGA,看这一篇就够了

嵌入式FPGA(eFPGA)是指将一个或多个FPGA以IP的形式嵌入ASIC,ASSP或SoC等芯片中。

Moore8直播课堂
电路方案