CY7C68001与TMS320VC5416的接口设计
发布时间:2008/6/3 0:00:00 访问次数:806
近年来,随着数字信号技术的发展,需要处理的数据量越来越大,处理的速度也越来越快,因此具有高速性能dsp芯片的应用得到了广泛重视。而通过dsp处理的数据往往要传输给pc机进行存储和再处理,那么就必须研究dsp与pc机之间的高速通信问题,所以今年发展起来的usb 2.0技术及其高速易扩展等特点得到越来越广泛的应用,本文就是使用usb 2.0芯片cy7c68001和dsp芯片tms320vc5416来实现dsp与pc机通信的。
1 cy7c68001芯片特点描述
cy7c68001是用来连接微处理器或dsp的dma从装置,其内部不含微处理器;集成有usb2.0收发器(物理层)、usb2.0串行接口引擎sie(链路层、实现底层通信协议)、4kb的fifo和电压调节器、锁相环;支持高速(480mb/s)或全速(12mb/s)传输;3.3v操作电压,24mhz外部振荡频率;可以选择8位或16位总线方式;具有同步与异步的fifo接口;他可以向用户提供足够的端口,缓冲区和传输速度,提供usb2.0协议要求的全部4种传输方式(控制传输、中断传输、批量传输和同步传输),可以满足用户对各种类型数据传输的需求。片上的串行接口处理器(sie)能完成大部分的usb协议操作,使用户可以摆脱复杂的协议细节,简化了用户配置代码,加快了程序开发过程。但是由于采用的是不带mcu内核的usb接口芯片,usb的应用层协议应该由tms320vc5416编程实现,usb固件的加载必须靠dsp控制cy7c68001完成。
2 cy7c68001芯片寄存器
2.1 cy7c68001配置寄存器
usb的配置寄存器主要有ifconfig,flagsab,flagscd,polar,revid。ifconfig配置usb的接口方式;flagsab与flagscd确定flagx所代表的状态;polar确定fifo接口信号的极性;revid读版本号。
2.2 endpoint配置寄存器
配置usb四个节点,主要有epxcfg,epxpktlenh与epxpktlenl,epxpeh与epxpel,epxisoinpkts几类寄存器(x的值为2,4,6,8):epxcfg配置每一个endpoint的类型;epxpktlenh与epxpktlen设置每个节点包的大小;epxpfh与epxpfl确定每个节点的可编程的标志位;epxisoinpkts确定等时同步传输时,每一帧的数据包个数。
2.3 状态寄存器
状态寄存器有ep24flags与ep68flags;ep24flags确定节点2与4的fifo的状态;ep68flags确定节点6与8的fifo的状态。
2.4 usb帧状态寄存器
usb总线配置寄存器主要有usbframeh、usbframel、microframe、fnaddr来确定usb每一帧的状态,usbframeeh/l寄存器确定每一帧的数据长度;microframe寄存器确定每一个微帧的数据个数;fnaddr寄存器保存自举时的7位地址。
2.5 节点0(endpoint0)操作寄存器
节点0(endpoint0)操作寄存器主要包括fp0buf,setup,ep0bc三个寄存器:ep0buf寄存器是节点0的缓冲寄存器,通过他可以完成对节点0数据的访问;setup寄存器从计算机接收set-up数据包;ep0bc,节点0中的数据的个数。
2.6 其他寄存器
inpktend/flush寄存器强制数据包结束或清空fifo;interrupts寄存器为中断使能寄存器;desc寄存器可以完成对描述表的操作。
3 tms320vc5416与cy7c68001的硬件接口
本设计将cy7c68001配置在tms320vc5416的i/o空间,采用cy7c68001的并行异步读写方式完成二者之间数据和命令的交换。其原理框图如图1所示。
cy7c68001除了存储器接口外,还有1个中断信号usbint反和4个状态信号(ready,flaga,flagb和flagc),中断信号usbint反,扩展总线的xint2反,操作复用tms320vc5416的外部中断int2反被配置在系统状态寄存(sysstat1)中,可由tms320vc5416查询,以确定真正的中断源,状态信号ready,flaga,flagb和flagc配置在本系统状态寄存器0(sysstat0)中,可由tms320vc5416查询,由于采用了cpld,增强了系统的灵活性和可扩充性。在实际操作中,由于通信速度达到了480mb/s,所以采用4层板设计,而且对电源要进行很好的退耦处理,对dsp所需的16mhz有源晶振和cy7c68001用到的24mhz有源晶振要进行铺铜处理。
4 tms320vc5416对cy7c68001的操作
cy7c68001有2个外部接口:
(1)命令接口:用来访问cy7c68001寄存器、endpoint0缓冲器及描述表;
(2)fifo数据接口:用来访问4个1kb的fifo中的数据。
这两个外部接口均可以通过同步或异步的方式进行访问。在本系统中均采用异步的方式进行访问的,命令口的命令字:
ad:地址/数据选择,为0时表示本操作为数据读或写,为1时表示本操作
近年来,随着数字信号技术的发展,需要处理的数据量越来越大,处理的速度也越来越快,因此具有高速性能dsp芯片的应用得到了广泛重视。而通过dsp处理的数据往往要传输给pc机进行存储和再处理,那么就必须研究dsp与pc机之间的高速通信问题,所以今年发展起来的usb 2.0技术及其高速易扩展等特点得到越来越广泛的应用,本文就是使用usb 2.0芯片cy7c68001和dsp芯片tms320vc5416来实现dsp与pc机通信的。
1 cy7c68001芯片特点描述
cy7c68001是用来连接微处理器或dsp的dma从装置,其内部不含微处理器;集成有usb2.0收发器(物理层)、usb2.0串行接口引擎sie(链路层、实现底层通信协议)、4kb的fifo和电压调节器、锁相环;支持高速(480mb/s)或全速(12mb/s)传输;3.3v操作电压,24mhz外部振荡频率;可以选择8位或16位总线方式;具有同步与异步的fifo接口;他可以向用户提供足够的端口,缓冲区和传输速度,提供usb2.0协议要求的全部4种传输方式(控制传输、中断传输、批量传输和同步传输),可以满足用户对各种类型数据传输的需求。片上的串行接口处理器(sie)能完成大部分的usb协议操作,使用户可以摆脱复杂的协议细节,简化了用户配置代码,加快了程序开发过程。但是由于采用的是不带mcu内核的usb接口芯片,usb的应用层协议应该由tms320vc5416编程实现,usb固件的加载必须靠dsp控制cy7c68001完成。
2 cy7c68001芯片寄存器
2.1 cy7c68001配置寄存器
usb的配置寄存器主要有ifconfig,flagsab,flagscd,polar,revid。ifconfig配置usb的接口方式;flagsab与flagscd确定flagx所代表的状态;polar确定fifo接口信号的极性;revid读版本号。
2.2 endpoint配置寄存器
配置usb四个节点,主要有ecfg,epktlenh与epktlenl,epeh与epel,eisoinpkts几类寄存器(x的值为2,4,6,8):ecfg配置每一个endpoint的类型;epktlenh与epktlen设置每个节点包的大小;epfh与epfl确定每个节点的可编程的标志位;eisoinpkts确定等时同步传输时,每一帧的数据包个数。
2.3 状态寄存器
状态寄存器有ep24flags与ep68flags;ep24flags确定节点2与4的fifo的状态;ep68flags确定节点6与8的fifo的状态。
2.4 usb帧状态寄存器
usb总线配置寄存器主要有usbframeh、usbframel、microframe、fnaddr来确定usb每一帧的状态,usbframeeh/l寄存器确定每一帧的数据长度;microframe寄存器确定每一个微帧的数据个数;fnaddr寄存器保存自举时的7位地址。
2.5 节点0(endpoint0)操作寄存器
节点0(endpoint0)操作寄存器主要包括fp0buf,setup,ep0bc三个寄存器:ep0buf寄存器是节点0的缓冲寄存器,通过他可以完成对节点0数据的访问;setup寄存器从计算机接收set-up数据包;ep0bc,节点0中的数据的个数。
2.6 其他寄存器
inpktend/flush寄存器强制数据包结束或清空fifo;interrupts寄存器为中断使能寄存器;desc寄存器可以完成对描述表的操作。
3 tms320vc5416与cy7c68001的硬件接口
本设计将cy7c68001配置在tms320vc5416的i/o空间,采用cy7c68001的并行异步读写方式完成二者之间数据和命令的交换。其原理框图如图1所示。
cy7c68001除了存储器接口外,还有1个中断信号usbint反和4个状态信号(ready,flaga,flagb和flagc),中断信号usbint反,扩展总线的xint2反,操作复用tms320vc5416的外部中断int2反被配置在系统状态寄存(sysstat1)中,可由tms320vc5416查询,以确定真正的中断源,状态信号ready,flaga,flagb和flagc配置在本系统状态寄存器0(sysstat0)中,可由tms320vc5416查询,由于采用了cpld,增强了系统的灵活性和可扩充性。在实际操作中,由于通信速度达到了480mb/s,所以采用4层板设计,而且对电源要进行很好的退耦处理,对dsp所需的16mhz有源晶振和cy7c68001用到的24mhz有源晶振要进行铺铜处理。
4 tms320vc5416对cy7c68001的操作
cy7c68001有2个外部接口:
(1)命令接口:用来访问cy7c68001寄存器、endpoint0缓冲器及描述表;
(2)fifo数据接口:用来访问4个1kb的fifo中的数据。
这两个外部接口均可以通过同步或异步的方式进行访问。在本系统中均采用异步的方式进行访问的,命令口的命令字:
ad:地址/数据选择,为0时表示本操作为数据读或写,为1时表示本操作