电路基础——USB协议
USB协议基础知识和PCB布局要点
一、USB版本规范
USB是通用串行总线的英文缩写,是连接外部装置的一个串口总线标准,也是一种输入输出接口的技术规范,被广泛地应用于个人电脑和移动设备等信息通迅产品,并扩展到摄影器材,数字电视(机顶盒)、游戏机等其它相关领域。
USB版本 | 最大传输速率 | 最大输出电流 |
USB 1.0 | 1.5Mbps(129KB/s) | 5V/500mA |
USB 1.1 | 12Mbps(1.5M/s) | 5V/500mA |
USB 2.0 | 480Mbps(60M/s) | 5V/500mA |
USB 3.1 (Gen 1) | 5Gbps(500M/s) | 5V/900mA |
USB 3.1 (Gen 2) | 10Gbps(1250M/s) | 20V/5A |
USB 3.2 | 20Gbps(2500M/s) | 20V/5A |
二、USB 2.0协议
1、物理接口
引脚 | 符号 | 描述 |
1 | VBUS | 电源 |
2 | D- | Data- |
3 | D+ | Data+ |
4 | No wire | NC |
5 | GND | 信号地 |
2、特性阻抗
如果是用在高速/全速设备,线缆需要做屏蔽,数据线需要双绞。 协议规定,数据线的线号为 28AWG,电源和地线的线号为 20AWG-28AWG。线材差分特性阻 抗为 90Ω±15。
- 低速:1.5Mb/s;
- 全速:12Mb/s;
- 高速:480Mb/s;
USB2.0 高速模式数据 bit 率是 480Mb/s,USB 等效时钟是 240MHz。
- 全速 FS 和低速 LS 输出的低电平电压 0~0.3V;输出高电平电压 2.8V~3.6V;
- HS 输出的差分低电平电压-10~+10mV;输出差分高电平电压 360~440mV;
- 高电源口---4.75-5.25V,供流能力大于 500mA;
- 低电源口---4.4V-5.25V,供流能力大于 100mA;
4、USB2.0传递信号电缆规范
USB电缆包含四根导线:VBUS、GND、D+、D-。VBUS是+5V供电,GND为VBUS、D+和D-的参考接地电平,D+和D-为差分信号对。下表格为USB全速和低速电缆比较。
规范 | 低速 | 全速 |
最大长度(m) | 3 | 5 |
是否需要屏蔽 | 不需要 | 需要 |
是否需要双绞线 | 不需要 | 需要 |
驱动器回传速率(ns) | 75-300 | 4-20 |
特征阻抗(Ω) | 未指定 | 90 |
电线直径(AWGUSB) | 28或更小 | 28或更小 |
端口上拉电平位置 | D- | D+ |
是否可用可分离电缆 | 否 | 是 |
是否可用容性电缆 | 是 | 是 |
噪声源:噪声源包含传导、普通电抗、磁、容性和电磁耦合。如果噪声电压过高,可能会造成接收器读取逻辑错误,严重可能会损坏元件。为了保障信号质量可以采用平衡线、双绞线、屏蔽电缆和较低的边沿速率等。
平衡线:USB去除噪声的一个办法为使用具有传递差分信号的信号线。连接到接口的噪声被平等的连接到连个信号线,接收器只检测到信号线的差分信号,两者噪声恰好相互抵消。
双绞线:在全速USB电缆中,两根信号线必须形成双绞线。绞线在去除低频、磁耦合信号和60Hz电源线方面很有作用。减小绞线空隙可以减小电线产生的磁场,从而减小噪声量。
屏蔽:金属屏蔽可以防止噪声进入电缆同时防止电缆向外发送噪音,屏蔽对阻塞容性、电磁和高频电磁耦合产生的噪声有很好的防护作用。在全速电缆内部中用铝处理聚酯屏蔽包裹四根导线,外部还包裹着镀锡铜线,外层是乙烯氯化物护壳,屏蔽结束于接口插头处。
边沿速率:低速电缆中,低速边沿速率意味着信号包含很小的高频信号,这样电缆发送的噪声更少。
在 USB 设备连接时,USB 系统能自动检测到这个连接,并识别出其采用的数据传输速率。USB 采用在 D+或 D-线上增加上拉电阻的方法来识别低速和全速设备。
高速设备是以一个全速设备的身份出现的,即和全速设备一样,高速设备也在 D+端有一个 1.5K 的上 拉电阻。USB2.0 的 HUB 把设备当成一个全速设备,然后进行一系列的握手信号来确认双方的身份。详细 见下面分享的附件
如下图,D-通过 1.5K 电阻上拉为低速设备,D+通过 1.5K 电阻上拉为全速设备。
特性 | USB3.0 | USB2.0 |
数据速率(Data Rate) | 超高速 (SuperSpeed) (5.0 Gbps) | 低速(1.5 Mbps),全速(12 Mbps),以及高速(480Mbps) |
数据接口(DataInterface ) | 双-单工(Dualsimplex),四线差分信号,与 USB2.0 信号分离; 同时(Simultaneous)双向数据流 | 半双工(Half-duplex),二线差分信号: 单向数据流,具有协商方向总线事务 |
线缆信号数(Cable signal count) | 6个:4个超高速(SuperSpeed) 数据通路:2个非超高速 (non-SuperSpeed) 数据通路 | 2个:2个都用于低速/全速/高速数据通路 |
总线事务协议 (Bus transaction protocol) | 主机引导 (Host directed) ,异步通信流:包交换(Packet trafic)是被明确的路由的。 | 主机引导 (Host directed) ,轮询式通信流:包交换(Packet traffic) 是广播给所有设备。 |
电源管理(Power management) | 多级链路电源管理,支持空闲(idle),睡眠(sleep)以及挂起 (suspend) 状态。链路(Link),设备(Device),以及功能(Function) 层级的电源管 | 端口级挂起,具有两级进入/退出时延 ( entry/exit latency) :设备电源管理 |
总线电源 (Bus power) | 与USB 2.0相同,但是对 unconfigured power 有50%增加,而对 configured power有 80%的增加。 | 对低/高的总线供电的设备 (low/high bus-powered devices),在un-configured 和 suspended 时具有更低的电源限制。 |
端口状态(Port State) | 端口硬件检测连接事件,并将端口带入可操作状态准备好进行超高速(SuperSpeed) 数据通信。 | 端口硬件检测连接事件。系统软件使用端口命令来将端口转换进入使能 (enabled)状态(也就是,可以进行 USB 数据通信 流) |
数据传输类型 (Data transfer types) | 具有超高速限制(SuperSpeed constraints)的 USB2.0 类型。Bulk 具有流能力 (streams capability) | 4 种数据传输类型:控制,批量,中断, 等时 |
引脚 | 符号 | 描述 |
1 | VBUS | 电源 |
2 | D- | USB2.0差分对- |
3 | D+ | USB2.0差分对+ |
4 | GND | 信号地 |
5 | SSTX- | 发送端差分对- |
6 | SSTX+ | 发送端差分对+ |
7 | GND_DRAIN | 信号地回流 |
8 | SSRX- | 接收端差分对- |
9 | SSRX+ | 接收端差分对+ |
USB3.0 包含信号:5V,D-,D+,GND,SSTX+,SSTX-,SSRX+,SSRX-。 D-,D+即为 USB2.0 的信号线,遵循 USB2.0 协议。 SSTX+和 SSTX-为发送通道;SSRX+和 SSRX-为接收通道。
需要注意,USB3.0 对接时,一边的 TX 接另外一边的 RX,同 UART 串口一样。即 SSTX+接到 SSRX+, SSTX-接到 SSRX-。
2、特性阻抗
线缆及连接器差分阻抗 USB3.0 的线缆和连接器同样是要做差分阻抗的。线缆的差分阻抗要求是 90Ω±5Ω;匹配连接器的差 分对阻抗要求 90Ω±10Ω
电源供电能力 USB3.0 的供电能力为 900mA,USB2.0 的为 500mA。
(1)信号对间斜率
SDP 对(SDP pairs)的信号对间斜率(intra-pair skew)建议应小于 15 ps/m。这应该使用一个 TDT 来测量,使用 200 ps (10%-90%)的上升时间(rise time),在输入电压 50%处跨越(crossing)的差分模式(differential mode)。
(2)差分插入损耗
线缆损耗依赖于线尺寸(wire gauges)和绝缘材料(dielectric materials)。表 5-14 列出 SDP 对(SDP pairs)的差 分插入损耗的例子。注意,差分损耗值(differential loss values)参考于一个 90 Ω 的差分阻抗(differential impedance)。
3、USB3.0传递信号电缆规范
(1)USB 3.0 线缆的横截面(cross-section)
有3 组: UTP 信号对(UTP signal pair),屏蔽差分信号对 (Shielded Differential Pair, SDP, twisted or twinax signal pairs),以及电源和地线 (power and ground wires)。
UTP 意图用于传输 USB 2.0 信号,而 SDPs 用于超高速信号;为了信号完整性和 EMI 性能(signal integrity and EMI performance),超高速差分对需要屏蔽(shield)。每个 SDP 都附与一个漏线(drain wire),最后(eventually)
通过连接器中的 GND_DRAIN 管脚连接到系统地(system ground)。
要求一个金属编织网(metal braid)来包裹(enclose)USB 3.0 线缆中的所有线。该编织网(braid)将被终端到插头的金属屏蔽(terminated to the plug metal shells),尽量接近 360°,以包涵 EMI(contain EMI)。
(2)信号安排
线编号(wire number),信号安排(signal assignments)以及线的颜色(colors of the wires)。
(3)线尺寸和线缆直径
与 USB2.0 相比,USB3.0 协议并未规范 USB3.0 的线材长度,只要信号符合其规范要求都是可以的。 查看某知名品牌 USB3.0 线缆,其线缆的最长长度为 2m 或者 3m(光纤传输除外)。
4、电路连接
USB3.0 对接时,一边的 TX 接另外一边的 RX,同 UART 串口一样。即 SSTX+接到 SSRX+, SSTX-接到 SSRX-。USB3.0 接口理论速度是 5Gb/s,算上 8b/10b 的编码方式,即只有 80%是有效数据,另外 20%是协议开销。
5、USB3.0 高速通道耦合电容
经常我们会看到 USB3.0 的接口电路中,是有串联电容的。这个电容容值在协议中也是有规定的。
如上图,发送端电容是必须要接的,容值范围为 75nF-265nF 之间,通常选用 100nF 电容。
接收端电容可以选择是否接入,如果接入的话电容范围为 297nF-363nF,通常选用300nF电容。
(1)线缆的粗细线号
一个典型的 USB 全功能型 Type-C 型电缆外径可从 4mm 至 6mm,而一个典型的 USB2.0 型 Type-C 电缆外径可从 2mm 至 4mm。一个典型的 USB Type-C 的 USB3.1 电 缆外径可以从 3mm 到 5mm。
3、特性阻抗
SDP 屏蔽差分线的阻抗控制在 90Ω±5Ω,单端同轴线控制在 45Ω±3Ω。阻抗应该 用 200 ps(10%-90%)的上升时间来评估。
Typec数据角色分类
DFP——Downstream Facing Port,也就是主设备
UFP——Upstream Facing Port,也就是从设备
DRP——Dual Role port,既可以做DFP,也可以做UFP。
在建立连接之前,DRP的角色在DFP和UPF之间切换。如果两个DRP连接,最先随机到那种角色后开始建立连接,之后可以通过USB协议协商进行动态切换。
(2)CC检测原理
Type-C连接器中有两个管脚CC1和CC2,他们用于识别连接器的插入方向,以及不同的插入设备。本文介绍CC的基本识别原理。
为什么需要CC检测
CC信号有两根线,CC1和CC2,大部分USB线(不带芯片的线缆)里面只有一根CC线,DFP可根据两根CC线上的电压,判断是否已经插入设备。通过判断哪根CC线上有下拉电阻来判断方向,下图的说明已经非常清晰。
如果CC1引脚检测到有效的Rp/Rd连接(对应的电压),则认为电缆连接未翻转。
如果CC2引脚检测到有效的Rp/Rd连接(对应的电压),则认为电缆连接已翻转。
“有效的Rp/Rd连接”指在CC上形成了有效的电压。从DFP的角度看,下表列出了所有可能的连接状态。
(3)DFP的上拉电阻Rp
DFP的CC1和CC2信号上都必须有上拉电阻Rp,上拉到5V或3.3V。或者CC1和CC2都用电流源上拉。最终的目的是在插入后,能检测到CC1或CC2上的电压,进而判断是否翻转以及DFP的电流能力。如下是所有可能的配置。可以选择右边三列中的任何一列作为上拉方式,比如Fairchild的FUSB300就是用330uA上拉,TI的TUSB320LAI用的是80uA的上拉,不同的上拉方式在CC引脚上形成的电压不同,不同的电压对应不同的电流能力。
(4)UPF的下拉电阻Rd
UFP的CC1和CC2管脚都要有一个下拉电阻Rd到GND(或者使用电压钳位)。Rd的处理方式如下表。
最后一列的电流源连接至的电压,是指3.1节中表格的最后一列电流源的上拉电压。我们把每种可能的上下拉范围都计算出了最终形成的电压范围,如下表。
CC检测芯片会检测这个电压,通过判断电压范围来决定下一步操作。下表是CC管脚上不同的电压对应的DFP能提供的电流能力。第二列列出的每一种电压范围,都分别覆盖了上表计算出的电压。Rp/Ra的计算是同理的。
(5)数据线上电阻Ra
带电子标签的线缆,其中一个CC管脚被更名为VCONN,用于给电子标签芯片供电。这个VCONN管脚与GND之间需要一个Ra电阻,这个电阻值范围是800Ω~1.2KΩ。
(6)VCONN电源
VCONN的允许范围是4.75V~5.5V,要求供电能力是1W。默认情况下DFP提供这个电源。如果两个DRP连接,则双方可以通过USB PD协议协商来交换VCONN供电方。
支持PD的USB3.0接口均需支持VCONN,可以通过下面两种方式之一提供VCONN电源。
如果其中一个CC引脚上检测到有效的Rp/Rd连接,则VCONN电源可以接到另一个对应的CC引脚。
如果其中一个CC引脚上检测到有效的Rp/Rd连接,先检查另一个CC引脚是否也有Rp/Ra连接,然后再提供VCONN。
先检测是否有Ra存在,如果有说明需要Vconn供电,此时再提供Vconn。检测过程不需要Vconn存在。
注意,每一个CC引脚内部都有一个开关,轮训CC和VCONN功能,下图是一个典型的连接方式:
五、USB 带宽的分配
USB 协议规定,控制传输应确保在低/全速时能够使用 10%的带宽,高速时能够使用 20%的带宽。
而批量传输并没有保留任何带宽。即批量传输只有在控制传输和其它传输不需要使用其带宽的情况下, 方能使用剩下的带宽。
因此,尽管总线闲置时批量传输可以在一段时间里尽快地传输大量的数据,但总线忙时批量传输就可 能工作很慢。
通常主机同时使用鼠标、键盘、摄像头、打印机和扫描仪等多种 USB 设备,它们分别采用不同的传 输方式。
如果开始只有一个设备以批量传输方式独占系统的全部带宽,速度会很快(接近 53 MB/s)。但如果新 插入的若干设备需要使用控制传输全部 20%的保留带宽,那么先前设备批量传输的可用带宽就会下降到 原先的 80%,传输速度可能变为 42 MB/s 以下。
作为一种更极端情况是批量传输设备插入前,已有设备以控制传输方式完全占有了 20%的保留带宽。 其它设备也以中断或者同步传输方式共同占据了剩下的 80%带宽,那么批量传输设备就会因为没有保留 带宽,只能处于等待的状态
一、USB接口的PCB布局要求
1、USB应该接口靠近板边或结构定位放置,伸出板边一定位置(直插除外),方便插拔;
2、ESD、共模电感器件靠近USB接口,放置的顺序是ESD-共模电感-阻容;
3、注意ESD和USB的距离,留有一定的的间距,考虑后焊的情况。
4、在布局时,尽量使差分线路最短,以缩短差分线距离。
二、USB接口的PCB布线要求
1、USB要走差分,阻抗控制为90欧姆,并包地处理,总长度最好不要超过1800mil.
2、尽可能缩短走线长度,优先考虑对高速USB差分(RX、TX差分)的布线,USB差分走线在走线的时候,尽可以有的减少换层过孔,从而可以更好的做到阻抗的控制,避免信号的反射;
3、过孔会造成线路阻抗的不连续,在每次打孔换层的地方加一对回流地过孔,用于信号回流换层。
5、由于管脚分布、过孔、以及走线空间等因素存在使得差分线长易不匹配,布线长一旦不匹配,时序会发生偏差,还会引起共模干扰,降低信号质量。所以,相应的要对差分对不匹配的情况作出补偿,使其线长匹配,长度差通常控制在5mil以内,补偿按照差分等长规范来进行。
传输 | USB2.0 | USB3.0 |
走线阻抗 | 差分 90 Ω ± 10% | 差分 90 Ω ± 10% |
差分对最大时延差 | < 20 mil | < 6 mil |
走线长度 | <6 inches | <6 inches |
各信号允许过孔数 | 建议不超过4个,不得超过6个 | 建议不超过2个 |
电容要求 | - | 100uF ± 20 %,建议0201封装 |
差分对间隔 | - | 建议大于等于4倍USB线宽 |
USB与其他信号间隔 | - | 建议大于等于4倍USB线宽 |
Type C接口的PCB设计要求:
1、ESD、共模电感器件靠近Type C接口,放置的顺序是ESD→共模电感→阻容;同样也要注意ESD 和Type C的距离,留有一定的间距,考虑后焊情况。
2、TX信号线的耦合电容应靠近接口放置,RX信号线的耦合电容由设备端提供,如下图所示;
2、Type C差分走线阻抗控制90ohm±10%,为了保证阻抗的连续性,应该有良好的参考平面和不跨分割,信号打孔换层时数量不超过2个。
3、Type-C有RX/TX1-2四组差分信号,两组D+/D-差分信号 ,一共六对差分线,差分信号线要求至少紧邻一个地平面,两侧都紧邻地平面最好,走线尽量短,走线最长不要超过6inchs。
4、保证Type C差分线长匹配,对内等长误差<6mil,等长按照差分等长规范。
5、保证Type C差分对于对间或者差分对于其他信号的影响,对内间距建议是大于等于4倍Type C线宽。与其他信号之间的间距保持尽量大于等于4倍Type C线宽;
6、CC1/CC2是两个关键引脚,作用很多:探测连接,区分正反面,区分DFP和UFP,也就是主从配置Vbus,走线时面要加粗处理。
PCB走线设计要求:
1、USB 3.0布局时需要在SS_TX线上放置额外的交流耦合电容器(0.1 uF)。放置这些电容器对称,并靠近芯片。
2、在这些交流耦合电容器下面的两个平面应该设置电容器形状上的禁止布线层,以避免由于电容器垫而在线路上产生额外的电容。
3、 USB信号线阻抗应为90 Ω差分(±7%)。保持差示对之间的跟踪间距一致,并包地处理,总长度最好不要超过1800mil,以避免阻抗不匹配,如下图所示。
4、所有SS信号线应完全相邻于全铺铜的GND层。在SS信号下方的地平面分裂会增加回路电感,引入阻抗不匹配并增加电磁发射。
5、差分SS对跟踪长度应在0.12 mm (5mils)内匹配。HS D+和D信号轨迹长度应在1.25 mm(50 mils)内匹配。如有必要,应在USB插座附近调整HS信号。SS Rx信号的调整应在USB插座附近进行,而SS Tx信号的调整应在设备附近进行。USB不同信号线长度匹配如下图所示。
6、PCB上的层数应至少为4层。要保持90 Ω的差动阻抗,请使用固体参考功率平面。任何时候,两对USB轨迹在不同的层中相互交叉,不能平行走线。GND平面层应该在两个USB信号层之间,如图所示。
7、如果必须将信号更改为另一层,则必须保持连续接地,以确保整个阻抗一致。为了实现这一点,应将接地通孔放置在信号(如图所示)的通孔旁边。信号与地面通道之间的距离应至少为40mils。为了保证阻抗的连续性,应该有良好的参考平面和不跨分割,信号打孔换层时数量不超过2个。
8、在差分对中应该保持恒定的走线宽度避免阻抗不匹配,参考线宽、线距如下图。
9、 避免所有 USB 线路上出现短接线。如果需要用于探测目的的探针垫,它们不应延伸以残留的形式脱离布局。测试点焊盘布局走线如下图。
20、USB ESD 保护
因为USB设备为热插拔设备,所以极易产生ESD对主板的电子元件造成损害USB 2.0具有480Mbps的传输速率,所以USB信号对于线路上的寄生电容非常的敏感,就算是PF级可能也会造成USB信号失真导致USB设备不能工作。所以要选择电容最小的ESD保护器件。下面是理想的ESD保护器件的要求。
- 至少能够承受8KV的ESD;
- 低电容。<2pf能够很好的减少对USB信号的干扰;
- 低漏电流,减小电源的损耗;
21、数据线上面的 TVS管注意要点
- 数据线上 TVS 管的引入电容要尽量小,1pF 以下为宜。
- 数据线上 TVS 管要选用在 5V 的(Vbr>5V)。曾经一直没明白为什么是 5V,不是 3.3V,看信号电 压没超过 5V 了。
22、USB走线
- USB的差分信号的阻抗 Z=90欧姆;
- 2.一个USB口需要的电流一般为500mA,但是VBUS走线最好能承受1A的电流,以防过流的事件发生;
- USB D+-的走线不能走直角,用钝角或者圆弧走线;
- USB信号同其他CLK或者差分信号走线应>50mil;
- 应该尽可能的减少过孔, 过孔会造成阻抗的不连续;
- ESD保护器件和共模电感应该尽可能的靠近接口;
- USB D+-信号走线必须等长;
开放原子开发者工作坊旨在鼓励更多人参与开源活动,与志同道合的开发者们相互交流开发经验、分享开发心得、获取前沿技术趋势。工作坊有多种形式的开发者活动,如meetup、训练营等,主打技术交流,干货满满,真诚地邀请各位开发者共同参与!
更多推荐
所有评论(0)