利用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余本嵌入式/移动开发/物联网相关图书。企业理念:专业始于专注 卓识源于远见。企业价值观:做良心教育、做专业教育,更要做受人尊敬的职业教育。

继续阅读
你对ARM了解多少?

全世界100多家公司购买了ARM授权,包括三星,Freescale、NXP Semiconductors、STMicroelectronics、Texas Instruments ,Toshiba,Analog Device,atmel,microsemi...具体参看ARM官网

选择合适的“连接器”其实非常伤脑!
选择合适的“连接器”其实非常伤脑!

如果你工作的地方只有一个饭馆,吃饭是件很自然的事情,去吃就好了。当你的周围有几十家饭馆的时候,你每天最困扰的就变成了“我今天要吃什么呢?”

高云半导体参展2018德国慕尼黑电子展

2018年11月16日,中国广州,国内领先的可编程逻辑器件供应商广东高云半导体科技股份有限公司(如下简称:高云半导体),近日参展2018年德国慕尼黑电子展,与其欧洲经销商Eldis公司共同向欧洲市场展示了高云半导体最新的FPGA技术与产品。

火线三兄弟:DSP 、ASIC、FPGA

在相当长的一段时间内,FPGA、ASIC、DSP三者不同的技术特征造就了它们不同的应用领域,DSP在数字信号方面是绝对的霸主,ASIC是专业定制领域的牛人,而FPGA由于其价格高、功耗大,主要用于ASIC前端验证和一些高端领域,在DSP和ASIC面前绝对属于小弟。但近10年,这小弟特别努力,提高了半导体工艺水平,降低了功耗和芯片价格

现状不容乐观的国产FPGA,该如何攻克难关?
现状不容乐观的国产FPGA,该如何攻克难关?

“芯片投入产出比不高。国内投入不断加大,但实际效果并不明显,科技研发回报周期长,投资分散,导致投入产出比被稀释;研发落后,人才短缺,市场脱节。国内外制造工艺技术差距较大,设计、生产、制造能力均落后太多,人才缺口大,能力相对偏弱,人才争夺存在恶意竞争,同时中国芯的市场接受度很低,市场上仿制兼容产品多,自主知识产权产品少,不利于长远发展。”

更多资讯
简单几步让你看懂单片机时序图

操作时序永远是使用任何一片IC芯片的最主要的内容,看懂时序图,再操控这个芯片就非常容易了。而提取芯片器件手册上有用的信息是使用芯片的最基本步骤。

如何实现SoC全生命周期的监测?

SoC的设计越来越复杂,上市时间、软硬件集成、系统级验证、系统性能、异构、网络安全/功能安全等都是设计人员需要考虑的因素。流片前,设计师能通过仿真软件进行验证,但是流片过程中很多意想不到的结果,需要在流片后仍能被准确的检测出来。

如何将单片机的波特率作为形参的函数

不管是什么单片机,在使用串口通信的时候,有一个非常重要的参数:波特率。什么是波特率:波特率就是每秒传送的字节数。双方在传输数据的过程中,波特率一致,这是通讯成功的基本保障。

代码分享教你如何使用msp430单片机延时函数

今天看示例程序中出现了__delay_cycles()这个函数,在查找msp430x54x.h这个头文件的时候,发现这个头文件中没有该函数的声明,原来这个函数已经在IAR这个编译器中集成,这里总结一下__delay_cycles();这个函数的具体用法

如何控制51单片机液晶实现计时器的功能?

要想实现人机交互,显示装置是不可缺少的。前面讲到了如何利用单片机控制数码管的显示,这篇文章主要关于如何控制液晶显示,并在此基础上加上定时器的功能,把原来已用数码管显示的定时器搬到液晶屏上来。