当前位置:首页 > 智能硬件 > 智能硬件
[导读]本文在分析CY7C68001通用USB2.0器件主要特征的基础上,阐述了一种TMS320VC54X与CY7C68001接口的方案,并针对TMS320VC54X扩展USB2.0接口进行了论述

摘要:本文在分析CY7C68001通用USB2.0器件主要特征的基础上,阐述了一种TMS320VC54X与CY7C68001接口的方案,并针对TMS320VC54X扩展USB2.0接口进行了论述,给出了具体接口框图和关键代码。该方案对于使用其它微处理器开发基于CY7C68001的USB2.0功能也有良好的借鉴作用。
关键词:端点;枚举;先进先出

    USB总线具有传输速度高、热插拔、即插即用等特点,深受广大用户青睐,但由于USB通信协议和开发手段的复杂性,给研究人员的开发应用增加了一定的难度。CYPRESS公司生产的CY7C68001通用USB2.0接口控制器是基于应用层编程的接口器件,相对于其它基于链路层编程的接口器件,使用简单,开发方便。因此我们在深入研究CY7C68001的特点的基础上,对TMS320VC54X进行USB功能接口设计

1  USB测控系统框图
测控系统的框图如图1所示。
      


2 CY7C68001的主要特点
    CY7C68001符合USB2.0规范;支持高速(480Mbps)或全速(12Mbps)USB数据传输;4个可编程端点共享4KB的FIFO,每个端点对应的FIFO空间大小及FIFO状态可编程;8/16位双向命令接口、配置灵活(同步/异步可配置,状态引脚、读写引脚以及极性可编程),数据I/O口可与DSP、FPGA或其它ASIC同步/异步通信;智能SIE功能(可在不借助微处理器中断的前提下完成枚举);集成的锁相环功能;I/O口为3.3VTTL电平,可承受5V电压。

3 TMS320VC54X与CY7C68001的异步接口
    接口框图如图2所示,CY7C68001相关引脚说明如下: :表明CY7C68001有中断事件发生,或反映对于CY7C68001的读操作结束;READY:通知TMS320VC54X可以对CY7C68001读写;FLAGA、FLAGB、FLAGC:报告由FIFOADR[2:0]选择的FIFO状态,默认分别对应为FIFO自定义、满、空状态;FLAGD/ :FIFO状态/片选可选,默认为片选信号;SLOE:CY7C68001驱动并行数据总线,常与SLRD短接;SLRD:并口读有效信号,在SLRD有效且同步通信时,FIFO指针在每个IFCLK的上升沿递增;SLWR:并口写有效信号,在SLRD有效且同步通信时,FIFO指针在每个IFCLK的上升沿递增;PKTEND:总是高电平,将当前的缓冲区提交给上位机USB;FD[15:0]:数据总线;FIFOADR[2:0]:提供给与TMS320VC54X接口的FIFO地址选择。

4 CY7C68001主要寄存器说明
    命令接口寄存器:命令字的格式如表1所示:

表1 命令字的格式

    A/D对应地址/数据,0 表示本次操作为数据读或写,1 表示本次操作为地址写 。 R/W表读/写操作选择,0 写操作,1 读操作。A[5:0] 地址/数据,当A/D=0时,A[3:0]为数据半字节,A[5:4]未用。命令字为8位,命令字数据分两次读出或写入 ,对于每个字节而言,先读写高4位,后低4位。当A/D=1时,A[5:0]为将要寻址的命令寄存器地址。

    端点配置寄存器(EPXCFG):对USB端点类型、方向和大小进行配置。端点2、4、6和8共享8X512byte的RAM,通过配置,端点2、6分别享有2、3或4个512byte大小的缓冲区,端点4、8最大只能配置成两个缓冲区。本文使用默认端点配置(每个端点对应512B*2缓冲的Bulk配置)。EPXPKTLENH/L:端点缓冲区大小寄存器。FLAGSAB/FLAGSCD:FIFO引脚标志分配寄存器。EPXPFH/L:确定每一端点对应FIFO标志大小的寄存器。

5 CY7C68001提供给DSP两种软件接口
    (1)FIFO接口:CY7C68001内部4Kbyte的RAM(8个512byte块)通过编程,分配给EP2、EP4、EP6和EP8直接作为FIFO。

    (2)命令接口:用于设置CY7C68001、读状态、加载描述符和访问端点0 。
    DSP通过对CY7C68001地址线FIFOADR[2:0]的访问完成上述两种接口,地址分配如表2:
表2 DSP对CY7C68001寻址

6 DSP与CY7C68001的通信
    本部分包括DSP自身初始化、DSP对CY7C768001初始化、DSP协助HOST计算机枚举CY7C68001、中断处理以及对CY7C68001的各状态监控。由于本文使用CY7C68001默认的描述符信息,所以在枚举时只要提供厂商、产品及设备代码(VD、PD、DD)即可,如果把这部分代码烧写到符合I2总线接口的EEPROM,并连接到CY7C68001的SCL、SDA引脚,USB枚举时,在SIE作用下,可以自动完成枚举。在DSP初始化中对I/O口等待状态寄存器设置为7,以适应同CY7C68001的数据交换。

      CY7C68001的初始化:CY7C68001的初始化是通过对它的一系列寄存器进行设置完成的。CY7C68001的地址FIFOADR[2:0]为100时,选中CY7C68001的命令接口。通过CY7C68001的命令接口,可以访问37个寄存器、端点零缓冲器(64个字节FIFO)和描述表(500bytes的FIFO)。对于这些寄存器、缓冲器和描述表的读写操作,根据上面的论述要分两步进行,即在READY有效时,先向命令口写入要寻址寄存器的子地址和操作类型(读或写),之后,在READY再次有效时分两次读写命令口,即可读写一个字节的数据。相应读写时序(图3、图4)及代码如下:
void WriteRegister (BYTE r, BYTE d) //寄存器号r,要写入的数据d
{
 low_level_command_write (0x04, (r | 0x80)); // bit7 = 1, bit6 = 0,写请求
 low_level_command_write (0x04, (d & 0xF0) >> 4); //写数据的高四位
 low_level_command_write (0x04, (d & 0x0F)); //写数据的低四位
 }
BYTE ReadRegister (BYTE r) //寄存器号r
 {
 BYTE d; //临时变量d
 read_interrupt = TRUE;
 low_level_command_write (0x04, (r | 0x80 |
0x40));  //读请求, bit7 = 1, bit6 = 1
 while (read_interrupt) //等待 SX2 有数据
 d = low_level_command_read (0x04);//读数据
 return (d);
 }

    FIFO标志的获取:FLAGA-FLAGC的高低电平反映由FIFOADR[2:0]所选取的FIFO状态,FIFO标志所代表的信息可以通过对FLAGSAB/FLAGSCD寄存器进行编程配置,对FLAGX的获取可以通过硬件中断裁决,也可以通过对相应状态寄存器的查询裁决,本文对FLAGA、FLAGB通过硬件中断裁决,对FLAGC通过状态寄存器的软件查询裁决。

    有关中断:CY7C68001有6个中断源,可以分别通过对中断使能寄存器的各位进行设置,一旦中断事件发生,CY7C68001的 引脚就被置低,并且置中断使能寄存器的相应位(即中断使能寄存器同时充当中断标志寄存器,中断使能寄存器具有读写属性)。当中断发生时,中断标志寄存器的状态字映射到FD[7:0],所以中断发生后,DSP对CY7C68001简单的一次读操作即可获取中断信息,识别中断源并进行相应处理。相对于中断标志寄存器的读操作,其它对CY7C68001寄存器的读操作通常要先发送一次读请求,并且收到READY响应后,才可以读取数据。

7 USB固件程序的组织
    本设计主程序流程如图5所示:
 
图5  固件主程序流程图

8结束语
    在设计开发中,DSP固件程序的组织应综合考虑以中断方式工作的USB通信部分和以查询方式工作的DSP数据采集、控制部分。由于以中断方式工作的USB通信程序随时都可能打断以查询方式工作的DSP数据采集、控制程序,造成数据丢失,相位紊乱,我们采用CPLD进行AD、DA逻辑控制,并运用FIFO数据缓冲机制,减小了DSP压力,取得了良好的效果。

    本设计中,TMS320VC5402与CY7C68001接口之间采用异步信息交换。该方案对于使用其它微处理器开发基于CY7C68001的USB2.0接口,或在微处理器与CY7C68001之间采用同步信息交换也有良好的借鉴作用。

参考文献
[1]  EZ-USB SX2™ High-Speed USB Interface Device  CYPRESS  JULY 13,2004
[2]  TMS320C6000 EMIF to USB Interfacing Using Cypress EZ-USB SX2 TEXAS INSTRUMENTS MARCH 2004
[3]  CY3682 Design Notes  CYPRESS  AUGUST 1,2002

本站声明: 本文章由作者或相关机构授权发布,目的在于传递更多信息,并不代表本站赞同其观点,本站亦不保证或承诺内容真实性等。需要转载请联系该专栏作者,如若文章内容侵犯您的权益,请及时联系本站删除。
换一批
延伸阅读

9月2日消息,不造车的华为或将催生出更大的独角兽公司,随着阿维塔和赛力斯的入局,华为引望愈发显得引人瞩目。

关键字: 阿维塔 塞力斯 华为

加利福尼亚州圣克拉拉县2024年8月30日 /美通社/ -- 数字化转型技术解决方案公司Trianz今天宣布,该公司与Amazon Web Services (AWS)签订了...

关键字: AWS AN BSP 数字化

伦敦2024年8月29日 /美通社/ -- 英国汽车技术公司SODA.Auto推出其旗舰产品SODA V,这是全球首款涵盖汽车工程师从创意到认证的所有需求的工具,可用于创建软件定义汽车。 SODA V工具的开发耗时1.5...

关键字: 汽车 人工智能 智能驱动 BSP

北京2024年8月28日 /美通社/ -- 越来越多用户希望企业业务能7×24不间断运行,同时企业却面临越来越多业务中断的风险,如企业系统复杂性的增加,频繁的功能更新和发布等。如何确保业务连续性,提升韧性,成...

关键字: 亚马逊 解密 控制平面 BSP

8月30日消息,据媒体报道,腾讯和网易近期正在缩减他们对日本游戏市场的投资。

关键字: 腾讯 编码器 CPU

8月28日消息,今天上午,2024中国国际大数据产业博览会开幕式在贵阳举行,华为董事、质量流程IT总裁陶景文发表了演讲。

关键字: 华为 12nm EDA 半导体

8月28日消息,在2024中国国际大数据产业博览会上,华为常务董事、华为云CEO张平安发表演讲称,数字世界的话语权最终是由生态的繁荣决定的。

关键字: 华为 12nm 手机 卫星通信

要点: 有效应对环境变化,经营业绩稳中有升 落实提质增效举措,毛利润率延续升势 战略布局成效显著,战新业务引领增长 以科技创新为引领,提升企业核心竞争力 坚持高质量发展策略,塑强核心竞争优势...

关键字: 通信 BSP 电信运营商 数字经济

北京2024年8月27日 /美通社/ -- 8月21日,由中央广播电视总台与中国电影电视技术学会联合牵头组建的NVI技术创新联盟在BIRTV2024超高清全产业链发展研讨会上宣布正式成立。 活动现场 NVI技术创新联...

关键字: VI 传输协议 音频 BSP

北京2024年8月27日 /美通社/ -- 在8月23日举办的2024年长三角生态绿色一体化发展示范区联合招商会上,软通动力信息技术(集团)股份有限公司(以下简称"软通动力")与长三角投资(上海)有限...

关键字: BSP 信息技术
关闭
关闭