全面认识USB的技术精髓
时间:12-12
来源:互联网
点击:
电源线VBus,一根是地线GND,其余两根是用于差动信号传输的数据线(D+,D-)。将数据流驱动成为差动信号来传输的方法可以有效提高信号的抗干扰能力(EMI)。在数据线末端设置结束电阻的思路是非常巧妙的,以至对于HUB来判别所连接的外设是高速外设或是低速外设,仅仅只需要检测在外设被初次连接时,D+或D-上的信号是高或是低即可。因为对于USB协议来讲,要求低速外设在其D-端并联一个7.5kΩ的接地电阻,而高速外设则在D+端接同样的电阻。在加电时,根据低速外设的D-线和高速外设的D+线所处的状态,HUB就很容易判别器件的种类,从而为器件配置不同的信息。图5表明了一个典型的高速外设的连接状况。为提高数据传输的可靠性、系统的兼容性及标准化程度,USB协议对用于USB的线缆提出了较为严格的要求。如用于高速传输的USB线缆,其最大长度不应超过5米,而用于低速传输的线缆则最大长度为两米,每根数据线的电阻应为标准的90Ω。
USB系统可以通过USB线缆为其外设提供不高于+5V、500mA的总线电源。那些完全依靠USB线缆来提供电源的器件被称为总线驱动器件(Bus-powered device),而自带电源的器件则被称为自驱动外设(Self-powered device)。需要注意的是,当一个外设初次连接时,器件的配置和分类并不使用外设自带的电源,而是通过USB线缆提供的电源来使外设处于Powered状态。
无论在软件还是硬件层次上,USB主机都处于USB系统的核心。主机系统(图6)不仅包含了用于和USB外设进行通信的USB主机控制器及用于连接的USB接口(SIE),更重要的是主机系统是USB系统软件和USB客户软件的载体。
总而言之,USB主机软件系统可以分为三个部分:
●客户软件部分(CSW),在逻辑上和外设的功能部件部分进行数据的交换;
●USB系统软件部分(即HCDI),在逻辑和实际中作为HCD和USBD之间的接口;
●USB主机控制器软件部分(即HCD和USBD),用于对外设和主机的所有USB有关部分的控制和管理,包括外设的SIE部分、USB数据发送接收器(Transreceiver)部分及外设的协议层等。
图4 USB线缆
图5 高速外设的USB线缆和电阻的连接图
图6 USB主机系统的结构及各部分之间的关系
二、USB的“分时复用”和电源管理
当一个USB外设初次接入一个USB系统时,主机就会为该USB外设分配一个唯一的USB地址,并作为该USB外设的唯一标识(USB系统最多可以分配这样的地址127个),这称为USB的总线列举(Bus Enumeration)。USB使用总线列举方法在计算机系统运行期间动态检测外设的连接和摘除,并动态地分配USB地址,从而在硬件意义上真正实现“即插即用”和“热插拔”。
在所有的USB信道之间动态地分配带宽是USB总线的特征之一。当一台USB外设在连接(Attached)并配置(Configuration)以后,主机即会为该USB外设的信道分配USB带宽;而当该USB外设从USB系统中摘除(Detached)或是处于挂起(Suspended)状态时,则它所占用的USB带宽即会被释放,并为其它的USB外设所分享。这种“分时复用”(Scheduling the USB)的带宽分配机制大大地提高了USB带宽利用率。
作为一种先进的总线方式,USB提供了基于主机的电源管理系统。USB系统会在一台外设长时间(这个时间一般在3.0ms以上)处于非使用状态时自动将该设备挂起(Suspend),当一台USB外设处于挂起状态时,USB总线通过USB线缆为该设备仅仅提供500μA以下的电流,并把该外设所占用的USB带宽分配给其它的USB外设。USB的电源管理机制使它支持如远程唤醒这样的高级特性。当一台外设处于挂起状态(Suspended Mode)时,必须先通过主机使该设备“唤醒”(Resume),然后才可以执行USB操作。
USB的这种智能电源管理机制,使得它特别适合如笔记本电脑之类的设备的应用。
三、USB的数据传输模式
图7 帧开始数据包在USB数据传输中的分布
图8 USB的通信流及信道
图9 同步字段
图10 PID字段
我们知道,USB总线是一种串行总线,即它的数据是一个bit一个bit来传送的。虽然USB总线是把这些bit形式的数据打成数据包来传送,但数据的同步也是必不可少的。USB 1.0/1.1协议规定,USB的标准脉冲时钟为12MHz,而其总线时钟为1ms,即每隔1ms,USB器件应为USB线缆产生一个时钟脉冲序列。这个脉冲序列称为帧开始数据包(SOF,如图7所示),主机利用SOF来同步USB数据的发送和接收。由此可见,对于一个数据传输率为12Mbps的外设而言,它每一帧的长度为12000bit;而对于低速外设而言,它每一帧的长度仅有1500bit。USB总线并不关心外设的数据采集系统及其处理的速率,
USB系统可以通过USB线缆为其外设提供不高于+5V、500mA的总线电源。那些完全依靠USB线缆来提供电源的器件被称为总线驱动器件(Bus-powered device),而自带电源的器件则被称为自驱动外设(Self-powered device)。需要注意的是,当一个外设初次连接时,器件的配置和分类并不使用外设自带的电源,而是通过USB线缆提供的电源来使外设处于Powered状态。
无论在软件还是硬件层次上,USB主机都处于USB系统的核心。主机系统(图6)不仅包含了用于和USB外设进行通信的USB主机控制器及用于连接的USB接口(SIE),更重要的是主机系统是USB系统软件和USB客户软件的载体。
总而言之,USB主机软件系统可以分为三个部分:
●客户软件部分(CSW),在逻辑上和外设的功能部件部分进行数据的交换;
●USB系统软件部分(即HCDI),在逻辑和实际中作为HCD和USBD之间的接口;
●USB主机控制器软件部分(即HCD和USBD),用于对外设和主机的所有USB有关部分的控制和管理,包括外设的SIE部分、USB数据发送接收器(Transreceiver)部分及外设的协议层等。
图4 USB线缆
图5 高速外设的USB线缆和电阻的连接图
图6 USB主机系统的结构及各部分之间的关系
二、USB的“分时复用”和电源管理
当一个USB外设初次接入一个USB系统时,主机就会为该USB外设分配一个唯一的USB地址,并作为该USB外设的唯一标识(USB系统最多可以分配这样的地址127个),这称为USB的总线列举(Bus Enumeration)。USB使用总线列举方法在计算机系统运行期间动态检测外设的连接和摘除,并动态地分配USB地址,从而在硬件意义上真正实现“即插即用”和“热插拔”。
在所有的USB信道之间动态地分配带宽是USB总线的特征之一。当一台USB外设在连接(Attached)并配置(Configuration)以后,主机即会为该USB外设的信道分配USB带宽;而当该USB外设从USB系统中摘除(Detached)或是处于挂起(Suspended)状态时,则它所占用的USB带宽即会被释放,并为其它的USB外设所分享。这种“分时复用”(Scheduling the USB)的带宽分配机制大大地提高了USB带宽利用率。
作为一种先进的总线方式,USB提供了基于主机的电源管理系统。USB系统会在一台外设长时间(这个时间一般在3.0ms以上)处于非使用状态时自动将该设备挂起(Suspend),当一台USB外设处于挂起状态时,USB总线通过USB线缆为该设备仅仅提供500μA以下的电流,并把该外设所占用的USB带宽分配给其它的USB外设。USB的电源管理机制使它支持如远程唤醒这样的高级特性。当一台外设处于挂起状态(Suspended Mode)时,必须先通过主机使该设备“唤醒”(Resume),然后才可以执行USB操作。
USB的这种智能电源管理机制,使得它特别适合如笔记本电脑之类的设备的应用。
三、USB的数据传输模式
图7 帧开始数据包在USB数据传输中的分布
图8 USB的通信流及信道
图9 同步字段
图10 PID字段
我们知道,USB总线是一种串行总线,即它的数据是一个bit一个bit来传送的。虽然USB总线是把这些bit形式的数据打成数据包来传送,但数据的同步也是必不可少的。USB 1.0/1.1协议规定,USB的标准脉冲时钟为12MHz,而其总线时钟为1ms,即每隔1ms,USB器件应为USB线缆产生一个时钟脉冲序列。这个脉冲序列称为帧开始数据包(SOF,如图7所示),主机利用SOF来同步USB数据的发送和接收。由此可见,对于一个数据传输率为12Mbps的外设而言,它每一帧的长度为12000bit;而对于低速外设而言,它每一帧的长度仅有1500bit。USB总线并不关心外设的数据采集系统及其处理的速率,
USB技术精 相关文章:
- Windows CE 进程、线程和内存管理(11-09)
- RedHatLinux新手入门教程(5)(11-12)
- uClinux介绍(11-09)
- openwebmailV1.60安装教学(11-12)
- Linux嵌入式系统开发平台选型探讨(11-09)
- Windows CE 进程、线程和内存管理(二)(11-09)