新闻中心

USB技术入门

作者: 时间:2013-11-14 来源:网络 收藏

  USB驱动程序(USBD)位于UHCD之上。它提供驱动器级的接口,满足现有设备驱动器设计的要求,USBD所实现的准确细节随不同操作系统环境而有所不同,但USBD在不同操作系统环境下完成的是一样的工作。USBD以I/O请求包(IRPs)的形式提供数据传输构架,它由通过特定管道(Pipe)传输数据的需求组成。此外,USBD使客户端出现设备的一个抽象,以便于抽象和管理。作为抽象的一部分,USBD拥有缺省的管道。通过它可以访问所有的USB设备以进行标准的USB控制。该缺省管道描述了一条USBD和USB设备间通信的逻辑信道。

  在某些操作系统中,没有提供USB系统软件。这些软件本来是用于向设备驱动程序提供配置信息和装载结构的。在这些操作系统中,设备驱动程序将应用提供的接口而不是直接访问USBDI结构。

  客户软件位于软件结构的最高层,它负责处理特定USB设备的设备驱动器。客户程序层描述了所有直接作用于设备的软件入口。当设备被系统检测到,这些客户程序将直接作用于外围硬件。这个共享的特性将USB系统软件置于客户和它的设备之间,也就是说,一个客户程序不能直接访问设备硬件,而是根据USBD在客户端形成的设备映像由客户程序对它进行处理。

  总体上说,主机各层有以下功能:

  检测连接和移去的USB设备

  管理主机和USB设备间的数据流

  连接USB状态和活动统计

  控制主控制器和USB设备间的电气接口,包括限量能量供应

  控制信息可能以带内方式或带外方式在主机和设备间传输。带内方式将控制信息与数据混在一个管道内;带外方式将控制信息与数据放在分离的管道内。

  每一个连上的USB设备都有一个被称为缺省管道的消息管道。为了像设备列举和配置这样的标准流控制,在USB设备和主机之间建立逻辑关联。缺省管道为所有的设备提供了一个标准的接口。缺省信道也用于设备通信,由USBD作为中介,USBD拥有所有设备的缺省信道。

  特别的USB设备允许使用附加的消息管道传输具体设备的控制信息。这些管道使用相同的通信协议作为缺省信道,但传输的信息必须具体到特定的设备,而不被规范标准化。USBD支持其客户共享它拥有和使用的缺省信道。它也可以访问其它设备的控制管道。

  基于不同级别的抽象,HCD和USBD提供不同的软件接口。他们被希望以某种特殊的方式一起工作来满足所有USB系统的需求。USB系统的需求主要体现为对USBDI的需求。USBD和HCD间任务的区分没有定义。然而,在特定的操作系统中支持多主控制器设备是HCDI必须满足的需求。

HCD提供了主控制器的抽象和通过USB传输的数据的主控制器视角的一个抽象。USBD提供了USB设备的抽象和USBD客户与USB功能间数据传输的一个抽象。总之,USB系统促进客户和功能间的数据传输,并作为USB设备的规范接口的一个控制点。USB系统提供缓冲区管理能力并允许数据传输同步与客户和功能的需求。

  USB上的数据流传输

  主控制器负责主机和USB设备间数据流的传输。这些传输数据被当作连续的比特流。每个设备提供了一个或多个可以和客户程序通信的接口。每个接口由0个或多个管道组成,这些管道分别独立地在客户程序和设备的特定终端间传输数据。USBD为主机软件的现实需求建立了接口和管道。当提出配置请求时,主控制器基于主机软件提供的参数提供服务。

  USB支持四种基本的数据传输模式:

  控制传输

  同步传输

  中断传输

  数据块传输

  每种传输模式应用到具有相同名字的终端,具有不同的性质。控制传输类型支持外设与主机之间的控制、状态、配置等信息的传输,为外设与主机之间提供一个控制信道。每种外设都支持控制传输类型,这样主机PC与外设之间就可以传送配置和命令/状态信息。

  等时(Isochronous)传输类型支持有周期性、有限的时延和带宽、且数据传输速率不变的外设与主机间的数据传输。该类型无差错校验,故不能保证正确的数据传输,支持像计算机-电话集成系统(CTI)和音频系统与主机的数据传输。

  中断传输类型支持像游戏棒、鼠标和键盘等人机输入设备,这些设备与主机间数据传输量小、无周期性,但对响应时间敏感,要求马上响应。

  数据块(Bulk)传输类型支持打印机、扫描仪、数字相机等外设,这些外设与主机间传输的数据量很大,USB在满足带宽的情况下才进行该类型的数据传输。

  USB采用分块带宽分配方案,若外设超过当前带宽分配或潜在的要求,则拒绝进入该设备。同步和中断传输类型的终端保留带宽,并保证数据按一定的速率传送。集中和控制终端按可用的最佳带宽来传输数据。但是,10%的带宽为批量处理和控制传送而保留,数据块传输仅在带宽满足要求的情况下才会出现。

USB采用1ms帧时间框来传输数据,主控制器通过产生框开始(SOF)来开始每帧的传输。

  SOF标志拥有访问总线的最高权限,在框结束(EOF)间隔串音电路与其它活动的传输器电气地独立,并为SOF传输提供空闲总线



评论


相关推荐

技术专区

关闭