基于RTOS的USB设备端驱动程序研究与设计.pdf

基于RTOS的USB设备端驱动程序研究与设计.pdf

ID:53570477

大小:194.17 KB

页数:6页

时间:2020-04-18

上传者:mggk
基于RTOS的USB设备端驱动程序研究与设计.pdf_第1页
基于RTOS的USB设备端驱动程序研究与设计.pdf_第2页
基于RTOS的USB设备端驱动程序研究与设计.pdf_第3页
基于RTOS的USB设备端驱动程序研究与设计.pdf_第4页
基于RTOS的USB设备端驱动程序研究与设计.pdf_第5页
资源描述:

《基于RTOS的USB设备端驱动程序研究与设计.pdf》由会员上传分享,免费在线阅读,更多相关内容在应用文档-天天文库

第21卷第1期北京理工大学学报Vol.21No.12001年2月JournalofBeijingInstituteofTechnologyFeb.2001文章编号:1001-0645(2001)01-0123-03基于RTOS的USB设备端驱动程序研究与设计张雪兰翁铁城(北京理工大学计算机科学与工程系北京100081)摘要:对USB进行分析研究并开发RTOS上USB的设备端驱动程序0采用V-model的软件工程开发方法0所开发的设备端驱动程序顺利地通过USB设备端仿真器的测试所得结果正确0USB作为一种新型的串行通信标准统一了外设接口提高了传输速率0关键词:实时操作系统9通用串行总线9驱动程序中图分类号:TP303文献标识码:A通用串行总线(USBuniversalserialbus)作为一种新型的~基于令牌的~高速串行总线标准对各种外设提供了统一的接口其传输速度达12MB/s[1]极大地提高了数据传输速率0USB的出现对计算机技术的发展有着重要的研究和实用价值为此作者在研究USB协议的基础上为一种USB设备端芯片开发了基于VxWorks平台的设备端驱动程序0[1]1USB体系结构1.1USB体系结构USB作为一种串行总线由两根通信线两根电host源线组成0它是一种基于令牌的总线标准基于令牌deviceroothubdevice的方法与令牌环形网和FDDI相似[2]0USB的拓扑为复合设备分层的星型结构如图1所示0host是根控制总线的hubhub数据通信0hub作为USB中的专用设备是各种外设与host建立连接的通道其突出特点是支持热拔插0devicedevicedevicedeviceUSB最多允许接入127种外部设备每种设备的接图1USB拓扑结构口是统一的01.2USB数据结构[3]USB数据结构由SYNC域和Packet域组成0SYNC域与IEEE802.3标准相同0Packet域共有3种分组格式它们是令牌分组~数PID地址endpoint号码CRC5据分组和握手分组0令牌分组长度为24bitsPID(分组图2令牌分组格式标识)跟在SYNC之后用来描述分组的类型如图2所示校验位由类型位按位取反产生0地址共7bits对每一设备惟一0endpoint是USB设备与收稿日期:20000625基金项目:国际合作项目作者简介:张雪兰(1953-)女副教授0 124北京理工大学学报第21卷[2]hOst数据传输中数据的发送点或接受点,其性质与网络中的SAP相似,不同之处是endpOint为单工或半双工方式0CRC5为校验码,作用于地址和endpOint两部分0数据分组由PID~数据域和CRC16组成,其数据域的长度是可变的(O~1O23B),按照数据传输方式的不同而不同0握手分组中只有PID,分为3种:ACK,NAK和STALL(设备故障停止)0其中NAK的意义与网络数据链路层的NAK不同,USB中的NAK表示设备正忙,无法接收所传的数据,要求hOst端重发01.3数据传输USB支持4种数据传输方式:大数据量传输~控制传输~中断传输和同步传输02Vxworks的驱动程序结构VxWOrks是美国WindRiver公司开发的实时操作系统(RTOS)0标准接口支持两种设备:块设备和字符设备0其中块设备经过文件系统,字符设备不经过文件系统0应用程序通过文件名(即应用起动代码(装于操作系统的引导程序中)设备名)和文件描述符找到设Open()Create()ClOse()Read()Write()IOctl()备驱动程序0驱动程序通过设IOLib.h备描述符和设备标识使用设IOsDrvInstall()IOsDevAddIOsLib.h备,3者为一链型调用方式,--调用过程如图3所示0其中xxDrv()xxDevCreate()xxOpen()xxClOse()xxRead()xxWrite()xxIOctl()xxDrv()调用OS的API-图3驱动程序调用过程iOsDrvInstall()把7个主要的驱动程序API装入操作系统的驱动程序表(drivertable)中,返回一个驱动程序号0xxDevCreate()调用OS的API-iOsDevAdd()将所需设备的描述符的设备头装入OS设备的双向链表中,此表中包括设备名和相应的驱动程序号0这样设备便与驱动程序连接起来0应用程序使用时先调用操作系统的Open()函数0Open()首先通过设备名调用相应的驱动程序xxOpen(),得到设备描述符的首地址和驱动程序号,然后将这两项添入文件描述符表的一个空白项中,最后返回此项的指针,即文件描述符0以后其它应用函数便可以通过文件描述符找到所需的设备和驱动程序,完成各自的操作03USB设备端的驱动程序设计3.1USB设备端功能分析USB设备端的主要功能是与hOst端的数据通讯,它是通过与hOst端交互中体现出来的0交互分成3部分:建立连接准备传输~数据通信和连接拆除03.1.1建立连接DUSB支持热拔插0设备与hub的一个端口连接后,hub向hOst报告此连接情况,hOst通过缺省地址O读取设备描述符,得到设备的分组最大值,为USB设备分配一个惟一地址(1~127)0地址O为设备共用,当设备未被配置时其缺省地址为O0hOst通过控制传输方式得到除设备描述符的其它配置信息,选择并设置其中一种配 第1期张雪兰等:基于rTOS的USB设备端驱动程序研究与设计1Z5置,USB协议的配置信息分为设备描述符~configuration描述符~interface描述符和endpoint描述符,设备在配置完成后自动进入挂起状态,等待hoSt发送令牌,3.1.2数据通信每次数据通信均由hoSt发出一个令牌,若令牌的PID为发送,它后面跟着数据分组,由所选设备的endpoint接收数据;若PID为接收,则由所选设备的endpoint发送数据,在多组数据发送中,数据的同步与网络中的停止等待协议相似,每发送完一个分组返回一握手信号,3.1.3连接拆除USB设备可在任何时间从hub的端口中摘除,这时设备处于断电状态,3.2驱动程序的主要功能设计通过对USB协议~设备端功能~VXWorkS的I/O管理机制以及USB设备芯片硬件功能的分析,USB设备端的驱动程序主要分为USBDevDrv(),USBDevcreate(),USBDevOpen(),USBDevread(),USBDevWrite(),USBDevIoctl()和USBDevcloSe()7部分,USBDevDrv()主要完成对读/写信号的初始化~中断向量设置,并将驱动程序的API部分装载到驱动程序表中,返回驱动程序号,USBDevcreate()主要为hoSt准备USB设备的配置信息,初始化硬件寄存器,建立设备和驱动程序的连接,这时若设备插入hub的端口中,便可通过发送配置信息和hoSt建立连接,USBDevread()/USBDevWrite()读/写数据,读操作是将数据读到用户缓冲区中,写操作是将数据从缓冲区写到endpoint的FIFO中,由此发往hoSt,本驱动程序支持USB协议中的控制传输和大数据量传输,支持的分组最大值为64B,为了最大地发挥USB速度优势,设置分组的最大值为64B,需要注意的是当发送的最后一个分组为64B时,须由USB设备再发送一个O长度的分组表示发送结束,而对于判断令牌的地址是否与本设备的相符以及数据的crc校验则由硬件电路完成,USBDevIoctl()接受命令产生控制信息,在驱动程序的开发过程中,采用V-model的软件工程开发方法,以尽量使问题在软件开发的早期被发现并得到解决,在程序及功能测试过程中,单元测试采用白盒测试方法,系统测试采用黑盒测试方法,所开发的驱动程序成功地通过了USB设备端仿真器的测试,4结论USB作为一种新型的高速外设总线,集成了许多网络和通讯领域的先进技术,统一了外设的接口标准,在一定程度上改变了计算机外设的体系结构,必将有着广阔的发展前景,参考文献:[1]USBorganizationreviSion1.11998,UniverSalSerialbuSSpecification[S].[Z]鲁士文.计算机网络原理与网络技术[M].北京:机械工业出版社,1996.[9]HeldG.以太网[M].戴志涛,郑岩译.北京:人民邮电出版社,1999.(下转第14O面) 140北京理工大学学报第21卷2杨晓东李建华诸鸿文基于ORBA的SW共享工作空间的设计与实现J计算机应用研究111),-41杨德华internet网上用户验证技术J计算机应用研究15),45-44冯建林宗凯协同编辑系统oEditor的人-人交互界面的研究J计算机辅助设计与图形学学报111),225-227StudyandRealizationforanInteractiveTeachingSystemBasedonCSCWFANXiao-ZhongFUJi-binWANGJin-songDeptofomputerScienceandEngineeringBeijinginstituteofTechnologyBeijing100081hina)Abstract,DiscussesinbriefthedirectionofprogressofWebteachingsystemstheshortcomingofcurrentteachingsystemandthemainproblemsthatsuchaninteractiveteachingsystemcanresolveintroducedinmoredetailedarethemodeloftheWebteachingsystembasedonSWthelient/ServerstructurebasedontwolevelserverandthefunctionsofmultimediadatabaseandotherinteractivetoolsAimingatwhatthesystemcanresolveinteachingactivitiesthepaperbringsforwardtheideaaboutanewpatternofteachingandlearningusingsuchasystemKeywords,computersupportedcooperativeworkWebteachingsystem上接第125面)StudyandDevelopmentoftheUSBDeviceDriveronRTOSZHANGXue-lanWENGTie-chengDeptofomputerScienceandEngineeringBeijinginstituteofTechnologyBeijing100081hina)Abstract,StudiestheUSBprotocolanddevelopsaUSBdevicefunction)driveronRTOSV-modelsoftwareengineeringdevelopmentmethodisapplieditsuccessfullypassedthetestofUSBdevicesimulatorAsakindofnewserialcommunicationstandardUSBintegratesmanynetworkandcommunicationtechnologiesitallowsperipheralinterfacestoconnecteasilywiththecomputerandimprovesincommunicationspeedKeywords,RTOSUSBdriverprogram 基于RTOS的USB设备端驱动程序研究与设计作者:张雪兰,翁铁城,ZHANGXue-lan,WENGTie-cheng作者单位:北京理工大学计算机科学与工程系,刊名:北京理工大学学报英文刊名:JOURNALOFBEIJINGINSTITUTEOFTECHNOLOGY年,卷(期):2001,21(1)被引用次数:6次参考文献(3条)1.USBorganizationrevision1.1-1998,Universalserialbusspecification2.鲁士文计算机网络原理与网络技术19963.HeldG;戴志涛;郑岩以太网1999本文读者也读过(10条)1.张颖.周长胜基于可扩展固件接口的USB设备驱动的开发与研究[会议论文]-20092.梁宝娟嵌入式USBMiniHost系统设计与实现[学位论文]20063.沈小磊.张晓彤.李占才.SHENXiao-lei.ZHANGXiao-tong.LIZhan-caiUSB设备控制器的硬件实现与研究[期刊论文]-计算机工程2007,33(24)4.陆荣鑑.晏芳.章琦.LURongjian.YANFang.ZHANGQiUSB-OTG技术在便携式数码设备中的应用[期刊论文]-信息化研究2010,36(5)5.陈晓华.CHENXiao-hua基于μC/OS-Ⅱ的USB设备驱动器的设计与实现[期刊论文]-电脑知识与技术(学术交流)2006(4)6.段沛沛.赵明基于嵌入式操作系统的USB设备主机驱动程序的设计[期刊论文]-福建电脑2008,24(11)7.赵明.马健康.ZHAOMing.MAJian-kang基于UC/OS的USB设备主机驱动程序的开发[期刊论文]-科学技术与工程2007,7(13)8.李月香.刘东阳.LIYue-xiang.LIUDong-yangUSB设备开发中各类传输方式下端点的处理过程[期刊论文]-山西师范大学学报(自然科学版)2007,21(2)9.程俊.李广军使用DriverStudio3.1开发USB设备驱动程序[会议论文]-200610.殷一鸣.周玲玲.应忍冬.徐国治嵌入式平台上的通用USB设备驱动架构设计[会议论文]-2007引证文献(6条)1.夏旭丰.丁文杰.朱善君.孙新亚.李迎春实时多任务嵌入系统的实现[期刊论文]-计算机应用研究2003(9)2.戴小俊.杨绪光.丁铁夫.郑喜凤基于USB2.0的高速数据通信接口设计[期刊论文]-电子器件2006(4)3.库依楠.杨玉森.韩洋基于DSP的USB2.0设备接口协议的实现[期刊论文]-吉林大学学报(工学版)2005(2) 4.粟晖基于MCS51系列MCU嵌入式软件开发平台的研究和实现[学位论文]硕士20055.周敏奇USBHost端数据采集卡设计[学位论文]硕士20056.乔斌鱼探仪硬件实现[学位论文]硕士2005引用本文格式:张雪兰.翁铁城.ZHANGXue-lan.WENGTie-cheng基于RTOS的USB设备端驱动程序研究与设计[期刊论文]-北京理工大学学报2001(1)

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。
大家都在看
近期热门
关闭