做过扩展坞的人都有个共同的痛:又要盯USB3.2 Gen1 Hub主控的选型,又要为PD快充单独找一颗协议芯片,两套控制器、两套电源管理,画原理图好不容易,调试的时候更是被CC线上的电平、VBUS的时序折腾到怀疑人生。CH634这颗芯片把4口USB3.2 Gen1 HUB和PD快充搅在一颗主控里,数据扩展和电源协商同时搞定,正好卡在“全场景接口拓展”最吃紧的位置上。这篇文章我不聊厂商宣传稿,直接从硬件工程师做方案的角度,把这颗芯片的原理、设计、布线和调试过程一次讲透,适合正在做Type-C扩展坞、多口Hub、带电工业集线器的工程师参考,也适合刚入门想做PD相关硬件的朋友。
1. 传统扩展坞方案让人头疼,CH634为什么能直接切中痛点
1.1 双芯片方案的四大难题
先聊一个很现实的问题:如果不用CH634这种集成方案,做一台“4口USB3.2 Gen1 HUB + PD充电”的扩展坞,内部是怎么搭的?
现在市面上绝大多数做法都是两颗独立主控。一颗负责USB Hub的枚举和数据转发,另一颗专门管USB PD的CC握手、PDO协商、VBUS开关控制。听起来分工明确,但落地的时候全是坑。
第一个坑是电源系统割裂。Hub芯片跑的是5V或者3.3V的系统电源,PD芯片管的却是适配器进来的高压侧VBUS,从20V到5V都有。两套电源树在板子上交叉布置,Hub的退耦电容和PD的功率路径挨得太近,稍微处理不好,大电流切换的瞬态就会干扰USB信号。
第二个坑是CC逻辑绕。USB Type-C口的CC1/CC2引脚本来需要一套完整的Rp/Rd检测机制,纯Hub芯片不关心PD协议,纯PD芯片又不关心USB数据枚举,两边各认各的祖师爷,结果就是“先插电源再插数据线”和“先插数据线再插电源”这两种操作顺序,经常闹出握手超时、枚举失败之类的幺蛾子。
第三个坑是BOM成本压不下去。一颗Hub主控、一颗PD协议芯片、加上配套的LDO、负载开关、保护器件,单是核心板那一小块区域就能摆上七八颗有源器件。量产采购、贴片、测试,每一项都是成本。
第四个坑是布板面积。轻薄扩展坞里,PCB恨不得缩到名片大小,两颗主控分开布,差分线绕来绕去,还都要留自己的时钟和去耦区域,板层压得再狠都费劲。
1.2 集成方案把问题解决到了什么程度
CH634这种单芯片方案,最大的价值就是把这四件事揉到了一起。数据转发和PD协商由同一颗主控管,寄存器统一配,状态机互相看得见对方,不再存在“Hub不知道PD在干什么,PD不知道Hub在干什么”的盲区。
我实际画板子时,最直观的感受是电源路径清爽了很多。PD部分掌控着从适配器进来的VBUS,Hub部分的供电可以做成从PD侧取电后再统一管理,整个电源树的层级分明,不用再跨两颗芯片来回倒。PCB上原本分给两颗主控的地盘,现在空出来给Type-C座子、ESD防护和功率器件,Layout的余量大了整整一圈。
换用集成方案之后,硬件调试顺序也简化了。以前调一个双芯片扩展坞,先要确认Hub芯片有没有被主机枚举到,再去CC线上抓PD的协商包,两边对不上时完全不知道是谁的问题。现在单芯片方案里,固件和寄存器是同一套,一上电就能顺着主控内部的状态日志看到底是CC检测没过,还是VBUS起不来。
1.3 先判断你的产品适不适合这颗芯片
不过也别盲目上头。CH634这类方案虽然集成度高,但并不适合所有项目。假如你的产品只需要USB2.0 Hub,比如普通的键鼠扩展器,那用USB2.0 Hub芯片更便宜、功耗更低,没必要上USB3.2 Gen1加PD。假如你的产品只在固定电压下工作,比如纯做5V输出的多口充电Hub,不需要PD协议的多档协商,那集成PD反而增加配置复杂度。
最适合CH634的形态是这几种:需要“一个Type-C接口同时进数据和进电源”的笔记本扩展坞,需要给下行设备提供快充的桌面多口Hub,以及需要在工业现场长时间稳定跑数据与供电的嵌入式集线器。判断标准很简单:你的系统里同时出现“5Gbps数据”和“多档电压供电”这两个需求,那就应该认真考虑单芯片集成方案。
2. 拆开看原理:USB3.2 Gen1 HUB与PD快充是怎么协同工作的
2.1 USB3.2 Gen1 HUB的内部逻辑
聊USB Hub原理之前,先打个比方。Hub就是一个USB世界里的交换机,上游一个口接主机,带宽5Gbps,下游四个口挂各种设备。但它是共享带宽的,不是独立带宽分配——就像一根总水管分出来四个水龙头,每个龙头都能开到最大,但四个同时开满,总水量还是只有那么多。
USB3.2 Gen1的物理层跑的是5Gbps,SuperSpeed信号走独立的TX/RX差分对,和老的USB2.0的D+/D-是两套物理通道。这意味着一个USB3.2 Hub内部其实有两套转发体系:SuperSpeed数据走高速转发器,USB2.0数据走另一个部分。当你插一个USB2.0键盘到下行口,主机和键盘之间走的是USB2.0通道;当你插一个USB3.0 U盘,走的是SuperSpeed通道。两种设备混插时,Hub要能同时处理两套总线的流量,这对内部仲裁逻辑是有要求的。
CH634的4个下行口,每个都支持SuperSpeed和USB2.0同时工作,而且它对USB2.0低速、全速、高速设备的兼容,靠的是事务转换器(Transaction Translator)把低速设备的传输调度到USB2.0高速总线上。这个机制说起来抽象,实际表现就是:你把一个古老的USB1.1鼠标插在USB3.0 Hub上,它照样能工作,不会因为总线速率不同步而出乱子。
2.2 PD快充协商与电源路径
USB PD和USB数据是两套完全不同的东西。PD跑在Type-C的CC引脚上,用BMC编码方式传输一串一串的控制报文,协商Source(供电方)和Sink(受电方)之间的电压电流档位。它的本质是电源管理协议,和数据线一点关系都没有。
CH634把PD部分集成进来之后,CC引脚的检测和VBUS的控制就在芯片内部完成了。芯片自己会实时监测CC1/CC2上的状态,判断插入的适配器是什么角色,然后拉起PD协商流程,提议一组PDO(Power Data Object)给对面。比如一个标称65W的适配器,PDO可能包括5V/3A、9V/3A、12V/3A、15V/3A、20V/3.25A这些档位,协商成功后选一个合适的电压,VBUS升到对应电平,然后PD协议里那个SourceCapabilities报文就确认了这轮供电能力。
在这个方案里,上行口的Type-C线缆往往同时承载三种信号:USB3.2的数据线对、USB2.0的D+/D-、以及CC线上的PD协商。这也是为什么“一线通”扩展坞能成立——一根线既传4K显示数据,又给笔记本回充65W功率,靠的正是USB数据路径和PD电源路径并行不悖地工作。
至于下行口供电,就要看产品定义了。如果下行口做的是纯充电口,那由PD Source部分控制VBUS输出,手机插上去之后走到快充档。如果下行口是数据加充电,那VBUS直接由Hub部分的电源路径提供,既可以跑5V常规充电,也可以按BC1.2之类的协议识别充电需求。
2.3 集成的代价与设计权衡
集成度高不等于没有代价。把5Gbps的高速信号处理和PD的模拟电压控制放在同一颗芯片里,芯片内部最容易出现的问题就是串扰。USB3.0的TX/RX线对在切换数据时会产生高频噪声,PD路径的大功率开关在VBUS上也甩出很大的dv/dt噪声。所以芯片原厂在设计CH634内部布局的时候,必须要做严格的隔离和屏蔽,这也是这类集成芯片流片难度比单纯Hub或单纯PD控制器高很多的原因。
从设计师角度,这个权衡也影响外围器件。芯片内部隔离做得再好,外部PCB上的功率路径和数据路径也得自己隔开。我的经验是,PCB上把PD的高压大电流区域和USB的差分信号区域严格分区,中间留出地平面隔离带,比堆一堆屏蔽罩管用得多。
3. 硬件设计实操:原理图、电源、布线的关键细节
3.1 电源树怎么画才算靠谱
画CH634方案的电源树,我习惯先分清三路电:第一路是适配器进来的输入电源,主流适配器PD协商后常见的是20V或12V,也有部分5V;第二路是芯片内部逻辑供电,一般由输入电源降压到3.3V或1.2V;第三路是下行口的VBUS输出,要给外接设备供电。
这个结构下,最忌讳的是所有下行口的VBUS直接从适配器输入上拉一条粗线出来,不加控制。正确做法是每一个下行口都配独立的负载开关,芯片的GPIO或者专用引脚去控制这些开关的使能。这样某一路过流时,只关断那一口,其他口继续工作,避免一个短路设备拖垮整台Hub。
我自己实际做的一个4口扩展坞方案里,输入是20V适配器,Hub核心电压用了两颗低功耗DCDC,一颗出3.3V给芯片模拟部分,一颗出1.05V给高速PHY。注意这两路电源除了滤波电容,还各加了一个小磁珠做隔离,防止高频噪声串到敏感的模拟电路上。
下行口的VBUS开关,我建议选带过流保护和软启动的负载开关,软启动时间控制在1ms左右。太快的软启动会导致插入大电容设备时电流冲击,VBUS瞬间被拉低;太慢的软启动又会让设备端认为供电异常。
3.2 USB3.0差分线布线的硬性要求
USB3.2 Gen1的信号速率是5Gbps,虽然听起来不如PCIe 4.0吓人,但布线要求足够写一份Checklist。我踩过的坑不少,直接列核心要求:
差分阻抗必须要控在90欧姆正负10%,两层板很难稳定控制阻抗,做四层板以上才靠谱。TX和RX是两对独立差分线,同一对内部要做好等长,长度差控制在5mil以内,两组差分对之间的总长度差我一般压到20mil以内。过孔是最容易破坏阻抗连续性的地方,能用一两个过孔解决的走线,绝不要打三个以上。
USB3.0差分线对下方的参考平面必须完整,不能跨越电源分割槽。实际画板时经常因为走线需要从顶层换到底层,参考平面从地层跳到电源层,这时候必须在过孔旁边加地过孔,让回流路径尽量平滑过渡。
还要特别注意差分线和CC引脚的间距。CC引脚上的PD信号虽然是低速的BMC编码,但负载开关切换瞬间的噪声不小,差分线离它太近容易被干扰到眼图闭合。我一般至少拉开20mil以上的距离,中间还要铺地隔离。
3.3 外围器件与量产可靠性设计
外围器件看着不起眼,但全是在量产时决定良率的东西。首先是ESD防护,Type-C口和下行USB口都暴露在外面,热插拔是家常便饭。每个USB口的数据线对和VBUS都要放TVS管,寄生电容要尽量低,不然高速信号眼图直接被TVS的电容吃掉。
共模电感也是一个容易忽略的点。USB3.0的TX/RX线上串共模电感可以压制共模噪声,帮助过EMI测试,但选型时要注意额定电流和DCR。差分线上的共模电感DCR太大会直接衰减信号幅度,导致长线缆下枚举不稳定。
晶振同样关键。Hub芯片通常需要一个25MHz的时钟源,晶振的精度和起振特性直接影响USB时钟恢复。我吃过一次亏,选了颗启动慢的晶振,冷启动时主控有时起振失败,Hub干脆不工作。后来强制要求晶振负载电容匹配准确,并且上电时序里给主控留足启动时间,问题才消失。
量产环节不要省功能测试。扩展坞这类产品,每个口的USB3.0信号质量、PD充电功率、过流保护是否触发,都应该在出厂前跑一遍自动化测试。我见过只测“能充电、能识别U盘”就出货的产品,到了客户手里,接上高速固态硬盘才发现5Gbps传输时掉到480Mbps,丢口气。
4. PD配置与固件调参:从默认值跑通到定制电压档
4.1 PDO和角色配置的思路
拿到CH634的样片,不要上来就改配置。先把默认配置跑通,确认USB枚举正常、CC检测正常,再动PD参数。多数这类主控都提供寄存器配置接口或者外部EEPROM,用来覆盖默认的PDO和角色配置。
PDO配置说白了就是决定这颗芯片对外宣称“我能供哪些电”。常见的档位参考如下:
| PDO电压 | 最大电流 | 典型应用 |
|---|---|---|
| 5V | 3A | 常规USB设备、手机慢充 |
| 9V | 3A | 手机快充 |
| 12V | 3A | 平板、便携显示器 |
| 15V | 3A | 笔记本PD输入 |
| 20V | 3A~5A | 大功率笔记本 |
选档位时有个原则:不是档位越多越好,而是越贴近目标设备的充电策略越好。如果你的扩展坞主要给手机快充,保留5V、9V两档就够了,硬加上20V反而让部分兼容性不佳的设备和适配器在协商时多花时间。如果要做笔记本一线通,20V档位则必须保留,并且电流档要匹配你适配器实际的功率上限,别虚标一大、协商上去之后实际带不动。
角色配置上要注意Type-C的双角色属性。芯片如果被设定为DRP(双角色端口),它会自动在Source和Sink之间切换尝试。扩展坞上行口接的是笔记本,这端实际上是个Device+Sink的混合体,需要支持接受适配器的PD电源,同时向笔记本提供电源。这个场景下要格外注意Try.SRC和Try.SNK的时序参数,配得不好就会出现插上适配器之后笔记本不认电的情况。
4.2 手头的调试工具怎么用
调试PD环境,示波器、逻辑分析仪、USB协议分析仪这老三样缺一不可,但用法有先后。
我最先动的永远是示波器。探头夹到上行口的VBUS上,然后插适配器,看VBUS的上升沿和时序。PD协商之前VBUS是5V,协商成功后跳到20V,整个过程应该平稳,没有明显的过冲和跌落。如果VBUS波形在协商跳变瞬间抖得厉害,大概率是输出电容容量不够或者负载开关的环路补偿有问题,这个阶段就暴露了,不该拖到后面测协议。
示波器确认电源没问题,再上USB协议分析仪。拔掉Hub下行口的其他干扰设备,只挂一个USB3.0设备,抓枚举过程的包。重点关注Set Configuration是否成功,端口是否进入SuperSpeed状态。很多“5Gbps口变480Mbps”的问题其实在这里就能看到,Hub下行口没能完成SuperSpeed握手,自动回退到了USB2.0。
最后才是PD协议抓包。用支持PD抓包的Type-C分析工具,或者用逻辑分析仪采样CC脚上的BMC信号,看Source Caps枚举出来的档位是不是你配置的那几档。我习惯把“适配器标准带载测试”作为最后一步,给下行口挂电子负载,逐档拉电流,看实际输出功率能不能顶到PDO标称值。这步跑完,整个电源系统才算真正验证过。
5. 典型应用场景拆解:从笔记本扩展坞到行业设备
5.1 笔记本一线通扩展坞
这是CH634方案最核心的落点。现在的轻薄本普遍留一两个Type-C口,又当充电口又当数据口。一台扩展坞要做的事是:笔记本通过一根Type-C线连到扩展坞,扩展坞再插上PD适配器,然后扩展出一圈USB-A口、HDMI或者读卡器接口,同时通过同一个Type-C口给笔记本供电。
数据链路和功率链路在这个场景下必须同时工作。上行口从笔记本拿到USB3.0信号,同时从PD适配器方向拿到20V电源,两种信号在同一条线缆里、同一个连接器上并行。CH634的集成优势在这一刻特别明显,因为Hub部分和PD部分在同一颗主控里,可以做到插上适配器的瞬间就完成PD协商,而不是等系统软件干预。
我做这台扩展坞方案时的经验是,下行口的排列分两类处理:一类是纯数据口,适合接键鼠、U盘,供电以5V为主;另一类是支持PD快充的口,直接接手机或者移动电源回充。两类口在固件里要明确区分,避免用户把快充口当数据口用的时候发现速度不对,或者把数据口当充电口用的时候发现功率起不来。
5.2 桌面Hub与快充排插
桌面场景比笔记本场景更看重“充电”两个字。传统USB Hub只输出5V,手机插上去只能用老旧的非快充方式慢慢充。CH634的可调PDO正好让桌面Hub既能当USB扩展中心,又能当快充排插。
典型设计是上行Type-C接台式机,4个下行口均匀分布,其中两个做成USB-A数据口,两个做成Type-C快充口。数据口保持稳定的5V供电,快充口独立走PD协商,手机插上能触发快充,平板甚至笔记本都能直接充电。
这个方案在热设计上要更谨慎。桌面Hub往往是封闭外壳,四口同时满载,又有快充功率叠加,内部温升很容易超标。我一般会在VBUS功率路径上多铺铜散热,并留一个壳体上的导热垫位置。实测四路满载跑半小时,外壳微烫但不至于降功率,这种程度才敢交付。
5.3 行业产品与定制化思路
行业客户的需求通常更怪。有做商用显示器的,想在显示器侧边内置一套USB扩展口,同时显示器的Type-C口要能跟笔记本回充;有做工业主机的,要求Hub能扛得住恶劣的电源环境;还有做银行柜面设备的,四个口要分别接密码键盘、指纹仪、高拍仪,每路供电都得稳定。
行业定制最常改的是PDO表和软件行为。比如工业场景的主机不希望扩展坞自动向自己充电,那就把Sink功能关掉,只保留Source;再比如某类外设对电压纹波敏感,那就把VBUS的滤波电容从标准配置加大到三倍容量。这些在集成芯片上都是寄存器级别的改动,不需要换主控板,这是单芯片方案在行业定制里比双芯片方案更好用的地方。
6. 常见问题与排查技巧实录
6.1 插上设备不枚举、频繁掉线怎么办
这个问题的排查要建立一套顺序逻辑,别一上来就换芯片、换板子。我的排查顺序是电源域优先、CC域其次、信号域最后。
先测下行口的VBUS在上电瞬间的波形。有些设备带着大电容,插入瞬间会抽走大量电流,VBUS被拉出很深的凹陷,要是负载开关的限流阈值太低,直接保护关闭,设备自然枚举不出来。这种情况下把负载开关的限流阈值上调一档,或者并一个更大的输入电容就能解。
再查CC配置。如果下行口设计成不带PD协商的纯数据口,CC引脚的上下拉电阻必须匹配正确的角色。有些参考设计复用了带PD的Type-C口设计,下行的纯数据口也挂了一堆CC检测元件,反而把设备端的CC检测搞乱了,导致主机认不到设备。
最后用协议分析仪抓下行口枚举包。常见现象是设备请求复位,但Hub一直不回ACK。这通常和Hub下行口的信号质量有关,去量下行口的眼图,重点看发送端的预加重设置是否和线缆长度匹配。USB3.0信号在长线上衰减明显,如果Hub芯片有TX参数可调,适当提高摆幅就救得回来。
6.2 PD握手不成功或充电功率上不去
PD握手失败的原因一半在配置,一半在物理层。最常见的是PDO配置和目标设备不兼容。比如手机支持9V快充,但你只预留了5V、12V两档,手机在协商时会选一个它认为最优的档位,选不到9V时可能干脆退到5V慢充。
物理层的问题集中在CC线路上。CC线的走线过长、过孔过多、或者被其他高速信号干扰,都会让BMC解码出错。CC线路上的滤波电容也容易出问题,容值太大会直接压扁BMC的脉冲波形,导致对方解不到有效报文。
功率上不去的另一个常见原因在适配器端。很多第三方氮化镓适配器虽然标称65W,但它们的PDO设计有时只在特定负载条件下才开放20V档位。用示波器同时抓CC线和VBUS,看是不是适配器收到Request报文后没有回应Accept,那就是适配器自身的策略问题了,和Hub方案关系不大。
这类问题最后都会收敛到一句话:先确认协议包里你发了什么,再确认物理层把报文送到没有。按这个思路排查,没有解不开的握手问题。
6.3 信号质量、温升、ESD相关的隐性问题
最后聊几个不那么明显、但会在量产阶段集中爆发的坑。
ESD问题最阴。实验室里好好的,一到秋冬干燥季节或北方客户现场,设备频繁掉线。大概率是Type-C口的ESD防护没做好,打静电时芯片内部虽然没有永久损坏,但状态机被干扰复位了。排查办法是做整机ESD测试,打空气放电和接触放电各跑一遍,不过的时候看掉线的是哪个口,针对性加强那个口的TVS管或增加共模电感。
温升问题属于慢性病。PD快充跑大功率时,VBUS走线的铜箔载流能力不够,整条走线变成电阻丝,发热后压降变大,设备端拿到的电压低于协议值,充电功率越跑越低。有个粗略的经验:1盎司铜厚下,20V/3A以上的VBUS走线,宽度不要低于2mm,并且尽量用铺铜而不是细走线。多层板还可以把VBUS走线复制到内层,用多个过孔并联分摊电流,效果立竿见影。
信号质量的隐性问题是线缆依赖。同一块板子,用短粗的Type-C线测试一切正常,换一根两米长的细线就频繁掉到USB2.0速率。这大概率是Hub主控的发射参数没有针对长线优化。排查时拿不同长度和品质的线材做交叉测试,如果只在长线劣质线上翻车,优先去调TX的驱动强度和去加重参数,而不是怀疑芯片。
做这套方案最大的心得就一条:先把电源路径吃透,再碰USB3.0差分线。CH634把HUB和PD集成到一颗芯片后,看似简化了原理图,实际上对电源和信号的隔离要求一点没少,甚至因为功率路径在物理上更靠近高速信号,布局的压力转到了PCB设计师身上。第一次打样别贪功能,把上行口、一个下行口、PD适配器输入这几条关键路径先验证明白,再扩展到四个口全满载。我后来所有PD相关项目都保留了一个习惯——示波器永远先挂VBUS,看到干净的上下电波形才动协议分析仪,这个顺序帮我省下的排查时间,比任何仿真工具都多。