×
接口总线驱动 > 总线 > 详情

USB及其设备开发

发布时间:2020-05-26 发布时间:
|

USB(Universal Serial Bus)通用串行总线。是1995年康柏、微软、IBM、DEC等公司为解决传统总线的不足而推广的一种新型的通信标准。该总线接口具有安装方便、高带宽、易于扩展等优点,已逐渐成为现代数据传输的发展趋势。同时USB又是一种通信协议,支持主系统与其外设之间的数据传送。

1 USB的特点

(1)速度快

USB接口的传输速度高达4 80 Mb/s,和串口11 5 200 b/s的速度相比,相当于串口速度的4 ooO多倍,完全能满足需要大量数据交换的外设的要求。

(2)使用方便,支持热插拔

其设备单独使用自己的保留中断,不会同其他设备争夺PC机资源,不会涉及IRQ冲突问题。其驱动程序和应用软件可自启动。

(3)无需外接电源

一些采用普通串口或并口设备比如打印机、扫描仪等都需要相应的外接电源系统,而USB外部设备直接利用USB接口提供的电源,能向低压设备提供5 V的电源,无需外接专门的交流电源。

(4)连接灵活

USB接口支持多个不同设备的串列连接,1个USB口理论上可连接127个USB设备。连接方式既可使用串行连接,也可通过中枢转接头(即Hub)把多个设备连接在一起再和PC机的USB口相连接。

2 USB接口针脚和信号定义

USB使用一个4针插头作为标准插头。通过这个标准插头,采用菊花链形式可以把所有的外设连接起来,并且不会损失带宽。USB接口针脚如图1所示。


3.USB的结构及传输方式

3.1 USB的结构

USB采用菊花链结构,最多可以同时连接1 2 7台设备,由总线提供电源,并有检错、纠错功能以保证数据正确传输。usB规范将uSB分为5个部分:控制器、控制器驱动程序、USB芯片驱动程序、USB设备以及针对不同USB设备的驱动程序。

(1)控制器 主要负责执行由控制器驱动程序发出的命令。

(2)控制器驱动程序 在控制器与USB设备之间建立通信信道。

(3)USB芯片驱动程序 提供对USB的支持。

(4)USB设备 包括与PC相连的USB外围设备,分为2类:一类设备本身可再接其他USB外围设备;另一类设备本身不可再连接其他外围设备。前者称为集线器,后者称为设备。或者说,集线器带有连接其他外围设备的USB端口,而设备则是连接在计算机上用来完成特定功能并符合USB规范的设备单元,如鼠标、键盘等。

(5)设备驱动程序 就是用来驱动USB设备的程序,通常由操作系统或USB设备制造商提供。

3.2 USB的传输方式

针对设备对系统资源需求的不同,在USB规范中规定了4种不同的数据传输方式:

(1)等时传输方式 该方式用来连接需要连续传输,且对数据的正确性要求不高而高而对时间极为敏感的外部设备,如麦克风、音箱以及电话等。等时传输方式以固定的传输速率连续不断地在主机与USB设备之间传输数据,在传送数据发生错误时,USB并不处理这些错误,而是继续传送新的数据。

(2)中断传输方式 该方式传送的数据量很小,但这些数据需要及时处理,以达到实时效果,此方式主要用在键盘、鼠标以及游戏手柄等外部设备上。

(3)控制传输方式 该方式用来处理主机USB设备的数据传输。包括设备控制指令、设备状态查询及确认命令。当USB设备收到这些数据和命令后,将依据先进先出的原则按队列方式处理到达的数据。

(4)批传输方式 该方式用来传输要求正确无误的数据。通常打印机、扫描仪和数码相机以这种方式与主机连接。

在这4种数据传输方式中,除等时传输方式外,其他3种方式在数据传输发生错误时,都会试图重新发送数据以保证其准确性。

4 USB接口标准

从1 9 94年11月11 IEI发布了USB V0.7版本以后,USB版本经历了6年的发展,到现在已经到了2.0的版本。

USB 1.1标准接VI传输速率为1 2 Mb/s,理论上可以支持1 27个装置,通过USB Hub即USB扩展器连接多个周边设备,连接线缆的最大长度为5 m。

COMPAQ,Hewlett Packard, Intel,Lucent,Microsoft,NEC和Philips这7家厂商联合制定了USB 2·0接口标准。USB 2.0将设备之间的数据传输速度增加到了480 Mb/s,~gUSB 1.1标准快40倍左右,速度的提高对于用户的最大好处是可以使用更高效的外部设备,而且具有多种速度的周边设备都可以连接到USB 2.0的线路上,不像USB 1.1时代,因为高带宽使得更多的设备无需担心数据传输时发生瓶颈效应。USB 2.0可以使用原来USB定义中同样规格的线缆,接头的规格也完全相同,在高速的前提下同样保持了USB 1.1的优秀特色,也保证了向下兼容。[page]

5 USB典型应用

理论上讲,USB技术由3部分组成:具备USB接口的Pc系统、能够支持USB的系统软件和使用UsB接口的设备。USB需要主机硬件、操作系统和外设3个方面的支持才能工作。目前主板一般都采用支持USB功能的控制芯片组,而且也安装了USB接口插槽。Windows 98及以上版本的操作系统都内置了对USB接口的支持(但WindowsNT不支持USB)。在操作系统拥有了对USB设备的支持后,安装USB设备以及相应的驱动程序。目前,USB已经在Pc机的多种多卜设上得到应用,从最初的打印机、扫描仪,发展到摄像头、数码相机、鼠标、键盘、硬盘、Modem、U盘、手机等。板载接口也从早期的2个增加至4个接El,板上一般还有两个扩展针接口,同期出现了前置接口和USB Hub。USB系统的典型应用如图2所示。
在图2所示系统中,显示器、Audio,Modem皆为全速设备,键盘、鼠标为低速设备。


6 USB端口软件结构

USB端口软件结构如图3所示。


(1)USB接El驱动程序

USB接口驱动程序需实现以下功能:

①USB接El器件的初始化。
②计算上层数据包的校验和,发送上层的数据包。
③发送SOF帧。
④接收从USB接口传送来的数据,并检查数据的有
效性。
⑤将接收到的数据送往上层。

(2)USB协议栈驱动程序

USB协议栈驱动程序需实现以下功能:

①提供与设备驱动程序的接El。
②读取并解析USB设备描述符,配置描述符。
③为USB设备分配惟一的地址。
④使用默认的配置来配置设备。
⑤支持基本的USB命令请求。
⑥连接设备与相应的驱动程序。
⑦转发设备驱动程序的数据包。

(3)设备驱动程序

设备驱动程序需实现以下功能:

①提供与应用程序的接口。
②读取并解析USB设备特有的描述符,获得设备提供的传输通道。
③发送设备特有的和基本的USB命令请求。
④通过设备提供的传输通道与设备进行数据传输。
⑤通过USB命令请求重新配置设备。

7 USB设备的开发

(1)需要一台支持USB PC如果要开发WDM驱动程序则需要一台有以下配置的PC:

(2)编写USB Device的规格书。
(3)购买相应的评估板和评估软件,并找到尽可能多的实例源程序代码,然后需要有MCU的程序编译器。
(4)购买其他在开发中要用到的设备,如总线分析仪USB Hubs,竞争者的相应USB设备,以及USB鼠标、USB键盘等。
(5)编写或改写USB驱动程序MCU,固件程序和客户程序代码。
(6)参加USB遵从试验在不同的系统与配置验iiEUSB设备。

8 驱动程序编写

USB的驱动程序和以往直接跟硬件打交道的Windows 95的VXD方式驱动程序不同,他是WDM类型的Windows下的USB软件,USB软件总体框图如图4所示。

9 结 语

观USB技术的整个发展过程,从诞生到成为绝大多数PC外设的标准接口,在提高速度后应用到几乎所有PC外设领域,USB为接E1种类繁多的存储媒介与主机之间提供了方便可靠的连接。USB应用与开发也将不断发展,不断完善。 


『本文转载自网络,版权归原作者所有,如有侵权请联系删除』

热门文章 更多
串口通信属性及事件解析