资讯动态

VL822 Type-C四口HUB设计:原理图、PD快充与Layout实战解析

发布时间:2026/10/7 5:09:44 来源:尧图企业网站定制
最近在做一个Type-C四口HUB的项目主控选了VIA Labs的VL822-QFN88要求是每个口都能正常识别USB 3.0设备同时整机还要支持PD快充输入。这个方案在实际产品里很常见比如桌面扩展坞、便携显示器Hub、工控机前置面板等等。但真上手画原理图的时候就会发现坑远不止“把VL822的引脚接出来”这么简单。这个项目最核心的挑战有三个一是VL822-QFN88的电源管理和Type-C接口逻辑怎么配合二是PD快充协议跟普通Hub芯片的VBUS切换怎么联动三是四口同时工作时的电流分配和过流保护怎么设计。这篇文章我把这次实际设计的思路、原理图要点、Layout注意事项和调试踩坑过程都整理出来给准备做类似Type-C HUB或者PD快充拓展坞的朋友一个可以直接参考的底稿。适合谁看如果你正准备用VL822或类似的Hub控制器比如VL817、RTS5411做Type-C接口的扩展设备或者你想搞清楚PD快充跟普通Hub之间到底是怎么协作的这篇文章应该能帮你省下不少翻Datasheet和来回试错的时间。1. 先搞清楚VL822到底能干什么1.1 一颗Hub芯片也能撑起PD快充VL822是VIA Labs推出的一颗USB 3.1 Gen1 Hub控制器内部集成了4端口下行接口的交换逻辑同时也支持一定程度的Type-C相关功能。QFN88封装算是这个型号里体积和引脚数都比较均衡的版本既能满足四口Hub的引脚需求又不至于像BGA那样对PCB工艺要求太高。很多第一次接触这颗芯片的人会误以为VL822本身就能完整实现PD快充其实不是。VL822内部虽然有Type-C检测和部分PD策略管理的能力但它更多是承担“Hub枚举”和“端口状态管理”的角色。如果要做到完整的PD快充比如支持20V/3A或者20V/5A的输入通常需要额外搭配一颗PD控制器比如VL103、FUSB302或者STM32G0系列由PD控制器负责和充电器/电源适配器做握手协商协商完成后再把VBUS切换到合适电压。也就是说整个系统的分工是VL822负责USB数据信号的上下行扩展PD控制器负责电源协议的协商两者之间通过I2C或者GPIO信号联动共同完成“插上支持PD的适配器就能给下游设备快充”的效果。1.2 QFN88封装下核心引脚该怎么认VL822-QFN88的引脚数量虽然不少但真正在原理图阶段需要重点关注的其实就几类电源引脚、USB差分信号引脚、Type-C配置通道引脚、I2C/EEPROM配置引脚、以及VBUS相关的控制引脚。我习惯拿到芯片后先只做一件事把Datasheet里的引脚列表导入表格然后按“功能域”分类标色。电源引脚标红Type-C相关标黄USB数据信号标绿配置和调试引脚标蓝。这样画原理图的时候找引脚特别快也不容易漏接。VL822的电源域至少包括数字核心供电一般是1.0V左右、模拟供电3.3V、以及I/O供电3.3V每个电源域的去耦电容布局不能随意合并这点在后文Layout部分会细说。另外一个容易被忽略的点是VL822的多个VBUS引脚和VBUS检测引脚在不同工作模式下承担的角色不一样。比如作为上游端口Upstream Facing PortUFP时VBUS来自Type-C母座而作为下游端口Downstream Facing PortDFP时VBUS要输出给外接设备。这颗芯片的VBUS通路设计需要通过外部MOS管或负载开关搭建芯片本身更多是提供控制信号和检测逻辑。1.3 项目整体方案一个Hub不够还要有PD控制器配合这个项目的整体框图其实可以概括成三条通路电源通路、数据通路、协议控制通路。电源通路Type-C母座接入PD适配器经过VBUS保护和EMI滤波后一路进PD控制器做电压协商另一路在协商完成后通过负载开关切换到Hub的电源输入端和四口输出端。协议控制通路PD控制器通过I2C与VL822通信把协商好的电压档位、电流能力、端口角色告知VL822VL822再决定各个下行端口如何分配通电和过流保护策略。从这个架构可以看出来如果直接把VL822当成一个“Type-C Hub芯片”来用只接了数据引脚完全忽略PD协调的部分那最后做出来的东西大概率只能支持5V供电也就是普通USB Hub的水平。想实现标题里的“PD快充”就必须把PD控制器的功能完整纳入设计。2. Type-C接口的关键引脚和难点2.1 母座14P/16P别再把Type-C母座当USB-A来用Type-C母座的引脚数量和封装形式不像USB-A那么统一市面上最常见的是16P即16个引脚母座但也有14P、24P等不同规格甚至还有带外壳引脚和不带外壳引脚的版本。很多人第一次画Type-C母座时会下意识地以为“只接电源、地、D、D-和USB差分对就行”结果做出来的板子只能充电不能传数据或者只能识别USB 2.0设备。Type-C母座的核心引脚大致是两个USB 2.0差分信号D/D-在16P母座里通常标记为A6/B6和A7/B7实际上分为两套两对高速差分信号SuperSpeed TX/RX分别对应TX1/TX1-、RX1/RX1-、TX2/TX2-、RX2/RX2-两个配置通道引脚CC1/CC2A5/B5两个边带使用引脚SBU1/SBU2A8/B8以及VBUS和GND。14P母座通常是省略了一对USB 3.0的差分引脚或省去部分冗余引脚适用于只做USB 2.0的场景。如果你要做的是支持USB 3.0的四口HUB就必须选16P或以上规格的母座。对于只做USB 2.0的情况14P母座也可以但一定要在原理图里明确标识哪些引脚悬空、哪些引脚短接避免生产时贴错封装。2.2 CC1/CC2引脚这才是PD快充的命根子Type-C之所以能实现正反盲插和PD快充关键就在CC1和CC2这两个引脚上。CC引脚承担了多重职能检测设备插入方向、协商端口角色、协商供电能力、发现和配置附属设备。具体到VL822配合PD控制器的设计里CC1/CC2一般不会直接连到Hub芯片而是连接到PD控制器由PD控制器通过检测CC线上的下拉电阻Rd或上拉电流源Rp来判断对端设备是什么类型。比如当CC检测到对端是一个DFP比如充电器或电脑主机的Type-C口时PD控制器会把自己配置成UFP模式并尝试通过PD协议协商电压而当对端是一个UFP比如U盘或手机时PD控制器会让自己作为DFP负责提供VBUS。有一点要特别提醒Type-C规范里规定CC引脚必须能承受一定等级的电流能力也就是通过CC线上的不同阻值来通告“我能提供多少电流”。常见的几个档位是默认USB电流500mA/900mA、1.5A和3A。如果设计目标是100W PD快充那CC上的电流通告逻辑、VBUS的预充电和拉载时序都要符合PD规范不能拍脑袋随便接。2.3 SBU1/SBU2引脚很多人都忽略的“信号通道”SBU1和SBU2这两个引脚在Type-C母座里位于A8和B8很多人画原理图的时候直接悬空不管。这在很多Hub设计里确实没问题因为SBU引脚默认是给音频附件、DisplayPort Alt Mode、Thunderbolt等备用模式使用的。但如果你做的是一个带DP输出的拓展坞或者以后想升级成支持视频输出的型号那么SBU1/SBU2就必须提前规划好。在我这个项目里因为当前阶段不涉及视频输出SBU1/SBU2是直接悬空的。但我还是把这两个引脚在原理图里预留了0欧电阻到地的选项以及串阻到PD控制器的位置。这样做的好处是后期如果客户说要加DP Alt Mode硬件改版时可以少一次投板直接在主板上飞线验证。另外提醒一下如果PCB很大、母座离Hub芯片很远SBU1/SBU2走线时不要跟CC线平行长距离走也不要跟高速差分线靠太近否则容易带来耦合干扰。对于不需要用到SBU的型号有些Layout工程师会直接把SBU引脚用电阻接地处理这也可以但要注意不要违反Type-C规范里关于SBU在非使用状态下的电气要求。3. 原理图设计要点从电源树到PD联动3.1 电源树怎么搭VBUS和5V待机怎么分配整个HUB的电源树大概是这样的Type-C母座的VBUS进来后首先经过一个防反接和过压保护电路常用TVS管加P-MOS或专用的负载开关然后分两条路走。第一条路是给PD控制器和Hub待机电路供电。PD控制器需要一组3.3V供电VL822的数字核心需要1.0V左右供电模拟和I/O需要3.3V供电。这部分通常用一颗高效率的Buck或者LDO从VBUS取电转换。因为VBUS的输入电压可能从5V到20V不等如果直接用LDO从20V降到1.0V效率会非常低发热严重所以我选了DC-DC Buck方案。建议预留足够的去耦电容和合理的反馈电阻精度确保在VBUS从5V跳变到20V的动态过程中不会出现过冲。第二条路是VBUS切换通路也就是PD协商完成之后把适配器输出的高压比如20V通过负载开关送到四个Downstream口。这条通路的关键是负载开关的选型要能承受目标功率。比如支持20V/5A那就是100W负载开关的耐压至少要有24V以上的裕量电流能力至少要有5A到6A的余量导通电阻越低越好避免大电流下发热。比较好的做法是给每个下行口单独配一颗负载开关而不是四口共用一颗。虽然共用一颗能省成本但四口同时满载时单颗负载开关的散热和过流保护精度会是大问题而且故障隔离能力差——一个口短路可能导致整个Hub保护断电。3.2 PD握手与VBUS切换VL822、PD控制器、负载开关的分工PD握手和VBUS切换的时序是这个项目里最容易出问题的环节。正常流程是用户插入支持PD的电源适配器PD控制器检测CC线上的Rp发起Source Capabilities报文适配器回复自身的电压电流能力PD控制器根据用户需求或预置策略请求合适的电压档位适配器接受后PD控制器把VBUS_EN电平拉高或通过I2C通知VL822VL822再控制负载开关接通VBUS。这里有一个细节非常关键VBUS_EN信号的时序绝对不能早于PD协商完成否则可能出现适配器还在输出5VHub就把VBUS直接打通给下游设备通了电然后适配器又突然跳到20V这中间的电压跳变对于电流敏感的设备可能是有害的。规范的做法是VBUS_EN必须由PD控制器的“Source Ready”信号或者VL822在确认PD协商结果之后才拉高。我在实际设计里把PD控制器的VBUS_EN直接控制四路负载开关的使能脚同时把VL822的端口电源控制引脚如果有的话也串入了逻辑。如果使用类似VL103这种自带MOS驱动能力的PD控制器可以直接把VBUS路径设计成由PD控制器和负载开关协同控制。3.3 四口电流分配和过流保护四个下行口的电流分配是另一个重要话题。PD适配器可能输出20V/5A到了四个口要怎么分这不是简单地把5A除以4等于每个口1.25A这么简单因为不同设备在不同状态下的电流需求差异非常大。一个外接2.5寸移动硬盘可能需要0.5A到1A一个手机快充可能需要3A甚至更高而一个USB风扇可能只需要0.1A。比较好的策略是给每个口设置独立的限流值同时在总输入侧设置一个系统级过流保护。比如整机最大100W四个口各自设成3A限流但同时限定系统总电流不超过5A超过后按优先级切断非关键端口。这种策略在消费级产品里很常见但实现起来需要MCU或PD控制器的参与因为普通模拟限流开关没法做优先级管理。VL822本身有没有做过流保护根据DatasheetVL822的每个下行口是有一定电流检测能力的但通常只做报告和简单保护精密限流还是要依赖外部的负载开关比如TI的TPS2557、NCP380方案。选负载开关时不能只看电流还要看它的过流响应时间、Fault信号输出和Auto-Retry功能。我选的方案里每个下行口使用独立负载开关Fault信号汇总到PD控制器的一个GPIO中断PD控制器实时读取每个口的电流状态超过阈值时通过I2C给VL822发指令禁用对应端口。3.4 EEPROM配置和I2C调试VL822需要外挂一颗EEPROM或者通过I2C从外部MCU加载配置。配置内容包括端口角色、端口属性、是否开启充电相关功能、VID/PID等信息。很多开发板会把EEPROM省略掉直接用芯片默认配置跑起来但做产品级设计时EEPROM基本是标配因为你需要定制VID/PID、配置端口属性或者关闭某些不用的功能。我在这颗芯片上预留了I2C调试接口同时在EEPROM选型上用了24C02级别的存储因为VL822的配置空间不算大太大的浪费太小的不够存。EEPROM尽量选用支持1.8V至3.6V供电的型号这样可以直接用VL822的I2C电源域供电省去额外的电平转换。关于I2C调试建议在板上预留一个4Pin的调试排针SDA、SCL、GND、VCC_3P3。这样一个USB转I2C适配器就能直接挂上去量产前或者调试时可以通过PC端工具直接读写VL822的寄存器和EEPROM内容。这个调试接口在我这次项目里帮了大忙后面问题排查章节会分享具体案例。4. PCB Layout关键点别让原理图白画4.1 高速差分线怎么走才不翻车VL822的USB 3.0信号是5Gbps速率虽然不算特别高但Layout不规范的话依然可能因为串扰或阻抗失配导致设备识别不稳定。USB 3.0差分对的阻抗要求是90欧姆差分阻抗差分对内部要做到等长误差一般控制在5mil以内。重要的不是绝对等长而是两条线之间的长度差不能太大否则会破坏差分信号的相位关系。在实际操作中我会用阻抗计算工具比如Si9000或Saturn PCB Toolkit根据PCB叠层和目标阻抗推算出线宽和线距。以常见的四层板为例L1层走90欧差分线可能对应线宽0.15mm、间距0.1mm左右但具体数值一定要根据板厂的叠层参数来不能照抄参考设计。VL822的四路下行接口之间最好做隔离和屏蔽处理避免一路的TX/RX信号耦合到另一路。我的做法是每路差分线两侧各打一排地孔形成基本的同轴屏蔽结构。这个方法对提升信号完整性非常有效代价只是多加一些过孔。4.2 CC线和SBU线的处理CC线和SBU线虽然理论上不是高速信号但它们承载的是协议握手和配置信息的传输如果受到干扰可能导致PD协商失败。CC线在Layout时尽量走短、走直远离开关电源的电感、MOS管、高频时钟线等噪声源。SBU线悬空时不需要特殊处理但如果后续要加DP Alt Mode就要提前规划好它们在连接器附近的走线位置。还有一个容易忽略的点是Type-C母座附近的地处理。母座外壳的地和信号地之间要慎重选择是直接相连还是通过RC串联接地。在很多EMI测试中母座外壳通过一个1M欧电阻并联一个0.1uF电容接地能显著改善辐射骚扰的表现。但具体电容电阻值要根据EMI预测试结果来调没有万能的固定值。4.3 电源平面和去耦电容怎么摆VL822-QFN88是好几个电源域共存的芯片Layout时最怕把所有电源引脚直接连到同一个平面上。数字核心供电DVDD的噪声往往比较大如果直接和模拟供电AVDD共用平面会直接影响USB信号的眼图质量。我的做法是把模拟电源域和数字电源域在平面上切分通过磁珠或者0欧电阻单点连接。磁珠选型时要注意电流能力比如VL822核心电流不大选几十毫安级的磁珠就够但如果磁珠放错了位置放在了大电流通路上就很容易发热甚至烧坏。去耦电容的原则是“就近放置”这个谁都懂但实际操作时很容易被走线位置影响。VL822是QFN封装底部的热焊盘可以用来散热但同时也占用了大量扇出空间。建议在芯片背面放置一部分去耦电容尤其是1.0V核心电源的电容因为它在PCB上离芯片引脚最近的那一面放不下太多。5. 常见问题与排查技巧实录5.1 PD握手失败CC线接反了还是哪个阻值不对PD握手失败是调试中最常见也最让人头疼的问题。我遇到过的典型情况有几种第一种是CC1/CC2接反。Type-C母座的CC1和CC2在正反插时会对调所以PD控制器一般会将两个CC引脚都检测。如果你的原理图里CC1和CC2接错正插和反插时各有一半概率无法握手。排查方法也很简单用逻辑分析仪抓CC线上的状态或者用PD诱骗器直接看是否能触发Source Capabilities报文。第二种是CC线上下拉电阻的阻值不对。CC上的Rp电阻决定了电源设备认为你需要多大电流如果电阻取值偏差太大可能导致对端只肯给你500mA或者直接不识别。我遇到过用普通1%精度电阻结果阻值拼错的情况表面看颜色都对实际上因焊盘污染导致变了值。第三种是VBUS还没稳定PD控制器就发了请求。这种情况下适配器会重复发送SourceCap但PD控制器一直没有回Accept导致协议卡死。排查时先确认VBUS检测电阻是否接得正确再确认PD控制器的供电时序是否符合Datasheet要求。5.2 VBUS怎么都导不通负载开关选型和时序问题四口HUB的VBUS通路如果完全不通通常不是Hub芯片的问题而在负载开关或者VBUS路径上的某个细节。我遇到过两个印象深刻的坑。第一次是负载开关的EN引脚极性弄反了。有些负载开关的EN是高电平有效有些是低电平有效画原理图之前没细看结果PCB回来后一上电负载开关默认关断VBUS当然出不去。这种问题在原理图评审阶段就能发现所以建议画完原理图后把每个芯片的EN脚有效电平列个表逐项确认。第二次是VBUS路径上串联了一个用于电流检测的采样电阻但电阻精度不够或者封装太小导致大电流时压降过大下游设备一拉负载VBUS就跌到4.5V以下设备直接断开。后来我把采样电阻改成了低阻值合金电阻并调整了走线让Kelvin检测线直接连接到负载开关两端而不是通过大电流走线间接取电压。5.3 Hub枚举不稳定USB设备识别一会儿有一会儿没有如果VBUS和PD都正常但插入设备后HUB枚举不稳定大概率是信号完整性问题少数情况是供电不足。先检查USB 3.0差分对是否等长、阻抗是否为90欧再看各个下行口的VBUS电容是否足够。我遇到过一个比较隐蔽的问题四口HUB的某一个口插移动硬盘能识别但插U盘就识别不了。后来抓USB波形才发现这个口的D/D-走线过长而且经过了一个不必要的0欧电阻导致信号摆率受影响。把0欧去掉、缩短走线后问题就消失了。供电不足导致枚举失败的情况也很多。特别是四个口同时插设备时如果整机输入只靠PD协商到的5V/3A而两个移动硬盘同时启动瞬间电流加起来超过4A那么VBUS会被拉低整个Hub瞬间重启。解决办法就是把PD协商电压调高到12V或20V同时增加每路口的软启动功能防止瞬态冲击。5.4 快速排查清单我把这次调试过程中的经验整理成一个速查表供大家参考。现象优先排查点常用工具PD握手无响应CC1/CC2连接、Rp/Rd阻值、PD控制器供电逻辑分析仪、PD诱骗器PD协商成功后无VBUS输出负载开关EN极性、VBUS路径串联器件万用表、示波器USB 3.0设备识别为USB 2.0差分线阻抗和等长、TX/RX是否接反示波器、USB测试夹具设备偶尔断开VBUS电压跌落、负载开关过流保护阈值电子负载、示波器四口同时使用掉线系统级过流保护策略、PD电流档位热成像仪、PMT工具5.5 我在这块板上踩过的几个典型坑第一个坑是EEPROM没有正确烧录配置导致VL822上电后枚举出来的PID和VID全是默认值而且某些端口属性不对。后来用USB转I2C适配器对照Datasheet上的寄存器映射表手动烧录配置重新上电后才正常。这里要提醒的是EEPROM内容一定要在第一次上电前就写好不要依赖“先上电默认配置再在线写入”的方式因为很多情况下一旦某个端口已经枚举再改配置不会立刻生效。第二个坑是PD控制器的固件版本。有些低价PD控制器芯片出厂固件对某些快充协议适配不是很好尤其是跟某些充电器协议兼容性差。最好在选型阶段把市面上几款主流的充电器拿来实测一遍而不是只看Datasheet里写的兼容协议列表。第三个坑是QFN封装焊接。VL822-QFN88底部的热焊盘如果虚焊芯片表面看不出来但系统会表现为随机死机或者某路信号时好时坏。建议生产时用X-Ray抽检焊接质量或者至少在样板阶段用万用表确认热焊盘和地的连接是否正常。6. 后续扩展建议如果这个四口HUB后续要做成产品有几个点可以提前规划。一是增加USB PD的E-Marker线缆检测功能这样可以识别和对一些带芯片的Type-C线缆进行配置尤其是支持5A电流的线缆。二是配置成支持DP Alt Mode的双功能扩展坞相当于在HUB基础上叠加视频输出这也是目前Type-C生态里需求量很大的一类方向。前提是SBU1/SBU2引脚在初次设计时就要预留不然改版成本很高。三是考虑固态电容或者钽电容在VBUS输出端的应用四口同时热插拔时的瞬态冲击对普通电解电容是一个考验。我个人在实际操作中的体会是VL822这颗芯片本身并不算难用真正的复杂度都在“周边生态”上——PD控制器怎么选、负载开关怎么配、电源时序怎么调、Layout怎么控制。只要把这几个问题在设计前期想清楚后面调试就会顺畅很多。最后再分享一个小技巧原理图阶段就把每个电源域、每个EN信号、每个I2C地址的作用写在网络标签的注释里不要嫌麻烦。照着这个习惯做后期调板子和对接生产时你会回来感谢自己。

读完文章,也想定制专属网站?

尧图设计师 24 小时内与您沟通定制方案

免费获取报价 →
↑