基于EZ-USB的数据传输接口设计
发布时间:2008/9/1 0:00:00 访问次数:716
摘要:利用ez-usb接口芯片an2131q实现了基于tms320c5409的水声信号采集及混沌特性研究系统中的高速数据通信,提出了一种采用fifo缓存芯片实现an2131q与tms320c5409的连接方法,深入研究了ez-usb序列接口芯片的固件、设备驱动和用户程序开发过程。
0 引言
usb控制器采用通用连接技术以实现与外设的简单快速连接,具有连接灵活、使用方便、速度快、扩展能力强等优点,使得其一些高速、高精度的信号采集领域中, 具有极大的应用价值[1]。 ez-usb序列芯片an2131q是cypress公司的内嵌微控制器的80pin的usb接口控制芯片,它采用了一种基于内部ram的解决方案,允许客户随时不断地设置和升级,不受端口数、缓冲大小、传输速度及传输方式的限制[2]。片内嵌有一个增强型8051微控制器,与标准的8051相比,其速度快3倍。本文将usb控制器ez-usb2131q用于基于tms320c5409的水声信号采集及混沌特性研究系统中,实现了数据的高速传输。
1 usb控制器与dsp的连接
1.1 an2131q和tms320c5409的硬件连接
在tms320c5409和usb控制器an2131q硬件连接中,采用fifo(first in first out sram)连接方法,除了能确保dsp和主机间的数据传输速度只受usb协议限制外,还能使usb控制器和dsp之间的最大数据交换速度超过usb总线的速度。
由于usb控制器an2131q内嵌有加强型的8051处理器,可使用两片fifo(fifo选用idt72v02,它具有1k×9位的内存)可以实现usb控制器和dsp之间的双向通信。从usb控制器an2131q或者dsp传输的数据首先保存在fifo中,然后再由dsp或者an2131q读走,从而使得数据的传输不会出现堵塞情况,其硬件连接框图如图1所示。
图1 an2131q和tms320c5409的连接图
1.2 an2131q和idt72v02的连接
idt72v02状态信号有空(ef)、半满(hf)和满(ff),它们都在fifo为低电平时有效。其与an2131q的连接如图2所示。
图2 an2131q和idt72v02的连接图
1.3 an2131q和tms320c5409的软件连接
usb控制器an2131q和dsp之间的软件部分包括4个部分,分别是usb控制器an213lq对fif01的写、usb控制器an2131q对fif02的读、tms320c5409对fif01的读、tms320c5409对fifo2的写。为了描述的方便,将fif01的3个状态信号分别称为 、 和 ,对应fif02的为 、 、 。
(1)usb控制器an2131q写fifo1
当usb总线上有数据要传送至tms320c5409时, an2131q查询 ,若 无效, an2131q一次向fifo1写入一个数据包(数据包要小于或等于fifo1容量的一半),而且an2131q一次向fifo1写入每一个字节时不需再查询 。
(2) tms320c5409读fifo1
tms320c5409每次从fifo1中读入一个数据包,每读一个字节前,dsp需要查询 ,只有当 无效(fifo1不为空)时,dsp才能进行读操作。
(3) tms320c5409写fifo2
当tms320c5409有数据要传送至主机时,tms320c5409把数据打包,每次向fifo2中写入一包数据,方法与usb控制器an2131q写fifo1相同,惟一不同的是tms320c5409查询的信号是 。写完一包数据后,tms320c5409通过操作控制字向usb控制an2131q发一个中断信号,tms320c5409在写下一包数据时必须等到an2131q应答。an2131q应答的方法是利用tms320c5409的外部中断int1中断dsp。
(4)usb控制器an2131q读fifo2
usb控制器an2131q收到tms320c5409发出的中断信号,应答dsp后,从fifo2中读入一包数据,不用再查询 。
2 usb接口软件设计
usb接口软件主要分为三部分:固件程序、驱动程序、主机应用程序。主机应用程序通过驱动程
摘要:利用ez-usb接口芯片an2131q实现了基于tms320c5409的水声信号采集及混沌特性研究系统中的高速数据通信,提出了一种采用fifo缓存芯片实现an2131q与tms320c5409的连接方法,深入研究了ez-usb序列接口芯片的固件、设备驱动和用户程序开发过程。
0 引言
usb控制器采用通用连接技术以实现与外设的简单快速连接,具有连接灵活、使用方便、速度快、扩展能力强等优点,使得其一些高速、高精度的信号采集领域中, 具有极大的应用价值[1]。 ez-usb序列芯片an2131q是cypress公司的内嵌微控制器的80pin的usb接口控制芯片,它采用了一种基于内部ram的解决方案,允许客户随时不断地设置和升级,不受端口数、缓冲大小、传输速度及传输方式的限制[2]。片内嵌有一个增强型8051微控制器,与标准的8051相比,其速度快3倍。本文将usb控制器ez-usb2131q用于基于tms320c5409的水声信号采集及混沌特性研究系统中,实现了数据的高速传输。
1 usb控制器与dsp的连接
1.1 an2131q和tms320c5409的硬件连接
在tms320c5409和usb控制器an2131q硬件连接中,采用fifo(first in first out sram)连接方法,除了能确保dsp和主机间的数据传输速度只受usb协议限制外,还能使usb控制器和dsp之间的最大数据交换速度超过usb总线的速度。
由于usb控制器an2131q内嵌有加强型的8051处理器,可使用两片fifo(fifo选用idt72v02,它具有1k×9位的内存)可以实现usb控制器和dsp之间的双向通信。从usb控制器an2131q或者dsp传输的数据首先保存在fifo中,然后再由dsp或者an2131q读走,从而使得数据的传输不会出现堵塞情况,其硬件连接框图如图1所示。
图1 an2131q和tms320c5409的连接图
1.2 an2131q和idt72v02的连接
idt72v02状态信号有空(ef)、半满(hf)和满(ff),它们都在fifo为低电平时有效。其与an2131q的连接如图2所示。
图2 an2131q和idt72v02的连接图
1.3 an2131q和tms320c5409的软件连接
usb控制器an2131q和dsp之间的软件部分包括4个部分,分别是usb控制器an213lq对fif01的写、usb控制器an2131q对fif02的读、tms320c5409对fif01的读、tms320c5409对fifo2的写。为了描述的方便,将fif01的3个状态信号分别称为 、 和 ,对应fif02的为 、 、 。
(1)usb控制器an2131q写fifo1
当usb总线上有数据要传送至tms320c5409时, an2131q查询 ,若 无效, an2131q一次向fifo1写入一个数据包(数据包要小于或等于fifo1容量的一半),而且an2131q一次向fifo1写入每一个字节时不需再查询 。
(2) tms320c5409读fifo1
tms320c5409每次从fifo1中读入一个数据包,每读一个字节前,dsp需要查询 ,只有当 无效(fifo1不为空)时,dsp才能进行读操作。
(3) tms320c5409写fifo2
当tms320c5409有数据要传送至主机时,tms320c5409把数据打包,每次向fifo2中写入一包数据,方法与usb控制器an2131q写fifo1相同,惟一不同的是tms320c5409查询的信号是 。写完一包数据后,tms320c5409通过操作控制字向usb控制an2131q发一个中断信号,tms320c5409在写下一包数据时必须等到an2131q应答。an2131q应答的方法是利用tms320c5409的外部中断int1中断dsp。
(4)usb控制器an2131q读fifo2
usb控制器an2131q收到tms320c5409发出的中断信号,应答dsp后,从fifo2中读入一包数据,不用再查询 。
2 usb接口软件设计
usb接口软件主要分为三部分:固件程序、驱动程序、主机应用程序。主机应用程序通过驱动程