立项之前先说点实际的:市面上一个品牌USB3.0 Hub,四口的少说六七十块,接口做工一般的还动不动就供电不稳。自己做一块,物料成本也就三四十,关键是能按自己的需求调整——比如自定义下行口数量、做成自供电、加ESD保护、把信号完整性做扎实。这篇文章围绕我最近做的这个“GL3523主控 + 嘉立创EDA设计 + 1转4 USB3.0高速集线器”项目,把方案选型、原理图设计、PCB布线、打样焊接、性能实测这一整套过程完整记录下来。如果你正准备自己动手做USB Hub,或者想借这个项目练手高速信号的硬件设计,那这篇内容可以直接拿来当参考。
GL3523这颗芯片在DIY圈子里不算冷门,台湾创惟(Genesys Logic)的方案,1转4或者1转7都能做,官方资料比较全,价格也不贵。配合嘉立创EDA专业版画原理图和PCB,再走嘉立创四层板打样,整套流程下来很顺。我这次没有走弯路,但过程中也踩了几个坑,比如差分布线间距问题、供电入口设计不合理导致的电压跌落、还有SPI ROM固件配置等等,下面挨个展开说。
1. 项目概况与方案选型
1.1 为什么我选择GL3523
市面上USB3.0 Hub主控芯片大致有这几类:创惟GL3523、威锋VL817、瑞萨UPD720210、微芯USB5744,还有一些老掉牙的VL810。从性能、资料完整度、采购难度和成本几个维度综合看,GL3523是DIY的“均衡之选”。
先看性能。GL3523支持USB 3.0 Gen1(5Gbps)和USB 2.0(480Mbps)下行扩展,最多支持7个下行口,但最常见的配置是1转4。芯片内部集成USB 2.0和USB 3.0的PHY,不需要额外的物理层芯片;内部还带5V转3.3V/1.2V的稳压器,虽然我实际设计时还是选择了外置LDO增强供电稳定性,但这颗芯片的集成度确实给设计省了不少事。
从资料获取角度讲,GL3523的数据手册和参考设计在网上非常容易找到,立创商城/嘉立创元器件库里有现成的封装和原理图符号,不需要自己从零画。这一点对于用立创EDA做项目的人来说太重要了,因为GL3523的封装是QFN-64,整片引脚又密又小,手动画封装容易出错,用商城现成封装就省心得多。
对比一下VL817,性能确实也不差,还支持USB 3.1 Gen1,但VL817的参考设计和官方资料相对少一些,数据手册常需要找代理商申请,DIY玩家拿到完整版不容易。GL3523则没有这个问题,创惟官网可以直接下载数据手册和参考设计原理图,这点很加分。
成本方面,GL3523散片在立创商城大概十几块钱一片,VL817差不多也是这个价位。但算上外围器件和打样费用,整体项目成本控制在50元以内完全可行,比买成品Hub划算,而且还能学到高速PCB设计的一手经验。
1.2 系统结构与功能规划
设计目标很明确:做一个USB 3.0 1转4集线器,上行口连接电脑或手机(支持OTG场景),下行口接U盘、移动硬盘、读卡器等设备。功能规划上我分了几个模块:
- 上行接口:USB 3.0 Type-A公头,直插电脑主机背板USB口。如果考虑Type-C口OTG场景,可以换成Type-C母座,但需要额外处理CC引脚逻辑,这个后面单独讲。
- 主控模块:GL3523芯片 + 25MHz晶振 + 复位电路 + SPI ROM(用于固件配置)。
- 下行接口:4路USB 3.0 Type-A母座,每个下行口都做ESD保护和过流保护。
- 电源模块:外接5V供电入口,经过防反接TVS和保险丝后,分两路——一路给GL3523的3.3V/1.2V供电,一路直通下行口VBUS。
这样规划的目的是让系统具备“自供电Hub”的能力。USB 3.0规范里每个下行口最多提供900mA,四个口同时满载需要3.6A,仅靠上行口的5V供电根本带不动。所以我在设计时直接把电源入口独立出来,用TYPE-C母座或者DC座从外部供电,上行口的VBUS只负责跟电脑做信号握手和枚举。这样设计的好处是:4口同时接移动硬盘不会掉盘,电压稳、速率也能跑满。
2. 硬件电路设计要点
2.1 主控最小系统与引脚配置
GL3523的最小系统其实很精简,核心就四块:晶振、复位、供电去耦、SPI ROM。
晶振用25MHz无源晶体,并联两个电容接地。关于电容容值,我的经验是配合晶体负载电容选择,常见8pF到20pF不等。我实际测过,用18pF的贴片电容配标称18pF负载的晶体,起振稳定、频率偏差小。如果振荡不起来,优先检查这两个电容和晶体焊盘底下有没有打过孔破坏接地。
复位引脚接RC复位,10kΩ电阻上拉到3.3V,100nF电容下拉到地,这个时间常数足够满足GL3523的上电复位时序。如果想做得更可靠一点,可以用复位监控芯片,比如MAX809这类,但RC电路实测完全够用。
去耦电容这块我多说两句,新手最容易忽略。GL3523 datasheet里会给出每个电源引脚的电容要求,一般每个电源引脚就近放100nF陶瓷电容,然后在主电源输入端放4.7uF~10uF的钽电容或陶瓷电容。我习惯在芯片背面(LQFN-64封装有散热焊盘)打几个过孔到地平面,电容尽可能贴着引脚放,别舍不得这点空间,它对高频去耦和EMI抑制的影响非常大。
SPI ROM是可选件。GL3523内部ROM有一个默认固件,不接外部SPI ROM也能正常工作。但如果想修改设备的VID/PID(比如让电脑识别成自己定义的厂商信息),或者配置特定扩展功能,就需要外接一颗SPI Flash。我用的华邦W25Q16,容量绰绰有余。注意SPI ROM的供电脚加100nF去耦电容,上拉电阻按数据手册配置。
2.2 上下行USB接口与保护电路
USB 3.0的电路,很多人一开始会被连接器引脚搞晕。其实只要理解了信号对的关系就不复杂。USB 3.0 Type-A接口有9个引脚:VBUS、D-、D+、GND、SSTX-、SSTX+、GND、SSRX-、SSRX+。注意USB 3.0比USB 2.0多了两对高速差分线,一对是发送(SSTX±),一对是接收(SSRX±)。
上下行口的接法有一条铁律:公头和母座的Tx/Rx是交叉的。上行口用公头插电脑,下行口用母座给设备。参考GL3523参考设计时,芯片的SSTX引脚必须连接到连接器那一侧的SSRX。我在立创EDA里画原理图时,特意把每条差分网络都加上了“_P”和“_N”后缀,防止布线时脑子一乱交叉连错。
ESD保护千万别省。USB线缆插拔频繁,静电无处不在,尤其是干燥环境下,手摸到Type-C接头瞬间放电的案例太多了。GL3523的引脚耐受度有限,不加保护的话,一次静电放电就可能导致主控挂掉或者链路异常。我每个下行口都加了一颗USBLC6-2SC6作为ESD保护,放在连接器靠近入口的位置,它内部集成两路TVS,专门用于USB高速数据线。如果是四口Hub,每口一对差分线各加两颗,最多8颗,成本不大但可靠性提升明显。
过流保护同样重要。自供电Hub的下行口接的可能是各种大功率设备,万一设备短路,整条电源线都可能出问题。我的方案是每路下行口加一颗USB电源开关芯片,比如MIC2026或AP2141,它内置过流检测,输出过流时自动断开并拉低FLAG信号。用GL3523的GPIO口读取FLAG状态,再通过LED红灯指示过流,这样哪个口出问题一眼就能看到。
2.3 电源系统设计
电源是这次设计的重头戏。我前面说了要设计成自供电Hub,所以电源入口用的是Type-C母座,支持5V/3A以上的输入。Type-C母座的CC1和CC2脚需要分别通过5.1kΩ电阻下拉到地,告诉电源适配器“我是一台需要供电的设备,可以提供5V”。如果CC没配置好,很多PD充电器只会输出默认的5V空闲电压甚至直接不输出,这个细节做Type-C接入时务必检查。
输入5V进来之后,先过一颗自恢复保险丝(PTC)做过流保护,然后并联TVS管做浪涌防护。之后分两路:一路直接供给四个下行口的VBUS,每个口的VBUS再单独加PTC;另一路经过LDO(AMS1117-3.3)降到3.3V给GL3523主控。GL3523内部还有一个1.2V核心电压,数据手册允许用内部稳压器,但我实测发现内部稳压器在大负载下发热明显,所以我在3.3V后面又加了一颗LDO降至1.2V。
这里有个很重要的布线原则:电源路径的走线宽度必须够。5V/3A的电流,如果走线宽度只有10mil,线路压降就会很明显,实测可能掉到4.7V甚至更低,USB设备直接识别失败。我设计时电源主线走1.5mm宽,铜箔厚度1oz,测试时满载压降控制在0.15V以内,这个数据是可以接受的。
3. 立创EDA实操:从原理图到PCB
3.1 原理图绘制与封装核对
原理图绘制我直接用了嘉立创EDA专业版。它的元器件库可以直接调用立创商城入库的GL3523封装,省去手动画QFN-64的痛苦。但我强烈建议在画完原理图之后,逐脚核对一遍封装引脚和datasheet的引脚定义,别完全信任现成库——我遇到过文库封装脚位顺序和手册不一致的情况,虽然概率低,但万一踩到就是整板白做。
绘制时我把电路分成几个功能区块:上行接口、主控最小系统、SPI ROM、四路下行接口、电源管理、LED指示。每个区块用网络标签连接,避免原理图布线太乱。ERC检查要全开,尤其是对悬空引脚(NC引脚)和供电口的检查。GL3523有很多电源引脚,如果某一路忘记接VDD,上电后芯片会异常发热,甚至直接烧毁。
3.2 层叠、阻抗控制与布线规则
到了PCB阶段,最关键的就是阻抗控制。USB 3.0的差分信号要求90Ω±10%的差分阻抗。如果阻抗不匹配,信号反射会导致眼图塌陷、误码率上升,直接表现就是设备偶尔认不到、速率只能跑USB 2.0。
嘉立创EDA专业版内置了一个阻抗计算工具,我在“设计”菜单里找到“阻抗计算器”,选好表层微带线模型、板厚1.6mm、铜厚1oz、介电常数4.3,输入目标差分阻抗90Ω,工具会给出推荐线宽/线距。我这次用的是4层板,表层到内层介质厚度约0.1mm,算下来线宽大概0.1mm、间距0.09mm。如果是两层板做高端口密度USB3.0 Hub,阻抗控制会比较吃力,所以我强烈建议直接上四层板,成本差距不大,但信号质量完全两个水平。
差分布线的核心规则是:一对差分线内严格并行走线,线宽线距一致,不打孔,不走跨分割区域;差分对之间包地隔离,避免串扰;多对差分线的长度尽量匹配,尤其从主控到四个连接器,最长和最短的差控制在50mil以内。
3.3 布局与等长处理
布局上我采用“主控居中、四路下行口均匀分布四周”的思路。GL3523放在板子中心偏上位置,四个Type-A母座两两分布在左右两侧,这样主控到每个下行口的差分走线长度天然比较均匀,方便等长。上行Type-A公头放在板子顶部,通过线缆连接电脑。
等长处理是一个需要耐心的活儿。嘉立创EDA专业版有交互式长度匹配功能,可以设置目标长度范围,软件会高亮显示最短/最长走线,然后通过手动微调蛇形走线来拉齐长度。我用的是“S蛇形”填充,注意蛇形走线的间距要保持在3倍线宽以上,否则会产生额外的寄生耦合。
过孔是另一个高速布线的细节。差分信号线不要频繁换层,每换一次层就会引入阻抗不连续点。实在必须换层时,尽量在过孔旁边加一个地过孔,提供回流路径,减小回路面积。我用四层板,把SSTX/SSRX全走在顶层和底层,内层走电源和地,这样信号层和参考平面完全是紧耦合,效果最好。
4. 打样、焊接与调试
4.1 BOM与关键器件
BOM这块我列一下实际用到的核心物料,方便直接抄作业。GL3523主控一颗、25MHz晶振一颗、W25Q16 SPI ROM一颗(可选)、AMS1117-3.3和AMS1117-1.2各一颗、USB 3.0 Type-A公头一个、Type-A母座四个、Type-C电源入口母座一个、PTC自恢复保险丝若干、TVS管若干、USBLC6-2SC6 ESD保护管四颗(每下行口一对)、去耦电容电阻若干、LED指示四个。
电阻电容我统一用0603封装,个别电源去耦用0805。0603手工焊接还不算太痛苦,0402虽然更小但对焊工要求高,容易虚焊。QFN-64底部的暴露焊盘(EP)必须开钢网刷锡膏,手工烙铁很难把大面积的EP焊好。如果没条件开钢网,可以手动在EP上涂一层薄薄的锡膏,然后用热风枪吹焊,效果比烙铁好得多。
4.2 嘉立创打样流程与工艺选择
打样我用的是嘉立创,流程上没啥绕弯子的:先在嘉立创EDA专业版生成Gerber文件,然后上传到嘉立创下单助手,选择工艺参数在线预览PCB效果,最后付款下单。四层板现在有免费打样活动,每个月可以领券免费打样几次,超出的也就几十块钱,很划算。
工艺参数上我选了FR-4板材、板厚1.6mm、外层铜厚1oz(大电流区域额外要求2oz)、表面处理喷锡。如果是给产品批量做,建议用沉金工艺,表面平整度高,利于高速信号和高密度引脚焊接。但DIY打样用喷锡足够了,便宜且实用。
下单前,我会在嘉立创EDA里做一次DRC检查,特别关注最小线宽、最小线距、最小过孔外径是否满足嘉立创工艺能力(常规四层板最小线宽0.1mm、最小线距0.1mm、最小过孔外径0.4mm)。如果DRC报错,先别急着改线,很多是封装本身带来的丝印冲突,可以手动忽略,但涉及电气安全的问题必须修改。
4.3 焊接与上电调试
焊接顺序很重要,我先焊电源部分,再焊GL3523和SPI ROM,最后焊USB座和外围器件。焊完先不急着插电脑,用万用表量一遍各路电源对地阻抗,防止上电瞬间短路。
上电调试时,我接了一个USB电流表,先空载测输入电流,正常应该在几十毫安以内。再插电脑,看系统能否识别到“USB 3.0 Hub”。如果识别不了,先测25MHz晶振两个引脚是否起振,再查复位引脚电平,最后查SPI ROM有没有正确加载。我调试时碰到过一次晶振不起振,原因是晶振焊盘底下有过孔,导致焊锡流到过孔里和地平面短路了,这个问题很隐蔽,排查了半小时才找到。后来的解决办法是换用卧式晶振封装,彻底避开焊盘下方过孔。
5. 性能实测:速度、供电与稳定性
5.1 测试平台与测试方法
测试平台我用了一台带原生USB 3.0接口的台式机(Intel芯片组),操作系统Windows 11,测试工具CrystalDiskMark 8,固态硬盘用了一块SATA接口的SSD装在USB 3.0硬盘盒里。对比项有两条:一个是SSD直接插主板USB 3.0口(直插基线),另一个是SSD通过自制的Hub下行口与主板相连(过Hub路径)。
另外我还用USB电流表记录了空载和满载时的电压。测试设备:电子负载仪(模拟高功率设备)、两只USB 3.0移动硬盘、一个USB 3.0 U盘、一台USB风扇。
5.2 读写速度对比与链路协商
先看CrystalDiskMark跑分。直插主板USB 3.0口时,这块SATA SSD连续读取约460MB/s,连续写入约420MB/s。通过自制Hub之后,连续读取约455MB/s,连续写入约415MB/s。性能损耗约1%,这个结果在正常范围内,因为USB 3.0 Hub的转接损耗本来就是微小量级的,链路本身的带宽瓶颈一般都在存储设备端。
我还特别检查了设备管理器里Hub的链路速度,运行状态显示“SuperSpeed”(5Gbps),说明USB 3.0链路协商成功。如果这里显示“High-Speed”(480Mbps),就说明USB 3.0线路没跑起来,大概率是差分对布线或焊接问题,需要回头查阻抗和虚焊。
4K随机读写这类小文件性能同样测了,损耗稍微明显一点(约3%-5%),这是Hub桥接方案普遍存在的现象,因为增加了TT(Transaction Translator)处理USB 2.0控制信号的延迟。但日常使用体感差别不大。
5.3 供电能力与高温拷机
供电能力测试我分了三档。空载时输入端5.1V,下行口VBUS实测5.08V。接一个移动硬盘满载时,下行口电压5.03V,跌落80mV左右。四个下行口全部接上大功率设备(移动硬盘两个、U盘一个、USB风扇一个),总电流接近2.4A,下行口最低电压4.91V,仍在USB规范要求的4.75V以上。
拷机测试跑了两个小时,持续往移动硬盘里写入大文件,同时四个口都保持工作状态。GL3523外壳温度用手背触摸只是微温,估计不到40℃。AMS1117-3.3稍微热一点,但也在范围内。这个成绩说明布局和散热焊盘处理是到位的,没有出现压降过大或者过热保护的情况。
6. 常见问题排查与避坑实录
6.1 不识别/只有USB2.0速度
电脑识别不到Hub,或者识别到了但速率只有USB 2.0,这是做USB 3.0 Hub最常遇到也最让人头疼的问题。我的排查顺序是这样的:
第一步,量电。确认各电源引脚电压正常,尤其3.3V和1.2V。AMS1117的输出电流能力有限,如果负载过重导致电压被拉低,芯片不会正常工作。
第二步,查晶振。用示波器(或者万用表的频率档)测25MHz晶体两个引脚,确认有稳定的正弦波输出。没有示波器的话,可以在晶振两个引脚上并联一个示波器探头进行测量。
第三步,查SPI ROM。如果外挂了SPI ROM,确认固件已经正确烧录,且SPI Flash的CS引脚在正常读取时有电平跳变。没有逻辑分析仪的话,可以用万用表量CS引脚电压,正常上电后会有一个从高到低再到高的跳变。
第四步,查USB 3.0差分对。用万用表二极管档测SSTX/SSRX差分线对地是否有短路,以及TX和RX对之间的阻值是否正常。注意USB 3.0的差分对之间有直流耦合和寄生电容,阻值不是0,但也不应该是短路的0欧姆。
第五步,查焊接。QFN-64这种高密度封装很容易虚焊和连锡。我调试时发现USB 3.0链路协商不成功,最后用放大镜仔细看,发现GL3523其中一个SSTX差分对引脚有轻微连锡,把相邻两个引脚短在一起了。用热风枪补吹后解决。
6.2 掉盘、过流与信号完整性问题
下行口接移动硬盘时频繁掉盘,大部分原因是供电不稳。我调试阶段遇到过:移动硬盘在Windows里拷贝大文件时随机掉盘,设备管理器里显示“已断开连接”。排查下来是PTC自恢复保险丝的维持电流选小了,移动硬盘启动瞬间电流很大,PTC误触发保护。换了一颗额定电流2A的PTC后问题消失。
还有一种情况是信号完整性问题导致的掉盘或速度波动,尤其是差分走线长度不匹配、过孔过多、参考平面被破坏。症状是:设备能识别,但工作一段时间后USB链路自动降速到USB 2.0,甚至直接断开。这时候最有效的排查方法是借助USB分析仪(比如华硕/绿联的USB3.0协议分析仪)查看链路训练是否反复失败。没有分析仪的话,先检查差分走线上有没有打孔、有没有跨分割、有没有和时钟线/电源线长距离平行,这些都是潜在干扰源。
6.3 立创EDA设计与打样中的坑
用立创EDA做这个项目,我也踩了不少坑。第一个坑是自建封装时把丝印层画在了顶层阻焊层上,导致打样回来丝印看着混乱。现在绘制封装时我会严格分layer:顶层丝印、顶层阻焊开窗、顶层铜箔各归各,不在丝印层画线到铜箔层。
第二个坑是覆铜。立创EDA的覆铜工具在遇到热焊盘时可能出现“格子铺铜”连接不完全的问题,导致大面积铜箔和地焊盘连接不充分。我在四层板的顶层和底层都做了整板地覆铜,但GL3523的EP焊盘我改成了“全连接”模式,确保散热和接地性能。如果保留默认的十字热焊盘连接,EP焊盘的过孔可能会因为阻焊桥而断开,导致芯片散热不良。
第三个坑是打样时的“免费板”文件检查。嘉立创免费打样对PCB尺寸有严格限制(一般要求10cm×10cm以内),超出部分收费。我这个Hub板子尺寸控制在8cm×6cm,卡在免费范围内。下单前我导出了Gerber文件,用在线Gerber预览工具快速检查了一遍每一层内容是否正确——尤其是有没有漏掉地层或丝印层、有没有出现多余的走线——这一步不能省,比交完钱才发现问题强得多。
7. 个人总结与后续玩法
7.1 这个项目的价值与扩展方向
做一个USB 3.0 Hub,表面上是个简单的功能扩展板,但仔细做下来,它其实涵盖了高速差分信号设计、电源完整性、ESD防护、固件配置、PCB工艺参数等硬件开发的多个核心知识点。做完这一板,你对USB协议的理解、对“信号完整性”这个抽象概念的认知都会上一个台阶。
后续还可以往几个方向扩展:一是把上行口改成Type-C母座,增加CC逻辑后就能直接接手机OTG,实现手机外接U盘、键鼠等场景;二是在GL3523的SPI ROM里自定义VID/PID,让Hub显示成自己喜欢的厂商信息;三是加一颗I2C EEPROM,通过I2C接口把4个下行口配置成Charge Downstream Port(CDP),实现快充充电。这些玩法都不难,网上资料也比较多,改起来就像搭积木。
7.2 最后分享两个小技巧
第一个技巧是关于四层板层叠顺序的。我这次用的层叠是“信号层-地层-电源层-信号层”,也就是把第二层设为完整地平参考层。这样的好处是:顶层高速差分信号的回流路径最短,而且第二层的地平面能够有效屏蔽内层电源的噪声。千万不要把信号全放同一层,另一层只走电源和网络杂乱,这样高速信号跨分割的风险非常大。
第二个技巧是焊接QFN-64时,可以用放大镜配合侧光源斜着检查引脚和PCB焊盘的贴合情况。如果发现某个引脚存在“亮点”反光,大概率是虚焊;如果相邻引脚之间多出一小团亮锡,就是连锡。我第一次焊完板子插上电脑只有USB 2.0速度,就是用这招查出了连锡。焊接这个环节,细心比熟练更重要。
这板子打完样之后我用了三个月,从日常拷贝文件到外接移动硬盘做系统备份,一直很稳定。看到系统里“SuperSpeed”几个字,那种“这块板子是我自己画出来的”满足感,比买十个成品Hub都要强。如果你也想挑战一下自己动手做一块USB 3.0 Hub,按着这篇文章的思路一步步来,耐心点,你一定也能做出来。