基于TMS320F2812的USB20接口的设计与实现.doc

  1. 1、本文档共5页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
基于TMS320F2812的USB20接口的设计与实现

基于TMS320F2812的USB2.0接口的设计与实现 ? TMS320F2812数字信号处理器是TI公司推出的32位定点DSP控制器芯片,是目前控制领域最先进的处理器之一。其频率高达150MHz,大大提高了控制系统的控制精度和芯片处理能力。然而,DSP与外界高速通信的实现还处于正在研发阶段, 国内各DSP开发版制造商对此也多处于保密状态。鉴于将USB2.0协议应用于以DSP为核心的各类控制系统,可以大大提高DSP系统与外界的通信能力,从而拓宽DSP的应用范围。本文给出了DSP系统与计算机的USB2.0接口方案,从而完成了DSP系统与外界的高速数据传输。 1 接口设计方案 ??? 在信号处理系统上实现USB接口扩展的结构框图如图1所示。图中.控制系统将处理结果通过DSP芯片传输给USB控制器,接着由后者驱动USB接口以将数据传给外部器件; 另一方面,USB控制器通过USB接口接收外部器件传来的信息,然后再把它们转发给信号处理系统。图1中的阴影部分表示的是DSP与USB的接口连接.是该文着重介绍的部分。 ? 图1 信号处理系统的USB接口扩展框图 2 芯片介绍 ??? 在以TMS320F2812 DSP为核心的嵌入式系统中, 由于处理器的速度快(主频可达150 MHz),处理的数据量大,使用USB1.1及其它内嵌微处理器的总线控制器已经不能满足数据吞吐率的要求。因此,本接口设计选用的是Cypress公司生产的不含微控制器的USB2.0总线接口控制芯片CY7C68001。 ??? CY7C68001可用来连接微处理器或DSP的DMA从装置,该芯片内部不含微处理器,但它集成有USB2.0收发器(物理层)、USB2.0串行接口引擎SIE(链路层、实现底层通信协议)、4 kB的FIFO和电压调节器、锁相环等,CY7C68001可以支持高速(480 Mb/s)或全速(12 Mb/s)传输,采用3.3 V操作电压和24 MHz外部振荡频率,可以选择8位或16位总线方式,具有同步与异步的FIFO接口。 ??? CY7C68001可以向用户提供足够的端口、缓冲区和传输速度,并可提供USB2.0协议要求的全部4种传输方式(控制传输、中断传输、批量传输和同步传输),可以满足用户对各种类型数据传输的需求。其片上的串行接口处理器(SIE)能完成大部分USB协议操作.使用户可以摆脱复杂的协议细节,简化用户配置代码,加快程序开发过程。但是,由于采用的是不带MCU内核的USB接口芯片. USB的应用层协议应该由TMS320F2812编程实现.USB固件的加载必须靠DSP控制CY7C68001来完成。 3 TMS320F2812与CY7C68001的互连 ??? 该设计将CY7C68001配置在TMS320F2812的Zone0空间,并采用CY7C68001的异步读写方式来完成二者之间的数据和命令交换。其接口原理电路如图2所示。 ? 图2 TMS320F2812与CY7C68001的接口电路 ??? CY7C68001除了带有存储器接口外.还有一个中断信号/USBINT和4个状态信号(READY、FLAGA、FLAGB和FLAGC)。中断信号/USBINT占用TMS320F2812的外部中断/XINT1,状态信号READY、FLAGA、FLAGB和FLAGC则可配置在本系统的状态寄存器0(sysstat0) 中,并可由TMS320F2812查询。本接口设计由于采用了CPLD.因而增强了系统的灵活性和可扩充性。 3.1 对CY7C68001寄存器的写操作 ??? 通过TMS320F2812对CY7C68001的寄存器进行写操作的上体过程如下: 将TMS320F2812对I/O空间访问的等待周期设为7; 通过检查系统状态寄存器0(sysstat0)位2(USBRDY)等待CY7C68001的Ready线变高; 寻址CY7C68001命令口(最低3位地址必须为100B),将10xx,xxxxB写命令字写入命令寄存器(xx,xxxxB代表需寻址的寄存器的子地址); 通过检查系统中的状态寄存器0(sysstat0)的位2(USBRDY)来等待CY7C68001的Ready线变高; 寻址CY7C68001命令口(最低3位地址必须为100B),将0xxx,D7D6D5D4B数据的高4位命令字写入命令寄存器(D7D6D5D4B代表要写入的数据的高4位); 通过检查系统中的状态寄存器0(sysstat0)的位2(USBRDY)来等待CY7C68001的Ready线变高; 寻址CY7C68001命令(最低3位地址必须为100B),将0xxx,D3D2D1DOB数据低4位命令字写入命令寄存器(D3D2D1DOB代表要写入的数据的低4位)。 3.2 对CY7C68001寄存器的读

文档评论(0)

ligennv1314 + 关注
实名认证
内容提供者

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

1亿VIP精品文档

相关文档