您当前的位置:五五电子网电子知识电子知识资料总线技术USB总线原理 正文
USB总线原理

USB总线原理

点击数:7367 次   录入时间:03-04 11:37:22   整理:http://www.55dianzi.com   总线技术

  USB(Universal Serial Bus)是一种新的PC串行通信协议。是PC体系中的一套较新的工业标准,它支持单个主机与多个外设同时进行数据交换,大大满足了当今计算机外设追求高速度和高通用性的要求。

  1.USB的系统资源
  
  PC上的USB包括硬件和软件两部分。硬件主要完成物理上的接口和实体功能,软件则和操作系统配合管理硬件,完成数据流传输。PC上的USB主机包括3个部分:USB主控制器/根Hub,USB系统软件和用户软件。
  
  USB主控制器和根Hub -般由USB主控制器芯片、USB Hub控制器芯片、USB端口连接件及控制器外围电路组成。
  
  USB系统软件主要是指PC上操作系统提供的一系列软件和驱动程序,主要由USB核心驱动程序和USB主控制器驱动程序组成。
  
  USB设备类驱动程序把用户要求的USB命令发送给USB的主控制器硬件,同时初始化内存缓冲区,用于存储所有USB通信中的数据。每一种USB类设备都需要设计相应的设备。
  
  完整的USB系统组成如下图所示。

USB系统

  2.USB的电气特性
  
  USB设备和Hub采用2种供电模式,即自供电(Self-Powered)和总线供电(Bus-Powered)。
  
  USB设备的即插即用技术包含2个技术层面,即热插拔和自动识别配置。
  
  3.USB的数据通信结构
  
  USB协议中最为复杂的是底层数据通信结构的内容,包括了最基本的数据传输单元、数据传输类型、数据传输机制及数据交换流程等。“域”、“包”、“事务”和“传输”都是USB数据结构中非常重要的概念。域,是USB中一组有意义的二进制数。由各种域组成包,包是USB最基本的数据单元。以包为基础,USB定义了4种传输类型。而在数据交换的过程中,每种传输方式都是由多个事务来完成的。
  
  包主要有3类:令牌包、数据包、握手包。
  
  USB的传输,是USB面向用户的、最高级的数据结构。USB定义了4种数据传输的类型,即控制传输、中断传输、批量传输和同步传输。任何一种传输都由输入事务(IN)、输出事务(OUT)和设置(SETUP)事务组合搭配而成的。控制传输(Control Transfer)是最为复杂的传输类型,也最为重要。它是USB枚举阶段最主要的数据交换方式。当USB设备初次连接到主机后,就通过控制传输来交换信息、设备地址和读取设备的描述符。这样,主机才能识别该设备,并安装相应的驱动程序,这个设备采用的其余3种传输方式才能够得以应用。
  
  USB主机与设备之间的传输过程是这样的:在PC上,设备驱动程序通过调用USB驱动程序USBD,发出输入输出请求包IRP;这样,在USB驱动程序接到请求之后,调用主控制器驱动程序HCD,将IRP转化为USB的传输。当然,一个IRP可以包含一个或多个USB传输;接着,主控制器驱动程序将USB传输分解为总线事务,主控制器以包的形式发送给设备。
  
  4.USB软件工作机制
  
  USB设备软件,又称固件,分为通用枚举配置部分和类协议部分。在枚举配置部分,实现USB主机对设备的枚举和配置,使主机确认设备的功能,并提供资源。而类协议部分,则用来实现USB设备各自数据传输的功能,一般都有相应的USB的类协议和规定作为编程的规范。比如,常用的Mass Storage类设备,就有其独特的一套UFI命令来实现数据的传输。
  
  主机枚举USB设备,完成对设备的配置。具体过程如下。
  
  (1)设备连接到Hub或根Hub的下行端口上,接着Hub就通过其状态变化管道(StatusChange Pipe)把这个设备连接的事件通知主机。这个时候,设备所连接的端口上有电流供应,但是该端口的其他属性被禁止,以便主机进行其他操作。
  
  (2)主机通过一系列命令来询问Hub,以确定设计连接的事件的细节情况。
  
  (3)这样,主机便确定了设备所接入的端口。接下来,主机会等待lOOms以使设备的接入过程顺利完成并使供电稳定。紧接着,主机便激活该端口,并发送复位的命令。
  
  (4) Hub在设备接入的端口上保持复位命令l0ms。然后,该端口就处于被激活的状态。
  
  这时,设备的所有寄存器等均已复位,并通过地址0与主机通信。
  
  (5)主机获取设备描述符,获得缺省管道的最大数据长度等一系列信息。
  
  (6)主机给设备分配一个总线上的惟一地址。因此,在以后的各种数据传输中,设备就将使用这个新的地址。
  
  (7)主机获取所有设备的配置描述符。
  
  (8)在得到配置描述符等一系列信息后,主机就给设备分配配置值。这样,设备就完成了配置。所有接口和端点的属性也得到了主机的确认。接下来,设备就可以从端口上获取其要求的最大电流数。也就是说,这个USB已经可以开始使用了。
  
  USB设备类协议(USB DevICe Class Specification)与USB协议是互为补充的。针对USB的每一种设备类,都有一套特殊的设备类协议。正是USB采用了设备类的方式来对各种设备进行分类,才使USB总线能够有效的控制和管理各种设备,也使得各种设备的开发变的规范、简便。




本文关键字:暂无联系方式总线技术电子知识资料 - 总线技术