ARTICLE DETAIL

资讯详情

深耕编程入门与网站建设的一线实战洞察。

Sigrity TDR仿真五大高阶技巧:从S参数提取到时域验证

Sigrity TDR仿真五大高阶技巧:从S参数提取到时域验证 1. 为什么TDR仿真值得花时间深挖做信号完整性这行十几年TDR仿真一直是我认为最值得投入精力去打磨的技能之一。原因很直接时域反射Time Domain Reflectometry本质上就是把一根传输线当成“雷达”来看你发一个陡峭的阶跃波进去沿途任何阻抗不连续的地方都会把一部分能量反射回来反射波的极性、幅度、到达时间直接告诉你那个位置发生了什么——是过孔残桩太长、是连接器焊盘电容偏大、还是参考平面被割裂了。频域S参数当然也能看但TDR给的是更贴近物理直觉的画面尤其跟测试仪器对得上仿真和实测能互相印证的时候那种“对上了”的感觉是频域曲线给不了的。Cadence Sigrity这套工具链里做TDR仿真主要涉及PowerSI和SPEED2000两个核心模块。PowerSI负责提取无源结构的宽带S参数模型SPEED2000负责把模型放进电路里做时域激励和响应。很多人第一次用Sigrity跑TDR出来的波形要么上升沿慢得看不出细节要么反射位置对不上要么跟VNA实测差一大截。问题往往不在工具本身而在于几个关键设置没吃透。这篇文章我打算把踩过的坑和总结出来的五个高阶技巧讲清楚从模型提取的带宽控制、端口设置、激励源定义到去嵌处理和结果交叉验证每一步都给出可复现的参数和判断依据。适合已经能跑通基本流程、但想让TDR结果更准更可信的工程师也适合刚接触Sigrity、想少走弯路的朋友。2. 先搞清楚Sigrity里TDR仿真的两条技术路线2.1 PowerSI提S参数加SPEED2000做时域卷积这是最经典也最可控的路线。PowerSI对PCB或封装结构做全波电磁提取输出宽带S参数通常是Touchstone格式然后在SPEED2000里用一个理想阶跃源或者用户定义的激励波形跟S参数做卷积得到时域TDR响应。这条路线的好处是S参数可以反复用你改激励、改端接、改观察点都不用重新提取电磁模型迭代效率高。而且S参数本身可以拿去做通道分析、眼图仿真一份模型多处复用。但这条路线有个前提S参数的带宽和端口定义必须跟你的TDR需求匹配。如果S参数只提到10GHz而你的阶跃上升沿是20ps对应带宽约17.5GHz那高频信息被截断TDR波形上表现为上升沿变缓、小反射被抹平。所以带宽控制是第一个要讲的高阶技巧。2.2 SPEED2000直接时域求解SPEED2000本身也支持直接时域求解把结构网格化之后在时域步进。这条路线的优势是天然处理非线性端接和任意激励波形不需要先提S参数。但代价是计算量大尤其是结构电大尺寸的时候网格数量和步长会把你拖死。而且时域求解的精度对网格质量非常敏感过孔、焊盘这些细节如果网格太粗阻抗突变就模拟不准。我的建议是绝大多数TDR场景走第一条路线用PowerSI提S参数再用SPEED2000卷积。只有当你需要研究非线性器件比如二极管钳位或者激励波形特别复杂的时候才考虑直接时域求解。下面讲的技巧也主要围绕第一条路线展开因为这是实际项目里用得最多、也最容易出问题的环节。3. 技巧一带宽与上升沿的匹配计算别让S参数截断你的细节3.1 上升沿和带宽的换算关系TDR能看多细取决于两个东西激励源的上升沿和S参数的带宽。两者必须匹配否则你花了时间提的高频模型白费或者提了用不上的带宽浪费算力。工程上常用的换算公式是BW ≈ 0.35 / Tr其中BW是带宽GHzTr是上升沿的10%到90%时间ns。比如你要看50ps上升沿的细节BW ≈ 0.35 / 0.05 7GHz。但注意这只是“能看出这个上升沿”的最低带宽。如果你想分辨上升沿上的小台阶或者近距离的两个反射点实际需要的带宽要更高通常取2到3倍余量。我一般按这个规则来定S参数提取带宽目标上升沿 Tr (ps)理论带宽 (GHz)建议提取带宽 (GHz)频率步长建议1003.51050MHz5072050MHz35102525MHz2017.54025MHz10357012.5MHz频率步长也很关键。步长太大会导致时域波形出现混叠或者时间分辨率不够。经验规则是频率步长Δf对应的最大无混叠时间窗T 1/Δf。如果你要观察的时间窗是5ns那Δf ≤ 200MHz。但为了波形平滑通常取更小的步长比如50MHz甚至25MHz。代价是数据量和提取时间增加但TDR波形质量提升明显。3.2 在PowerSI里设置扫频范围PowerSI的扫频设置里Start Frequency一般从DC或者很低的值开始比如1MHz。这里有个细节DC点的S参数对TDR的基线电平影响很大如果DC点缺失或者不准TDR波形整体会偏移。所以建议从DC或者尽可能低的频率开始扫。Stop Frequency按上面的表来定。Sweep Type选Linear不要选Adaptive或者Log。Adaptive扫频在谐振点附近会加密但时域卷积需要等间隔的频域数据非均匀采样会导致卷积出错。Linear扫频虽然点数多但数据规整后续处理省心。Number of Points Stop Freq / Step Freq 1。比如Stop20GHzStep50MHz点数就是401。这个点数不算多提取时间可以接受。注意有些版本的PowerSI默认用Adaptive扫频一定要手动改成Linear。我见过不止一个案例TDR波形在某个时间点突然跳变查了半天发现是Adaptive扫频导致频域数据非均匀卷积时出了问题。3.3 验证带宽是否足够的方法提完S参数之后别急着跑TDR。先看一眼S参数的幅度和相位曲线。如果在你关心的频段内插入损耗曲线平滑下降回波损耗没有异常尖峰相位线性度好那基本没问题。更直接的办法是用两个不同的上升沿分别跑TDR如果上升沿从50ps降到35ps时波形上多出了新的细节比如原本平滑的阻抗曲线出现了小波动说明带宽够用如果波形几乎没变化说明带宽被截断了需要提高Stop Frequency重新提取。4. 技巧二端口设置决定TDR波形的物理意义4.1 端口类型和参考阻抗PowerSI里提S参数端口设置是重中之重。TDR仿真本质上看的是阻抗随位置的变化而阻抗是通过反射系数算出来的。反射系数又依赖于端口的参考阻抗。如果你设的参考阻抗跟实际传输线特性阻抗不匹配TDR波形上的阻抗读数就会整体偏移。比如你的传输线设计阻抗是50欧姆那端口参考阻抗就设50欧姆。如果设成75欧姆TDR波形上50欧姆的线会显示成33欧姆左右完全对不上。这个错误很基础但确实有人犯。端口类型一般选“Circuit”或者“Lumped Port”具体取决于你的结构和频率范围。对于PCB走线和过孔Lumped Port在低频段更准但高频段寄生参数会影响。Wave Port更接近物理连接但设置复杂需要定义端口面的大小和位置。我的经验是如果结构是标准的传输线加过孔用Lumped Port加合适的端口尺寸就够了如果是连接器或者天线这类开放结构Wave Port更合适。4.2 端口去嵌和参考面移动这是TDR仿真里最容易出错的地方。你在PowerSI里设的端口物理上是在某个位置但TDR波形的时间零点对应的是激励源到达端口的时刻。如果端口离你关心的结构有一段距离那段距离的传输线延迟会体现在TDR波形上让你误以为反射点位置偏移。解决办法是做端口去嵌De-embedding。PowerSI支持在端口设置里指定去嵌长度把参考面移动到你需要的位置。比如你的端口在连接器焊盘上但你关心的是连接器后面的走线那就把参考面去嵌到走线起点。去嵌长度怎么算用传输线延迟公式Td Length / Vp其中Vp是信号在介质中的传播速度Vp c / sqrt(εr)。比如FR4的εr约4.3Vp ≈ 3e8 / sqrt(4.3) ≈ 1.45e8 m/s。如果去嵌长度是10mmTd 0.01 / 1.45e8 ≈ 69ps。这个延迟会从TDR波形的时间轴上减掉让反射点位置对应到实际物理位置。提示去嵌长度不要设得比端口到结构的实际距离还大否则会把有效结构也去嵌掉TDR波形上什么都看不到。4.3 端口数量和位置的选择TDR仿真通常只需要两个端口一个激励端口一个接收端口或者叫远端端口。但如果你想看差分对的TDR就需要四个端口两对差分。差分TDR的端口设置更复杂需要定义差分阻抗和共模阻抗这里不展开但原则是一样的参考阻抗要跟设计目标一致。端口位置尽量选在结构的两端不要选在中间。如果结构有分支比如T型拓扑那每个分支末端都要设端口否则分支上的反射无法被正确捕获。5. 技巧三激励源定义里的隐藏陷阱5.1 阶跃源的上升沿和幅度SPEED2000里做TDR卷积激励源通常选阶跃电压源。上升沿设多少这取决于你想看多细。前面说了上升沿越陡高频成分越丰富能看到的细节越多。但上升沿太陡也有问题第一S参数带宽可能不够导致波形振铃第二数值卷积可能不稳定出现非物理的过冲。我的经验是上升沿设成你实际系统里信号的最快上升沿或者稍微快一点。比如你的信号是USB 3.0上升沿约50ps那TDR激励源就设50ps。如果你想看更细的结构可以设35ps但要确保S参数带宽够。幅度一般设1V方便读数。TDR波形上的阻抗是通过反射系数算的Z Z0 * (1 Γ) / (1 - Γ)其中Γ是反射系数等于反射电压除以入射电压。如果激励幅度是1V入射电压就是0.5V因为源内阻和传输线分压反射电压直接读出来就能算Γ。所以幅度设1V最直观。5.2 源内阻和端接SPEED2000里的阶跃源有内阻设置。这个内阻应该等于传输线的特性阻抗通常是50欧姆。如果内阻设错入射电压幅度会变TDR波形的基线也会偏。比如内阻设成0欧姆入射电压就是1V反射系数算出来会偏大一倍。远端端接也要注意。如果远端是开路反射系数为1TDR波形上会看到一个向上的全反射。如果远端是短路反射系数为-1波形向下。如果远端端接50欧姆反射系数为0波形平坦。实际仿真里远端端接要根据你的场景来设。比如你想看走线本身的阻抗远端就端接50欧姆你想看连接器的开路反射远端就设开路。5.3 时间步长和仿真时长SPEED2000做卷积的时候时间步长和仿真时长需要设置。时间步长决定了TDR波形的时间分辨率。经验规则是时间步长 ≤ 上升沿 / 10。比如上升沿50ps时间步长就设5ps或者更小。仿真时长要覆盖你关心的最大延迟。比如你的结构最长延迟是5ns仿真时长就设10ns留一倍余量。注意时间步长太小会导致数据量爆炸仿真时间变长。5ps步长、10ns时长就是2000个点还可以接受。如果步长设到1ps点数就上万了卷积会变慢。所以步长够用就行不要盲目追求小。6. 技巧四去嵌与夹具效应处理让TDR波形回归真实6.1 夹具效应的来源实际测试里TDR波形往往包含测试夹具的影响。夹具的传输线、连接器、焊点都会引入额外的阻抗不连续和延迟。仿真里虽然没有物理夹具但如果你是从测试板或者封装引脚开始提取的S参数那测试板或者封装引脚本身就相当于夹具。这些“夹具”的效应会叠加在TDR波形上让你分不清哪些是DUT被测件的反射哪些是夹具的反射。6.2 用去嵌把夹具效应剥离去嵌的思路是先单独提取夹具的S参数然后从整体S参数里把夹具的效应去掉得到DUT本身的S参数。Sigrity里可以用PowerSI分别提取夹具和整体结构然后用SPEED2000或者专门的去嵌工具做处理。具体步骤提取夹具的S参数端口设在夹具的两端。提取整体结构的S参数端口设在夹具的外端。用去嵌算法比如TRL或者AFR从整体S参数里减去夹具的S参数。对去嵌后的S参数做TDR卷积得到DUT本身的TDR波形。去嵌算法里TRL需要专门的校准件AFRAutomatic Fixture Removal不需要但精度稍低。实际项目里如果夹具是标准的传输线AFR够用如果夹具复杂TRL更准。6.3 去嵌后的验证去嵌完别急着下结论。先对比去嵌前后的TDR波形去嵌后夹具引入的反射应该消失DUT的反射应该更清晰。如果去嵌后波形出现异常振铃或者负阻抗说明去嵌过度或者算法参数不对需要调整。我一般会做一个简单验证把去嵌后的S参数重新加上夹具S参数看能不能还原出整体S参数。如果能还原说明去嵌过程可逆结果可信。7. 技巧五TDR与频域结果的交叉验证7.1 为什么需要交叉验证TDR波形直观但容易受激励源和卷积参数影响。频域S参数是TDR的“原料”如果S参数本身有问题TDR波形再好看也是假的。所以做完TDR之后一定要回头看一眼S参数两者互相印证。7.2 从S参数反推阻抗S11回波损耗跟阻抗的关系是Zin Z0 * (1 S11) / (1 - S11)如果你在某个频点看到S11的幅度和相位就能算出那个频点的输入阻抗。把多个频点的输入阻抗画出来就是频域阻抗曲线。这条曲线跟TDR波形上的阻抗曲线应该趋势一致。如果TDR上某个位置阻抗偏低频域阻抗曲线在对应频段也应该偏低。7.3 用眼图或者脉冲响应辅助判断SPEED2000里还可以跑脉冲响应或者眼图。脉冲响应跟TDR类似但激励是窄脉冲而不是阶跃。脉冲响应对近距离的反射更敏感因为脉冲宽度窄时间分辨率高。如果TDR波形上两个反射点靠得太近分不开可以跑一个脉冲响应看看能不能分辨。眼图则更接近系统级性能。如果TDR显示阻抗控制很好但眼图闭合严重那问题可能不在阻抗而在损耗或者串扰。这时候就要回到S参数看插入损耗和近端串扰。7.4 实测与仿真的对齐如果有实测TDR数据那是最好的验证。实测TDR的上升沿、阻抗读数、反射位置跟仿真逐一对比。差异大的地方先检查仿真设置端口参考阻抗、去嵌长度、激励上升沿、S参数带宽。实测和仿真对不上的常见原因包括实测夹具没去嵌干净、仿真介电常数设错、实测端接跟仿真不一致。我个人的习惯是仿真TDR和实测TDR放在同一张图里时间轴对齐看反射峰的位置和幅度。如果位置对但幅度差可能是损耗或者介电常数问题如果位置差可能是延迟或者去嵌问题。8. 常见问题与排查速查表8.1 TDR波形异常排查现象可能原因排查方法波形整体偏移端口参考阻抗设错检查端口阻抗是否等于设计阻抗上升沿过缓S参数带宽不足提高Stop Frequency重新提取波形振铃扫频类型选错或步长太大改Linear扫频减小步长反射位置偏移去嵌长度不对重新计算去嵌延迟阻抗读数偏低远端端接不对检查远端是开路还是50欧姆波形有非物理过冲时间步长太大或卷积不稳定减小时间步长检查S参数因果性高频细节丢失上升沿太慢减小激励上升沿确保带宽匹配8.2 实操心得第一个心得提S参数之前先用手算估一下延迟和阻抗。比如走线长度50mmFR4上延迟约345psTDR波形上反射峰应该出现在345ps附近。如果仿真出来差很多先查去嵌和端口设置别急着怀疑电磁算法。第二个心得PowerSI的网格设置对过孔和焊盘的阻抗影响很大。过孔如果网格太粗等效电容偏小TDR上过孔阻抗会偏高。我一般会把过孔区域做局部网格加密加密到至少每波长10个网格。波长按最高频率算比如20GHz在FR4里波长约7mm网格就设0.7mm以下。第三个心得SPEED2000卷积的时候如果S参数有DC点缺失TDR基线会漂。解决办法是在PowerSI里把Start Frequency设到很低比如1MHz或者用外推法补DC点。有些版本支持DC外推勾上就行。第四个心得差分TDR的端口设置里差分阻抗是2倍的单端阻抗。比如单端50欧姆差分就是100欧姆。如果设成50欧姆差分TDR波形上的阻抗读数会差一倍。这个坑我踩过查了一下午才发现。9. 从仿真到实测的闭环建议TDR仿真做得再准最终还是要跟实测对上。我的建议是在项目早期就用仿真建立TDR基线把关键结构的阻抗曲线跑出来作为设计参考。PCB打样回来之后用实测TDR对比差异大的地方重点分析。如果实测和仿真在某个频段差异明显先检查介电常数和损耗角正切是否跟板材规格书一致。FR4的εr在不同频率下会变低频约4.3高频可能降到4.0左右。如果仿真用固定εr高频段阻抗会偏。另外实测TDR的上升沿通常比仿真慢因为测试仪器和探头有带宽限制。对比的时候把仿真激励源的上升沿设成跟实测仪器一致这样波形才有可比性。比如实测仪器上升沿是40ps仿真就设40ps别设10ps然后抱怨对不上。最后分享一个我常用的技巧在SPEED2000里把TDR波形和S11曲线放在同一个报告里左边看时域右边看频域。时域上某个位置的反射频域上对应某个频段的回波损耗恶化。两者对照着看问题的根因往往一目了然。这个习惯帮我省了很多来回折腾的时间。
返回列表