基于PowerPC的USB2.0接口设计与实现.pptVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
基于PowerPC的USB2.0接口设计与实现

基于PowerPC的USB2.0接口设计与实现 目前计算机与外部设备连接普遍采用USB数据通信接口,与其它通信接口比较,USB接口具有易于使用,支持热插拔和外设容量大(理论上可挂接127个设备)的优点。随着电子系统的不断发展,传统USB1.1协议(12Mb/s)已经不能满足高速数据传输的要求,而USB2.0传输协议的连接速度提高到了480Mb/s,使其成为PC机外围设备扩展中应用日益广泛的接口标准之一。 USB2.0设备的硬件结构原理 物理收发器,符合UTMI(USB Transceiver Macrocell Interface)标准,主要功能是串行至并行和并行至串行转换,同步,位填充,反转不归零解码等。 UTMI模块,这部分主要功能是完成挂起和恢复,全速和高速模式的转换,有一组发送 FIFO和接受 FIFO,从存储器读过来的数据先送入Tx FIFO,经过处理再通过USB接口引擎送到USB主机,从主机接受到的数据会先存入Rx FIFO,再通过OPB总线存入存储器。 协议处理模块是控制器的核心模块,负责管理所有USB数据I/O和控制通信,完成打包和解包的功能,并处理所有的USB握手信号。任何一次数据的传输都是由主机发起的,应主机“IN” 或者“SETUP”的要求,打包模块首先把要发送的token PID或者data PID准备好,将其组成包头,然后增加相应的数据域,最后将它们放到输出缓冲区中,在发送Data时,需要把有效数据的CRC16校验位放在包末尾一起发送;发送token包时,把CRC5校验位放在末尾一起发送。解包模块是打包模块的逆过程,解包模块对接收到数据进行解码,把解出的PID根据USB2.0的协议判断PID类型;如果是token PID则继续接收ADDR和ENDP;如果是data PID则接收有效数据;同时相应做CRC5或者CRC16校验。 存储器接口和仲裁模块,允许控制器接外部存储器,仲裁模块实现对内部DMA和外部总线对存储器访问之间的仲裁,DMA传输的优先级大于外部总线。 寄存器管理模块 :这部分主要由寄存器和它们的响应处理器读写控制逻辑组成。这些寄存器都分配有一个独立地址,可由处理器直接进行访问,主要有控制寄存器、命令状态寄存器、中断寄存器等。 Wishbone接口和微处理器,WishBone由Silicore公司提出,该总线采用握手协议,本设计中MCU接口主要分为中断、控制线、地址总线和数据总线四个部分;使用32位的双向数据总线;使用11位的地址总线,它可实现对32Kbit的静态RAM和内部寄存器的访问,其中第11位是用来识别访问的是静态RAM还是内部寄存器. USB2.0接口电路的整体设计 USB2.0接口电路就是要实现主机通过收发器、设备控制器实现与存储器的通信,本课题采用Virtex-II Pro FPGA芯片构建SOPC系统,以FPGA内部的PowerPC405处理器硬核为控制单元,以4片ALLIANCE公司的8位SRAM -AS7C34096 构成32位的存储设备,在EDK中有现成的External Memory Controller的核,用于控制对SRAM的读写操作, 以CY7C68000 TX2? USB 2.0 UTMI Transceiver作为与主机通信的收发器。由于在EDK中没有现成的USB控制器核,所以开发了自己的用户IP核,其中用户IP核和串口控制器都连接在OPB总线上。 这些外围接口模块以及其作用分别为: (1)串口控制器,用来实现开发板与主机终端的通信,用来显示memory的读出数据,便于验证; (2)GPIO,普通输入输出口,可以显示简单应用的输出,在本试验中,就是把引出的数据管脚连接外部逻辑析仪,来测试数据的正确与否; (3)USB Controller 是自定义的IP核,可以自定义需要测试的信号以及管脚约束. USB2.0设备控制器的实现 USB2.0开源代码提供的是Wishbone的总线接口,为了实现FPGA作为微处理器的控制作用,关键在于实现USB控制器与FPGA内部总线的连接,所以本文在开源代码原来的设计中加入了OPB总线到Wishbone总线的转换接口。作为OPB总线上自定义的IP核,在EDK中运用添加外设向导工具:Creat /Import Peripheral为系统添加自定制的OPB外设IP,调用创建周边设备向导,生成一个与OPB总线连接的USB2.0的HDL模型,在模型中调用自定制核,再把模版导入到系统中。 选择3个软件可访问寄存器slv_reg,分别作为Wishbone地址线和输入输出数据线与IP核进行数据的交换,应用这些寄存器可以轻松地从其他硬件输入/输出数据,每个slv_reg都有读写控制信号,地址线,和数据

文档评论(0)

qiwqpu54 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档