首页 / 资讯中心 / 文章详情

USB 3.0差分线TDR仿真实战:SIwave 2024 R2从配置到结果解读

USB 3.0差分线TDR仿真实战:SIwave 2024 R2从配置到结果解读 ★ FEATURED ARTICLE
1. 为什么USB 3.0差分线必须做TDR仿真USB 3.0的SuperSpeed通道跑在5Gbps差分阻抗要求控制在90欧姆±10%这个指标不是建议值是硬性门槛。我见过太多板子原理图看着没问题走线长度也做了等长结果眼图一测就塌最后查来查去发现是过孔残桩和连接器焊盘处的阻抗突变把信号反射吃掉了。这类问题在时域上表现为阻抗曲线上的尖峰或凹陷频域上就是回波损耗恶化而TDR仿真就是专门用来抓这个的。TDR全称Time Domain Reflectometry时域反射计。它的原理说白了很简单往传输线上打一个快速上升沿的阶跃信号信号遇到阻抗不连续的地方就会反射反射系数Γ(Z_L-Z_0)/(Z_LZ_0)。通过测量反射回来的波形反推出沿线的阻抗分布。SIwave 2024 R2里的TDR仿真本质上是一次宽带S参数提取加阶跃响应卷积所以它的精度取决于两个东西S参数的频率范围和端口设置是否合理。这个教程适合谁看如果你是用Allegro、Mentor或者Altium画高速板的Layout工程师或者做信号完整性仿真的SI工程师手上有SIwave 2024 R2需要快速验证USB 3.0差分对的阻抗连续性那这篇内容可以直接抄作业。我会从叠层设置、端口定义、仿真配置到结果解读把每一步的参数为什么这么设讲清楚包括我踩过的坑。2. 仿真前的模型与叠层准备2.1 导入PCB与检查叠层映射拿到一块USB 3.0的板子第一步不是急着开仿真而是把叠层确认清楚。SIwave 2024 R2支持直接导入Allegro的.brd文件或者ODB格式我一般用ODB因为跨工具兼容性好层映射不容易出错。导入之后第一件事是打开Layer Stackup编辑器逐层核对介质厚度、铜厚和介电常数Dk、损耗因子Df。USB 3.0差分线通常走在内层比如L3或L5参考平面是相邻的GND层。这里有个细节如果差分线换层参考平面也跟着换那过孔区域的阻抗就会失控。我实测过一块6层板USB 3.0从L1走到L3换层过孔没有伴随地过孔TDR曲线在过孔位置直接冲到110欧姆反射非常明显。所以叠层检查时要特别标注出差分线经过的每一层以及换层位置。介质参数方面FR4在5GHz下的Dk大概是4.2到4.4Df在0.015到0.02之间。如果你用的是Megtron 6或者松下M6Dk约3.6Df约0.004这些参数必须填对否则TDR算出来的阻抗绝对值会偏。我一般会找PCB厂要一张叠层报告把标称值和公差都记下来仿真时用标称值做裕量分析时再扫公差。2.2 差分对识别与过孔模型处理SIwave导入后会自动识别差分对但自动识别不一定准。USB 3.0的差分对命名通常是SSRX_P/SSRX_N、SSTX_P/SSTX_N这种你可以在Net Class里手动指定。我建议手动建一个差分对组把TX和RX都放进去后面做TDR时可以一次性扫描所有对。过孔是TDR仿真里最麻烦的部分。SIwave 2024 R2内置了过孔建模工具但默认的过孔模型是理想圆柱没有考虑残桩。USB 3.0的过孔残桩如果超过1.5mm在5GHz下就会产生明显的谐振。我的做法是在Via Modeler里输入实际板厚和过孔钻孔深度让工具自动算残桩长度然后决定是否需要背钻。如果残桩太长仿真结果会显示阻抗在过孔处先降后升形成一个典型的LC谐振波形。注意过孔焊盘的反焊盘尺寸也会影响阻抗。反焊盘太小容性太强阻抗偏低反焊盘太大参考平面被挖空太多阻抗偏高。一般反焊盘直径比过孔焊盘大0.2到0.3mm比较合适。2.3 材料参数与频率范围设定SIwave的TDR仿真需要先做频域扫描频率范围直接决定TDR的时间分辨率。上升时间Tr和带宽BW的关系是BW0.35/Tr。USB 3.0的上升时间典型值是50ps对应带宽7GHz。但为了捕捉更快的边沿和反射细节我一般把扫描上限设到10GHz到15GHz步长用自适应扫描保证S参数平滑。这里有个经验频率上限不是越高越好。如果设到20GHz但你的模型里没有包含连接器和线缆的精确模型高频段的数据就是噪声反而会让TDR曲线出现虚假的振铃。我通常先扫到10GHz看S21和S11的收敛情况如果10GHz以内曲线平滑就够用了。介质损耗方面宽频带模型比窄带模型准。SIwave 2024 R2支持Djordjevic-Sarkar模型你只需要输入Dk和Df工具会自动拟合全频段。我对比过用宽频带模型算出来的TDR阻抗在上升沿处比窄带模型更接近实测。3. TDR仿真配置的核心参数拆解3.1 端口设置差分端口还是单端端口这是新手最容易搞错的地方。TDR仿真测的是差分阻抗但SIwave里端口的定义方式会影响结果。有两种做法一是直接定义差分端口二是定义两个单端端口然后做混合模转换。我推荐第二种因为单端端口能同时给出共模和差模信息排查问题时更灵活。具体操作在差分对的起点和终点各放两个单端端口端口阻抗设50欧姆参考地选最近的GND平面。然后在Circuit Settings里启用混合模S参数工具会自动算出Sdd11和Sdd21。TDR激励加在差分端口上得到的阻抗就是差分阻抗。端口的去嵌很重要。如果端口直接放在走线端点焊盘和测试点的寄生电容会拉低高频阻抗。我一般用SIwave的端口去嵌功能把端口移到走线的直线段上去嵌长度根据实际焊盘尺寸来定通常0.5mm到1mm。3.2 阶跃信号参数上升时间与幅度TDR的激励信号是一个阶跃波上升时间决定了你能分辨多小的阻抗变化。空间分辨率Δz (Tr × v)/2其中v是信号在介质中的传播速度。对于FR4v大约是15cm/ns。如果Tr50psΔz≈3.75mm。也就是说两个阻抗突变点如果间距小于3.75mmTDR曲线就会把它们糊在一起。USB 3.0的上升时间是50ps但仿真时我建议用30ps到40ps这样分辨率更高能看清过孔和焊盘处的细节。幅度一般设1V太高没必要TDR是线性系统幅度不影响阻抗计算结果。提示上升时间太短也有副作用。如果模型的高频段精度不够短上升时间会放大数值噪声TDR曲线出现毛刺。我一般先用50ps扫一遍看整体趋势再降到30ps看细节。3.3 参考阻抗与阻抗曲线平滑参考阻抗设90欧姆这是USB 3.0差分线的标称值。SIwave会计算Z(t) Z_ref × (1Γ(t))/(1-Γ(t))其中Γ(t)是时域反射系数。注意这里的Z_ref必须和端口阻抗匹配否则算出来的阻抗会整体偏移。阻抗曲线的平滑处理是个双刃剑。SIwave提供了移动平均和低通滤波两种平滑方式。我一般用轻度移动平均窗口宽度不超过上升时间的1/3。平滑过度会把真实的阻抗突变抹掉比如过孔处的尖峰可能被削平导致你误以为没问题。3.4 仿真频率范围与扫频类型前面提到频率上限设10GHz到15GHz扫频类型选自适应。自适应扫频的好处是只在S参数变化剧烈的地方加密采样节省时间。但要注意自适应扫频的收敛阈值要设严一点我一般设-40dB保证S参数在全频段都平滑。如果板子上有连接器模型连接器的S参数文件通常是Touchstone格式频率范围可能只到10GHz。这时候仿真频率上限不能超过连接器模型的上限否则SIwave会外推结果不可信。4. 实操过程从零跑通一次USB 3.0 TDR仿真4.1 新建项目与导入模型打开SIwave 2024 R2新建一个Project选择Import格式选ODB。导入时注意单位一般选mm。导入完成后在Project Manager里检查Net列表确认USB 3.0的差分对都在。接下来做叠层设置。打开Stackup Editor逐层输入厚度和材料。我习惯把GND层和PWR层都标上因为参考平面不一定是GND有时候USB 3.0参考的是PWR平面但PWR平面在高频下阻抗很高需要加去耦电容。仿真时可以把PWR平面当成理想导体但实际测试中会有差异这个后面在问题排查里讲。4.2 差分对设置与端口放置在Nets里找到SSRX和SSTX右键创建Differential Pair。然后切换到Circuit Elements在差分对的起点和终点放置Port。端口类型选Circuit Port阻抗50欧姆参考选最近的GND层。放置端口时有个技巧端口要放在走线的直线段上离焊盘至少1mm。如果走线在端口附近有拐角端口要放在拐角之前。我一般用Measure工具量一下走线长度确保端口位置在直线段中间。4.3 混合模S参数提取在Simulation菜单里选SYZ Simulation频率范围设0.1GHz到15GHz扫频类型Adaptive。在Output里勾选Mixed-Mode S-Parameters这样会输出Sdd11、Sdd21、Scc11等参数。仿真时间取决于模型大小一块10层板大概跑10到20分钟。跑完之后先看Sdd21的插入损耗。USB 3.0在5GHz处的插损要求一般小于-3dB如果超过-5dB说明损耗太大可能是走线太长或者介质损耗太高。再看Sdd11的回波损耗在5GHz处应该小于-10dB。4.4 TDR后处理与阻抗曲线生成S参数跑完后在Results里选TDR Wizard。激励源选Step上升时间设40ps参考阻抗90欧姆。工具会自动做IFFT得到时域阶跃响应然后算出阻抗曲线。阻抗曲线的横轴是时间可以换算成距离。换算公式是距离时间×v/2v是传播速度。对于FR4v≈15cm/ns所以1ns对应7.5cm。纵轴是阻抗USB 3.0要求90欧姆±10%也就是81到99欧姆之间。我一般会在曲线上标注几个关键位置连接器焊盘、过孔、走线拐角。这些位置的阻抗如果超出81到99欧姆的范围就需要优化。4.5 结果解读合格与不合格的判定合格的TDR曲线应该是平坦的在90欧姆附近小幅波动波动幅度不超过±5欧姆。如果出现过冲或下冲说明有感性或容性突变。过冲通常是感性比如走线太细或者参考平面被挖空下冲通常是容性比如焊盘太大或者过孔反焊盘太小。我实测过一块板子TDR曲线在过孔处冲到105欧姆持续了大约20ps。换算成距离是0.15mm说明过孔区域的感性很强。后来把过孔反焊盘从0.5mm加大到0.7mm阻抗降到95欧姆合格了。5. 常见问题与排查技巧实录5.1 TDR曲线整体偏移怎么办如果整条曲线都偏高或偏低比如都在100欧姆以上首先检查叠层参数。介质厚度偏大或者Dk偏小都会导致阻抗偏高。我遇到过导入ODB时层顺序搞反了结果参考平面错位阻抗整体偏高20欧姆。其次检查端口阻抗。如果端口设了50欧姆但参考阻抗设了90欧姆混合模转换会出错。确保端口阻抗和参考阻抗一致。5.2 过孔处阻抗尖峰怎么优化过孔阻抗尖峰是最常见的问题。优化手段有三个一是加大反焊盘减小容性二是加地过孔提供回流路径三是背钻减小残桩。我一般先加地过孔如果效果不够再调反焊盘。地过孔的位置很关键。要放在差分过孔的旁边距离不超过1mm。地过孔太少回流路径长感性就大。我通常每个差分过孔配两个地过孔对称放置。5.3 仿真结果与实测差异大的原因仿真和实测有差异很正常但如果差异超过10%就要找原因。常见原因有材料参数不准、连接器模型不包含、测试点寄生电容没去嵌。我建议先用TDR实测一块已知良好的板子反推材料的Dk和Df再用这些参数去仿真。另一个原因是仿真频率范围不够。如果只扫到5GHzTDR的上升时间会被限制在70ps左右细节看不清。扫到15GHz上升时间可以做到23ps细节更丰富。5.4 扫频范围与上升时间的匹配关系前面提过BW0.35/Tr但这是理论值。实际仿真中为了保证TDR曲线不出现吉布斯现象频率上限最好取1.5倍的BW。比如Tr40psBW8.75GHz频率上限取13GHz。如果取10GHzTDR曲线在阶跃处会有振铃。5.5 差分对长度不匹配对TDR的影响USB 3.0要求差分对内长度匹配在5mil以内。如果不等长TDR曲线会出现两个分离的阻抗台阶因为正负信号的反射到达时间不同。我见过一块板子差分对差了20milTDR曲线在上升沿处出现明显的双台阶眼图测试时抖动很大。5.6 参考平面不连续的处理如果差分线跨越了平面分割回流路径被切断阻抗会急剧升高。仿真时可以在平面分割处加缝合电容或者调整走线避免跨分割。我一般优先改走线实在改不了才加电容因为电容的寄生电感在高频下会引入新的不连续。6. 提升仿真精度的几个实战技巧6.1 网格划分与收敛设置SIwave的网格划分对精度影响很大。自适应网格划分的收敛标准我一般设1%到2%太松了结果不准太紧了跑不动。对于USB 3.0这种高速信号网格要能分辨走线宽度和介质厚度。如果走线宽5mil网格尺寸不要超过2.5mil。6.2 去嵌端口的正确使用去嵌端口能把测试焊盘和过孔的影响去掉让TDR曲线只反映走线本身的阻抗。去嵌长度要准确我一般用实际焊盘的长度加上过孔的深度。去嵌太多会把走线的真实阻抗也去掉去嵌太少则残留寄生参数。6.3 温度与工艺角的影响FR4的Dk和Df随温度变化高温下Dk增大阻抗降低。如果产品要在高温下工作仿真时要把Dk调高2%到3%。工艺角方面介质厚度和线宽都有公差我一般做三个角典型、最坏偏高、最坏偏低看阻抗是否都在81到99欧姆以内。6.4 与实测TDR的对比校准仿真跑完后如果有条件用实测TDR对比一下。实测TDR的上升时间通常是35ps到50ps和仿真设置接近。对比时看两个指标阻抗平均值和阻抗波动幅度。如果平均值差5欧姆以内波动趋势一致说明仿真模型可信。我个人的习惯是每块新板子第一次仿真后都会留一个测试点做实测对比。积累几次之后你就知道自己的叠层参数和仿真设置有多准后面可以放心用仿真代替部分实测。6.5 批量扫描多对差分线的效率优化一块板子上可能有4对USB 3.0差分线一对一对跑太慢。SIwave支持批量仿真你可以在Circuit Settings里把所有差分对都加到同一个Simulation里工具会依次跑完。但要注意端口数量多了之后S参数矩阵会变大仿真时间指数增长。我一般一次跑两对平衡速度和效率。7. 从TDR曲线到设计改进的闭环TDR仿真不是跑完看个热闹就完了关键是要根据曲线去改设计。我一般按这个流程走先看整体阻抗是否在81到99欧姆以内如果不在先调叠层或线宽再看局部突变过孔、焊盘、拐角逐个优化最后做工艺角扫描确认裕量。改完之后重新跑TDR对比前后曲线。我习惯把两次曲线叠在同一张图上用不同颜色区分这样改进效果一目了然。如果改了三次还达不到要求就要考虑换材料或者改叠层了硬调线宽效果有限。还有一点TDR曲线合格不代表眼图一定好。TDR只看阻抗眼图还受串扰、损耗、抖动影响。所以TDR是第一步后面还要做通道仿真。但TDR是最快能定位阻抗问题的工具先把这一步做扎实后面的仿真才有意义。我自己在实际操作中的体会是SIwave 2024 R2的TDR仿真精度已经足够指导设计但前提是叠层参数要准、端口设置要对、频率范围要够。这三个条件缺一个结果就可能误导你。踩过几次坑之后我现在每次仿真前都会花10分钟检查这三项比后面返工省时间得多。
阅读完成 · 觉得有帮助?
咨询建站