USB设备驱动程序的开发与USB协议4916.docx
《USB设备驱动程序的开发与USB协议4916.docx》由会员分享,可在线阅读,更多相关《USB设备驱动程序的开发与USB协议4916.docx(59页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、n更多企业业学院:中小企企业管理理全能版版183套套讲座+897700份份资料总经理理、高层层管理49套讲讲座+1163888份资料中层管管理学院院46套讲讲座+660200份资料国学智智慧、易易经46套讲讲座人力资资源学院院56套讲讲座+2271223份资料各阶段段员工培培训学院院77套讲讲座+ 3244份资料员工管管理企业业学院67套讲讲座+ 87220份资料工厂生生产管理理学院52套讲讲座+ 139920份份资料财务管管理学院院53套讲讲座+ 179945份份资料销售经经理学院院56套讲讲座+ 143350份份资料销售人人员培训训学院72套讲讲座+ 48779份资料第1章绪绪论1.1UU
2、SB简简介USB是是由世界界著名计计算机和和通信公公司等共共同推出出的新一一代接口口标准,全全称为Unniveersaal SSeriial Buss(通用串串行总线线)1,是一种种快速、灵灵活的总总线接口口。它是为了了解决日日益增加加的PCC外设与与有限的的主板插插槽和端端口之间间的矛盾盾而制定定的一种种串行通通信标准准。USSB应用用十分广广泛,并并具有下下述优点点:1、适用用于多种种外设,使使它不需需要为不不同的外外设准备备不同的的接口和和协议;2、Wiindoows能能自动检检测到UUSB设设备的热热插拔,并并自动配配置;3、PCC机上的的接口线非非常紧缺缺,而UUSB设设备并不不需要
3、用用户设置置端口故故无论从从用户使使用方便便性,或或从对资资源的占占用方面面看,UUSB都都很优秀秀;4、当接接入一个个USBB设备时时,全速速USBB接口可可达122Mbiit/ss。考虑到到状态、控制和和出错信信息,最最大理论论速度仍仍可达到到9.66Mbiit/ss,这是是其他串串行接口口协议所所不能比比拟的,且且USBB也支持持1.55Mbiit/ss的低速速传输。5、USSB接口口芯片价价格低廉廉,这也也大大促促进USSB设备备的开发发与应用用。在USBB出现之之前,计计算机典典型接口口有并行行口、串串行口、鼠鼠标口、键键盘口、显显示器口口,及各各种卡式式接口等等,与这这些接口口对应
4、的的有各种种不同的的电缆,在在传输速速度方面面,这些些接口都都存在速速度偏低低的问题题。在技技术方面面,这种种设计容容易产生生I/OO冲突,中中断不够够用,以以及对于于每一种种新的外外设都必必须设计计新的接接口卡等等缺点。当当今的计计算机外外部设备备,都在在追求高高速度和和高通用用性。UUSB接接口适应应了这种种要求,并并以其速速度快、使使用方便便、成本本低等优优点,迅迅速得到到了众多多PC厂商商和半导导体厂商商的大力力支持,外外设向UUSB过过度成为为必然趋趋势。1.2UUSB驱驱动程序序的意义义如果PCC主机不不知道如如何与UUSB外外设通信信,那么么这个UUSB外外设一点点用处都都没有,
5、人人机接口口设备(HID)2类是Windows完全支持的USB设备类型中的一种,应用程序可以使用操作系统内设置的驱动与HID通信,但与HID通信不像打开一个端口,设定几个参数,然后就可以读写数据那么简单,在应用程序能与HID交换数据之前,它先要找到设备,获取有关它的报告信息。为做到这些,应用程序必须通过访问通信API函数,使位于上层的应用程序与位于下层的设备驱动程序进行数据交换。应用程序可以使用任何能访问API函数的程序语言,VC+是一种能访问API函数的功能强大的语言,因此,我们应用Visual C+6.0环境下编写与USB设备通信的Windows程序。1.3VVC+软件的的介绍应用基于于M
6、FCC ApppWiizarrd的应应用程序序。MFFC (Miccrossoftt Foounddatiion Claass Libbrarry)中的各各种类结结合起来来构成了了一个应应用程序序框架,它它的目的的就是在在此基础础上来建建立Wiindoows下下的应用用程序,这这是一种种相对SSDK来来说更为为简单的的方法。因因为总体体上,MMFC框框架定义义了应用用程序的的轮廓,并并提供了了用户接接口的标标准实现现方法,要要做的就就是通过过预定义义的接口口把具体体应用程程序特有有的东西西填入这这个轮廓廓。Miicroosofft VVisuual C+提供了了相应的的工具来来完成这这个工作作
7、:ApppWiizarrd可以以用来生生成初步步的框架架文件(代代码和资资源等);资源编编辑器用用于帮助助直观地地设计用用户接口口;CllasssWizzardd用来协协助添加加代码到到框架文文件;最最后,编编译,则则通过类类库实现现了应用用程序特特定的逻逻辑。1.4系系统方案案设计上位机界界面应用用VC+6.0软件件来编写写,为了了简单适适用,在在创建工工程时采采用对话话框类型型。一个个好的应应用程序序首先要要有好的的用户界界面,看看起来赏赏心悦目目,使用用起来简简单、方方便。显显示界面面上的各各个元素素需要和和USBB设备上上的元件件摆放位位置相对对应。把把要完成成的一系系列功能能的显示示
8、元素分分成不同同的模块块来进行行程序的的编写,每每一个模模块分别别完成一一种功能能,这样样既方便便检查程程序,也也方便在在通信发发生错误误时的对对错误进进行分析析。为了实现现PC机对对USBB设备的的识别,上上位机端端需要有有一个UUSB设设备的驱驱动程序序来识别别和支持持USBB设备,否否则PCC机将无无法识别别USBB设备。这这里选用用DriiverrStuudioo软件来来编写,它它能生成成一个简简单的驱驱动程序序的框架架,根据据需要,可可以在此此基础上上进行更更深层的的开发。1.5预预期结果果通过上位位机软件件和驱动动程序的的编写实实现以下下功能:1、完成成上位机机软件的的编写,并并可
9、以在在设备没没有连接接时显示示连接错错误。2、完成成驱动程程序的编编写,实实现上位位机能发发现USSB设备备,并使使上位机机能正确确配置设设备。同同时在显显示界面面上显示示出找到设设备。3、实现现双向传传输。在在上位机机软件中中可以控控制USSB设备备中的相相应显示示,同时时可以接接收到UUSB设设备传回回的消息息,并在在显示界界面上显显示。达达到一个个PC机与与USBB设备信信息的交交互,完完成通信信。4、利用用VC编程程实现对对计算机机底层硬硬件的操操作,培培养在此此方面工工程开发发的能力力。第2章UUSB协协议2.1UUSB系系统的使使用分类类及系统统的描述述USB设设计的初初衷是针针对
10、桌面面电脑而而不是应应用于可可移动的的环境下下的。软软件体系系通过对对各种主主机控制制器提供供支持以以保证将将来对UUSB的的扩充3。USBB是一种种电缆总总线,支支持在主主机和各各式各样样的即插插即用的的外设之之间进行行数据传传输。由由主机预预定的标标准的协协议使各各种设备备分享UUSB带带宽,当当其它设设备和主主机在运运行时,总总线允许许添加、设设置、使使用以及及拆除外外设。USB系系统的描描述:一个USSB系统统主要被被定义为为三个部部分:UUSB的的互连、USBB的设备备、USBB的主机机。USB的的互连是是指USSB设备备与主机机之间进进行连接接和通信信的操作作,主要要包括以以下几方
11、方面:(1)总总线的拓拓扑结构构:USSB设备备与主机机之间的的各种连连接方式式;(2)内内部层次次关系:根据性性能叠置置,USSB的任任务被分分配到系系统的每每一个层层次;(3)数数据流模模式:描描述了数数据在系系统中通通过USSB从产产生方到到使用方方的流动动方式;(4)UUSB的的调度:USBB提供了了一个共共享的连连接。对对可以使使用的连连接进行行了调度度以支持持同步数数据传输输,并且且避免的的优先级级判别的的开销。USB的的设备如如下所示示:(1)网网络集线线器,向向USBB提供了了更多的的连接点点;(2)功功能器件件:为系系统提供供具体功功能,如如ISDDN的连连接,数数字的游游戏
12、杆或或扬声器器。USB设设备提供供的USSB标准准接口的的主要依依据:(1)对对USBB协议的的运用;(2)对对标准UUSB操操作的反反馈,如如设置和和复位;(3)标标准性能能的描述述性信息息;USB传传输方式式:USB总总线属一一种轮讯讯方式的的总线,主机控控制端口口初始化化所有的的数据传传输。每每一总线线执行动动作最多多传送三三个数据据包。按按照传输输前制定定好的原原则,在每次次传送开开始时,主主机控制制器发送送一个描描述传输输运作的的种类、方方向,UUSB设设备地址址和终端端号的UUSB数数据包,这这个数据据包通常常称为标标志包(tokken pacckett)。USBB设备从从解码后后
13、的数据据包的适适当位置置取出属属于自己己的数据据。数据据传输方方向不是是从主机机到设备备就是从从设备到到主机。在在传输开开始时,由由标志包包来标志志数据的的传输方方向,然然后发送送端开始始发送包包含信息息的数据据包或表表明没有有数据传传送。接接收端也也要相应应发送一一个握手手的数据据包表明明是否传传送成功功。发送送端和接接收端之之间的UUSB数数据传输输,在主主机和设设备的端端口之间间,可视视为一个个通道。存存在两种种类型的的通道:流和消消息。流流的数据据不像消消息的数数据,它它没有UUSB所所定义的的结构,而而且通道道与数据据带宽、传传送服务务类型,端端口特性性(如方方向和缓缓冲区大大小)有
14、有关。UUSB中中有一个个特殊的的通道缺省省控制通通道,它它属于消消息通道道,当设设备一启启动即存存在,从从而为设设备的设设置、查查询状况况和输入入控制信信息提供供一个入入口。2.2UUSB物物理接口口的电器器特性2.2.1USSB物理理接口USB传传送信号号和电源源是通过过一种四四线的电电缆,两两根线是是用于发发送信号号。存在在两种数数据传输输率:图2.11USBB物理接接口(1)UUSB的的高速信信号的比比特率定定为122Mbpps;(2)低低速信号号传送的的模式定定为1.5Mbbps;电缆中包包括VBBUS、GNDD二条线线,向设设备提供供电源。VBUS使用+5V电源。USB对电缆长度的
15、要求很宽,最长可为几米。通过选择合适的导线长度以匹配指定的IR drop和其它一些特性,如设备能源预算和电缆适应度。为了保证足够的输入电压和终端阻抗。重要的终端设备应位于电缆的尾部。在每个端口都可检测终端是否连接或分离,并区分出高速,或低速设备。2.2.2电源源主要包括括两方面面:(1)电电源分配配:即UUSB的的设备如如何通过过USBB分配得得到由主主计算机机提供的的能源。每每个USSB单元元通过电电缆只能能提供有有限的能能源。主主机对那那种直接接相连的的USBB设备提提供电源源供其使使用。并并且每个个USBB设备都都可能有有自己的的电源。那那些完全全依靠电电缆提供供能源的的设备称称作“总线
16、供供能”设备。相相反,那那些可选选择能源源来源的的设备称称作“自供电电”设备。而而且,集集线器也也可由与与之相连连的USSB设备备提供电电源。(2)电电源管理理:即通通过电源源管理系系统,UUSB的的系统软软件和设设备如何何与主机机协调工工作。UUSB主主机与UUSB系系统有相相互独立立的电源源管理系系统。UUSB的的系统软软件可以以与主机机的能源源管理系系统结合合共同处处理各种种电子元元件如挂挂起、唤唤醒,并并且有特特色的是是,USSB设备备应用特特有的电电源管理理特性,可可让系统统软件和和控制其其电源管管理。2.2.3总线线协议主机控制制端口初初始化所所有的数数据传输输。每一一总线执执行动
17、作作最多传传送三个个数据包包。按照照传输前前制定好好的原则则,在每每次传送送开始时时,主机机控制器器发送一一个描述述传输运运作的种种类、方方向,UUSB设设备地址址和终端端号的UUSB数数据包,这这个数据据包通常常称为标标志包(tokken pacckett)。USBB设备从从解码后后的数据据包的适适当位置置取出属属于自己己的数据据。数据据传输方方向不是是从主机机到设备备就是从从设备到到主机。在在传输开开始时,由由标志包包来标志志数据的的传输方方向,然然后发送送端开始始发送包包含信息息的数据据包或表表明没有有数据传传送。接接收端也也要相应应发送一一个握手手的数据据包表明明是否传传送成功功。发送
18、送端和接接收端之之间的UUSB数数据传输输,在主主机和设设备的端端口之间间,可视视为一个个通道。存存在两种种类型的的通道:流和消消息。流流的数据据不像消消息的数数据,它它没有UUSB所所定义的的结构,而而且通道道与数据据带宽、传传送服务务类型,端端口特性性(如方方向和缓缓冲区大大小)有有关。多多数通道道在USSB设备备设置完完成后即即存在。USB中有一个特殊的通道缺省控制通道,它属于消息通道,当设备一启动即存在,从而为设备的设置、查询状况和输入控制信息提供一个入口。事务预处处理允许许对一些些数据流流的通道道进行控控制,从从而在硬硬件级上上防止了了对缓冲冲区的高高估或低低估,通通过发送送不确认认
19、握手信信号从而而阻塞了了数据的的传输速速度。当当不确认认信号发发过后,若若总线有有空闲,数数据传输输将再做做一次。这这种流控控制机制制允许灵灵活的任任务安排排,可使使不同性性质的流流通道同同时正常常工作,这这样多种种流通常常可在不不同间隔隔进行工工作,传传送不同同大小的的数据包包。1、USSB设备备的安装装所有的UUSB设设备都是是通过端端口接在在USBB上,网网络集线线器知道道这些指指定的UUSB设设备,集集线器有有一个状状态指示示器指明明在其某某个端口口上,UUSB设设备是否否被安装装或拆除除了,主主机将所所有的集集线器排排成队列列以取回回其状态态指示。在在USBB设备安安装后,主主机通过
20、过设备控控制通道道激活该该端口并并以预设设的地址址值给UUSB设设备。主机对每每个设备备指定唯唯一的UUSB地地址。并并检测这这种新装装的USSB设备备是集线线器还是是功能部部件。主主机为UUSB设设备建立立了控制制通道,使使用指定定的USSB的地地址和零零号端口口。如果安装装的USSB设备备是集线线器,并并且USSB设备备连在其其端口上上,上述述过程对对每个UUSB设设备的安安装都要要做一遍遍。如果安装装的设备备是功能能部件,那那么主机机中关于于该设备备的软件件将因设设备的连连接而被被引发。2、USSB设备备的拆卸卸当USBB设备从从集线器器的端口口拆除后后,集线线器关闭闭该端口口,并且且向
21、主机机报告该该设备已已不存在在。USSB的系系统软件件将准确确进行处处理,如如果去除除的USSB设备备上集线线器,UUSB的的系统软软件将对对集线器器反连在在其上的的所有设设备进行行处理。3、总线线标号总线标号号就是对对连接在在总线上上的设备备指定唯唯一的地地址的一一种动作作,因为为USBB允许UUSB设设备在任任何时刻刻从USSB上安安装或拆拆卸,所所以总线线标号是是USBB的系统统软件始始终要作作的动作作,而且且总线标标号还包包括对拆拆除设备备的检测测和处理理。4、数据据流种类类数据和控控制信号号在主机机和USSB设备备间的交交换存在在两种通通道:单单向和双双向。UUSB的的数据传传送是在
22、在主机软软件和一一个USSB设备备的指定定端口之之间。这这种主机机软件和和USBB设备的的端口间间的联系系称作通通道。总总的来说说,各通通道之间间的数据据流动是是相互独独立的。一一个指定定的USSB设备备可有许许多通道道。例如如,一个个USBB设备存存在一个个端口,可可建立一一个向其其它USSB设备备的端口口,发送送数据的的通道,它它可建立立一个从从其它UUSB设设备的端端口接收收数据的的通道。USB的的结构包包含四种种基本的的数据传传输类型型:(1)控控制数据据传送:在设备备连接时时用来对对设备进进行设置置,还可可对指定定设备进进行控制制,如通通道控制制;(2)批批量数据据传送:大批量量产生
23、并并使用的的数据,在在传输约约束下,具具有很广广的动态态范围;(3)中中断数据据的传送送:用来来描述或或匹配人人的感觉觉或对特特征反应应的回馈馈。(4)同同步数据据的传送送:由预预先确定定的传送送延迟来来填满预预定的UUSB带带宽。对于任何何对定的的设备进进行设置置时一种种通道只只能支持持上述一一种方式式的数据据传输,数数据流模模式的更更多细节节在第四四章中详详述。5、控制制数据传传送当USBB设备初初次安装装时,UUSB系系统软件件使用控控制数据据对设备备进行设设置,设设备驱动动程序通通过特定定的方式式使用控控制数据据来传送送,数据据传送是是无损性性的。6、批量量数据传传送批量数据据是由大大
24、量的数数据组成成,如使使用打印印机和扫扫描仪时时,批量量数据是是连续的的。在硬硬件级上上可使用用错误检检测可以以保证可可靠的数数据传输输,并在在硬件级级上引入入了数据据的多次次传送。此此外根据据其它一一些总线线动作,被被大量数数据占用用的带宽宽可以相相应的进进行改变变。7、中断断数据传传输中断数据据是少量量的,且且其数据据延迟时时间也是是有限范范围的。这这种数据据可由设设备在任任何时刻刻发送,并并且以不不慢于设设备指定定的速度度在USSB上传传送。中断数据据一般由由事件通通告,特特征及座座标号组组成,只只有一个个或几个个字节。匹匹配定点点设备的的座标即即为一例例,虽然然精确指指定的传传输率不不
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- USB 设备 驱动程序 开发 协议 4916
限制150内