基于TMS320C6713控制的USB数据存储系统设计
扫描二维码
随时随地手机看文章
全球定位系统(Global Positioning System,简称GPS)的反射信号(GPS—R)接收机根据海面的反射信号,结合电波对海面、海浪的散射理论,可获得海面平均高度、浪高、海面风力等信息,还可监测和分析高纬地区的冰层厚度、海洋盐度等参数,因此,GPS-R是近十多年来迅速发展的一种空基海洋遥感技术,具有广泛的应用前景。在设计GPS-R接收机时,为了减少重量.在机载和星载条件下不允许有显示设备,而高纬地区一20℃的温度会使液晶显示器失效,这些都要求将采集、压缩后的数据存储到U盘或硬盘中,并带回基站进一步处理。
Texas Instruments(简称TI)公司的DSP具有高速运算性能,在数据采集与处理、工业控制和语音、图像通信等领域有着广泛的应用。通用串行总线(Universal Serial Bus,简称USB)是一种新型接口技术,具有设备自动识别功能,可自动安装驱动程序和配置,可支持不同速率的同步和异步传输方式,且接口体积小巧,可支持热插拔和即插即用等优点,因而得到广泛应用。由USB规范可以看到,在USB的拓朴中居于核心地位的是计算机主机,每一次的数据传输都必须由主机控制。但是,随着DSP应用领域的日益发展,USB外设的应用范围也随之扩大,因此迫切需要实现DSP对USB的外设控制。为此介绍了TMS320C6713的基本特点及USB嵌入式主控制器SL811HS的基本结构和性能,给出USB存储系统的硬件连接图和软件设计方案。利用TMS320C6713的外设资源,系统实现与SL8lHS的连接,而且系统稳定性高。
2 硬件设计
2.1 主要器件介绍
TMS320C6000系列是TI公司推出的运算能力最强的处理器,它采用了VLIW的体系结构及流水线技术,具有两级cache缓存结构,而且运行速度快,精度高。TMS320C6713是该系列的32位浮点DSP,其最高工作主频可达300 MHz,处理速度高达2 400 MI/s,片上共有264 KBx8位存储器,其中含有4 KBx8位L1Pcache,4:KBx8位L1Dcache和256 KBx8位L2RAM/cache:片上外设资源丰富,其中含有两个McBSP、两个McASP、两组:I2C总线、一组GPIO、两个32位通用定时器、一个16位主机接口HPI。此外,TMS320C6713还有32位的EMIF总线,分为4个存储空间(CE0~CE3),每个存储空间的寻址范围为256 M字节,可访问8位、16位或32位数据宽度,每个空间均可与SDRAM,SBSRAM及异步外设实现无缝接口。
设计中,采用EMIF总线控制SL811HS。该器件是Cypress公司推出的遵循USBl.1规范的具有主/从两种工作模式的USB控制器,支持微处理器、微控制器或DSP的USB接口设计,可按DSP的要求自动将数据整合为USB协议数据包传输的数据。其特点是:①基于内部集成的全/低速传输引擎(SIE)所产生的USB串行接口功能,可自动检测总线速率.支持全速12 Mb/s和低速1.5 Mb/s设备;②具有8位双向数据总线,能较为简单地与DSP连接。片内256字节的SRAM用于数据传输和支持乒乓操作,其中16字节用于工作寄存器;③自动产生SOF和CRC5/16,简化软件工作量;④在完成传输事务或有外部设备接入时中断寄存器触发中断,通过写入中断寄存器可清除中断;⑤为提高电路的稳定性,时钟发生器外接48 MHz晶体振荡器,其工作电源为3.3 V,接口可承受5 V的工作电压,并可与多种器件相连。
图1给出SL811HS的原理框图。与目前的ARM+内嵌USB、FPGA+操作系统+内嵌USB接口相比,因它是由DSP控制的嵌入式主控制器,可以快速存储数据,能最大限度地利用DSP的外设资源,适合非PC设备的应用。
2.2 系统硬件接口设计
设计中使用TMS320C6713控制SL811HS存储数据。图2给出其总体硬件框图。其中,电源部分可产生3.3 V和5 V电压:数据采集部分采集数据,然后将数据送至TMS320C6713进行相应的算法处理。Flash ROM器件采用SST39IF800A,将初始化、算法和控制程序烧写到ROM内,上电后即可初始化CSL和各寄存器。采用HY57V641620HGT一7作为SDRAM,用于暂存经过处理压缩后的数据。
图3给出SL811HS与TMS320C6713的硬件连接原理图。使用EMIF总线中第2个存储空间CEl,其数据总线低8位EDO~ED7与DO~D7相连;EA2与A0相连;读写信号、复位信号及中断信号与TMS320C6713相应的信号位相连,其中SL81lHS外接48 MHz晶体振荡器。
[!--empirenews.page--]
图4给出TMS320C6713存储空间分配表。由图4可知,存储空间CEl的地址范围是0x90000000~0xA0000000,因此可设定TMS320C6713地址总线经CPLD相关编码后SL811HS的片选地址是0x90080006,HOST USB数据寄存器的存储空间为0x90080006。地址寄存器为0x90080007。
3 软件设计
软件设计含有初始化和驱动两部分程序。前者用于完成芯片支持库(Chip Support Library,简称CSL)提供的标准方法.以访问和控制片上外设设备的初始化、软件变量的初始化及使能中断(总中断、NMI中断)等。TMS320C6713控制SL811HS对U盘操作的软件设计分为:①针对SL811HS编写USB主机控制器驱动程序;②系统调用驱动程序,以完成U盘数据读写的应用程序。
3.1 USB设备的配置
在设备检测阶段,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协议的器件,可大大提高传输速度.为数据分析提供有利手段。在野外采集数据时。该技术能尽量存储所需的信息,因此它的应用前景十分看好。