USB系列之“USB HUB”

由于目前USB设备的广泛应用,以及主机设备USB接口数量的限制,USB HUB在实际应用中非常广泛。下面就针对USB HUB进行详细介绍。

1、HUB需要实现的功能

  • 提供设备的下行连接点:每个Hub芯片一般带多个下行连接点。每个连接点只允许连接一个USB设备。

  • 提供主机的上行连接点:每个Hub芯片一般只带有1个上行连接点。这个上行连接点可以直接连接到主机的根Hub上,或者连接到上一级Hub的下行端口上。

  • 管理并检测设备的连接和断开:Hub通过检测USB信号线上的电平变化来检测设备的连接或断开,并通知给主机。

  • 提供并管理设备的电源:每个总线供电的USB设备的电源都直接来自于Hub,并受到Hub的管理。而Hub的电源也有2种方式:自供电或者总线供电。总线供电的方式,USB总线为每个USB端口提供的电源上限是500mA(2.0)/900mA(3.0)。因此,一个总线供电的USB Hub也只能从上一级Hub获得总共500mA/900mA的电流。且集线器自身工作还要使用一部分电流,所以无法将500mA/900mA电流完全提供给下游设备。总线供电的HUB允许为每个端口提供100mA的电流。如果是自供电的Hub,必须要能检测下行端口的存在、下行端口过流保护等。

  • 传送USB主机和设备之间的数据:USB主机和USB设备之间交换的数据并非直接在数据线上传输,而是要经过USB Hub。这时,USB Hub就有点中继站的味道。

  • 检测总线的错误并进行某些恢复:USB Hub拥有一系列机制来检测总线上的错误,并能进行恢复。比如能够检测包的传输,当发现错误后可以采取相应措施加以处理。

2、HUB实现技术

2.1、MTTSTT

TTTransaction Translators

MTTMulti-TT

STTSingle-TT

STT模式

MTT模式 

绿色箭头跑的是HS(480Mbps),黄色箭头跑的是FS/LS(12/1.5Mbps)。下行端口中黄色箭头,最终都会通过TT转换成HS信号从上行端口发出,所以如果是USB2.0 HUB,下行端口上所有设备最终都会共享480Mbps带宽(不管是MTT还是STT)

STT芯片的框图

 MTT芯片的框图

USB3.0USB2.0后向兼容性的实现,是通过直接增加了SS(SuperSpeed, 5G bps)差分信号对来实现的,这意味着480M bps/5G bps是可以同时存在的(因为USB2.0 Dp/DnSSTXpn/RXpn是互相独立的)。

USB3.0 HUB实现的机制其实就是SS HUB + USB2.0 HUB (SS HUB是一个逻辑上的HUB,表明电路只工作在SS,向下行端口转发上行端口SS数据包)。也就是说,USB3.0 HUB接上后,host实际上是看到了两个USB设备,分别是SS设备以及HS设备。

因为480Mbps/5Gbps是可以同时工作的,如果若干个USB设备插在USB3.0 HUB上,其中USB3.0设备工作在SS,共享5Gbps带宽,USB2.0设备共享480Mbps,两个速度是可以同时工作的。

USB 3.0 Hub芯片的框图

2.2、PortMap

提供灵活的端口映射和disable序列对于被禁止的任何端口,HUB会自动重排剩下的端口以匹配USB主机控制器的端口编号机制。

 

2.3、PortSwap

USB差分对引脚位置添加可按端口编程的功能,允许USB信号直接与接口对齐,避免PCBUSB差分信号的走线长度不等或交叉。

 

2.4、PHY Boost

在下行端口收发器中提供4种可编程信号驱动强度(0%+4%+8%+12%),可恢复由于糟糕的PCB布线、模拟开关、长线缆等系统级变量导致受损的USB信号完整性。

2.5、HUB电源管理

所有连接到USB端口的设备可配置成低功率或高功率,这取决于设备的电压和电流要求。

首先将所有USB设备枚举为低功率器件。主机在枚举完成后检查设备配置描述符的bMaxPower字段。如果bMaxPower表明该设备属于高功率,并且可提供相应电源,那么主机会允许将该设备转为高功率。

USB设备可被分为自供电和总线供电。

 

2.5.1、总线供电HUB

在这种配置下,集线器的内部工作及其下游端口都由集线器上游端口的VBUS供电,这种配置无需外部电源。

在总线供电的系统中,所有下游设备必须是低功率设备。这是因为集线器从上游电源消耗的最大电流为500mA,且集线器自身工作还要使用一部分电流,所以无法将500mA电流完全提供给下游设备。因此,在超过四个端口或下游包含高功率设备的设计中不建议使用总线供电的集线器配置。

重要的设计考虑因素:

  • 切勿将两个总线供电的集线器进行串联。

  • 总线供电的集线器无法提供超过100mA的电流,因此不能为其下游端口上连接的集线器供电。

  • 总线供电的集线器不能为高功率设备进行供电。

  • 总线供电的集线器要求具有电源开关,后端出现过流时能马上关断

2.5.2、自供电HUB

自供电集线器将来自本地电源的功率分配到其下游端口。这种集线器控制器的功率既可以来自本地电源,也可以来自VBUS。自供电集线器自身工作消耗的最大电流为100mA。通过VBUS为其USB接口供电的自供电集线器可被称为混合供电集线器。使用混合供电集线器可区分断开连接的设备和关闭电源的设备。

使用自供电集线器会增加设计的复杂性。USB规范(2.0版)的7.2.1节要求用一种机制来识别VBUS的存在,并相应地为D+/D-上拉电阻进行供电。当VBUS移除后,设备必须在10秒内关断D+/D-上拉电阻的电源。违反这一要求可能会引起各种系统故障,而且将无法通过USB合规性测试。一种有文件记录的故障就是上游设备的复位问题。复位问题可能导致PC冷启动故障或集线器无法枚举下游设备。此外,其它故障还包括无法从挂起状态中正确恢复以及强制其它枚举设备断开总线等。混合供电集线器设计则无需进行VBUS监视。

重要的设计考虑因素:

  • 自供电集线器需要一种机制来检查VBUS的存在并相应地驱动D+/D-线路。

  • 自供电集线器需要为下游端口实现过流保护。

  • 在具有超过四个下游端口的系统中使用自供电集线器。

  • 在包含高功率设备的系统中使用自供电集线器。

2.5.3、下游端口电源管理

出于安全考虑,USB规范(2.0版)要求为所有自供电集线器设计提供过流保护。利用外部电源开关实现过流检测和电源切换。过流保护可利用聚合物PTC或固态开关来实现。

电源切换意味着USB集线器能关闭下游设备的电源。所有总线供电集线器设计都要有电源切换功能。此外,自供电集线器还能为下游端口实现电源切换,但这并不是必需的。电源切换能以群组模式和单个模式实现Gang-power modeIndividual-power mode)。在群组模式下,如果组中所有端口消耗的总电流超出了预设限制,那么集线器就可将这组端口一同关闭。在单个模式下,集线器仅关闭超过限制的单个端口。

当单个端口处于未配置或关闭状态时,此单个端口的电源就会被关闭。在群组模式下,只有组中所有端口都处于未配置或关闭状态时,集线器才会关闭这组端口。如果群组中任意一个端口收到SetPortFeature(PORT_POWER)请求,集线器就会打开端口组。

2.5.3.1、单个模式电源切换

单个模式端口保护功能为每个端口使用专用开关。当端口出现电源浪涌时,集线器会将其电源关闭。由于单个模式需要为每个端口配备专用开关,因此成本更高。

 

电源开关引脚:

  • 当下游端口出现过流时,FLAG AFLAG B会向集线器发出告警。

  • OUT AOUT B为下游端口进行供电。

  • EN1EN2通过切换OUT AOUT B来启用或禁用下游端口的电源。

2.5.3.2、群组模式电源切换

群组中包含的任何一个端口出现电源浪涌都会导致集线器关闭群组中所有端口的电源。这种方法中由于多个端口共用一个开关,因此成本比较低。但是,显而易见的缺点是组中一个端口出现浪涌就会使所有端口断电。

  

3、USB3.0 HUB

USB3.0 HUB主要由Super Speed HUBVbus ControlLogicUSB2.0 HUB以及上下行端口组成。由于USB3.0是向下兼容的,所以它有完整的USB2.0 HUB设计,而Super Speed HUB部分就是USB3.0 HUB区别于USB2.0 HUB的主要部分。

4、常用HUB芯片

常用的Hub芯片包括创惟的GL85x系列、汤铭、SMSC、TIMicrochipWinbondProlificNECNXP等厂家。

5、Layout设计

Layout部分以一款SMSC的demo板为例,主要注意布局和布线即可。

布局主要注意一下几部分(序号对应上图中的标号):

  1. 旁路电容尽量靠近HUB电源引脚;

  2. 偏置电阻离芯片引脚越近越好,且布线应远离其他噪声源,接地点直接连接到地平面,不能和其他元件的地连接。

  3. 时钟部分尽量对称靠近HUB芯片。

  4. 偏置电阻、时钟电路、差分信号及其返回路径,都要远离开关电源。

  5. SS信号线的ESD防护需要特别注意,且应该靠近接口位置。

  6. CMC会影响SS信号,添加时需特殊考虑,且应该匹配90Ω阻抗。

  7. SS_TXAC耦合电容应该靠近接口放置。

 

走线尽量遵循如下原则:

  • SS信号走线尽量短,且最好走在外层。

  • 为了保证VBUS的载流能力,最好选择1oz的铜厚,线宽尽量宽。

  • Control the single-ended characteristic impedance (Z0) of USB signals to between 40 Ω and 55 Ω.

  • Control the differential impedance (Zdiff) of the DP/DM signals to 90 Ω, +5/-10 Ω.

  • Control the differential impedance (Zdiff) of the SS_TX+/- and SS_RX+/- signals to 90 Ω, +/-5 Ω.

  • SS信号线换层时,在旁边放置一对接地过孔(complementary ground vias)。