- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
基于FPGA的USB接口IP核设计更新于
———————————————————————————————— 作者:
———————————————————————————————— 日期:
基于FPGA的USB接口IP核设计 更新于2021-03-11 05:18:10 文章出处: 21IC电子网
IP 通用串行总线 Verilog HDL 协议层 SIE
USB〔通用串行总线〕作为一种外设连接技术,是计算机外设连接技术的重大变革,USB具有速度快、通用性好、扩展性强、功耗低、稳定、易开发等众多优点,在实践中获得了广泛的应用,逐步成为PC机的一种标准接口。USB接口控制芯片是实现USB设备与主机建立通信所必须的芯片,目前国内的USB开发者所采用的芯片都是由国外的芯片商所提供,如Cypress、NEC、Motorola等大的IC设计公司,价格较贵。由于USB的广泛应用,国内外众多科研机构和集成电路设计公司都把目光投向USB这项具有广阔市场前景的技术。USB内核〔USB Core〕是USB接口控制芯片的关键模块,设计一个稳定、高速的USB内核更是芯片成功推向市场的前提。
1 USB通信原理
USB通信逻辑上分成了3层:信号层、协议层和数据层。信号层用来实现在USB设备和主机的物理连接之间传输位信息流的信息。逻辑层用来实现在USB设备和USB主机端的协议软件之间传输包字节流的信息,它们在信号层被编码成NRZI位信息后传送出去。数据传输层用来实现在USB主机端的客户端驱动程序和设备端的功能接口之间传输有一定意义的信息,这些信息在协议层被打包成包格式。
1.1 传输的根本单元??????? 包〔Packet〕是USB系统中信息传输的根本单元。构造,如图1所示,根据USB标准,包的类型有:令牌包、数据包、握手包和专用包。
?
?
USB总线操作〔通讯过程〕都可以归结为3种包的传输:令牌包、数据包和应答包。任何操作都是从主机开场的,主机以预先排好的时序,发出一个描述操作类型、方向、外设地址以及端点号,称之为令牌包Foken Packet.然后由在令牌中指定的数据发送者发出一个数据包Data Packet或者报告它没有数据可以传输。而数据的目的地一般要以一个应答包Handshake Packet做出响应说明传输是否成功。
1.2 事务处理
事务处理〔Transaction〕是指USB总线上数据信息的一次接收或发送的处理过程。事务处理的类型包括输入事务、输出事务、设置〔Setup〕事务,帧开场〔SOF〕,帧完毕〔EOF〕等类型,下面以输入事务处理为例加以介绍。
如图2显示了输入事务处理中无过失事务情况,首先由主机向总线发出输入令牌包通知某个设备向主机发送数据;当所指定的设备接收到此令牌包并检验身份后,将准备好的数据组装成数据包向主机传送出去;接着当主机接收到的数据经校验无过失后,创立一个ACK的握手包返回给设备通知主机已正确接收到数据,然后进展新的事务处理过程。假设主机接收数据包错误,那么不发送ACK握手包,表示处理过程没有成功;假设设备未准备好数据,设备会向主机发送NAK握手包,提醒主机暂时不能发送数据;假设设备出错,那么返回主机STALL握手包通知设备出错。
?
1.3 总线传输
为了满足不同外设和用户的要求,USB提供了4种传输方式:控制传输、实时传输、中断传输、批量传输。它们在数据格式传输方向数据包容量限制和总线访问限制等方面有着各自不同的特征。
控制传输用来对设备进展初始化和配置管理,所有USB设备必须直接控制传输,是总线传输中最复杂的传输方式;实时传输用来传送音频或视频的数据;中断传输用来传输类似PCI或ISA总线上中断信号的数据;批量传输用于打印机或扫描仪等传输大块数据的设备。
控制传输一般包括2或3个事务处理阶段,即设置阶段,数据阶段〔可选〕和状态阶段。图3给出了设置阶段的细节。如果数据没有正确接收设备就会忽略它,而且不返回应答包。
?
2 USB IP模块设计和代码编写??? USB接口主要有UTM〔USB Transceiver Macrocell〕、SIE〔SefiM Interface Engine〕和设备功能总线组成。电路构造,如图4所示,时钟域分为:Transceiver时钟域,SIE时钟域和Wish- bone总线时钟域。
?
2.1 UTM模块
USB总线数据线由DP和DN组成,是I/O端口。并行通过对DP和DN的上拉、下拉来区别低速USB设备和高速USB设备。
USB总线上的数据首先通过UTM,进展NRZI解码和位剥离后,串并转换为8位并行数据,传送给SIE中的UTMI或从UTMI接收8位并行数据,经过N
文档评论(0)