
1. 项目缘起与整体设计思路1.1 为什么选沁恒CH334R做4口USB2.0 HUB手头攒了一堆USB设备键盘、鼠标、U盘、调试器、串口模块每次插拔都得钻到机箱后面去摸接口烦得很。市面上几十块的HUB不是供电拉胯就是芯片方案不明拆开一看经常是那种连丝印都磨掉的牛屎片。索性自己画一个方案可控、用料透明还能顺手把彩色丝印玩一把。选主控芯片的时候对比了几家SL2.1A便宜但外围电路略多FE1.1s是老牌方案但假货泛滥GL850G性能稳但价格偏高。最后锁定沁恒的CH334R理由很直接——这颗芯片是USB2.0全速HUB控制器支持4个下行端口内置5V转3.3V LDO外围只需要一颗晶振和几个阻容就能跑起来QFN封装体积小最关键的是沁恒原厂资料齐全数据手册里连参考原理图都给你画好了对个人DIY来说省心程度拉满。CH334R的几个核心参数值得记一下符合USB2.0规范支持全速12Mbps和低速1.5Mbps设备上行端口支持全速下行端口自动识别设备速度。内置PLL和LDO外部只需要提供5V供电和12MHz晶振。每个下行端口都有独立的过流检测和电源控制引脚这意味着你可以给每个口单独做过流保护而不是四个口共用一个保险丝——这一点在实际使用中差别很大后面会细说。1.2 4口HUB的整体架构拆解整个板子的功能框图其实很清晰上行USB口从电脑取电取数据5V进来之后分两路走一路直接供给四个下行口的VBUS另一路经过CH334R内置LDO稳成3.3V给芯片自身供电。数据方面上行D D-差分对进芯片芯片内部完成差分信号的一分四分别送到四个下行口。这里有个设计决策需要提前想清楚总线供电还是自供电。总线供电就是完全靠电脑USB口那500mAUSB2.0标准来带四个口实际分下来每个口平均125mA插个U盘还行插移动硬盘必挂。自供电就是板子上留一个DC电源座或者Type-C供电口外接5V电源单独给下行口供电电脑只负责数据传输。我选的是自供电方案板上留了一个DC-050座子同时兼容从上行口取电的跳线选择灵活性更高。过流保护这块CH334R每个下行口都有OCOver-Current检测引脚和PWRENPower Enable控制引脚。标准做法是每个口配一颗限流开关芯片比如常用的MIC2025或者SY6280当电流超过设定阈值时OC引脚拉低通知CH334R芯片自动切断该口供电并上报给主机。四个口就是四颗限流芯片成本增加不多但安全性和稳定性提升明显。我见过不少廉价HUB四个口共用一个自恢复保险丝一旦某个口短路四个口全部掉电体验极差。1.3 彩色丝印的设计考量彩色丝印是这次项目的另一个重点。传统PCB丝印只有白色一种颜色顶多加上阻焊层的颜色变化绿板、蓝板、黑板、红板。彩色丝印工艺是在PCB表面通过多次丝印套色实现多种颜色的图案和文字。嘉立创目前支持在阻焊层上做彩色丝印具体是在顶层丝印层用不同颜色的油墨分次印刷。设计彩色丝印有几个硬性约束必须提前知道最小线宽和间距。彩色丝印的精度比普通白色丝印要低一些一般建议线条宽度不小于0.15mm不同颜色之间的间距不小于0.2mm否则套色时容易糊在一起。另外彩色丝印只能放在顶层或底层不能放在内层。图案设计上我建议用矢量软件先画好再导入EDA工具直接在里面画复杂图形效率太低。我这次的设计思路是板子正面用深蓝色阻焊打底丝印用白、黄、红三色。白色画边框和主要标注黄色画USB口的编号和方向箭头红色画Logo和装饰线条。整体风格偏赛博朋克一点但不过分花哨保证功能标注清晰可读。这里要提醒一句彩色丝印会增加制板费用和工期嘉立创的彩色丝印属于特殊工艺价格比普通丝印贵不少打样阶段要有心理准备。2. 原理图设计与关键元器件选型2.1 CH334R最小系统电路打开立创EDA专业版新建工程第一步就是放CH334R的原理图符号。立创EDA的元件库里有沁恒的官方符号直接搜CH334R就能找到。如果库里的符号引脚定义和最新数据手册有出入以数据手册为准自己改一下符号。CH334R的最小系统包含以下几部分供电部分VDD5引脚接5V输入旁边放一个10uF的钽电容和一个0.1uF的陶瓷电容做去耦。VDD33引脚是内部LDO的输出接一个1uF电容到地。这里注意VDD33不要外接负载它只给芯片内部电路供电带不动外部设备。晶振部分XI和XO引脚之间接一个12MHz的无源晶振晶振两端各接一个20pF的电容到地。晶振的负载电容要根据晶振规格书来选一般12MHz晶振的负载电容是12pF到20pF之间。我用的是一款常见的12MHz贴片晶振负载电容12pF所以外部电容选的是18pF左右实际测试频率偏差在可接受范围内。如果对时钟精度要求高可以用有源晶振但成本高且占地方USB2.0全速对时钟精度的要求没那么苛刻无源晶振完全够用。复位部分CH334R内部有上电复位电路RESET引脚接一个10k上拉电阻到3.3V再并一个0.1uF电容到地即可。不需要额外的复位芯片。上行端口UD和UD-接上行USB口的D和D-串联两个22欧姆的匹配电阻。这两个电阻不能省它们用于阻抗匹配减少信号反射。USB2.0全速模式下差分线的特性阻抗要求是90欧姆串联电阻配合PCB走线可以逼近这个值。下行端口四个下行口分别对应D1 D1-到D4 D4-每个口同样串联22欧姆电阻。每个口的PWREN引脚接限流开关的使能端OC引脚接限流开关的故障指示输出。2.2 限流开关与过流保护设计限流开关我选的是SY6280这是一颗SOT23-5封装的限流开关输入电压范围2.5V到5.5V可编程限流值通过外部电阻设定最大支持2A。对于USB2.0下行口来说标准要求是每个口至少500mA我设定限流值在1A左右留足余量。SY6280的典型应用电路很简单VIN接5VVOUT接USB口的VBUSEN使能脚接CH334R的PWRENISET脚接一个电阻到地设定限流值OC脚是开漏输出接一个10k上拉到3.3V后连到CH334R的OC引脚。限流值计算公式是I_limit 20.5 / R_ISET单位A和kΩ要设定1A的话R_ISET取20kΩ左右。实际我用的是20kΩ实测限流点在0.95A到1.05A之间一致性还不错。这里有个细节要注意SY6280的OC引脚是开漏输出需要上拉。上拉电压用3.3V因为CH334R的OC引脚是3.3V电平不能直接上拉到5V否则可能损坏芯片。另外OC引脚在正常工作时是高电平故障时拉低CH334R检测到低电平后会切断对应口的供电并上报主机。四个口就是四颗SY6280加上CH334R本身板子上的有源器件就这些。成本算下来CH334R大概两三块钱SY6280每颗几毛钱整体BOM成本控制在十块钱以内比买成品HUB划算得多而且用料自己心里有数。2.3 USB接口与ESD防护USB接口我选的是Type-A母座直插式的四个口并排放在板子一侧。选直插而不是贴片的原因是直插座子机械强度更好插拔时不容易把焊盘拽掉。Type-A母座的封装在立创EDA库里有现成的直接调用即可。ESD防护这块每个USB口的D D-线上都要加ESD保护器件。我选的是SRV05-4这是一颗四通道的TVS阵列SOT23-6封装结电容只有1pF左右对USB2.0全速信号影响很小。SRV05-4放在靠近USB座子的位置走线尽量短先过ESD器件再进芯片这是标准做法。VBUS线上也建议加一颗TVS防止电源线上的浪涌。我用的是SMAJ5.0A单向TVS击穿电压6.4V钳位电压9.2V响应时间纳秒级。虽然SY6280本身有一定的过压保护能力但多加一级防护不亏。2.4 电源路径与跳线设计电源部分我设计了一个三选一的跳线可以选择从上行USB口取5V也可以从DC座子取5V或者从排针取5V。跳线用2.54mm间距的排针加跳线帽实现简单可靠。DC座子选的是DC-050内正外负5.5mm外径2.1mm内径这是最常见的规格。电源路径上放了一颗SS34肖特基二极管做防反接正向压降0.5V左右5V进来之后变成4.5V对USB设备来说完全在可接受范围内USB2.0允许的VBUS范围是4.4V到5.25V。如果对压降敏感可以用理想二极管电路但那就复杂了个人DIY没必要。每个下行口的VBUS上再放一颗0.1uF电容做高频去耦大容量电容100uF以上放在电源入口处不要每个口都放否则上电时浪涌电流太大可能触发电脑的过流保护。3. PCB布局布线与彩色丝印实操3.1 板框设计与层叠规划板子尺寸定在80mm x 50mm双面板板厚1.6mm阻焊深蓝色字符白色加彩色。为什么选这个尺寸四个Type-A母座并排每个座子宽度约13.5mm四个就是54mm加上两侧的固定孔和边缘留白80mm比较合适。高度方向CH334R和限流开关占不了多少地方主要是给彩色丝印图案留空间50mm够用。层叠方面双面板就两层顶层信号加丝印底层走电源和地。顶层尽量走差分线和信号线底层铺地铜。USB差分线走在顶层参考底层地平面这样特性阻抗比较好控制。虽然USB2.0全速对阻抗要求不像高速那么严格但养成好习惯没坏处。固定孔用M3的四个角各一个孔径3.2mm周围留出6mm的禁布区防止螺丝头压到走线。固定孔接地通过过孔连接到地平面顺便起到屏蔽作用。3.2 差分线布线与星型接地实操USB差分线的布线是这块板子的核心。CH334R的上行D D-和四个下行D D-都是差分对总共五对差分线。布线规则如下差分对内部等长D和D-的长度差控制在5mil以内。全速USB的速率是12Mbps对应波长25米5mil0.127mm的长度差引入的相位差微乎其微但这是基本要求能做到就做到。差分对之间间距不同差分对之间的间距至少保持3倍线宽。线宽我设的是6mil间距就是18mil以上。这样做的目的是减少串扰。差分线走线宽度和间距顶层走线参考底层地平面介质厚度约0.2mmFR4的介电常数约4.4要得到90欧姆的差分阻抗线宽6mil、间距6mil是一个比较接近的组合。我用立创EDA自带的阻抗计算器算了一下实际值在92欧姆左右偏差在可接受范围内。星型接地这是热词里提到的重点。星型接地的核心思想是每个子电路的接地电流回路独立回到电源接地点避免不同电路之间的地电流相互干扰。在这块板子上我把地分成几个区域CH334R的模拟地晶振和PLL相关、数字地芯片核心和IO、USB口的屏蔽地、电源地。这些地在板子上通过0欧姆电阻或者磁珠单点连接最终汇聚到电源入口处的接地点。实际操作中我在底层铺地铜的时候用立创EDA的“铺铜”功能设置不同的网络和间距。CH334R底部的散热焊盘要打过孔阵列连接到地平面既散热又提供低阻抗接地路径。晶振下方的地要单独处理不要被数字信号污染晶振外壳接地。3.3 彩色丝印图案设计与导入彩色丝印的设计流程和普通丝印不太一样。普通丝印直接在EDA里画线放文字就行彩色丝印需要分图层、分颜色处理。嘉立创的彩色丝印工艺要求提供单独的丝印层文件每种颜色一个层。我的做法是先在Inkscape里画好矢量图导出为DXF格式然后在立创EDA里导入DXF到对应的丝印层。立创EDA专业版支持导入DXF文件到指定层这个功能很实用。导入的时候注意单位选择毫米比例1:1不要缩放。颜色分配上白色丝印层放功能标注和边框黄色丝印层放USB口编号和方向指示红色丝印层放Logo和装饰图案。每种颜色的图案要分开导入到不同的层嘉立创下单的时候会要求你指定哪一层对应哪种颜色。这里有个坑要提醒彩色丝印的油墨叠加顺序会影响最终颜色。如果两种颜色的图案有重叠后印的颜色会覆盖先印的。所以设计的时候要避免不同颜色图案重叠如果确实需要叠加效果要提前和板厂确认叠印顺序。我这次的设计里所有颜色都是分开的没有重叠省去了这个麻烦。3.4 丝印与阻焊的配合细节彩色丝印是印在阻焊层上面的所以阻焊开窗的地方丝印印不上去。这意味着如果你的丝印图案正好在焊盘上那个位置会露出焊盘而没有丝印。设计的时候要注意丝印和焊盘保持至少0.1mm的间距否则板厂做DFM检查时会报错。另外彩色丝印的附着力比普通丝印稍差一些尤其是在阻焊层边缘处。所以丝印图案不要设计得太细最小线宽0.15mm是底线再细的话良率会下降。我这次最细的线条是0.2mm打样出来效果很清晰没有断线或糊边。还有一点彩色丝印会增加板子厚度。每印一层油墨厚度增加约10到15微米。三层彩色丝印加上阻焊层总厚度增加约50微米。对于大多数应用来说这不算什么但如果你的板子要插到很紧的插槽里就要把这个厚度考虑进去。4. 打样文件输出与焊接调试实录4.1 立创EDA导出Gerber与打样下单原理图和PCB都画完之后下一步是导出Gerber文件。立创EDA专业版的导出路径是文件 - 导出 - Gerber。导出的时候要勾选所有需要的层顶层铜、底层铜、顶层阻焊、底层阻焊、顶层丝印、底层丝印、顶层钢网、底层钢网、板框、钻孔文件。彩色丝印的话还要额外导出对应的彩色丝印层。导出之后立创EDA会生成一个压缩包里面是各个层的Gerber文件。不要直接把这个压缩包上传到嘉立创下单先用立创EDA自带的Gerber查看器检查一遍确认没有缺层、没有错位。我见过有人导出时忘了勾选底层阻焊结果板子回来底层焊盘全被阻焊盖住焊都焊不上。检查无误后在嘉立创下单页面选择“PCB打样”上传Gerber压缩包。板子参数按之前定的填双面板、1.6mm厚、深蓝色阻焊、白色字符、彩色丝印。彩色丝印需要在特殊工艺里勾选然后上传对应的彩色丝印层文件。嘉立创的客服会审核文件如果有问题会打电话沟通所以下单时留的电话要保持畅通。4.2 BOM整理与元器件采购BOM这块立创EDA可以自动导出BOM表包含位号、型号、封装、数量。导出后我习惯手动核对一遍重点检查几个地方CH334R的封装是不是QFN-28不同批次的芯片封装可能有细微差别SY6280的封装是不是SOT23-5USB座子的封装是不是Type-A母座直插。采购渠道上CH334R我是在沁恒的官方渠道买的保证正品。SY6280和阻容在立创商城配齐一站式采购省运费。晶振、TVS、肖特基二极管这些通用器件在立创商城都有现货价格透明。这里分享一个经验QFN封装的芯片尽量买编带的不要买散装的。散装QFN芯片的引脚容易氧化变形手工焊接时很难对准。编带的芯片取出来就是平整的焊接成功率高很多。另外CH334R的QFN封装底部有散热焊盘焊接时需要热风枪从底部吹或者用预热台加热单纯用烙铁很难焊好。4.3 手工焊接顺序与温度曲线焊接顺序很重要先焊矮的、耐热的再焊高的、怕热的。我的顺序是先焊CH334R和SY6280这些QFN和SOT23封装的芯片再焊阻容然后焊晶振和TVS最后焊USB座子和DC座子这些大件。CH334R的焊接是难点。QFN-28封装引脚间距0.5mm手工焊接需要一定的技巧。我的做法是先用烙铁在焊盘上薄薄上一层锡然后用镊子把芯片放上去对准用热风枪调至280度风量调到最小从芯片上方均匀加热。看到锡融化后芯片自动归位再吹几秒让底部散热焊盘的锡也融化。冷却后用放大镜检查引脚有没有连锡有的话用烙铁加助焊剂清理。SY6280是SOT23-5封装相对好焊。先焊一个引脚固定再焊其余四个。注意不要焊太久SOT23封装的塑料本体耐温有限烙铁停留时间不要超过3秒。USB座子的焊接要注意直插座子的固定脚要加足够的锡保证机械强度。信号引脚不要焊太久否则塑料芯会融化导致引脚移位。我一般用刀头烙铁一次焊两个引脚速度快。4.4 上电测试与常见故障排查焊接完成后不要急着插电脑。先做目视检查确认没有明显连锡、虚焊、元件方向错误。然后用万用表测一下5V和3.3V对地的电阻正常应该在几百欧姆以上如果接近0欧姆说明有短路必须排查。确认没有短路后先不插上行线只接DC电源测3.3V输出是否正常。CH334R的VDD33引脚应该有3.3V电压如果不对检查LDO相关电容和芯片焊接。3.3V正常后插上行线到电脑电脑应该能识别到一个USB2.0 HUB设备。如果识别不到检查晶振是否起振用示波器看XI引脚有没有12MHz波形检查D D-有没有接反。识别到HUB之后逐个插下行口测试。每个口插一个U盘看电脑能不能识别。如果某个口不工作先检查该口的限流开关使能脚电压是否正常再检查D D-的串联电阻有没有焊错。我遇到过一次某个口不工作查了半天发现是SY6280的EN脚虚焊补焊后正常。常见故障速查表故障现象可能原因排查方法电脑完全不识别HUB晶振未起振、供电异常、D D-接反测3.3V、测晶振波形、检查差分线识别到HUB但某个口不工作限流开关虚焊、OC引脚上拉缺失测EN脚电压、检查上拉电阻插设备后电脑报过流限流值设定过低、VBUS短路检查ISET电阻、测VBUS对地电阻传输大文件时断连电源供电不足、差分线阻抗不匹配改用自供电、检查串联电阻彩色丝印模糊不清丝印线宽太细、颜色重叠重新设计丝印、加大线宽和间距4.5 实测性能与改进方向板子打样回来焊好之后我做了一轮实测。用USB电流表测每个口的输出空载5.02V带500mA负载时4.85V压降主要来自肖特基二极管和SY6280的内阻。这个表现对于USB2.0设备来说完全够用。数据传输方面插U盘拷贝大文件速度稳定在30MB/s左右这是USB2.0全速的正常水平。四个口同时插U盘互相之间没有明显干扰说明星型接地和差分线布线起到了作用。彩色丝印的效果超出预期深蓝底配白黄红三色图案清晰颜色饱和度高没有糊边。唯一的小遗憾是红色丝印在深蓝底上对比度稍弱下次如果再做红色部分会考虑换成橙色或者加白色描边。后续改进方向有几个一是把DC座子换成Type-C现在Type-C线更通用二是加一个电源指示灯现在板子上没有电源指示不知道有没有通电三是把限流值从1A调到1.5A给移动硬盘留更多余量。这些改动都不大下一版可以一起做进去。5. 个人实操心得与避坑建议5.1 立创EDA使用中的几个效率技巧立创EDA专业版用熟了之后效率很高但有几个技巧值得分享。快捷键自定义默认的快捷键不一定顺手可以在设置里把常用的操作绑到自己习惯的键位上。我把“铺铜”绑到了CtrlG“差分对布线”绑到了CtrlD画板子的时候手不用离开键盘。元件库管理立创EDA的在线库很全但有时候官方符号和实际封装有出入。我的做法是建一个自己的本地库把常用的元件符号和封装都存进去用的时候直接调用不用每次都去在线库搜。特别是CH334R这种芯片自己核对过引脚定义的符号用起来最放心。设计规则检查画完板子一定要跑DRC立创EDA的DRC可以检查线宽、间距、孔径、丝印重叠等问题。我一般把DRC规则设得比板厂工艺能力稍微严一点这样即使有偏差也能保证板厂能做出来。比如嘉立创的最小线宽是5mil我在DRC里设6mil留1mil余量。5.2 彩色丝印打样的经验教训彩色丝印这个工艺我踩过两个坑。第一个坑是颜色数量。嘉立创的彩色丝印是按颜色数量收费的三种颜色和四种颜色的价格差不少。我第一版设计了四种颜色后来砍掉一种省了一笔钱。建议设计的时候先确认板厂支持几种颜色以及每种颜色的价格再决定用几种。第二个坑是丝印文件格式。我一开始导出的DXF文件在立创EDA里显示正常但嘉立创的工程师反馈说文件里的线条有自交叉需要修复。后来我改用SVG格式导入问题就没了。所以如果DXF导入有问题可以试试SVG格式。还有一点彩色丝印的打样周期比普通丝印长。普通丝印双面板一般三到五天彩色丝印可能要七到十天。如果项目时间紧要提前规划好。5.3 关于USB HUB设计的几点忠告做了这个项目之后我对USB HUB设计有几点体会。第一过流保护不能省。我见过太多廉价HUB因为省掉了限流开关一个口短路导致整个HUB挂掉甚至把电脑主板烧了。四颗SY6280加起来不到两块钱这个钱不能省。第二差分线一定要等长。虽然USB2.0全速对时序要求不高但等长布线是基本功养成习惯对以后做高速板子有好处。我见过有人差分线一根走顶层一根走底层长度差了好几毫米结果设备时好时坏查了半天才发现是布线问题。第三电源去耦要到位。CH334R的每个电源引脚旁边都要放0.1uF电容距离越近越好。大容量电容放在电源入口不要每个口都放。上电浪涌电流太大会触发电脑的过流保护导致HUB反复重启。第四测试要全面。不要只插一个U盘测试就完事要四个口同时插设备、插不同速度的设备、插大功率设备各种组合都试一遍。我测试的时候发现四个口同时插U盘拷贝数据时如果其中一个口插的是USB3.0设备降速到USB2.0运行偶尔会出现枚举失败后来在VBUS上加了100uF电容就好了。5.4 这个项目还能怎么扩展这个4口HUB的框架其实可以扩展出不少变体。比如把CH334R换成CH334U支持USB2.0高速480Mbps但外围电路会复杂一些需要外接5V转1.8V的LDO给芯片核心供电。再比如加一个USB转串口芯片做成带调试口的HUB方便嵌入式开发。还可以把四个Type-A口换成Type-A加Type-C混搭适应不同设备的接口需求。彩色丝印这块下次可以尝试渐变色或者半透明效果不过要提前和板厂确认工艺能力。我了解到有些板厂支持在阻焊层上做图案效果和彩色丝印不同但成本更低适合对颜色要求不高的场景。这个板子的所有设计文件我都整理好了原理图、PCB、BOM、Gerber都在工程里。如果你也想做一个类似的HUB可以直接拿这个工程改把不需要的部分删掉换成自己的设计。立创EDA的工程文件是开放的改起来很方便。