简介:面向USB 3.1 Gen1四端口HUB硬件设计与调试人员的GL3510原理图PDF,适合需要核对QFN64封装引脚、电源域与外围电路的工程师及电子相关专业学习者参考。压缩包仅含1个PDF文件,体积约427KB,内容为完整原理图图纸,围绕GENESYS LOGIC GL3510展开,覆盖SPI Flash电路、晶振X2电阻、1.2V电源电路以及端口Strapping、Charger、DCP等配置说明。图中可见各电源、USB上行与四路下行信号、PWREN/OVCUR控制及LED指示等模块,版本记录更新至1.50,并标注了正常Hub功能、Port3/Port4非可移除等选项,便于读者快速理解芯片外围连接关系、核对设计要点和排查电路问题。已有2881人学习下载,可作为GL3510方案设计与原理图评审的参考底稿。
1. 从一份 1.50 版原理图说起:GL3510 四口 Hub 能照抄到什么程度
这份 GL3510 原理图 PDF 一共三页,用的是 2017 年到 2019 年之间改了五轮的最终版 1.50,芯片是 QFN64 封装的 USB3.1 Gen1 四口 Hub 控制器,上行一口、下行四口,板上自带 5V 转 1.2V 的电源链路、25MHz 晶振、SPI Flash 位和四路端口限流。很多人拿到原理图 PDF 的第一反应是照着连一遍,但真打出来会发现:连对了不一定能枚举,能枚举不一定能满载,能满载不一定过眼图。这份图的价值不在于“连线”,而在于它把五年里踩过的坑都写在了版本记录和图上那几行小字里,比如FN_B Pull Low : Port Disabled for Port4、Option: When DCP is enabled, connect RESET to Vcc。适合谁看:正在做四口 Type-A 扩展坞、工控机前置面板、KVM 切换器、多口充电数据一体的硬件工程师,以及需要把这份图转成自己板子约束的 PCB 工程师。下面按“图怎么读 → 电源怎么做 → 配置怎么设 → 哪里会翻车”的顺序拆。
2. 版本记录与引脚分组:先把 1.50 版读成一张可施工的图
2.1 五次改版逐条对照,每一版都对应一个真实故障
图框右下角的 History 表是整份 PDF 里信息密度最高的地方,它告诉你哪些地方是“设计选择”,哪些地方是“出过事之后补的”。把这六行读明白,能省掉至少两轮打样。
| 版本 | 时间 | 改动描述 | 落到板子上的含义 |
|---|---|---|---|
| 1.00 | 2017-09 | Formal release | 基线版本,只保证连通性 |
| 1.10 | 2017-10 | change Port3 Strapping Function | Port3 的三态配置逻辑改过,老图直接抄会配错口 |
| 1.20 | 2018-04 | pin assignment change | 引脚分配变过,跨版本抄网表一定对不上 |
| 1.30 | 2019-01 | add SPI Flash circuit | 配置存储从最早的方案切到 SPI Flash,多了一整块电路 |
| 1.40 | 2019-03 | add X'tal X2 resistance | 晶振 X2 脚加了串阻,属于起振裕量问题 |
| 1.50 | 2019-03 | Modify 1.2V power circuit | 1.2V 这一路重画过,这是最值钱的一版 |
我一般会做一件事:把 History 表抄进自己的设计说明文档,每一条改动后面跟一句“我这版是否沿用”。因为跨版本抄图最常见的事故就是拿了 1.20 的网表配 1.50 的 BOM,引脚对不上还查不出原因——万用表一量全是通的,因为通到了错的脚上。
提示:如果手上的 PDF 没有 History 表,或者版本号对不上,先别动手。这份图前后改了五次引脚和配置逻辑,版本错一代,调试时间按天算。
1.20 那条pin assignment change尤其要留意。它意味着你在网上找到的任何“GL3510 参考连法”都可能来自 1.20 之前,尤其是 SPI 那四个脚(P_SPI_DI、P_SPI_DO、P_SPI_CK、P_SPI_CZ)和PLED/FN_C这个复用脚。复用脚是最容易抄错的,因为它一个脚干两件事:做状态灯的时候接 LED 加限流电阻,做配置的时候是三态输入,两种用法外围完全不同。
2.2 QFN64 先分六组,再逐脚核对
64 个脚硬看会晕,先按功能分组,再回头对每个组内的电源和地去耦。这份图的分组大致是这样:
| 分组 | 代表引脚 | 图上处理方式 | 核对要点 |
|---|---|---|---|
| 主供电与内部电源 | 20(5V)、19(SW)、17(FB)、21(V33) | 5V 直入,SW 外接 2.2uH 电感,FB 分压 | 电感饱和电流、FB 走线远离 SW |
| 1.2V 数字域 | 27、56(DVDD12_x)及多个 VP12_x | 每个脚就近 0.1uF | 去耦电容必须贴着脚放 |
| 3.3V 数字域 | 26、62(DVDD33_x) | 就近 0.1uF | 别和 1.2V 去耦混放 |
| 模拟域 | 55、8、35、43(AVDD_1~4) | 独立 0.1uF,串磁珠 | 模拟地和数字地单点汇合 |
| 上行与下行差分 | 38/39/41/42(UP)、各口 TX/RX_DSx | 90Ω 差分,成对走线 | 交叉关系见第 5 章 |
| 配置与状态 | 22(FN_A)、23(FN_B)、24(RESET)、32(PLED/FN_C)、33(OVCUR)、34(PWREN) | 三态电阻、上拉、RC | 悬空/拉高/拉低三种状态别搞混 |
| 时钟与基准 | 44/45(X2/X1)、16(RTERM) | 25MHz 晶振、1% 精密电阻 | RTERM 精度直接影响眼图 |
这张表里有两个脚最容易被忽略。一个是 16 脚的RTERM,它外接一颗 1% 精度的电阻到地,做的是内部端接基准,用 5% 的凑合能开机,但高速眼图会明显变差,属于“能跑但跑不好”的典型。另一个是 19 脚的SW,它是内部开关电源的开关节点,这个节点是整块板子上 di/dt 最大的地方,铜皮面积要小、要短,绝对不能从它下面穿任何信号线。
2.3 三页图纸的阅读顺序:电源 → 主控 → 连接器
三页的分工很清楚:第一页是电源与 1.2V 生成,第二页是主控加四路端口,第三页是连接器、端口供电和差分走线规则。
正确的读法是倒着来:先看第三页右下角那段 NOTE,那里写着整份图的布线底线——差分线宽/间距 6/6/6 mil、对地间隙大于 20mil、阻抗 90Ω、对内失配小于 5mil。这四句话是你后面所有 PCB 约束的源头,先记住,再去看第一页电源。反过来先看主控页,很容易被密密麻麻的网络名带跑,最后画完发现差分阻抗没控。
第二页上还有一行很容易被当成装饰的文字:PLEASE USE 5V Power Adapter。这不是免责声明,是硬约束。5V 输入直接喂给内部开关电源和四个端口的 VBUS 开关,用 9V 或者 PD 诱骗出来的高压,轻则不识别,重则当场报废。
3. 1.2V 电源与复位:整份图纸最容易翻车的一段
3.1 内部 DC-DC 的 SW/FB 环路:2.2uH 与 5.1K/10K 定出的 1.2V
1.50 版专门重画了 1.2V 这一路,说明前面几版在这里吃过亏。核心是三个元件:SW 脚到 1.2V 输出之间的 2.2uH 电感、FB 脚上的分压电阻、输出侧的储能电容。
图上 FB 分压给的是上 5.1K、下 10K。按常见的 0.8V 基准算一遍:
Vout = VFB × (1 + R上 / R下) = 0.8V × (1 + 5.1K / 10K) = 0.8V × 1.51 ≈ 1.208V和 1.2V 标称对得上。这个计算看着简单,但它是你改板时的唯一依据:如果哪天你想“稳妥一点”把上分压换成 10K,输出会变成 1.6V,芯片内部 1.2V 域当场过压。反过来,如果 1.2V 实测偏低,先怀疑的不是电阻,是电感的直流电阻和焊盘。
参数上还有几个点:电感选 2.2uH,饱和电流要留够余量,因为这一路要供的是整个芯片的 1.2V 数字域加四路高速 SerDes,满载不是小数;输出侧并 22uF 加若干 0.1uF,22uF 那颗要贴着电感和输出脚放,0.1uF 分散到各个 DVDD12 脚上。
注意:SW 节点铜皮要小,FB 走线要从输出电容的正极单独拉,不能和 SW 铜皮并行。这两条是开关电源的通用规矩,但在这份图上尤其重要,因为 1.2V 域的负载是高速差分对,电源上一百毫伏的纹波会直接换成眼图上的抖动。
3.2 VBUS_IN 与 VBUS 检测:为什么图上死磕 5V 适配器
输入侧从 DC 座进来,先过磁珠(图上标FB_6A)、再并 150uF 电解加 0.1uF 瓷片,然后分两路:一路进芯片的 5V 脚做主供电,一路进端口限流开关给四个下行口的 VBUS。
这里有两个容易忽略的细节。第一是VBUS_IN和VBUS是两个网络,前者是输入电源,后者是芯片用来检测上行 VBUS 是否存在的采样脚,中间一般走分压。这个采样脚决定了 Hub 知道自己“插在主机上”还是“没插”,接错或者分压比不对,会出现上电后灯亮但不枚举的现象。
第二是上电顺序。5V 先到,芯片内部再生成 3.3V 和 1.2V,最后释放复位。所以复位电路上那个 RC 的电容值不能随手加大,加太大会让复位释放晚于主机枚举的超时窗口,表现出来就是“冷启动第一次不认,拔插一次就好”。这是血泪经验,很多“偶发不识别”最后都追到这颗电容上。
3.3 复位极性与 DCP 使能:RESET 接 Vcc 换来了什么、失去了什么
图上有一行非常关键的小字:Option: When DCP is enabled, connect RESET to Vcc。
翻译成设计动作:如果你要让这个 Hub 支持专用充电端口(DCP,也就是常见的“不枚举也能大电流充电”模式),复位脚要改成常高。但这么改的直接后果是——芯片不再受外部复位控制,上电复位完全依赖内部上电复位电路,同时你也没法用外部信号强制它重启。
也就是说,DCP 使能和“可复位”在这份图上是一个二选一的取舍。做带充电功能的扩展坞,选 DCP;做需要外部 MCU 控制的工控面板,选可控复位。我见过有项目两个都想要,在 RESET 上又接 RC 又接 Vcc,结果 RC 一直在给 Vcc 放电,复位电平卡在中间值,芯片行为变得很玄学。
如果确实需要两者兼得,常见做法是用一颗小封装 MOS 或者开漏缓冲做切换,让 MCU 在需要复位时把 RESET 拉低,其余时间由上拉保持高。代价是多两个器件和一个 GPIO,但比“偶发不启动”好排查得多。
3.4 1.5A 与 6A 这两个数字:限流链怎么配
图上对电流标得很直白:端口侧I(Max) ≧ 1.5A,整板电源侧I(Max) ≧ 6A。
6A 的来源是这么算的:四个下行口各 1.5A,就是 6A,再加上芯片自身和上行口的开销,所以选适配器时 5V/6A 是底线,不是富余。实际做产品我一般会往上取到 5V/7.5A 或者 5V/8A,因为适配器标称 6A 往往是在 25℃ 下的峰值,壳温一上来就打折。
端口限流图上给了两套 BOM,二选一:
| 方案 | 关键器件 | 优点 | 代价 |
|---|---|---|---|
| Polyfuse 方案 | 自恢复保险丝 +PWREN1悬空 | 便宜、器件少、无需控制 | 限流点离散大,恢复慢,不适合 1.5A 长时间满载 |
| Power Switch 方案 | 双路限流开关(低有效使能)+ 680R 标志电阻 | 限流点准、带 FLAG 上报、可关断 | 成本高、需要处理使能极性和过流汇总 |
选 Power Switch 方案时,两个细节必须对上:使能是低有效,所以PWREN输出拉低才是开端口;每路的 FLAG 是开漏输出,要通过 680R 一类的电阻汇总到OVCUR#,并且OVCUR#上要有一颗 100K 上拉加 0.1uF 滤波。这颗 0.1uF 不能省,省了之后插拔瞬间的浪涌会被当成过流,四个口一起掉电再重连,用户看到的就是“插一个设备,四个全闪一下”。
4. Strapping 与端口配置:三个脚决定四个口的行为
4.1 FN_A、FN_B 的三态表,悬空不是“没接”
这两个脚是整份图里最容易出错的地方,因为它们用的是三态编码:拉高、拉低、悬空,三种状态三种含义。图上的注释写得很清楚:
| 引脚 | 状态 | 含义 |
|---|---|---|
| FN_A | 拉高 | 不做 strapping,按默认走 |
| FN_A | 悬空 | Port3 设为 Non-Removable(不可移除设备) |
| FN_B | 拉高 | 不做 strapping,按默认走 |
| FN_B | 拉低 | Port4 禁用 |
| FN_B | 悬空 | Port4 设为 Non-Removable |
“Non-Removable”这个配置的含义是:芯片认为这个口上永远焊着一个设备(比如板载的蓝牙模块、板载的读卡器、板载的 SSD),于是不会去做插拔检测,也不会给这个口断电重枚举。做板载设备的场景非常有用,能省掉一堆枚举失败的投诉。
但坑也在这里:悬空是一个有效状态。如果你按“不用的脚就悬空”的直觉处理,等于主动把 Port3 或 Port4 配成了板载模式,插 U 盘上去不识别,你还以为是差分线画错了。1.10 版专门改过 Port3 的 strapping 逻辑,就是因为这个默认行为坑过人。
我一般的做法是:这两个脚一律用电阻明确拉到高或低,绝不留悬空,除非确实要用板载模式。阻值取 10K 量级,拉高拉到 3.3V 域,别拉到 5V。
4.2 OVCUR# 与 PWREN 的极性对齐
OVCUR#带井号,低有效;PWREN图上标了低有效开关方案。两个信号极性相反,串起来的时候必须算清楚:
- 正常无过流:每路 FLAG 高阻,
OVCUR#被 100K 上拉到 3.3V,芯片认为“无过流”,正常给PWREN输出(低电平开端口)。 - 某路过流:对应 FLAG 拉低,把
OVCUR#拽下来,芯片关断端口并上报。
所以OVCUR#上那颗上拉电阻不能省,也不能拉到 5V。省了之后这根线是浮空的,芯片读到的是随机值,表现出来就是“四个口时好时坏”。这是我在别的项目上踩过的坑,一次调了两天才发现是上拉漏贴。
另外PWREN1在 Polyfuse 方案里要求悬空,这条也别忽略。用了自恢复保险丝还去驱动PWREN,等于让芯片去控制一个不受控的通路,逻辑上是矛盾的。
4.3 SPI Flash 电路:PM25LD512 在 Hub 里存什么
1.30 版新增的这块电路,核心是一颗 512Kbit 的 SPI Flash,八个脚:CS、SO、WP、VSS、SI、SCK、HOLD、VCC,配一颗 0.1uF 去耦。
它存的东西不是“固件”那么简单,主要是三类:
- USB 描述符:VID/PID、产品字符串、端口数量。做品牌产品时这是必须改的,否则四个口插上去显示的是通用 Hub。
- 端口行为配置:哪些口禁用、哪些口做充电专用、充电电流上限。
- 兼容性补丁:某些主机或者某些设备在枚举阶段的时序问题,原厂会通过配置位修。
接线上的两个坑:
注意:
WP#(写保护)和HOLD#(保持)这两个脚不能悬空。悬空时电平不确定,轻则烧录失败,重则上电随机进保护状态,表现为“十次里有一次不启动”。常见做法是两个脚都上拉到 VCC。
还有 CS 脚的上拉。SPI Flash 的 CS 在芯片复位期间应该是高电平,如果主控复位时 CS 是低,Flash 可能进入忙状态,主控起来后第一次读就失败,然后整个 Hub 用默认配置跑——你能用,但改的 VID/PID 全没了,这种“配置不生效”的问题特别难查,因为功能是好的。
4.4 25MHz 晶振与 X2 串阻:1.40 版加的那颗电阻不是玄学
时钟部分是 25MHz 无源晶振,两只 12pF 负载电容,加一颗 1M 并联反馈电阻。1.40 版在 X2 脚上串了一颗电阻,这件事值得单独说。
串阻的作用是限流,抑制晶振的过驱。无源晶振的驱动功率是有上限的,芯片内部反相器的跨导偏大时,晶振会被过驱,短期表现是频率偏移,长期表现是老化加快、几年后批量失效。串阻值一般从几十欧起,具体看晶振的等效串联电阻和芯片的驱动能力,图上给的是预留位,实际按实测调。
判断要不要调的方法很土但有效:用电流探头或者示波器看 X2 脚波形,如果波形顶部和底部有明显削顶,说明过驱,加阻值;如果起振慢或者振幅偏小,说明欠驱,减阻值或者换低 ESR 的晶振。
负载电容那两只 12pF 也别乱改。它们和晶振的 CL 参数是配对的,改大了频率偏低,改小了偏高。USB3 对时钟精度的要求是 ±300ppm 量级,看起来宽松,但那是总预算,晶振本身占大头,剩下的要留给温漂和老化的。
5. 排查清单:照抄这份 PDF 最常翻车的五个位置
5.1 差分对交叉与 90Ω 约束:6/6/6 和 5mil 怎么落到 EDA
先把图上的四句话翻译成 EDA 里的约束:
| 图上写法 | 含义 | EDA 里怎么设 |
|---|---|---|
| trace, space, trace is 6, 6, 6 (mil) | 差分对内单线宽 6mil、对内间距 6mil | 差分对规则:线宽 6、间距 6 |
| Impedance is 90ohm | 差分阻抗 90Ω | 叠层算出来的值要落在这个附近,误差控制 ±10% |
| Ground gap > 20mil | 差分对到其他铜皮/参考地的间隙大于 20mil | 包地间距规则,别为了省面积缩到 10mil |
| Differential pair mismatch < 5mil | 对内两根线长度差小于 5mil | 差分对内等长规则,5mil 是很紧的,走线要提前规划 |
5mil 的失配要求不算最严,但对四口 Hub 这种要走八对差分的板子,布线空间会很紧张。我的习惯是先把上行那一对和最远的下行口定下来,中间三个口再分配,不然画到一半发现某对必须打过孔,等长就崩了。
比阻抗更容易错的是交叉关系。下行口用的是 USB3 Type-A 母座,座子上 5/6 脚是 SSRX-/+,8/9 脚是 SSTX-/+。Hub 的下行口是发送端,所以TXP_DSx/TXN_DSx要接到座子的 SSRX(也就是 5/6 脚),RXP_DSx/RXN_DSx接 SSTX(8/9 脚)。是交叉的,不是直连的。
5.2 五条踩坑记录:现象、原因、解决
第一条:板子插上主机有反应,但设备只以 USB2.0 速度枚举。现象是设备管理器里能看到设备,速度显示 480Mbps,怎么换线都一样。原因通常是下行口的 TX/RX 差分对没交叉,Hub 的发送接到了座子的发送,两边都在发没人收,USB3 链路训练失败后自动降级到 USB2。解决方式是把下行四对差分在原理图层面就按座子定义交叉好,画 PCB 前用网表再核对一遍,四个口逐一确认,别只对第一个口。
第二条:冷启动第一次不识别,拔插一次就正常。现象很典型,插着电开机不认,拔下来重插立刻好。原因大概率在复位 RC 的时间常数上,电容取太大,复位释放晚于主机枚举窗口。解决是把复位电容按推荐值往回缩,同时确认RESET脚没有被 DCP 那路 Vcc 拽住,两个方案别混着用。
第三条:四个口里有固定某一个口永远不识别,其他三个正常。先别怀疑焊接,去查FN_A/FN_B的三态。如果对应的配置脚是悬空状态,这个口就被配成了 Non-Removable(板载模式),插移动设备自然不认。解决是给这两个脚加上明确的上拉或下拉电阻,把状态钉死,不用板载模式就不要留悬空。
第四条:满载的时候四个口一起掉,过几秒自己恢复。典型的过流误报。原因有两个方向:一是OVCUR#的上拉缺失或者接到了 5V 域,电平判断出错;二是滤波电容 0.1uF 没贴,插拔浪涌被当成过流。解决是先补上 100K 上拉到 3.3V 和 0.1uF 到地,再用示波器抓插拔瞬间的OVCUR#波形,看毛刺宽度。如果毛刺确实宽,再考虑在 FLAG 上并小电容做硬件消抖。
第五条:跑大文件传输或者接移动硬盘时随机断连,轻载完全正常。这类问题九成在供电。要么适配器标称够但实际带载掉压,要么端口限流点设得偏低,要么 1.2V 那路的电感饱和电流不够。排查顺序是:先量满载时 5V 输入端到芯片 5V 脚的实际电压(不是适配器输出端),再看 1.2V 纹波,最后看限流开关的限流设定。别一上来就怀疑信号完整性,电源问题在低速场景下也表现为“随机断”。
6. 打样前必过的三道校验:把 PDF 变成可制造文件
第一道是位号与 BOM 的一致性校验。这份图里有大量R/NC(预留不贴)和0R的位号,比如 LED 限流、标志电阻这些,靠眼睛核对一定会漏。我一般会把 PDF 里的位号抽出来,和自己的 BOM 做差集比对:
# 依赖:pip install pdfplumber import pdfplumber import re REF_PATTERN = re.compile(r'\b([RCLUQYJ]\d{1,3})\b') def extract_refdes(pdf_path): refs = set() with pdfplumber.open(pdf_path) as pdf: for page in pdf.pages: # 原理图里的位号通常在文本层,直接抽字 text = page.extract_text() or "" refs.update(REF_PATTERN.findall(text)) return refs def load_bom(bom_path): # BOM 每行第一位是位号,逗号或制表符分隔都兼容 with open(bom_path, encoding="utf-8") as f: return {line.split()[0].strip() for line in f if line.strip()} sch = extract_refdes("GL3510_sch_v150.pdf") bom = load_bom("bom.csv") print("图上没进 BOM 的:", sorted(sch - bom)) print("BOM 里图上没有的:", sorted(bom - sch))这段脚本干的事很朴素:从 PDF 文本层正则抽位号,和 BOM 做双向差集。两个输出都要看——第一行漏进 BOM 的,通常是NC件被误删或者新增的预留位没登记;第二行 BOM 里有图上没有的,说明有人手工改过 BOM 却没同步原理图。参数上只需要改三处:正则里的位号前缀(这份图里有 R、C、L、U、Q、Y、J 七类)、PDF 路径、BOM 路径。跑不通的原因一般是 PDF 是扫描件没有文本层,那就只能手动过一遍,别硬上 OCR。
第二道是上电顺序与静态电流校验。不贴主控先贴电源部分,5V 加电,量 3.3V、1.2V 两路的空载电压和纹波,再量整板静态电流。1.2V 空载应该在 1.2V±3% 以内,纹波控制在几十毫伏;静态电流如果明显偏大,先查有没有器件贴反或者去耦电容短路。这一步能拦掉后面八成“莫名其妙”的问题,因为电源不对的时候,所有信号现象都是假的。
第三道是配置生效校验。烧完 SPI Flash 之后,不要只看“能用”,要去主机侧读描述符,确认 VID/PID、产品字符串、端口数都是你写进去的值。我见过烧录成功但配置没生效的板子,功能全对,量产之后才发现所有产品用的是同一个默认 PID,追溯都没法做。
三道走完再发板,基本能把“抄图抄出来的坑”压到只剩工艺问题。从那以后我每次拿别人的参考原理图开工,都强制走一遍这三道——尤其是第一道差集比对,它救过我两次,一次是漏了个 NC 的限流电阻,一次是 BOM 里多了一颗不该贴的上拉。希望帮到你。
本文还有配套的精品资源,点击获取