基于TMS320VC54X的USB2.0硬件接口设计
发布时间:2007/9/10 0:00:00 访问次数:431
来源:微计算机信息 作者:王秀清 于祯
摘要:本文在分析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通用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]为将要寻址的命令寄存器地址。
端点配置寄存器(ECFG):对USB端点类型、方向和大小进行配置。端点2、4、6和8共享8X512byte的RAM,通过配置,端点2、6分别享有2、3或4个512byte大小的缓冲区,端点4、8最大只能配置成两个缓冲区。本文使用默认端点配置(每个端点对应512B*2缓冲的Bulk配置)。EPKTLENH/L:端点缓冲区大小寄存器。FLAGSAB/FLAGSCD:FIFO引脚标志分配寄存器。EPFH/L:确定每一端点对应FIFO标志大小的寄存器。
5 CY7C68001提供给DSP两种软件接口
(1)FIFO接口:CY7C68001内部4Kbyte的RAM(8个512byte块)通过编程,分配给EP2、EP4、EP6和EP8直接作为FIFO。
(2)命令接口:用