新闻中心

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

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

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

h.JPG
其中,通过Read_SX2reg()可判断FIFO中的是否被发送,若被发送,则FIFO寄存器标志为空,反之,标志为满。SX2_Fifo_Write()向相应的FIFO中写入传输。其中ENDPOINT6表示使用EP6端点进行发送,ping+pingcnt表示要发送的首地址,FifoLength为发送数据的长度。系统采用2.0进行数据传输,每个EP的FIFO缓冲大小为512 B,CY7C68001采用16位数据线与TMS320C613相连,故FifoLength大小设为256 B。
由于通过EMIF的CE3存储空间可以外扩2.0接口,还需对。EMIF接口的CE3寄存器进行配置,将接口设为16位异步存储接口,设定读/写的建立时间(Setup)、促发时间(Strobe)、保持时间,使其满足CY7C68001的读/写时序要求。具体配置如下:
i.JPG

4 PC端应用程序
PC主机端需要编写USB设备驱动程序和应用程序。USB设备驱动程序主要通过调用微软的USBD.SYS来实现PC机于USB总线的数据交换,采用WDM(Windows Driver Mode)驱动程序进行编写,分为USB底层驱动程序和USB功能驱动程序。USB底层驱动程序由操作系统提供,USB功能驱动程序由设备开发者进行编写。
PC端应用程序采用VC++6.0编写应用程序,首先调用OpenDriver()打开USB接口设备,获得设备的句柄hDevice,之后调用Sx2SendVendor Req()函数向外设发出命令,读取USB配置,最后调用Sx2BulkdataTrans()进行数据传输,通过调用CFile类将接收到的数据存放在文件名为“Collection.txt”的文本文件中。程序使用多线程技术,使得应用程序将USB数据传输在后台进行处理,应用程序前台还可进行其他操作。
程序简单实现如下功能:当点击“Start Sample”按钮时,开始进行USB数据传输,点击“Stop Sample”按钮时,停止USB数据传输。采样的多通道数据在应用程序中进行图像显示,方便对数据的判断。
程序关键函数如下:
j.JPG
函数中myRequest的成员变量与DSP中断程序中SetupBuff缓冲区的 8 B数据相对应,Sx2SendVendotReq()通过调用Windows API函数Devi ceIoControl()向DSP中发送命令,DSP端程序需与之配合,返回相应的数据,完成读取USB配置。
k.JPG
通过对函数中bulkControl的成员变量pipenumber设置,确定PC主机端与CY7C68001的哪个端点进行数据传输,Sx2BulkdataTrans()也通过调用Windows API函数DeviceIoControl()向DSP中发送读/写数据命令,被传输的数据保存在buffer中。


评论


相关推荐

技术专区

关闭