新闻中心

EEPW首页>嵌入式系统>设计应用> 基于TMS320C6713控制的USB数据存储系统设计

基于TMS320C6713控制的USB数据存储系统设计

作者: 时间:2009-01-09 来源:网络 收藏

图4给出空间分配表。由图4可知,空间CEl的地址范围是0x90000000~0xA0000000,因此可设定地址总线经CPLD相关编码后SL811HS的片选地址是0x90080006,HOST寄存器的空间为0x90080006。地址寄存器为0x90080007。


3 软件
软件含有初始化和驱动两部分程序。前者用于完成芯片支持库(Chip Support Library,简称CSL)提供的标准方法.以访问和片上外设设备的初始化、软件变量的初始化及使能中断(总中断、NMI中断)等。SL811HS对U盘操作的软件分为:①针对SL811HS编写主机器驱动程序;②调用驱动程序,以完成U盘读写的应用程序。
3.1设备的配置

在设备检测阶段,SL8llHS通过读取中断状态寄存器判断中断类型。当中断类型为检测到设备插入时(U盘插入USB插座会产生中断),配置USB设备即U盘。同时还需使能SL811HS的1 ms SOF,以便进行帧的同步。此时,可通过setup结构的数据包(8字节)向USB设备的控制端点O(默认控制端点和默认地址)发送命令。
当采用setup数据包配置U盘时,需将U盘的地址写入SL811HS的寄存器4;将数据包的类型和U盘的控制端点写入SL811HS的寄存器3。U盘配置过程的主要流程如图5所示。在U盘的配置过程完成后,主机与USB设备之间的通信必须使用设置的地址。默认地址0不再有效,传输端点则为读取配置描述符中所定义的端点号。

3.2 传输流程设计
在与U盘之间传输大量数据时,需要利用描述符提供的In,OUt端点传送数据,并遵循Bulk―Only传输协议.其传输过程一般分为3个阶段。
根据USB的协议规范,所有的传输都需由DSP启动.即TMS320C6713首先向设备的OUT端点发送一命令(CBW数据包),请求传输,在数据包中设定下一步的数据传输方向。若为设备到TMS320C6713,则当CBW发送成功后,从设备的IN端点读取CBW中规定长度的数据;若为TMS320C6713到设备,则当CBW发送成功后,向设备的0UT端点发送CBW中规定长度的数据。
当TMS320C6713与设备之间的数据传输完毕后,TMS320C6713还需从设备的IN端点读取传送状态,然后TMS320C6713根据接收的握手包(ACK,NAK,STALL等)即可判断通信是否正常。若返回的结果有错误,还需进行相应的出错处理。
U盘数据结构包括DBR(引导记录)、FAT表、文件目录表(FDT)。当写一新文件时,需在FAT表中查找未使用的簇,并将该簇号写入文件所对应目录数据结构中的起始簇号位置。当该文件长度大于一簇时,还需在FAT表中对应的起始簇号位置填入下一可用簇的簇号,直到文件的最后一簇(FAT表中的相应位置填FFFF)为止。若磁盘有备份FAT,还需在备份FAT表的相应位置填入正确的内容。
使用U盘的Bulk端点进行数据传输,Bulk传输分为Bulk-In(TMS320C6713向外围设备请求数据)和Bulk-Out(TMS320C6713向外围设备发送数据)。先发送令牌包(CBW包),再发送数据包,若发送或接收正确,则返回握手包.一次事务传送成功。在事务传送过程中,DATAO和DATAl是交替使用的。图6给出一般传输流程。

3.3速度分析
块传输适合传输大量且对传输时间和传输速率均无要求的数据。当USB总线带宽紧张时,它会为其他传输类型让出所占用的帧/小帧时间,而其本身将被延迟,这时传输速率很低,占用的传输时间也很长;当USB总线空闲时,它能以很快的速度传输,其传输时间也很短。所以块传输可发送大量的数据而不会堵塞USB总线,但其传输时间和传输速率却得不到保证。另外,影响传输速度的因素很多,如指令读取时间、执行时间,主机响应时间及数据传输时间等,但因采用了功能强大的DSP,其频率配置为200 MHz。因此,能大大提高指令读取执行和主机的相应时间。对存储速度进行了仿真测试,其结果表明基本达到了设计要求。


4 结语
使用USB主机接口控制器SL811HS实现了对U盘的读写,大大降低了系统硬件设计的复杂度和系统调试的难度。同时提高了系统的集成度和稳定性,减小了系统的体积和功耗。若采用诸如FIFO类提高传输速度的措施.可为数据采集系统存储大容量数据提供一种通用、方便和可靠的解决方案。若采用支持USB2.0协议的器件,可大大提高传输速度.为数据分析提供有利手段。在野外采集数据时。该技术能尽量存储所需的信息,因此它的应用前景十分看好。


上一页 1 2 下一页

评论


相关推荐

技术专区

关闭