您好,欢迎来到华佗小知识。
搜索
您的当前位置:首页基于TMS320VC5509的数据处理及其USB传输系统

基于TMS320VC5509的数据处理及其USB传输系统

来源:华佗小知识
维普资讯 http://www.cqvip.com 2008年7月 西安石油大学学报(自然科学版) Ju1.2008 第23卷第4期 Jatmal 0fXi allShiymUhiv ty(Natural ScimceEdition) V.d.23 No.4 文章编号:1673一o64x(2oo8)o4—0093—04 基于田 320VC5509的数据处理及其USB传输系统 A novel system for data processing and transmission by USB based on TMS320VC5509 卢虎 ,高理2,廉保旺 (1.西北工业大学电子信息学院,陕西西安710072;2.西安石油大学电子工程学院,陕西西安710065) 摘要:基于DSP芯片和USB总线技术,设计并实现一个高速数据采集、处理和USB传输的一体化 系统.系统围绕TMS320VC5509芯片进行设计,克服了常见的“主处理器+USB控制器”系统分别 处理和传输数据而造成的系统复杂、数据传输接口不稳定等缺点,占用系统资源少,既满足实时性, 又满足易扩展性,具有一定的实用价值. 关键词:数据处理;通用串行总线;自举引导;WDM驱动程序 中图分类号:TP391 文献标识码:A 随着DSP和USB技术的迅速发展,越来越多 统,给出系统的软硬件架构及其具体实现方法,最后 的电子工程技术人员开始使用DSP和USB总线进 介绍了TMS320V 509芯片特有的USB Boot— 行数据高速处理和传输系统的设计,即以DSP为核 Loader的基本概念. 心处理芯片进行数据的分析和处理再交给USB器 件(如EZ-USB系列等)进行数据传输,通过DSP强 1 TMS320VC5509简介 大的控制和运算功能,可以很容易地实现USB总线 数据的智能化传输. TMS320VC5509秉承TI公司DsP芯片的一 该常用方法虽然实现了数据高速、有效的处理 贯特征,采用专用硬件逻辑CPU、片内存储器、片内 及其USB可靠传输,但由于DSP器件工作频率日 外设及高度专业化的精简指令集计算(RISC),其结 益提高(当前主流DSP芯片工作频率大多稳定在 构为改进哈佛结构,包括1条程序总线、3条数据读 100 M以上)与低速的USB外设器件(如EZ—USB 总线、2条数据写总线和附加的片上外设以及DMA 系列为24 MHz)之间往往无法满足时序的匹配,在 专用总线,保证了指令和数据能以并行高速处理。并 系统设计时需要额外设计延时单元以进行协调,当 有新的特点【1-3 J: 传输数据量过大时,该常用方法往往无法充分显现 (1)工作在1.6 V时,高达144 MI-Iz的主频和 以DSP为核心的高速处理系统的优势,而且额外单 仅占用6.94 ns的指令周期; 元的加入也会造成潜在的系统工作不稳定性. (2)支持块、中断和同步传输3种方式的高速 本文以TMS3200VC5509为核心器件,充分利 (12 Mbps)USB从端口. 用该款芯片内置的USB外部接口资源,设计并实现 TMS320V 509的数据处理模块,由于应用场 了一个高速数据采集、处理和USB传输的一体化系 合不同,具体处理方式有所不同,但其编程思想与风 收稿日期:2007—11.07 ( 基金项目:国家自然科学基金(编号:60273009);教育部博士点基金(编号:20050699307) 作者简介:卢虎(1975一),男,在站博士后,讲师,主要从事通信与信息系统等方面的研究. 维普资讯 http://www.cqvip.com

・--——94・--—— 西安石油大学学报(自然科学版) 格与其他型号的DSP芯片基本相同,可采用汇编或 C/C++语言具体实现,不再赘述.下面主要介绍数 据采集、处理完毕后,如何通过TMS320VC5509的 描述符包含了关于这个终端的信息,终端描述符,除 了终端0,每个在一个接口描述符中指定的终端都 有一个终端描述符,它指明终端号、方向、指定终端 USB接口进行数据传输的方法和具体实现过程. 2 USB协议简介 2.1 USB协议基本特征 usB(通用串行总线)通信协议用于将适用 UsB的外围设备连接到主机的外部总线结构,是一 种支持主系统和USB外围设备(最多为127个)之 间进行数据传送的高速串行总线[41.目前主要有2 种USB协议:USB1.1和USB2.0,连接至计算机的 外设共同分享USB带宽,其总线带宽为12 Mbit/s (USB1.1)或480 Mbit/s(USB2.0). USB协议定义了四种数据传送类型: (1)控制传送:一般用来发送与设备的能力和配 置有关的请求和数据; (2)同步传送:在主机与设备之间的周期性的、 连续的通信,一般用于传送与时间相关的信息; (3)中断传送:小规模数据量的、低速的、固定延 迟的传送,可用于高速和低速设备; (4)批量传送(数据块传送):非周期性的、大数 据量的、可靠的传送,典型用于传送可以利用任何带 宽的数据,且没有可用带宽时,数据可以容忍等待. 2.2 USB协议配置・ 在应用程序与USB外设通信之前,主机需要知 道设备支持那些传输类型和终端,同时需要给设备 分配一个地址,主机通过枚举和交换描述符信息来 完成此项工作.在枚举过程中,描述符逐步涉及设备 各个具体细节:首先是整个设备(设备描述符),然后 是设备的具体配置(配置描述符),接着是配置的接 口(接口描述符),最后涉及接口的终端(终端描述 符).其中,设备描述符包含关于这个设备的基本信 息,是在设备连接时主机读取的第一个描述符,这个 描述符包括了主机为了从设备得到其他信息所需要 的信息;配置描述符,包含关于设备的电能使用和支 持的接口的信息,每个设备至少有一个描述设备的 特征和能力的配置,在接受了设备描述符后,主机就 能够得到设备的配置、接口和终端描述符了;接口描 述符,接口这个词当然可以从整体描述USB,但从 设备和它的描述符方面来说,接口表示一组被一个 设备的特征或功能而使用的终端,一个配置的接口 支持的传输类型及可传送的最大数据字节等信息. 可以看到要想利用TI S320VC5509的USB接 口进行数据传输,首先就需要在TMS320VC5509中 实现USB协议,下面具体论述之. 3 USB协议的TMS320VC5509配置 由于TMS320VC5509对USB协议的支持仅限 于1.1版,因此该文的实现也针对USB协议1.1版 而言. 图1是TMS320VC5509作为USB设备与PC 机进行数据通信的示意图.在进行输入(相对主机而 言)操作时,SIE(serial interface engine)把来自UBM (usB bufer manager)的并行数据转换为串行数据 输入到主机;输出操作时,SIE把主机传来的串行数 据转换为UBM所需的并行数据.UBM负责从SIE 转移数据到bufer RAM或者由bufer RAM转移数 据到SIE.具体实现过程中,需要注意的是CPU或 者USB DMA控制器必须在UBM传递数据到SIE 前,把数据放入缓存RAM;而当CPu或者DMA控 制器准备好向存储器传递的数据后,则需要等待 UBM把数据由SIE转移到缓存RAM,方可进行后 续操作[5・7I. 图1 TMS320VC5509作为USB设备与PC机 数据通信示意图 若要利用TMS320VC5509进行USB数据传 输,显然必须使TMS320VC5509实现并支持USB 协议.因此,现在的问题就转化为:在以 TMS320VC5509为核心处理器的数据采集、处理和 传输系统中,实现USB协议;当该系统和PC机进 行数据交互时,需开发支持TMS320VC5509设备的 硬件驱动程序.因此,系统的主要工作归结为开发 PC机的USB驱动程序(即TMS320VC5509设备的 PC机的USB驱动程序)和使 S320vC5509对驱 动程序进行支持. 维普资讯 http://www.cqvip.com 卢虎等:基于TMS320VC5509的数据处理及其USB传输系统 一95一 由USB协议可知,TMS320VC5509的主要工 作是:当设备接人主机后,驱动程序枚举设备; TMS320VC5509必须提供主机枚举所需要的各种 描述符信息并根据驱动程序的要求提供输人或输出 数据以及数据的处理操作. 描述符信息须严格参照USB协议进行配置, 以下是该系统中TMS320VC5509的设备描述符,可 供参考. static Uintl6 deviceDescriptorl j:{ 0x0000, (C5509一USB—DESCRIPTOR—DEVICE<<8)I 18 /*描述符表字符数*/ OxOlO1,/*协议版本号*/ 0x0000,/*设备类*/ 0x4000,/*子类*/ 0x0451,/*供货商ID*/ 0x9002,/*产品ID*/ 0x0000,/*设备发行号*/ 0x0201,/*厂商信息字符串索引*/ OxOlO0/*设备信息字符串索引*/ }; 类似地,根据系统需求可以很容易得到其他类 型的描述符信息. 数据处理操作模块的实现,可利用 TMS320VC5509提供的CSL函数库(Chip Support Library)中的各种API函数进行数据处理操作,例 如,下面是USB中断处理例程,可供参考. if(IFI &IFRO—USBMSK) { IFR01:IFRO—USBMSK;/*清除USB终端 标志*/ USB—evDispatch();/*处理所有USB事件 */ } 其中,USB—evDispatch()函数即为标准CSL处 理函数,在进行头文件引用#include<cs1.h>后, 即可直接使用,大大简化开发难度,此外,还可以使 用CSL图形界面(GUI)进行USB模块的配置工 作,进一步缩短开发周期. 需要特别提出的是,TMS320VC5509除了支持 标准的bootloader功能外,还增加了USB-bootloader 的功能,即通过主机和TMS320VC5509的USB接 口,进行程序的加载,以往需要存储在下位机系统 FLASH上面的程序,现在可以存放在主机上面,当 系统开始工作时,首先由主机向TMS320VC5509下 载程序(该功能可以集成到系统的主机程序之中), 而后系统开始协同工作.该项功能极大节约了以 TMS320VC5509为核心的数据处理系统的资源,在 系统需要处理的数据复杂因而程序显得有些庞大时 尤为可贵,这样开发人员几乎不必再为所谓的节约 资源而徒劳地精简代码. 4 TMS320VC5509的驱动程序 当下位机(以TMS320WC5509为核心的数据 处理传输系统)开发完成后,就需要开发该系统PC 机下的驱动程序以及客户应用程序,以使系统可以 最终与上位机(PC机)正常通信,并使上位机可以对 下位机进行数据收发的操作.根据上位机操作系统 (以Microsoft公司的Windows系列操作系统为例) 的不同可以选用Windows 2000 DDK或者Win— ndows XP DDK进行驱动程序的开发. Windows驱动程序采用分层结构,最高层支持 用户模式和内核模式两种驱动程序,用户模式驱动 程序是运行在用操作系统用户模式的系统级代码; 而内核模式驱动程序使用系统级代码编写,允许直 接访问硬件.内核模式驱动程序可被进一步分成遗 留模式驱动程序和Windows驱动模式驱动程序 (WDM).遗留模式驱动程序需要去侦测硬件和与 I/0子系统连接;WDM驱动程序支持即插即用、电 源管理、热拔插(PnP)、自动配置.再下一层,遗留模 式和WDM驱动程序可被进一步分成:高层、中间 层、低层.高层驱动程序依靠中间层和低层驱动程序 去完成工作,中间层驱动程序则依靠低层驱动程序 去完成工作[sI. 用户模式驱动程序I—— l内核模式驱动程序I=====;弋  l遗留的驱动程序l I WDM驱动程序 驱动程序l低层l l l中间层ll驱动程序I l驱动程序I 高层I I驱动程序I l低层I l l中间层l驱动程序l l驱动程序  l 高层 图2 windows系统驱动程序的分层结构 TMS320VC5509的USB驱动程序属于WDM 型驱动程序,因此不必直接与TI S320VC5509的 USB接口打交道,只需通过下层驱动程序提供的接 口来访问该接口即可.换而言之,编写 TMS320V 509的USB设备驱动程序不必具体针 维普资讯 http://www.cqvip.com 一96一 西安石油大学学报(自然科学版) return status; 对硬件编程,所有的USB命令、读写操作均是通过 总线驱动程序转发给USB设备,因此驱动程序必须 定义与外部设备的通讯接口和通讯的数据格式[ . 般来说,USB驱动程序,主要包括如下几个 部分,读者可以根据需要进行取舍. 一} 在Windows XP系统中,驱动程序开发完成并 正确安装后如图3所示. USB的客户程序实际上是对客户端设备映像 的操作,这些映像由USB驱动程序产生,属于用户 (1)DriveEntry()例程:驱动程序的人口函数, 所有对各种IRP的处理都在此例程中做出说明(大 致相当于普通应用程序的main()或winmain()函 模式.在DDK中存在着一组叫做USBDI函数的 API函数集,该函数集包括了传输函数、管道(Pipe) 数,不能省略). (2)AddDlEvice()例程:当USB设备接入主机系 统时,I/O管理器调用此例程,此例程负责创建USB 功能设备对象,同时创建Win32子系统可见的设备 名. (3)响应IRPl_MJ一 T和IRP—MJ—CLo— SEIRP请求的例程:当用户态的应用程序通过 WinS2API函数CreatFile()或CloseFile()请求创建 或关闭USB设备句柄时,I/O管理器将调用此例 程. (4)响应IRP—MJ—DEVICE—CONTRoL请求 的例程:当用户态的应用程序通过Win32API函数 DeviceControl()请求对USB设备进行I/O操作时, I/O管理器将调用此例程. (5)响应IRP—MJ—PNPIRP请求的例程:在此 例程中驱动程序处理由PnP管理器发送的PnP消 息. 下面的DriverEntry()例程,可供参考: NTsTATI S DriverEntry(IN PDRIVER~OBJECT DriverObjeet.IN PUNICODE—S汀RING Registry— Path) { NTSTATUS status:STATUS一>SUCCESS; DriverObjeet一>DriverUnload=USBUnl0ad: DriverObjeet一>Ma]orFunetion[IRP—M3一CRE— ATE]=USBCreate; DriverObjeet一>MajorFunetion[IRP—MJ一> CLOSE]=uSBCIose; DriverObjeet一>MajorFunetion[IRP—MJ一> READ]=usBRead; DriverObject一>MajorFunetion[IRP—MJ~WRITEJ =USBWrite; DriverObjeet一>MajorFunetion[Ⅱ 一ⅣU—DEⅥ 一 CONTROL]=USBDevieeContnl; RegisterForPnpNotifieation(DriverObjeet); 函数、设备配置函数及其他函数.应用这些函数可编 写支持任何USB兼容设备的USB驱动程序和客户 程序. 7 碑鲻 赫.夏谶薯 ………………~……~……………一—寸 i}_ ( 潮_ 隔烈麟黼藏黼鬻黛鳓瓣豳[———— 嘲黼露蕊戤鬣瀚图)l 图3驱动程序开发完成并正确安装后的示意图 为了优化应用程序性能,可将应用程序分为2 个部分:动态链接库和应用程序.动态链接库接受应 用程序的各种操作请求并负责和内核态的USB客 户驱动程序通信,而应用程序负责将数据进行传输, 还可进一步采用Windows多线程技术使数据传输 和程序界面分别处于线程,来提升程序性能. 5结束语 本文提出的高速数据处理和数据USB传输的 一体化方案,主要是利用了TMS320V 509的优良 性能,尤其是USB的BootLoader功能的合理应用, 使得系统结构简洁、性能可靠、易于开发和扩展,并 已在实践中获得检验. 参考文献: [1]TI.TMS320VC5509 Fixed.Point Digital Sign ̄Prossesor Data Manual[M].U S:Texas Instruments,2003. [2]TI.TMS320C55x CSL USB l ̄l-&ITnnPx S Refernece Guide[M].U S:Texas Isntruments,2001. [3]TI.ADsP侣10sUSBDeviceDriverfortheTMS320C5509 [M].u S:Texas Instruments,2003. [4]宋新爱.基于WDM的设备驱动程序开发[J].西安石 油大学学报:自然科学版,2007,22(4):113—115. [5]TI.TMS320C55x DSP Peripherals Refreence uGide[M]. U S:Texas Instruments,20o3. (下转第105页) 维普资讯 http://www.cqvip.com 何明等:基于遗传算法和粗糙集理论的增量式规则获取方法 一105一 (2)为了比较标准遗传算法、粗糙集和基于粗糙 集的增量式遗传算法之间获取规则的性能,分别对 以上①,②,③数据库按照不同的方法抽取规则, 表1给出了比较的结果. 表1规则获取方法比较 一种优化技术作用于规则集上.在此基础上,针对数 据挖掘对算法可扩性的要求,将增量算法与数据库 更新结合起来,实现知识的渐进更新.试验结果表 明,本文所提出的方法能有效地获取最优规则集. 参考文献: [1]Pawalk Z.Rough sets[J].International Journal 0f Corn— puter and Information Science,1982,11(5):341—356. [2]Pawalk Z.Theoretical Aspects of Reasoning about Data [M].Boston:Kluwer Academic Publishers,1991. [3]Yao Yiy1J,Zhao Yah,Wang Jueet,et a1.A Model of Ma— SGA:标准遗传算法;RST:粗糙篥理论;IGA:基于粗糙集的增 chine Learning Based on User Preference of Attributes 量式遗传算法 [C]//GrecoS,Hata Y,I-Iirano S,et a1.Rough Sets and Current Trends in Computig(RSCIE 2006).Benrlin: Springer—Verlag,2006:587—576. 通过对表1中的3种规则获取方法所得到的结 果进行比较,可以看出,在保持较高的覆盖度的同 时,基于粗糙集的增量式遗传算法所获取的规则数 量最少,获取规则的时间也是最短的.这就进一步说 [4]Yin Y ,Zl1ang Bin,Zhao Yuhai.Minig tnhe Most In. teresting Patterns from Multiple Phenotypes Medical【)a— ta[C]//Greeo S,Hata Y,Hirano S,et a1.Rough Sets nd aCurrnte Trends in Computig(RSCTC 2006).Bernlin: Spriger—Verlnag。2006:696—705. 明了本文所提出的基于增量式遗传算法的规则挖掘 的正确性和有效性. [5]Pawlak Z.Decision Trees and Flow Graphs[C]//Greco 5结 论 本文基于粗糙集理论,分析了遗传算法的基本 原理,结合数据挖掘中规则挖掘问题的具体情况,将 分规则获取与优化方法结合起来.把遗传算法作为 S,Hata Y,Hirano S,et a1.Rough Sets and Current Trndes in Computig(RSn ̄I"C 2006).Bedin:Sprigern- V ̄lag,2006:1-11. [6] URL:http://1^n^n v_ics.uci.edu/pub/machine-learnig-n databases/. 编辑:张新宝 (上接第96页) [6]TI.TMS320C55x DSP CPU Programmer S Refreence [M].U S:Texas Instruments,2003. [7]TI.TMS320C55x DSP CPU Refrence eGuide[M].U S: Texas Instruments,2003. 安:西安电子科技大学出版社,2002. [9] 武安河.Windows 2000/XP WDM设备驱动程序开发 [M].2版.北京:电子工业出版社,2005. 编辑:张新宝 [8]张惠娟.Windows环境下的设备驱动程序设计[M].西 

因篇幅问题不能全部显示,请点此查看更多更全内容

Copyright © 2019- huatuo0.cn 版权所有 湘ICP备2023017654号-2

违法及侵权请联系:TEL:199 18 7713 E-MAIL:2724546146@qq.com

本站由北京市万商天勤律师事务所王兴未律师提供法律服务