
做了这么多年硬件设计USB2.0 可以说是最让我又爱又恨的接口之一。说它简单是因为任意一个单片机只要引出一对 D/D-、加上电源和地理论 上就能通信说它难是因为很多项目在工程样机阶段才暴露问题——电脑识别不到设备、识别了但枚举不稳定、明明支持高速却只能跑全速最后查来查去矛头基本都指向 D/D- 的 PCB 布线和阻抗控制。我见过不少人把 USB2.0 当成“低速信号”来布局觉得 480Mbps 频率不高随手走个线、绕个等长就完事。结果呢同样一块板子出厂 10 片里有 3 片认不到或者换一根线就掉线。这篇文章我就围绕 USB2.0 硬件设计里最关键的一对信号线来做深度拆解D/D- 的阻抗控制、布线约束、外围器件选型以及信号完整性的仿真与实测手段。内容偏向工程落地适合正在做 MCU 项目、需要自己画 USB 接口部分的硬件工程师参考也适合刚入门、想搞清楚“为什么 USB 布线要这么讲究”的同学。1. USB2.0 为什么难伺候先搞清楚 D/D- 的“脾气”1.1 三种速率与信号摆幅高速模式才是主角USB2.0 名义上有三种速率低速Low Speed1.5Mbps、全速Full Speed12Mbps和高速High Speed480Mbps。实际设计里低速和全速的接口要求其实很宽松哪怕 D/D- 走线长一点、阻抗偏一点多数情况下照样能工作。真正把很多工程师逼疯的是高速模式。高速模式的信号摆幅只有 400mV峰值而全速模式摆幅是 3.3V 左右。同样一根走线全速模式像开着卡车压过路面坑坑洼洼也能过去高速模式就像在上面跑方程式赛车路面上一个小石子都可能导致失控。D/D- 上的任何一个阻抗突变、过孔残桩、参考平面断裂都会在高速信号的眼图上留下痕迹轻则增加抖动重则直接导致链路建立失败。另外要注意高速模式下 D/D- 采用的是电流驱动模式发射端在握手完成后会把终端电阻切换到 45Ω对地接收端是 45Ω对电源内部端接整个差分链路希望在外部尽量接近 90Ω 差分阻抗目的就是让反射系数降到最低。低速和全速模式没有这层端接要求所以信号反射没那么敏感这也是为什么“阻抗不匹配在高速下才致命”的根本原因。1.2 90Ω 差分阻抗到底是谁定的USB2.0 规范里明确规定高速模式下的 D/D- 差分特征阻抗是 90Ω允许偏差是 ±15%也就是 76.5Ω 到 103.5Ω 之间都能算合规。这 90Ω 并不是随便拍脑袋定的值它综合了引脚封装、线缆特性、连接器阻抗和收发器驱动能力后的折中。实际项目中我一般建议把目标放到 90Ω 中心值不要故意偏下限或偏上限。原因很简单连接器、线缆、封装引脚这些环节都会引入附加阻抗偏移板内如果一开始就偏离 90Ω加上外围偏移后很容易踩到规范边缘。举个直观例子如果 PCB 上差分阻抗只有 82Ω再加上连接器和线缆的容性负载实际链路的眼图闭合度会明显恶化尤其在高低温测试时半导体工艺偏差会让发射端驱动强度波动问题更容易暴露。这里还要澄清一个常见误区很多人以为“差分阻抗 90Ω”就是分别把 D 和 D- 对地都做成 90Ω。这是不对的。差分阻抗是从差分信号的角度、用 TDR 差分探头测到的结果单端对地特性阻抗通常是四五十欧姆由叠层、线宽、到参考平面的距离共同决定。差分阻抗与单端阻抗之间存在耦合关系当差分对线间距越近、耦合越强时同样的线宽和叠层条件下差分阻抗比两条单端阻抗串联计算值要低。这个概念理解清楚后面算线宽时才有方向。1.3 高速握手与发射机调谐布线不对称的代价USB2.0 的高速握手过程也值得展开说一下因为这直接解释了“为什么布线上的一点不对称会导致降速”。设备插入后主机先通过 D/D- 上的上拉/下拉电阻识别设备连接。如果是高速设备D 上会被设备端拉高随后主机发出复位信号设备检测到复位后会通过一个特殊的 chirp 序列K/J 状态的交替向主机声明自己支持高速模式。握手成功链路才切换到 480Mbps 工作。这个 chirp 序列的时序非常短信号上升沿快对传输线的反射非常敏感。如果 D/D- 布线长度差异过大导致差分对内 skew 超过几百 milchirp 信号在接收端的建立/保持时间就可能不足主机无法正确识别设备的高速能力于是只把它当成全速设备来用。功能上看起来“还能用”但传输速率掉了整整 40 倍。更隐蔽的是有些情况下高速握手能勉强成功但高速传输开始时眼图质量差、误码率高表现为大文件拷贝时偶发中断或者 U 盘在特定主机上反复掉线。这种问题在原理图和软件上都查不出毛病最终定位还是得回到 PCB 布局——D/D- 的走线、过孔、参考平面才是根源。2. 阻抗控制不是玄学从叠层到线宽一步一步算2.1 常用叠层结构怎么选做阻抗控制第一步不是算线宽而是定叠层。叠层决定了走线到参考平面的距离这是阻抗公式里最关键的一个变量。很多 51 单片机或者低成本的 2 层板项目工程师觉得 USB 只是附属功能随便走线就完了——我要说如果只跑全速、走线很短比如在 20mm 以内2 层板确实能凑合但只要打算支持高速 480Mbps或者线长超过 30mm就该考虑 4 层板甚至 6 层板。4 层板的经典叠层是顶层信号、第二层地平面、第三层电源平面、底层信号。D/D- 放在顶层下方是完整的地平面这样阻抗参考非常明确抗干扰也最好。如果板子尺寸紧张、必须走到底层那必须保证底层信号下方有连续的参考平面不能跨越电源层的分割槽。2 层板做 90Ω 差分也不是完全做不到但需要计算时把“到地平面的距离”理解为走线到下方最近地铜皮的距离通常这个距离就是板厚1.6mm对应的走线会非常宽可能超过 30mil线间距也要拉开占用的板面积很大而且走线稍微转弯、换层就破功。所以我的经验是凡是 USB2.0 高速模式、线长超过 30mm 的项目一律上 4 层板成本敏感的消费类产品至少也要保证 D/D- 走线极短且两侧有地铜包裹。2.2 差分线线宽与间距的计算确定了叠层之后再用阻抗计算工具比如 Polar Si9000、Saturn PCB Design Toolkit或者 Altium 自带的 Impedance Calculator来推算线宽和间距。这里我拿一个最常用的 4 层板参数举例子板厚 1.6mm顶层到第二层地平面的介质厚度约 0.1mm对应 4 层板常见的 PP 片厚度铜厚 1oz完成面约 1.4mil介质介电常数约 4.2在这个条件下想让差分阻抗做到 90Ω典型值大约是线宽 6~8mil线间距 6~8mil。注意这个数字不是固定的介质厚度差 0.02mm算出来的线宽可能就差好几 mil。所以千万不要把某个参考设计里的“6mil 线宽、8mil 间距”直接抄到自己板子上必须用自己的叠层参数重新计算。计算时还要特别注意“差分阻抗 90Ω”和“共模阻抗”是两回事。在 USB2.0 里我们关心的是差分阻抗但设计时应该顺带看一下共模阻抗。共模阻抗主要由走线到参考平面的距离决定线间距的影响相对较小。如果共模阻抗太低比如走线太贴近地平面共模噪声耦合会变大对 ESD 和 EMI 都不利。所以设计目标可以定成差分阻抗 90Ω ±10%共模阻抗尽量保持在 30Ω 以上。2.3 阻抗测试TDR 不是等做完才用加工回来的板子到底阻抗是多少不能靠猜要用 TDR时域反射计来测。正规 PCB 厂会在出货报告里提供阻抗测试条coupon的测试值这个值可以作为参考。但测试条的位置如果和实际走线距离远、叠层环境不完全一致数据会有偏差。所以我更建议在板子上留出可测试的过孔/测试点方便自己用 TDR 探头实测。TDR 的原理很简单向传输线发送一个快速上升沿的脉冲观察反射波的时间与幅度就能推算出阻抗沿着走线的分布情况。测差分阻抗要用差分 TDR 探头分别对 D 和 D- 同时激励正负极性的阶跃信号测试结果是一条阻抗-时间曲线。一条设计良好的 USB2.0 走线阻抗曲线应该是平稳的在 90Ω 附近小幅波动如果出现明显的凹陷容性突变或凸起感性突变就说明走线上有阻抗不连续点需要用放大镜去核对那个位置是不是有过孔、焊盘、走线变窄或者参考平面挖空。3. D/D- 布线规范布局、等长与参考平面的实操约束3.1 等长控制的量化要求USB2.0 差分对的等长要求很多人以为“越短越好”其实规范给的是一个相对宽容的范围。高速模式的差分对内 skew 要求按时间算是几百 ps 级别换算成 PCB 走线长度大约在 1000mil25.4mm以内都能满足电气要求。但这只是理论极限实际设计时我会把等长差控制在 200mil5mm以内理由有三第一过孔和焊盘会对两根线引入不对称的寄生电容长度上的冗余能抵消这部分差异。第二chirp 握手信号对 skew 更敏感留出余量能提高不同主机平台的兼容性。第三仿真时如果发现眼图裕量不足最后能调整的手段很有限等长余量是“免费的安全垫”。等长怎么绕也有讲究。我见过有人在 D- 上做了好几个 180 度的大回环来补长度结果补偿了长度、引入了强耦合和串扰。正确的做法是采用小幅度、密集的蛇形走线蛇形线的间距至少是线宽的 3 倍以上避免相邻两段平行线之间产生容性耦合反而把差分阻抗拉偏。如果空间实在紧张宁可在连接器或芯片端做小的 S 形调整也别做 90 度急转弯。3.2 参考平面完整性与过孔处理这部分我认为是 USB2.0 布线里最容易踩坑、也最容易被忽略的地方。D/D- 的电流回流路径与参考平面直接相关如果走线上方或下方没有完整参考平面回流信号就会被强迫绕道环路面积变大不仅阻抗失控还会引入共模噪声和 EMI。典型的反面案例D/D- 走线在顶层但正下方是电源平面的分割槽或者走线跨过了一条地平面的窄缝。从阻抗曲线上看跨缝的位置会出现明显的凸起严重时直接变成 120Ω 以上的高阻抗点。解决方案很讲原则D/D- 全程必须保证下方是完整地平面特殊情况下至少保证下方是完整的电源平面——但电源平面在高频下对地的阻抗不低效果比不上地平面。当板子层数不够、实在没办法时可以把 D/D- 附近的平面缝隙用 0Ω 电阻或多个过孔缝合起来尽量形成“架空桥”让回流路径连续。过孔对高速信号来说也是一个阻抗突变点。D/D- 换层时过孔残桩stub即过孔在非连接层剩余的那段铜筒会形成容性负载在 480Mbps 下产生反射。4 层板如果信号从顶层走到底层每个过孔残桩可能就有 0.8mm 左右这个长度在高速数字里已经不能忽略了。我的习惯是尽量让 D/D- 不换层如果必须换层就在换层处附近增加接地过孔为回流信号提供最近的换层路径同时减小过孔的环流面积。3.3 串扰与防护90Ω 之外的“隐形规则”D/D- 虽然是一对差分信号但它在 PCB 上并不是孤立存在的旁边可能有时钟线、I2C 线、电源开关管脚、甚至时钟晶振。USB2.0 高速模式下信号幅度小对邻近干扰的容忍度也低。布线时除了保证差分对自身的阻抗还要控制它与其他信号线之间的间距。经验法则是“3W 规则”的加强版D/D- 与其它信号线的边缘间距至少是线宽的 5 倍以上能到 10 倍更好。如果旁边是开关电源的电感或者高频时钟线这个间距不够就要考虑用地过孔阵或者地铜皮做隔离。另外一个容易忽略的点是 D/D- 不要与电源线、控制线长距离平行走线特别是高速信号在上层、控制信号在下层但平行重叠时互感耦合同样会造成干扰。此外D/D- 走线两侧尽量铺地铜并打一排接地过孔形成“地墙”隔离。地墙不仅抑制外部噪声耦合还能给差分对提供更短的回流路径对共模抑制有好处。但要注意地铜与 D/D- 的间距也不能太近否则会降低差分阻抗。间距至少保持一个线宽的距离通常我留 2~3 倍线宽以免过度耦合。4. 外围器件选型与典型电路处理4.1 USB 开关芯片什么时候该加、怎么选提到“USB2.0 开关芯片”很多新手会问主机和设备之间直接连 D/D- 不就完了为什么还要加开关实际场景很多一个 MCU 要切换 USB 和 UART 共用引脚、一个设备要在 host 和 device 模式之间动态切换、或者要控制 USB 电源的通断。这时候就需要一颗 USB 模拟开关或者 USB2.0 高速开关芯片。选开关芯片时最关键的参数是导通电容Con和带宽。-3dB 带宽至少要到 720MHz 才不至于对 480Mbps 信号造成明显劣化导通电容越小越好一般要小于 5pF否则会给 D/D- 增加一个不小的容性负载把阻抗拉偏。封装布局上开关芯片要尽量靠近连接器或 MCU并且 D/D- 在开关前后的走线阻抗都要保持 90Ω不要因为过孔和焊盘把链路做王国。这里顺便提一下有些项目用两个 74LVC 系列门电路来做通道切换从成本看确实便宜但普通门电路带宽不够、导通电容大高速模式下一上电就掉链子。如果项目明确要求 USB2.0 高速传输老老实实用专用开关芯片型号我就不列举了选型时搜索“USB2.0 high-speed switch”就能找到主流方案。4.2 ESD 防护器件选型和放置是两码事USB 接口是热插拔接口最容易被静电打坏的就是 D/D-。ESD 防护器件常见 TVS的选型和放置都直接影响信号完整性。选型上要看箝位电压、结电容和响应速度三个指标。对 USB2.0 高速来说结电容是最敏感的参数业界通常要求 TVS 的结电容小于 1pF越低越好。超过 2pF 的 TVS 并联在 D/D- 上会产生明显的容性负载直接改变走线阻抗高速握手可能失败。所以千万别用那种只写着“适用于 USB2.0”但没标结电容的杂牌器件。放置上TVS 必须紧靠着 USB 连接器引脚放置走线从连接器过来先经过 TVS 再到芯片/开关。这样做的原因是静电进入板内后路径越短、环路越小TVS 泄放的效果越好。如果 TVS 放在离连接器 5cm 开外的位置ESD 脉冲在到达 TVS 之前就可能通过走线耦合到其它地方防护效果大打折扣。另外TVS 接地脚要直接通过短走线连接到地平面不能和 D/D- 的参考地分开走线。4.3 共模电感、下拉电阻和 ID 脚细节很多参考设计里会在 USB2.0 高速线上加共模电感Common Mode Choke用来抑制共模噪声。但这里要权衡共模电感本身的差模带宽和谐振频率有限选型不好反而会劣化眼图。我的经验是如果产品没有明显的 EMI 测试压力或者接口是板内短距离连接可以先不加如果必须加选带宽超过 1GHz、差模插入损耗在 480Mbps 频率下低于 0.5dB 的型号并且务必实测眼图对比加与不加的效果。下拉电阻的问题更多出现在 MCU 的 USB device 应用里。设备端的 D 需要接一个 1.5kΩ 上拉电阻全速设备或者由内部电路实现主机端/OTG 场景则可能用到下拉。有些工程师为了省事把 1.5kΩ 上拉固定在 D 上结果设备插入主机时主机识别不到或者识别成低速设备——这常是因为上拉位置和类型不对。做 OTG 设备时D/D- 的上下拉切换最好用专用的 OTG 比较器/电源管理芯片来完成不要指望软件把 GPIO 拉来拉去就能完全模拟。ID 脚在 OTG 里的作用也不能忽略。ID 脚用于识别设备是作为主机还是外设ID 接地表示设备作为主机A 设备ID 浮空表示设备作为外设B 设备。这个引脚只是用来给系统提供一个状态电平不承载高速信号所以布线要求不高但要注意它不能被 ESD 保护器件的结电容干扰——有些低成本方案把 ID 和 D/D- 放在同一个保护器件里如果器件结电容大即使 ID 本身不跑高速也会通过封装内部的寄生耦合影响 D/D-。5. 信号完整性仿真与实测别等到打样回来才拍大腿5.1 仿真该在哪个阶段做很多工程师把信号完整性仿真当成“打样完失败之后的排查工具”这完全反了。仿真最有价值的时机是在 PCB 布局布线完成之后、投板之前。用仿真软件对 D/D- 走线做一次快速眼图分析能在几小时内发现潜在的阻抗不连续、过长过孔、等长不足等问题这时候修改只损失半天时间等板子打出来再发现一轮改板就是一到两周。常用的仿真工具正规模大厂用 Ansys SIwave/HFSS日常做板级快速验证其实 HyperLynx、ADS 或者免费的 KiCad 配合 SPICE 都可以做。ADS 在射频和高速数字混合场景下用得很多适合做链路仿真把 IBIS 模型、封装参数、PCB 走线模型、连接器模型串起来看接收端眼图。需要注意仿真结果依赖模型的准确性。MCU 的 IBIS 模型能从芯片厂商官网下载但封装寄生参数、连接器模型可能缺失这时候要做“保守假设”比如用最差的封装寄生、连接器按规格书标称值建模。5.2 TDR 实测阻抗打样回来后第一件事不是上电跑程序而是用 TDR 实测 D/D- 的阻抗。测试点最好选在芯片端和连接器端探针接触要稳定避免手抖造成的假信号。如果板内设计时就预留了串联 0Ω 电阻的位置可以焊上短跳线或者用探针压在焊盘上做测试。实测时要注意TDR 测到的曲线是“从探头到走线末端”的完整路径包含了探头本身的寄生、过孔、焊盘等。看结果时重点关注是否有明显的、长度在几百 mil 范围内的阻抗突变。比如在某个位置阻抗从 90Ω 掉到 60Ω然后又恢复那这个位置很可能有一个大焊盘或者过孔扇出的容性点需要用显微镜核对 PCB 文件。还有一个容易让人困惑的点TDR 差分测得的阻抗和单端探针测得的阻抗不同。差分 TDR 探头上有两根探针分别接触 D 和 D-同时激励正负信号读出的才是差分阻抗。如果用单端 TDR 探头分别测 D 和 D-得到的阻抗每个大约在 45Ω 左右——这是正常的不必怀疑板子有问题。5.3 眼图与抖动测试眼图是衡量高速信号质量最直观的手段。用示波器至少 2GHz 带宽最好 4GHz配合 USB 差分探头在接收端测量 D/D- 差分信号示波器会自动累积一段时间内的波形叠加形成眼图。USB2.0 高速的眼图判据主要看眼高Eye Height、眼宽Eye Width和总抖动TJ。按照 USB2.0 规范高速信号在接收端眼高至少要大于 143mV差分的峰值最小限值眼宽要大于窗口宽度的 40% 左右。实际项目里我要求设计余量至少做到规范值的 1.2 倍以上因为量产时的器件批次差异、温度漂移都会压缩眼图裕量。如果实测眼图“眼睛”很小先看是随机抖动大还是确定性抖动大。随机抖动通常跟电源噪声、地弹有关检查 USB 供电的退耦电容是否足够确定性抖动多半是阻抗不连续、串扰或者走线长度不匹配造成需要回到 PCB 布线去排查。5.4 几个典型的实测数据参考我拿自己做过的一个 4 层板项目举例MCU 的 USB 全速/高速接口D/D- 走线长度 35mm顶层布线下方完整地平面线宽 7mil、间距 7mil打样回来 TDR 实测差分阻抗 88~92Ω等长误差 3mil眼图测试在芯片接收端测到眼高 320mV、眼宽 1.7ns总抖动约 170ps。这个数据整套系统跑下来很稳即使换不同主机和不同线缆也没有出现降速或掉线。另一个反面案例2 层板、D/D- 走线 60mm走线宽度 12mil 但没做阻抗控制且走线跨过了一块大面积铺铜的缝隙无任何等长处理。实测差分阻抗在第 35mm 处突然跳到 115Ω跨缝点高速握手失败最终只能靠把 USB 配置改为全速模式来“降级使用”。这个案例让我更加坚定USB2.0 想做高速2 层板、长走线、跨分割的坑一个都不能踩。6. USB2.0 常见故障排查实录6.1 设备识别不稳定时好时坏这是 USB 问题里最磨人的一类。现象设备插到电脑上有时能识别有时不能同一个设备在不同主机上表现还不一样。排查路径我习惯这样走第一步确认供电。用示波器测 VBUS 在插入瞬间的跌落幅度如果跌落超过 300mV考虑加大 VBUS 的储能电容常见 10μF~22μF并检查 USB 连接器的电源针脚接触是否良好。第二步看 D/D- 的静态电平。设备插入后D 要被拉高到约 3V全速/高速设备的上拉如果这个电平不对优先查上拉电阻和电源。第三步检查高速握手是否成功。在示波器上抓取插入瞬间的 D/D- 波形看有没有 chirp 序列。如果握手信号幅度偏小、波形边沿明显变缓这就是信号完整性问题重点检查走线阻抗和 ESD 器件电容。此时可以把 TVS 先拆掉再测试如果恢复正常就说明 TVS 选型或布局有问题。第四步关注主控芯片的 USB 引脚配置。有些 MCU比如 STM32、ESP32的 USB 引脚可以映射到不同复用功能如果固件初始化时引脚模式设置不对也会导致识别不稳定。这种问题通常不是硬件问题但排查时要先排除软件因素避免改了好几版板子才发现是固件的事。6.2 高速设备降级为全速如果你的 U 盘或者高速 USB 设备插上后系统总是提示“此设备可更快”或者设备管理器里显示“连接为全速设备”这基本可以断定高速握手没成功。常见原因依次是D/D- 阻抗严重不匹配、TVS/共模电感电容过大、手握手信号边沿被滤波电路拉缓、以及电源纹波过大。其中电源纹波在插拔瞬间的影响经常被忽视——USB 设备在复位和 chirp 阶段会消耗较大的瞬态电流如果 VBUS 退耦不足电压跌落会影响收发器内部比较器的判断从而导致握手失败。处理方式上如果走线已经无法改动优先把 D/D- 上并联的 ESD/滤波器件容量往下调或者去掉共模电感。我在一个方案上就遇到过类似情况厂家推荐电路里加了一颗 2.2pF 的 TVS但实际选料时被替换成 3.3pF结果设备只能跑全速换回 1pF 级 TVS 后问题直接消失。6.3 带载时丢包或断开设备在运行过程中特别是传输大文件或连接移动硬盘时偶尔丢包甚至直接断开然后重新枚举。这种问题往往不是单纯的 USB 信号质量问题而是电源完整性和接地设计的问题。移动硬盘这类大电流设备工作时电流变化快地平面上的噪声如果较大会直接影响 D/D- 的共模电平。排查时用示波器同时测量 D/D- 与地之间的电压如果出现较大的地弹噪声比如超过 200mV 的毛刺就要强化电源和地的设计增加 VBUS 和 GND 之间的高频去耦电容0.1μF 和 1nF 并联加宽 USB 连接器到系统的 GND 走线必要时在连接器附近增加磁珠或共模电感来滤除共模电流。另一个细节是连接器的外壳地。USB 连接器的金属外壳通常要接到系统地但连接方式不要直接大面积接到平面而是通过一个 1MΩ 电阻并联 4.7nF 电容或磁珠接到系统地。这样既保证静电泄放路径又避免机壳地噪声直接干扰主板地平面。如果外壳地直接短接天线的地噪声会灌进板内反而引发更隐蔽的干扰问题。6.4 绕不开的整改记录与速查表我踩过太多 USB 的坑后来总结了一张速查表每次调试都对着它逐项排除效率高很多。这里也分享出来现象优先排查点处理方向设备完全识别不到VBUS 供电、D 上拉、引脚复用配置补电容、查配置、测静态电平时好时坏、插拔姿势影响连接器接触、TVS 布局、ESD 泄放环路换连接器、TVS 靠近连接器高速降全速D/D- 阻抗、TVS 结电容、共模电感加宽走线、降低结电容、去掉电感高速握手成功但传输报错差分对内 skew、过孔残桩、串扰等长优化、减少过孔、拉开间距大电流读写掉线地弹、VBUS 跌落、GND 回流不畅加强退耦、加宽地、加共模电感高低温测试时不稳定介质损耗、阻抗余量不足叠层重新计算、留裕量这张表不能替代完整调试但能帮你在碰到问题时不用每次都从头查一遍。尤其是 TVS 结电容和共模电感这两个点很多人根本没想到它们会是罪魁祸首我在这里再多提醒一句USB2.0 高速链路上每一个并联元件都是“容性刺客”选型时必须盯住结电容、带宽这两个指标位置必须紧靠连接器前后走线要保证阻抗平滑过渡。另一条经验是关于打样的边设计边留测试点。D/D- 上最好预留两个可以焊接同轴线的测试焊盘比如在芯片端附近放置一个 0Ω 电阻的位置方便以后用示波器测信号或者用网分测阻抗。没有测试点出了问题就只能靠肉眼排查 PCB效率极低。这个“多打两个焊盘”的成本几乎可以忽略但给调试带来的方便是无价的。最后再分享一个小技巧如果项目进度紧、来不及做完整仿真至少把 D/D- 走线做成“直、短、对称”并且两端都靠近地平面保证 90Ω 阻抗的叠层参数不出大偏差。USB2.0 高速虽然严格但只要抓住阻抗、等长、参考平面、器件寄生这几个核心点绝大多数问题都能在设计阶段规避掉而不是靠打样后手忙脚乱地飞线整改。