USB 协议及接口技术
USB 总线协议
USBUniversal Serial Bus 总线协议是以 Intel 为主并有
CompaqMicrosoftIBMDECNorthern Telecom 等共七家公司共同制定的串行接口标准
1994 年 11 月制定了第一个草案 1996 年 2 月公布了 USB 规范版本 1.0USB 可把多达
127 个外设同时联到你的系统上所有的外设通过协议来共享 USB 的带宽其 12Mbps 的带
宽对于键盘鼠标等低中速外设是完全足够的注在 1999 年 2 月发布的 USB 规范版本 2.0 草
案中已建议将 12Mbps 的带宽提升到 120-240MbpsUSB 允许外设在主机和其它外设工
作时进行连接配置使用及移除即所谓的即插即用 Plug & Play 同时 USB 总线的应用可以清
除 PC 上过多的 I/O 端口而以一个串行通道取代使 PC 与外设之间的连接更容易。
所有总线操作都可以归结为三种包的传输:任何操作都是从主机开始的,主机以预先
排好的时序发出一个描述操作类型,方向外设地址,以及端点号(这将在以下部分给予解
释)的包。我们称之为令牌包(Token Packet)。然后在令牌中指定的数据发送者发出一个
数据包或者指出它没有数据可以传输。而数据的目的地一般要以一个确认包(Handshake
Packet)作出响应,以表明传输是否成功。
USB 接口技术
一. 总线拓扑结构
USB 总线的物理连接是一种分层的菊花链结构集线器(hub)是每个星形结构的中心 PC
机就是主机和根 Hub 用户可以将外设或附加的 Hub 与之相连这些附加的 Hub 可以连接另
外的外设以及下层 HubUSB 支持最多 5 个 Hub 层以及 127 个外设。
二. USB 的物理层
USB 的物理接口包括电气特性和机械特性:USB 通过一个四线电缆来传输信号与电源。
其中 D+和 D-是一对差模的信号线而 VBus 和 GND 则提供了 5V 的电源,它可以给一些设
备(包括 Hub)供电。当然要有一定的条件限制。USB 提供了两种数据传输率:一种是
12Mb 的高速(full speed)模式,另一种是 1.5Mb 的低速模式。这两种模式可以同时存在
于一个 USB 系统中,而引入低速模式主要是为了降低要求不高的设备的成本,比如:鼠标
键盘等等。USB 信号线在高速模式下必须使用带有屏蔽的双绞线,而且最长不能超过
5m。而在低速模式时中可以使用不带屏蔽或不是双绞的线,但最长不能超过 3m。这主要
是由于信号衰减的限制,为了提供信号电压保证以及与终端负载相匹配,在电缆的每一端
都使用了不平衡的终端负载,这种终端负载也保证了能够检测外设与端口的连接或分离并
且可以区分高速与低速设备。所有的设备都有上行的接口。上行和下行的接头是不能互换
的,这保证了不会有非法的连接出现。插头与插座有两个系列分别为 A 和 B 系列。A 用于
基本固定的外围设备,而系列 B 用于经常拔插的设备。这两个系列是不能互换的。
三.USB 设备
USB 设备包括 Hub 和功能设备,而功能设备又可以细分为定位设备字符设备等等。
为了进一步叙述,我们给出端点(endpoint)和管道(pipe)的概念。
端点:每一个 USB 设备在主机看来就是一个端点的集合。主机只能通过端点与设备进行通
讯,以使用设备的功能。每个端点实际上就是一个一定大小的数据缓冲区,这些端点在设
备出厂时就已定义好。在 USB 系统中每一个端点都有唯一的地址,这是由设备地址和端点
号给出的。每个端点都有一定的特性,其中包括传输方式,总线访问频率,带宽端点号,
数据包的最大容量等等。端点必须在设备配置后才能生效(端点 0 除外)。端点 0 通常为控
制端点,用于设备初始化参数等。端点 1,2 等一般用作数据端点,存放主机与设备间往