问小白 wenxiaobai
资讯
历史
科技
环境与自然
成长
游戏
财经
文学与艺术
美食
健康
家居
文化
情感
汽车
三农
军事
旅行
运动
教育
生活
星座命理

USB基础总结

创作时间:
作者:
@小白创作中心

USB基础总结

引用
1
来源
1.
https://www.usbzh.com/article/detail-1366.html

USB基础总结

USB(通用串行总线)是将外围设备连接到主机的标准接口。USB系统最初是由康柏、数字设备、IBM、英特尔、微软和北方电信等公司设计的,目的是用更简单的架构取代现有的混合连接器系统。

USB的设计初衷是取代将外围设备连接到主机所需的大量电缆和连接器。USB的主要目标是使外围设备的添加变得快速而简单。所有USB设备都具有一些共同的关键特性,从而实现这一目标。所有USB设备在总线上都可以自我识别。所有设备都可热插拔,以实现真正的即插即用功能。此外,一些设备可以从USB获得电力,从而无需额外的电源适配器。

为了确保最大程度的互操作性,USB标准定义了USB系统从物理层(机械和电气)到软件层的所有方面。USB标准由USB实施者论坛(USB-IF)维护和执行。USB设备必须通过USB-IF合规性测试,才能被视为合规并能够使用USB徽标。

USB 1.0于1996年首次推出,但直到1998年USB 1.1发布后才得到广泛采用。2000年,USB 2.0发布,自此成为将设备连接到计算机及其他设备的事实标准。2008年,USB规范扩展为USB 3.0,也称为超高速USB。USB 3.0代表了USB底层操作的重大变化。为了简化用户体验,USB 3.0被设计为即插即用,并向后兼容USB 2.0。

USB 3.0规范包含许多重大变化,其中包括:

  • 更高的数据传输速率(高达5 Gbps)
  • 增加总线功率和电流消耗
  • 改进电源管理
  • 全双工数据通信
  • 链路训练和状态机(LTSSM)
  • 中断驱动,而不是轮询
  • 流式接口可实现更高效的数据传输

截至2010年,USB标准规定了不同类型的USB:低速、全速、高速和超高速。USB-IF还发布了其他规范,扩大了USB的范围。这些规范包括On-The-Go(OTG)和无线USB。虽然超出了本文档的范围,但可以在USB-IF网站上找到有关这些规范的详细信息。

架构概述

USB是一种主机调度的、基于令牌的串行总线协议。USB允许在单个USB主控制器上连接最多127个设备。主机PC可以有多个主控制器,这增加了可连接到单台计算机的USB设备的最大数量。

设备可以随意连接和断开。主机PC负责根据需要安装和卸载USB设备的驱动程序。

单个USB系统由一个USB主机和一个或多个USB设备组成。系统中还可以有零个或多个USB集线器。USB集线器是一种特殊类型的设备。集线器允许将多个下游设备连接到上游主机或集线器。这样,可以增加物理连接到计算机的设备数量。

USB设备是连接到主机PC的外围设备。USB设备的功能范围不断增加。设备可以支持一项功能或多项功能。例如,一台多功能打印机通过USB连接时可以向主机显示多个设备。它可以显示打印机设备、扫描仪设备、传真设备等。

单个USB上的所有设备必须共享总线上可用的带宽。主机PC可能有多个总线,每个总线都有自己独立的带宽。大多数情况下,大多数主板上的端口都是成对的,这样每个总线都有两个下游端口。

只能有一个USB主机设备。此主机可在单个端口上支持最多127个不同的设备。设备层数的上限为7层,这意味着最多可以内联连接5个集线器。

USB采用分层星型拓扑结构(图1)。根层是USB主机。所有设备都直接或通过集线器连接到主机。根据USB规范,USB主机最多只能支持七层。

USB 2.0 特定架构


图2:USB广播

USB 2.0主机向其下的所有设备广播信息。低速和高速设备只能看到各自速度的流量。全速设备既能看到自己的速度,也能看到低速流量。

USB 2.0通过单向广播系统工作。当主机发送数据包时,所有下游设备都会看到该流量。如果主机希望与特定设备通信,则必须在令牌数据包中包含该设备的地址。上游流量(来自设备的响应)仅由主机或直接位于主机返回路径上的集线器看到。

但是,在处理速度不同的设备时,需要注意一些事项。低速和高速设备与其他速度的流量是隔离的。它们只能看到与自己速度相同的流量。参考图2,这意味着设备H2可以看到设备H1的下行流量(反之亦然)。此外,设备L1的下行流量将被L2看到(反之亦然)。但是,全速设备可以使用一种称为低速过全速的特殊信令模式,看到与自己速度相同的流量以及低速流量。这意味着,使用标准全速信令,F2可以看到F1的下行流量(反之亦然),并且F1和F2也都可以通过特殊的低速过全速信令看到L1或L2的下行流量。

USB 3.0 特定架构

USB 3.0标志着现有USB基础设施发生了重大变化,几乎影响了所有级别的协议。本文将简要介绍USB 3.0的主要功能。有关详细信息,请参阅USB-IF的USB规范。

USB 3.0 物理接口

由于USB 2.0差分信号的限制,为了能够支持5 Gbps数据通信,物理接口进行了升级。除了正常的USB 2.0信号外,USB 3.0电缆和连接器还具有两对额外的差分信号:一对用于发送,一对用于接收,如图3所示。


图3:USB 3.0电缆

USB 3.0电缆的横截面。图片由USB Implementers Forum提供

这两个附加对允许通过USB 3.0进行全双工通信。由于原始USB 2.0线路保持不变,因此USB 2.0通信可以与USB 3.0并行进行。

USB 3.0 电源

USB 3.0的许多关键变化涉及USB设备的电源和电源管理。

USB 3.0 电源分配

USB 3.0增加了USB设备可用的电量。对于未配置的设备,可提供150 mA的电量,而USB 2.0中只有100 mA的电量。150 mA被视为一个单位负载。已配置的设备最多可以吸收6个单位负载,即900 mA,与USB 2.0中可用的500 mA相比有显著增加。增加的电量允许更多设备通过总线供电。

USB 3.0 电源管理

USB 3.0提供更好的电源管理设施,以更有效地利用电源并有助于降低总体功耗。

链路级电源管理允许主机或设备启动到较低级别电源状态的转换。共有三种低功耗状态可用,如第4节所述。

在USB 3.0中,不再有定期的设备轮询,并且数据包也不再在总线上广播。现在,在USB 3.0中,设备可以在空闲时进入低功耗状态,因为它们不再需要管理这些数据包的接收。

低功耗级别可在设备级别和功能级别配置。设备在空闲时可以暂停全部或部分功能,从而降低功耗。

通过延迟容忍消息传递,设备可以向主机报告其延迟容忍度,从而允许主机系统进入低功耗状态,而不会对总线上的USB设备产生负面影响。

USB 3.0 物理层

在USB 3.0中,物理层指定了超高速USB信号的电气特性——信息如何被扰乱和编码,以及其他层使用的特殊信号序列。

以下是一些特定于SuperSpeed USB的新技术的简要概述。

接收器终端

USB 3.0接收器通过将一个小电阻接地来终止传输线。发送器将检查接收器上的这个终端电阻,以此来检测USB 3.0接收器的存在。

数据扰码

物理层使用位扰码来减少线路上的电气干扰问题。但是,发送器可以禁用此功能。

8b/10b 编码

8b/10b编码将8位符号映射到10位符号,目的是保持较低的差异,同时继续具有足够的边缘转换以进行时钟恢复。

通过利用10b提供的增加的数字空间,可以将差异保持在较低水平。由于所有8b值仅占用10b数字空间的子集,因此可以使用多个10b符号对单个8b值进行编码。通常,将使用两个不同的10b符号对8b值进行编码,其中两个10b符号具有不同数量的1和0。选择发送的10b符号将最小化线路上现有的差异,目标是实现1和0的净50/50分布。例如,如果一条线路的运行差异为+2个1,则线路上的下一个符号将具有包含更多0的位模式。

此外,增加的数字空间允许使用某些控制符号,称为K符号,它们不映射到任何8b数据值。USB 3.0将这些控制符号用于多种用途,包括:数据包成帧、弹性缓冲区缓解和数据扰频器控制。

训练序列

为了适应所有制造的发射器、电缆和连接器的各种信号特性,超高速接收器必须在连接到发射器时进行训练。此训练序列有助于配置接收器均衡、极性和数据扰频器,以建立成功的通信链路。

扩频时钟

超高速USB在其信号传输中采用扩频时钟。这样做的好处是,扩频时钟不会将所有能量都辐射到高电平的小频带中,而是将其能量分散到稍大的频带中,从而降低任何特定频率的峰值电平。这样做是为了满足EMC法规。

低频周期信号(LFPS)

LFPS信号是在普通超高速数据线上以较低频率(10-50 MHz而不是5 Gbps)发送的边带通信。此边带有助于管理两个端口之间链路上总线上的信号启动和低功耗管理。

弹性缓冲装置

USB 3.0设备不共享完全相同的时钟源。因此,它们必须能够容忍发射器和接收器上的参考时钟之间的微小差异。为了补偿这种差异,接收器实现了弹性缓冲区,根据收到SKP有序集时的缓冲区状态,添加或丢弃“虚拟”数据(称为SKP有序集)。

USB 3.0 链路层

链路层负责在主机和设备之间建立和维护可靠的通道。此层有许多关键概念:

链接命令

链路命令用于确保数据包的成功传输、链路流控制和链路电源管理。

链路训练和状态机(LTSSM)

LTSSM是一个定义链路连接和链路电源管理的状态机。LTSSM包含12种状态:4种操作链路状态(U0、U1、U2、U3)、4种链路初始化和训练状态(Rx.Detect、轮询、恢复、热复位)、2种链路测试状态(环回和合规模式)、SS.Inactive(USB 3.0无法操作的链路错误状态)和SS.Disabled(超高速总线被禁用并仅作为USB 2.0运行)。图4列出了LTSSM的所有状态,并定义了链路在状态之间的转换方式。

图4:LTSSM状态机

链路训练和状态机(LTSSM)是USB 3.0链路层的核心,定义链路连接和链路电源管理状态和转换。图片由USB实施者论坛提供

为了使USB 3.0设备进入U0操作链路状态,必须对链路进行训练,以便同步主机和设备之间的发射器和接收器。

关键LTSSM链接状态:

Rx.检测

这是初始通电状态,其中发送器检查接收器终端是否正确,以确定其超高速伙伴是否存在于总线上。检测到终端后,即可开始链路训练。

轮询

在轮询状态期间,两个链路伙伴训练链路以同步它们的通信,为数据传输做准备。

U0

这是正常运行状态,其中启用超高速信号并且发送和接收5Gb数据包。

U1、U2、U3

这些是低功耗状态,其中不传输任何5Gb数据包。U1、U2和U3唤醒U0的时间越来越长,因此允许发送器进入越来越深的睡眠状态。

USB 3.0 协议层

USB 3.0协议层管理设备之间的数据流,并指定如何使用不同的数据包结构。

原文转自:https://www.totalphase.com/support/articles/200349256-usb-background

© 2023 北京元石科技有限公司 ◎ 京公网安备 11010802042949号