新闻中心

EEPW首页>手机与无线通信>设计应用> 基于TMS320C6713的USB数据传输系统设计

基于TMS320C6713的USB数据传输系统设计

作者: 时间:2012-04-05 来源:网络 收藏

使用CY7C68001作为从设备。在这种模式下,DSP可以像读/写普通FIFO一样对CY7C68001内部的FIFO进行读/写。PC主机发出命令的同时也由CY7C68001的e.JPG引脚提供中断触发信号给DSP的EXT_INT6。其上升沿被检测到以后,DSP就进入相应中断服务程序,开始处理的传输。DSP通过EA[4:2]连接FIFOA[2:0]对CY7C68001内部FIFO或命令口进行选择。读/写通过ED[15:0]与FIFO[15:0]连接进行。FIFO和命令口的选择和地址分配如表1所示。

本文引用地址://m.amcfsurvey.com/article/155122.htm

c.JPG


经实验验证,异步传输速率可达3 Mb/s。

3程序配置
USB程序在实现了在DSP端对USB初始化和USB传输。USB定义了4种传输类型:同步传输、中断传输、控制传输和块传输。同步传输适用于传输大量的、速度恒定的、且对服务周期有要求的;中断传输适用于传输少量或中量的、且对服务周期有要求的数据;控制传输适用于传输少量的、且对传输时间和传输速率均无要求,但必须保证传输的数据;块传输适用于传输大量的、且对传输时间和传输速率均无要求的数据。该系统CY7C68001采用并行异步存储器接口与相连接,数据传输量较大,要求数据传输的准确性,因此选择块传输作为USB的传输方式。
首先,通过调用用户的初始化函数,使能外部中断并初始化USB寄存器。之后,程序通过数据传输函数,完成了DSP与PC机的数据传输。
USB初始化程序配置为:使能外部中断6(EXT_INT6);加载USB描述表,并进行自举检测,如自举不成功,则重新自举,直到端点0收到设置包为止;配置USB为异步从FIFO(Asynchronous Slave FIFO)模式,采用内部的48 MHz时钟源;读取FNADDR寄存器,判断USB工作状态;依据USB工作状态,配置EP2,EP4,EP6,EP8,并设置一次传送的字节长度。设置EP2,EP4为BULK OUT,EP6,EP8为BULK IN。其缓冲大小分别为2×512B。
在数据传输过程中,PC端通过EP2向DSP发送读数据命令,DSP通过外部中断收到读命令后,使用EP6发送已采集好的数据。在声音数据采集系统中,每路麦克风以每秒96 kHz进行24位采样,按照ping-pong方式进行存储。因此在USB_TRANSFER()还需进行判断,当采集数据存储在ping缓存时,发送pong缓存中的数据;当采集数据存储在pong缓存时,发送ping缓存的数据。
数据传输程序配置如下:判断EP2是否有读命令;传输存放在ping,pong缓存中已采集到的数据。
程序中部分代码如下:
g.JPG



评论


相关推荐

技术专区

关闭