· Ivan Li  · 11 min read

使用 CH335F 构建一个支持独立供电的 2A2C USB HUB

上次搓的 HUB 连接下游设备后就会自动复位,不确定是哪一部分引起的问题,所以这次搓了个简化版本,正好我也需要不带隔离功能的 HUB,那么看看这次能不能一举两得。

倒霉催的,上次做隔离 USB HUB 算是第二版了,已经换了个更简单的 HUB 芯片 CH335F 了,没想到还是会有问题。 电脑是能正常识别到 HUB 设备,标识符读取也正确,但是不知道为啥连接下游设备后会复位。表现是下游设备掉电重启,强制拉高对应接口的过流信号使之为正常状态还是会断电。强制拉高对应接口电源芯片的使能信号使之为使能状态不会断电了,但是发现芯片工作怪怪的,时不时会从电脑上消失一下。

后来发现 CH335F Active LED 灯封装是颠倒的,灯就贴反了。改正后能明显看到 Active 在闪,大概意味着在疯狂复位。不知道是不是因为我没贴 EEPROM,现在为了排查问题,得重新搞一个板子验证一下了。

这次我找了个开源项目一起参考看看。

双电源切换

这个 USB HUB 支持辅助电源输入。虽然说是辅助,实际上它是主电源,而备用电源是上游主机提供的。这样在 HUB 上就能理直气壮地声明是独立供电,避免供电不足或上由主机因下游电流比较大时出现过流保护。

我找了找芯片,本来决定选 LM66200,但是他只支持电压优先级选择。由于两个电源都是 5V,这可能会导致设备在两个电源之间反复切换……再加上不支持防倒灌,电流能力也只有 2.5 A,放弃了。

所以我又用回了之前使用过的 TPS2121。TPS2121 挺好的,我的配置如下,看配置就知道它功能还挺全的:

  • 3.2 A 限流
  • VIN1 5.6 V 过流
  • VIN2 5.6V 过流
  • VIN1 电压低于 4.82 V 时自动切换到 VIN2
  • VIN1 电压高于 5.0 V 时自动切换回 VIN1

CH335F USB HUB 中 TPS2121 电路的参数计算结果

计算工具

USB 3.0 支持

CH335F 支持将一个下游口直通 USB 3.0 部分,实现一个具备 USB 3.0 的接口。我找了好久终于发现在旧版本(V1.2)的数据手册上是有提到这个功能的,目前 V2.7 版本的数据手册以及没这个内容了。

CH335F USB 3.0 直通

不知道现在买的到底有没有这功能了。资料也挺少的。我反正直接将上游和下游端口 4 的四对 SS 引脚连接在一起了,行不行就听天由命了。

**更新:**我和 gemini 讨论了一下,大概了解到这个方案的可行性了。

好的,为您总结一下关于 CH335F 的“USB 3.0 直通”功能以及您特定的 USB-C 独立 CC 线连接的讨论:

  1. CH335F 的核心功能:CH335F 是一款 USB 2.0 Hub 控制器芯片,主要负责管理和处理 USB 2.0 的高速 (480Mbps)、全速 (12Mbps) 和低速 (1.5Mbps) 数据传输。
  2. “USB 3.0 直通”的实现方式:这种功能并非指 CH335F 芯片内部具备完整的 USB 3.0 Hub 功能。根据您的观察和技术原理,它最可能是通过在 PCB 上将上游 USB 3.0 连接器的 SuperSpeed (SS) 数据线(SS_TX+/- 和 SS_RX+/-)直接连接到特定下游 USB 3.0 连接器的对应 SS 数据线来实现的,完全绕过了 CH335F 芯片本身。或许叫**旁路(bypass)**更加合适。
  3. 连接建立过程
    • 首先通过 USB 2.0 的 D+/D- 线进行物理连接检测和枚举。CH335F 作为 USB 2.0 Hub 参与此过程,Host 通过 USB 2.0 枚举得知设备支持 USB 3.0。
    • 随后,Host 和 Device 会在直连的 SS 数据线上独立进行 SuperSpeed Link Training,建立 5Gbps 或更高的数据链路。这个过程不依赖于 CH335F。
  4. D+/D- 线的作用:用于 USB 2.0 连接的建立和枚举,向 Host 传递设备支持的功能信息(包括 USB 3.0 能力),由 CH335F 处理。
  5. SS 线的作用:用于 USB 3.0 SuperSpeed 连接的建立 (Link Training) 和实际的高速数据传输,在您的设计中是直连的,不经过 CH335F。
  6. 独立 USB-C CC 线的影响:在您上游和下游都使用 USB-C 接口,且两端的 CC 线独立用于各自的 UFP/DFP 功能(而非相互连接)的情况下,这 不会影响 SuperSpeed 连接的建立。CC 线主要用于连接检测、角色和方向确定、基本供电协商等,但不直接参与 SS 数据传输或 Link Training 过程。SS 连接是在专门的 SS 数据线上独立进行的。

通过结合 CH335F 的 USB 2.0 Hub 功能和 PCB 上的 USB 3.0 SuperSpeed 信号直连,实现了一个复合接口,其中 USB 2.0 部分由 CH335F 管理,而 USB 3.0 SuperSpeed 部分则是一个旁路通道。

数据手册里一直没说这个直通功能和下游端口是否有绑定关系之类的事,让我非常疑惑这功能到底咋实现的。现在了解完 SS 旁路后,大概就是通过 USB 2.0 了解支持 3.0,尝试通过 SS 线连接,连得上就是那个带有 3.0 支持的接口,否则就是不支持,所以也就没啥绑定的事了。

走线

在设计USB 2.0和USB 3.0的PCB布线时,数据线的线宽需要根据信号完整性、阻抗控制和电流承载能力来确定。以下是针对USB 2.0和USB 3.0数据线宽的推荐:

USB 2.0 数据线(D+、D-)

  • 差分阻抗要求:USB 2.0要求差分对(D+、D-)的差分阻抗为90Ω ± 10%。
  • 线宽推荐
    • 在FR4材质(介电常数约4.2~4.6)的双层或多层板上,常见线宽为6-10 mil(0.15-0.25 mm),具体取决于PCB的层厚和介质厚度。
    • 例如,对于0.8mm厚的双层板,1oz铜厚,线宽约8 mil,线间距约6-8 mil,可以较好地满足90Ω差分阻抗。
  • 布线建议
    • 保持差分对等长,等距,尽量避免过孔。
    • 避免信号线附近有其他高频信号干扰。
    • 参考地平面要完整,差分线应尽量走内层或靠近地平面。

USB 3.0 数据线(SSTX+/-、SSRX+/-)

  • 差分阻抗要求:USB 3.0要求差分阻抗为90Ω ± 7%,信号频率更高(5 Gbps),对信号完整性要求更严格。
  • 线宽推荐
    • 线宽通常在4-8 mil(0.1-0.2 mm)之间,具体取决于PCB堆栈设计。
    • 例如,对于4层板,1oz铜厚,介质厚度0.1mm,线宽约5-6 mil,线间距约5-7 mil,可满足90Ω阻抗。
  • 布线建议
    • 差分对必须严格等长(长度误差控制在±5 mil以内)。
    • 尽量走内层,靠近完整地平面,减少串扰。
    • 避免过多的过孔,过孔会引入阻抗不连续。

最后 2.0 和 3.0 的数据线都选择 6.2 mil 的线宽。

90Ω阻抗计算

电源走线

  • 电源线(VBUS、GND)
    • USB 2.0的VBUS/GND线建议线宽至少20-30 mil(0.5-0.76 mm),以承载最大500mA电流。
    • USB 3.0可能需要更宽的线(如30-50 mil),尤其在支持快充时,需根据电流需求计算。

在USB-C母座的设计中,关于VBUS引脚的电流分配和设计要求,以下是详细解答:

USB-C母座VBUS引脚的电流分配

  • USB-C母座的VBUS引脚

    • USB-C母座通常有4个VBUS引脚(A5, A9, B5, B9),这是为了支持高电流传输(如USB PD的3A或更高)并确保连接可靠性。

    • 这4个VBUS引脚在电气上是并联连接的,共同传输电力。电流会在这些引脚之间分配,具体分配比例取决于引脚接触电阻和PCB走线的阻抗。

    • 走线线宽

      • 在项目中使用的 PCB(四层板,1、4层1oz铜厚,2、3层0.5oz铜厚),走3A电流时:
        • 外层(1oz):推荐线宽30-40 mil(0.76-1.0 mm),10°C温升。
        • 内层(0.5oz):推荐线宽60-70 mil(1.5-1.8 mm)。
      • VBUS走线应尽量短且宽,减少压降和发热。
    • 过孔设计

      • 项目中使用 0.3mm 孔径的过孔,单个过孔估计最多走 0.5 A 电流。。
  • 连接器选择

    • 选择支持高电流的USB-C母座(标称支持3A或更高,如5A的PD连接器)。
    • 确认连接器规格表,检查单个VBUS引脚的额定电流(通常1.25A以上)。
Back to Blog

相关文章

查看更多 »

电子负载开发笔记

我准备开发第一版的电子负载,并在此记录一些流水账。这个版本作为我第一次开发电子负载以及运放相关的硬件,希望能实现 CC 模式和 CV 模式,不求精度,只求大概。

STM32G031G8U6 Nano 开发板

STM32G031G8U6 Nano 开发板

用了一段时间的 STM32G031G8U6 这颗 MCU,回过头来完善了一下之前做的开发板,尽量做到符合推荐设计。