ARTICLE DETAIL

资讯详情

深耕郑州网站建设与运营推广的一线实战洞察。

GL3523 USB3.0 Hub硬件设计实战:从选型到EMI调试的避坑指南

GL3523 USB3.0 Hub硬件设计实战:从选型到EMI调试的避坑指南 1. 项目缘起与整体设计思路1.1 为什么选了GL3523这颗料做USB3.0 Hub扩展的朋友大概率都绕不开GL3523这颗芯片。它是一颗四口USB3.0 Hub控制器支持USB3.0 SuperSpeed 5Gbps向下兼容USB2.0封装通常是QFN-64或者QFN-88价格适中datasheet也算齐全在国产方案里算是性价比很高的一颗。我当初选它的理由很直接项目需要把一个USB3.0上行口扩展成四个下行口其中两个要做成Type-C形态另外两个保留Type-A同时还要支持OTG切换。对比了一圈GL3523在功能覆盖和成本之间是最平衡的。但选型阶段的一个疏忽直接导致了后面一连串的问题。我当时只看了GL3523的datasheet首页功能框图觉得“四口Hub嘛能有多复杂”没有仔细研究它的供电架构和时钟需求。实际上GL3523内部集成了两组稳压器一组给核心逻辑供电一组给USB PHY供电外部还需要提供1.2V、3.3V和5V三路电源而且每一路的纹波要求都不一样。这个细节在后面PCB布局时成了最大的坑之一。1.2 整体方案架构拆解整个项目的硬件架构可以分成四个功能块上行接口、Hub核心、下行接口和电源管理。上行接口部分我设计了一个Type-C母座通过CC逻辑芯片实现正反插检测和OTG角色切换。这里用到的CC逻辑芯片需要支持USB3.0的SuperSpeed通道切换因为Type-C的TX/RX差分对在正反插时会翻转必须用模拟开关做交叉切换。我选了一颗支持10Gbps带宽的Type-C mux理论上余量足够。Hub核心就是GL3523本体外围需要搭配一颗25MHz晶振作为参考时钟内部PLL倍频到USB3.0所需的5GHz频段。这里有个关键点GL3523的PLL对参考时钟的抖动非常敏感晶振的负载电容和走线长度都会影响锁相环的稳定性。我当初就是在这里翻的车后面会详细说。下行接口部分两个Type-C口和两个Type-A口都从GL3523的对应端口引出。Type-C口需要额外加ESD保护器件因为SuperSpeed差分对的工作频率是2.5GHzESD器件的寄生电容必须控制在0.5pF以下否则信号完整性会严重劣化。电源管理部分输入是5V/3A的Type-C供电经过一颗DC-DC降压到3.3V和1.2V。3.3V给USB PHY和CC逻辑供电1.2V给GL3523核心供电。这里我犯了一个典型错误把DC-DC的开关频率设在了500kHz结果它的二次谐波正好落在USB3.0的扩频时钟频段附近导致EMI测试时辐射超标。1.3 设计思路中的关键取舍在方案设计阶段有几个取舍点值得展开说。第一个取舍是晶振还是时钟发生器。GL3523官方推荐用25MHz无源晶振成本低但需要自己匹配负载电容。我一开始想省事用了一颗有源晶振直接输出25MHz方波结果发现方波的谐波分量太丰富反而给EMI添了麻烦。后来换回无源晶振配合GL3523内部的振荡器电路波形更干净。这个教训是USB3.0 Hub的参考时钟无源晶振比有源晶振更稳妥前提是负载电容要匹配好。第二个取舍是电源方案。我最初想用LDO给1.2V核心供电觉得LDO噪声小、纹波低。但算了一下功耗GL3523核心电流大约300mALDO从3.3V降到1.2V压差2.1V功耗就是0.63W。QFN封装的热阻大约40°C/W温升会达到25°C再加上环境温度芯片结温很容易超过100°C。所以最后还是用了DC-DC效率高、发热小但代价是引入了开关噪声。这个取舍没有完美答案只能靠后续的滤波和布局来弥补。第三个取舍是PCB层叠。USB3.0的差分对需要严格的90Ω差分阻抗控制我选了四层板顶层信号、第二层完整地平面、第三层电源平面、底层信号。这个层叠的好处是差分对参考第二层地平面阻抗容易控制而且地平面完整回流路径短。但四层板的成本比两层板高不少如果项目对成本极度敏感可能需要考虑两层板加共面波导的设计但那样阻抗控制会难很多。2. 核心细节解析与实操要点2.1 GL3523外围电路的关键参数计算GL3523的外围电路有几个参数必须自己算datasheet上只给了典型值但实际项目里往往需要根据具体情况调整。晶振负载电容计算。GL3523推荐25MHz晶振负载电容CL典型值是12pF。但实际电路中晶振两端各接一个电容到地这两个电容串联后再与晶振的寄生电容并联才是真正的负载电容。公式是CL (C1 × C2) / (C1 C2) Cstray。其中Cstray是PCB走线的寄生电容一般估算为3~5pF。如果选C1 C2 22pF那么(C1 × C2) / (C1 C2) 11pF加上Cstray 4pF总负载电容就是15pF比12pF偏大。偏大的后果是晶振频率偏低PLL锁定时间变长严重时甚至锁不住。我后来把C1和C2都换成18pF算下来负载电容是9pF 4pF 13pF接近12pF频率就稳了。USB3.0差分对阻抗计算。USB3.0 SuperSpeed差分对的差分阻抗要求是90Ω ± 10%。在四层板中顶层走线参考第二层地平面属于微带线结构。微带线的差分阻抗公式比较复杂但可以用经验值线宽5mil、线间距5mil、介质厚度4milFR4Er4.3差分阻抗大约在85~95Ω之间。我实际用阻抗计算工具算了一下线宽6mil、间距5mil、介质厚度4.5mil得到差分阻抗91Ω比较理想。这里要注意介质厚度指的是走线到参考平面的距离不是板厚。四层板的层叠通常是顶层铜箔0.5oz、介质4mil、第二层铜箔1oz、芯板40mil、第三层铜箔1oz、介质4mil、底层铜箔0.5oz。所以顶层到第二层的介质厚度就是4mil左右。电源纹波要求。GL3523的1.2V核心电源纹波要求是50mVpp以内3.3V PHY电源纹波要求是100mVpp以内。DC-DC的输出纹波跟开关频率、电感值、输出电容都有关系。我选了一颗2MHz开关频率的DC-DC电感用2.2μH输出电容用22μF陶瓷电容并联100nF。理论上纹波可以控制在20mVpp以内但实际测出来有60mVpp原因是PCB布局不好输入电容离芯片太远导致开关电流环路面积大辐射和传导噪声都上去了。后来把输入电容挪到芯片引脚旁边纹波就降到了30mVpp。2.2 PCB布局中的EMI陷阱USB3.0的EMI问题几乎是每个硬件工程师都要面对的坎。GL3523这颗芯片的EMI表现跟PCB布局关系极大我踩过的坑主要集中在三个方面。第一个坑DC-DC开关节点离USB差分对太近。我最初把DC-DC放在板子左上角USB3.0差分对从板子右侧走线觉得距离够远。但实际上DC-DC的开关节点是一个高dv/dt的噪声源它的辐射是通过空间耦合和传导耦合两条路径传播的。空间耦合方面开关节点就像一个天线辐射的电磁场会耦合到附近的任何走线上。传导耦合方面开关噪声会通过电源平面传播到整个板子。我后来用近场探头扫了一下发现开关节点附近的磁场强度比USB差分对附近高了20dB。解决办法是把DC-DC挪到板子边缘并且在开关节点上加RC吸收电路把dv/dt降下来。第二个坑USB3.0差分对的参考平面不完整。我在布局时为了走线方便在第二层地平面上开了一个槽让第三层的电源线穿过去。结果USB3.0差分对正好跨过这个槽导致回流路径被切断差分阻抗突变信号完整性严重劣化。眼图测试时眼高只有80mV眼宽只有0.3UI远远达不到USB3.0的规范要求。后来把电源线改到顶层走保持第二层地平面完整眼图立刻恢复到眼高150mV、眼宽0.5UI。这个教训是USB3.0差分对下方的参考平面必须完整任何开槽、分割都会导致阻抗不连续。第三个坑ESD器件的寄生电容太大。我一开始选了一颗普通的ESD保护二极管寄生电容是3pF。理论上3pF在2.5GHz频率下的阻抗是21Ω跟90Ω的差分阻抗并联后等效阻抗降到73Ω偏差超过10%。实际测试时发现插入损耗在2.5GHz处达到了-3dB而规范要求是-1.5dB以内。后来换了一颗超低电容ESD器件寄生电容0.3pF插入损耗降到-0.8dB通过了测试。选ESD器件时一定要看寄生电容参数USB3.0应用必须选0.5pF以下的。2.3 Type-C OTG切换电路的实现细节Type-C OTG功能需要CC逻辑芯片来检测插入方向并切换SuperSpeed通道。我用的方案是一颗支持USB3.0的Type-C mux它内部有两组差分对开关根据CC引脚的电平状态选择导通路径。CC检测的原理是这样的Type-C母座的CC1和CC2引脚分别接下拉电阻Rp典型值56kΩ到地当插入设备时如果设备是DFP下行端口它会通过CC引脚输出上拉电阻Rd典型值5.1kΩ到VBUS。CC逻辑芯片检测到CC引脚上的电压变化后判断插入方向然后控制mux切换差分对。这里有个细节容易忽略CC引脚的走线要尽量短并且要远离高频信号。因为CC引脚上的电压变化很慢容易受到干扰。我最初把CC走线跟USB3.0差分对平行走了很长一段结果插入设备时偶尔会识别错误。后来把CC走线改到板子另一侧并且加了100nF滤波电容问题就解决了。OTG角色切换还需要控制VBUS的供电路径。当GL3523作为设备时VBUS应该由外部主机提供当GL3523作为主机时VBUS应该由板上的5V电源提供。我用了一颗负载开关来控制VBUS的通断负载开关的使能信号由CC逻辑芯片输出。这里要注意负载开关的导通电阻要小否则VBUS上的压降会影响下行设备的供电。我选的负载开关导通电阻是50mΩ在3A电流下压降是150mV可以接受。3. 实操过程与核心环节实现3.1 原理图设计阶段的检查清单原理图设计阶段我犯的错误最多因为GL3523的引脚定义比较密集QFN-64封装有64个引脚其中很多是电源和地容易看漏。电源引脚检查。GL3523有多个电源引脚VDD121.2V核心、VDD333.3V PHY、VDD55V USB、AVDD121.2V模拟、AVDD333.3V模拟。每个电源引脚旁边都要放去耦电容而且不同电源域的去耦电容不能混用。我最初把VDD12和AVDD12的去耦电容放在一起结果模拟电源的噪声耦合到了数字电源上导致USB3.0信号眼图变差。后来把模拟电源和数字电源的去耦电容分开布局中间用地平面隔离问题就解决了。地引脚检查。GL3523有多个地引脚GND数字地、AGND模拟地、EPAD散热焊盘。EPAD必须焊接到地平面而且要通过多个过孔连接到第二层地平面否则散热不好芯片会过热。我最初只放了4个过孔结果芯片表面温度到了85°C。后来增加到16个过孔温度降到55°C。过孔的数量和分布很关键要均匀分布在EPAD下方每个过孔的直径建议0.3mm间距1mm左右。差分对引脚检查。GL3523的USB3.0差分对引脚是固定的TX和RX不能接反。我最初把上行口的TX和RX接反了结果设备根本识别不到。后来仔细对照datasheet的引脚图发现TX和RX的位置是相邻的容易看错。建议在原理图设计时用不同颜色标注TX和RX避免混淆。时钟引脚检查。GL3523的晶振引脚是XI和XOXI是输入XO是输出。无源晶振接在XI和XO之间两端各接一个负载电容到地。这里要注意XI和XO的走线要尽量短并且要包地处理避免受到干扰。我最初把晶振放在离芯片2cm远的地方结果PLL锁定不稳定USB3.0设备偶尔会掉线。后来把晶振挪到离芯片5mm以内问题就消失了。3.2 PCB布局布线的实操记录PCB布局是决定USB3.0 Hub成败的关键环节。我按照以下顺序进行布局第一步确定接口位置。Type-C母座和Type-A母座的位置要根据结构件确定通常放在板子边缘。上行Type-C口放在板子左侧下行Type-C口和Type-A口放在板子右侧这样信号流向清晰走线短。第二步放置GL3523。GL3523放在板子中央尽量靠近上行接口因为上行差分对的速度最高走线越短越好。GL3523的EPAD要正对第二层地平面确保散热过孔能直接打到地平面上。第三步放置电源芯片。DC-DC放在板子边缘远离GL3523和USB差分对。DC-DC的输入电容要紧贴芯片的VIN引脚输出电容要紧贴VOUT引脚电感的放置要保证开关电流环路面积最小。我最初把电感放在DC-DC芯片的对面结果开关电流环路面积很大EMI辐射超标。后来把电感挪到芯片旁边环路面积缩小了一半辐射降低了6dB。第四步布置晶振。晶振放在GL3523的XI和XO引脚旁边距离不超过5mm。晶振下方要挖空不要走任何信号线避免寄生电容影响频率。晶振的负载电容要靠近晶振引脚放置地回路要短。第五步走差分对。USB3.0差分对的走线规则是等长、等距、阻抗控制。等长方面TX和TX-的长度差要控制在5mil以内RX和RX-同理。等距方面差分对的两根线间距要保持恒定不能忽宽忽窄。阻抗控制方面前面算过线宽6mil、间距5mil、介质厚度4.5mil差分阻抗91Ω。走线时尽量避免过孔如果必须过孔要在过孔旁边加地过孔提供回流路径。第六步铺地。第二层地平面要完整不能有开槽。顶层和底层要铺地并且通过过孔连接到第二层地平面。铺地时要注意USB差分对下方的地平面要完整不能有分割DC-DC下方的地平面要单独划分并且通过单点连接到主地避免开关噪声污染主地。3.3 焊接与调试过程中的关键操作PCB打样回来后焊接和调试是验证设计的关键步骤。GL3523是QFN封装焊接难度较大我总结了几点经验。焊接QFN封装的技巧。QFN封装的引脚在芯片底部肉眼看不到所以焊接时要用热风枪或者回流焊。我用手工焊接时先在焊盘上涂一层薄薄的锡膏然后把芯片放上去用热风枪从芯片上方加热温度设在280°C风量调到最小避免吹跑芯片。加热时间大约30秒看到锡膏融化后用镊子轻轻按压芯片确保引脚与焊盘充分接触。冷却后用放大镜检查引脚是否有虚焊或短路。上电前的检查。上电前一定要用万用表检查电源和地是否短路。我最初没有检查直接上电结果1.2V电源对地短路DC-DC芯片瞬间烧毁。后来检查发现是GL3523的EPAD焊接时锡膏太多溢到了旁边的电源引脚上。所以上电前要用万用表测一下VDD12对地、VDD33对地、VDD5对地的电阻正常应该在几百欧姆以上如果接近0欧姆说明有短路。上电后的调试步骤。上电后先测各路电源电压是否正常1.2V、3.3V、5V。然后测晶振是否起振用示波器探头10:1碰一下XI引脚如果看到25MHz正弦波说明晶振起振了。注意示波器探头的寄生电容会影响晶振频率所以只能定性判断是否起振不能定量测频率。接下来测GL3523的复位引脚确保复位信号正常。最后插上USB设备看电脑是否能识别到Hub。眼图测试。眼图是评估USB3.0信号质量的最直接手段。我用了一台USB3.0眼图测试仪在上行口和下行口分别测试。测试时要注意测试点要选在接收端也就是GL3523的RX引脚附近测试图案要用USB3.0规范规定的CP0和CP1图案测试时要确保电源稳定避免电源噪声影响眼图。我最初测出来眼高只有80mV后来调整了差分对的走线和ESD器件眼高恢复到150mV通过了测试。4. 常见问题与排查技巧实录4.1 设备识别不稳定或频繁掉线这是GL3523项目中最常见的问题表现是电脑能识别到Hub但插上设备后偶尔掉线或者传输大文件时中断。排查思路如下第一步检查电源纹波。用示波器测1.2V和3.3V电源的纹波如果超过50mVpp说明电源噪声太大。解决办法是增加去耦电容或者优化DC-DC布局。我遇到过一次1.2V纹波到了80mVpp原因是DC-DC的输出电容离芯片太远后来把电容挪近纹波降到30mVpp掉线问题就解决了。第二步检查晶振频率。用频率计测晶振频率如果偏差超过±100ppm说明负载电容不匹配。GL3523的PLL对参考时钟频率很敏感偏差太大会导致PLL失锁。我遇到过一次晶振频率偏了200ppm原因是负载电容用了22pF后来换成18pF频率就准了。第三步检查差分对阻抗。用TDR时域反射计测差分对的阻抗如果偏差超过10%说明走线有问题。常见问题是参考平面不完整、过孔太多、线宽不均匀。我遇到过一次差分对跨过了地平面上的开槽阻抗从90Ω突变到120Ω导致信号反射设备掉线。后来把开槽填上问题就解决了。第四步检查ESD器件。如果ESD器件的寄生电容太大会导致信号衰减设备识别不稳定。用网络分析仪测插入损耗如果2.5GHz处超过-1.5dB说明ESD器件不合格。我遇到过一次ESD器件寄生电容3pF插入损耗-3dB后来换成0.3pF的器件问题就解决了。4.2 EMI测试辐射超标EMI测试是USB3.0 Hub的另一个难点常见问题是辐射超标尤其是30MHz~1GHz频段。排查思路如下第一步定位噪声源。用近场探头扫描板子找出辐射最强的区域。常见噪声源是DC-DC开关节点、晶振、USB差分对。我遇到过一次30MHz~100MHz频段辐射超标用近场探头扫描发现是DC-DC的开关节点辐射最强。后来在开关节点上加RC吸收电路辐射降低了10dB。第二步检查电源滤波。DC-DC的输入和输出都要加滤波电容而且电容的ESL要小。我遇到过一次输出滤波电容用了电解电容ESL太大高频滤波效果差辐射超标。后来换成陶瓷电容并联辐射就降下来了。第三步检查地平面。地平面不完整会导致回流路径变长辐射增强。我遇到过一次第二层地平面被电源线分割成两块导致回流路径绕远辐射超标。后来把电源线改到顶层地平面恢复完整辐射降低了8dB。第四步检查差分对走线。差分对走线如果不对称会导致共模噪声辐射增强。我遇到过一次TX和TX-的长度差了20mil导致共模噪声辐射超标。后来把长度差控制在5mil以内辐射就降下来了。4.3 常见问题速查表问题现象可能原因排查方法解决方案设备识别不稳定电源纹波大示波器测纹波增加去耦电容优化DC-DC布局设备频繁掉线晶振频率偏差大频率计测晶振调整负载电容眼图眼高不足差分对阻抗不连续TDR测阻抗保持参考平面完整减少过孔插入损耗大ESD器件寄生电容大网络分析仪测插损换超低电容ESD器件EMI辐射超标DC-DC开关噪声近场探头扫描加RC吸收电路优化滤波芯片过热EPAD散热过孔不足测温枪测芯片温度增加散热过孔数量OTG识别错误CC走线受干扰示波器测CC电压缩短CC走线加滤波电容PLL失锁晶振走线太长示波器测晶振波形缩短晶振走线包地处理4.4 独家避坑技巧技巧一晶振负载电容用可调电容调试。在调试阶段可以用可调电容代替固定电容一边测频率一边调找到最佳值后再换成固定电容。这样可以避免反复焊拆电容的麻烦。技巧二差分对走线用弧形代替45度角。USB3.0差分对在转弯时45度角会导致阻抗突变弧形走线的阻抗更连续。如果PCB设计软件支持弧形走线尽量用弧形。技巧三DC-DC的电感选屏蔽式。非屏蔽电感的磁场会辐射到周围耦合到USB差分对上。屏蔽式电感的磁场被限制在磁芯内部辐射小很多。我实测过换成屏蔽电感后EMI辐射降低了5dB。技巧四USB连接器的外壳要接地。USB连接器的金属外壳要连接到地平面否则外壳就像一根天线会辐射噪声。我遇到过一次Type-C母座的外壳没接地辐射超标后来把外壳接地问题就解决了。技巧五测试时用电池供电。调试USB3.0信号时如果用实验室电源供电电源的噪声会耦合到信号上影响眼图测试结果。用电池供电可以排除电源噪声的干扰更准确地评估信号质量。技巧六GL3523的复位引脚要加RC延时。GL3523的复位引脚如果上电后立刻拉高芯片可能还没完成初始化导致工作异常。加一个RC延时电路让复位信号在上电后延迟10ms再拉高可以确保芯片正常初始化。技巧七USB3.0差分对的过孔要加地过孔。差分对换层时过孔会导致阻抗不连续旁边的地过孔可以提供回流路径减少阻抗突变。地过孔要尽量靠近信号过孔距离不超过1mm。技巧八EMI测试前先做预扫描。正式EMI测试费用很高可以先在实验室用近场探头做预扫描找出辐射热点针对性整改后再去正式测试可以节省时间和费用。技巧九GL3523的固件要更新到最新版本。GL3523的固件可以通过USB接口更新新版本固件通常会修复一些已知问题比如兼容性、功耗等。我遇到过一次旧固件跟某些U盘不兼容更新固件后就正常了。技巧十PCB打样时多打几块。USB3.0 Hub的调试过程中可能会损坏芯片或板子多打几块备用可以避免耽误进度。我一般一次打5块焊接2块调试留3块备用。5. 项目复盘与经验总结这个GL3523 USB3.0 Hub项目从选型到调试完成前后花了大约两个月时间其中大部分时间都花在排查各种问题上。回过头来看很多问题其实在原理图设计阶段就可以避免比如电源去耦电容的布局、晶振负载电容的计算、差分对的阻抗控制。如果让我重新做一遍我会在原理图设计阶段就严格按照USB3.0的规范来检查每一个细节而不是等到PCB打样回来才发现问题。另外工具的使用也很关键。近场探头、TDR、网络分析仪这些设备在排查EMI和信号完整性问题时非常有用如果实验室没有这些设备可以考虑租用或者找第三方测试机构帮忙。我最初想省事只用万用表和示波器排查结果走了很多弯路。后来借了一台近场探头很快就定位到了辐射热点整改效率大大提高。最后说一个容易被忽略的点GL3523的datasheet虽然详细但有些参数是在特定条件下测的实际应用中需要根据具体情况调整。比如晶振的负载电容datasheet给的是典型值但实际PCB的寄生电容不同需要自己计算和调试。所以不要完全照搬datasheet要结合实际情况灵活调整。
返回列表