ARTICLE DETAIL

资讯详情

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

HFSS高速差分过孔建模与S参数仿真全流程

HFSS高速差分过孔建模与S参数仿真全流程 1. 项目概述与仿真思路1.1 为什么高速差分过孔一定要仿真做高速信号完整性这些年我越来越觉得过孔是链路里最容易被低估的环节。板子跑不动、眼图闭合、误码率压不下去排查到最后往往就是过孔挖得不好。走线好歹有传输线理论和EDA工具帮你盯着而过孔是三维结构传输线公式基本不适用静态检查工具也很难抓出问题唯有靠三维电磁场仿真才能把它看透。差分过孔尤其值得单独拿出来说。千兆以太网、PCIe、SATA、USB3.x、DDR高速接口几乎清一色走差分信号过孔作为信号换层的必经通道本身的阻抗不连续、残桩共振、回流路径割裂每一个都是实打实的信号质量杀手。HFSS作为全波电磁仿真工具在这个场景上是当之无愧的主力。它不是算近似公式而是直接求解麦克斯韦方程组能把过孔每一毫米的电场、磁场、电流分布都算出来精度在业界是公认的标准级。这篇“上篇”我带大家把最基础也最关键的一步走完从零开始建立高速差分过孔模型设置材料、端口和边界条件跑出S参数。中篇和下篇再接着做参数扫描、阻抗优化和TDR分析。上篇做扎实了后面全是水到渠成的事。1.2 上篇的目标与适用读者这篇教程的目标很明确建一个单对差分过孔模型换层走线跑出回波损耗和插入损耗曲线并验证过孔的差分阻抗表现。模型参数我会按一份常见的8层高速数字板来定叠层是1.6mm板厚、走线层在L1和L3的信号层间做换层参考层为GND。这个场景基本覆盖了大多数高速接口的典型换层需求。适合读这篇的读者我按经验分了三类。一类是刚接触信号完整性仿真、想在HFSS里练手的学生和初级工程师照着操作就能把模型跑通。第二类是已经在做PCB设计、想验证自己过孔方案的硬件工程师可以拿我的参数作为起点换成你们板卡的实际叠层来测。第三类是单纯想搞明白“差分过孔到底哪里容易出问题”的研发人员即使不亲手操作理解建模思路后对设计规则的理解也会深一截。如果你之前完全没碰过HFSS也没关系。我把操作顺序卡得很细用到的每一项设置都解释为什么这么做而不是机械地告诉你点哪里。HFSS的学习曲线确实陡但跟着完整走一遍建模流程后你会发现这个软件的逻辑其实是清楚的画结构、赋材料、设边界、加激励、跑求解、看结果就这六步。2. 建模前的准备工作与环境设置2.1 版本选择与工程文件三要素HFSS目前主流的版本是ANSYS HFSS 2021R1往后的版本新版本的界面更友好Draw菜单里很多几何操作已经接近通用CAD软件的手感。版本高低对学习和基础仿真影响不大但要注意如果你用的是旧版本打开新版本创建的工程文件是打不开的HFSS向下兼容做得一般。新建工程后先别急着画图养成三个好习惯。第一文件路径不要放中文HFSS对中文路径的兼容性时好时坏等模型复杂了莫名其妙报错很多时候就是路径惹的祸。第二工程名字和设计名字分开管理工程可以叫“Via_Training”设计名建议叫“Diff_Via_8Layer_V01”方便后续做版本迭代。第三设置好求解单位Modeler菜单下的Units这一步很多人会漏掉但单位设置错后面的所有尺寸都会乱套。HFSS里一个完整的仿真设计包含三个要素几何模型、边界条件和激励源、求解设置。几何模型决定结构边界条件决定求解域激励源决定信号怎么进入结构求解设置决定计算精度和扫频范围。这三样配置齐了HFSS就能开始干活。上篇的核心就是把这三大块一个一个搭好。2.2 初始设置求解类型与单位打开HFSS后第一步是确定求解类型。在HFSS菜单下找到Solution Type这里有两个选择Driven Modal和Driven Terminal。很多初学者会在这一步卡住不知道怎么选。Driven Modal是模式驱动求解计算的是S矩阵基于模式电压和模式电流适合波导、腔体这类结构分析。Driven Terminal是终端驱动求解计算的是基于端口的电压和电流更适合传输线、连接器、差分信号这类非TEM模不完全占主导的结构。高速差分过孔仿真明确选Driven Terminal原因在于它能够基于叠加规则自动计算差分S参数直接给出SDD11和SDD22这正是我们需要的差分回波损耗和插入损耗。单位设置建议统一用mil或mm。我个人的习惯是用mm因为叠层资料和PCB图纸大多数给的是mm或um。4mil的过孔直径等于0.1016mm如果在HFSS里按0.1mm建模忽略的0.0016mm带来的误差可以忽略不计。但如果你用mil做单位直接填4建模时会更直观。怎么顺手怎么来关键是一个模型里全程统一。2.3 差分过孔的关键参数定义动手建模之前先把过孔的关键参数想清楚。很多教科书从过孔的反焊盘开始讲但实际高频设计里决定过孔性能的核心参数就那么几个。第一个是过孔本体直径。机械钻头的最小尺寸通常受限于板厂工艺常规量产能做到8mil先进工艺可以做到6mil。过孔直径跟特性阻抗关联密切直径变大寄生电容增大阻抗降低。第二个是焊盘直径。焊盘是过孔连接走线层的过渡结构直径一般比过孔直径大8到10mil具体由制造公差决定太大则寄生电容明显。第三个是反焊盘直径。这是过孔周围挖掉的铜皮区域用来减小过孔焊盘与参考平面之间的寄生电容。反焊盘越大过孔阻抗越高但回流路径越差反焊盘太大会割裂参考平面反而让回流电流绕大圈走。高速差分过孔一般建议反焊盘直径比焊盘直径大6到10mil左右下图是典型参数参考。第四个是残桩。钻头穿过所有层后从换层位置到背钻方向末端没有用到的过孔段就叫残桩。残桩是过孔阻抗不连续的罪魁祸首它在某个频率会和信号形成驻波共振产生陷波。上篇先不做背钻保留全贯穿过孔方便对比残桩的影响中篇我会专门做背钻优化对比。第五个是参考层间距。差分过孔两侧的参考地平面越近回流路径越短电场越集中阻抗越低。模型里GND层和走线层间的介质厚度直接对标PCB叠层设计。下面是这个模型的基准参数表后面建模全程用这组数值。参数数值说明过孔直径0.30mm通孔贯穿暂不背钻焊盘直径0.50mm比孔直径大0.2mm反焊盘直径1.00mm圆孔反焊盘便于建模差分过孔中心间距0.80mm与差分走线线距一致L1走线层厚度0.035mm1oz铜箔L1到GND1介质厚度0.10mm高速层叠的芯板整板厚度方向层叠1.60mm8层板总厚度介质材料FR4介电常数4.4损耗正切0.02信号层走线宽度0.30mm对应单端阻抗50欧姆差分线间距0.80mm对应差分阻抗100欧姆这组参数并不是拍脑袋定的它是从差分阻抗100欧姆的反推结果来的。等模型跑完我们会在HFSS里用TDR结果反推实际的差分阻抗值再和理论值做对比。这也是仿真最有价值的用法不是做完就结束了而是用来验证设计规则到底靠不靠谱。3. HFSS三维建模全流程实操3.1 介质层建模从下往上搭板子介质衬底是过孔模型的地基。很多初学者喜欢先把过孔圆柱画出来再画平面结果模型之间相互重叠、布尔运算一堆报错。正确顺序是从大的介质块开始一层一层往上搭过孔埋进去做布尔减这样模型内部不会出现悬浮的金屑。在Draw菜单里选择Box按快捷键可以快速调出。画介质块的好处是我们这块板的Z向总厚度是1.6mmX和Y方向只要取一个足够大的范围模拟PCB在一个较大区域内的电磁环境。过孔周围的影响范围大概在几个毫米内模型横向尺寸取5mm乘5mm中心的差分过孔离边界有足够的距离既能保证边界对场分布不造成明显扰动又不会让网格量失控。介质材料的赋值是关键一步。在HFSS中选中介质块的模型树名称右键选择Assign Material在弹出的材料库中搜索FR4。库里的FR4默认介电常数是4.4损耗正切是0.02这个是板厂常用的标准值。但要注意实际板材如生益S1000-2M介电常数在1GHz附近是4.2左右在10GHz会掉到4.0左右。低频仿真用常数4.4问题不大如果仿真频率超过10GHz建议手动添加频变材料模型。3.2 信号层与参考层铜箔平面设置介质块建好后在介质块的上表面和下表面分别建一个铜箔平面。这两个铜面代表L1信号层和GND1参考层。铜箔的厚度设为0.035mm在HFSS里用Sheet类型建模再给它赋一个厚度属性就等效于真实铜箔的三维结构。上表面的铜箔要处理成差分走线形状。两条平行的微带线线宽0.30mm间距0.80mm从模型边界延伸到过孔焊盘位置。画法很简单先画两条矩形铜皮宽度0.30mm长度大概2mm间距0.80mm。铜皮的起始端在模型边界处作为信号进入的位置末端接到过孔焊盘上。下表面的GND铜箔不需要走线铺满整个平面即可但要在过孔位置挖出反焊盘。反焊盘是空心的圆环区域即铜箔上挖掉直径1.00mm的圆形。这一步用布尔减法完成先画一个直径1.00mm的圆柱贯穿整个模型把所有需要避让的区域一次性减掉包括两个过孔的本体、反焊盘以及走线层不需要的铜皮。铜箔材料用copperHFSS内置材料库里就有默认电导率5.8e7 Siemens/m这个数值在GHz频段内足够准确。如果是做更高频率或者更高精度的研究可以考虑把铜箔表面粗糙度加进去但基础教程里没必要模型复杂度会成倍增加。3.3 过孔反焊盘的建模与布尔运算技巧布尔运算是HFSS建模里最繁琐也最容易出错的部分。差分过孔需要两个过孔每个过孔由三个结构组成过孔圆柱体、焊盘圆片、反焊盘挖空区。实际操作中我会分三步走。第一步画两个直径0.30mm的圆柱从顶层铜箔贯穿到底层铜箔长度为介质层总厚度1.6mm。这两个圆柱的XY坐标分别为正负0.40mm间距。圆柱可以用Draw Cylinder创建记得把Axis选成Z轴。第二步画两个直径0.50mm的圆片放置在L1层铜箔的位置圆柱中心对齐。这两个圆片是焊盘。再把它们复制一份放到L3层的位置。因为过孔从L1换层到L3L3层的焊盘是必不可少的。如果L3不是信号层或者不需要连接这层焊盘就不该存在否则相当于额外增加了一个电容负载。第三步执行布尔运算。先把两个过孔圆柱体和四个焊盘用Unite合并成一个整体命名为Via_Conductor材料选copper。再画两个直径1.00mm的空心圆柱材质选vacuum或者空气把它们和GND铜箔做Subtract操作把铜箔对应位置的圆盘区域减掉。减完以后检查一下模型树确认Via_Conductor是铜材质GND铜箔上能看到两个空洞反焊盘的效果就出来了。这步操作里最容易踩的坑是减掉的不只是GND层还把介质层也减穿了。HFSS的布尔Subtract会默认对两个实体做全三维差集如果你选错目标体整个模型会变得千疮百孔。所以每次Subtract前在模型树里确认好目标体是谁、工具体是谁再做。3.4 走线与焊盘的连接处理差分走线和过孔焊盘的连接方式会直接影响仿真结果。如果走线的末端刚好和焊盘边缘相接接触点处会出现一个尖角这个尖角在高频下会产生电流拥挤效应造成局部场增强虽然不是致命伤但会带来小小的阻抗扰动。稳妥的做法是让差分走线延伸到焊盘中心位置也就是让走线末端完全覆盖焊盘半径范围再和Via_Conductor做Unite合并。这样的话信号从边界进来先走一段平整的微带线再经过完整的焊盘进入过孔过渡比较顺畅仿真的结果也更接近真实链路。实际操作很简单。差分走线的长度按2mm画末端位置就在过孔中心的正负0.4mm处末端宽度0.3mm。而焊盘直径0.5mm半径0.25mm。可以算出走线末端和焊盘边界的重叠量。画完走线后选中走线和Via_Conductor一起做Unite合并成一个导体对象。这样信号通道在几何上就是连续的HFSS在网格剖分时不需要在那条缝上做额外处理仿真收敛性也会更好。3.5 设置差分端口与Wave Port激励模型建得再漂亮端口设不对结果就是垃圾进垃圾出。差分过孔的激励端口选择这里我强烈建议用Wave Port。Wave Port是HFSS中用来模拟外部入射波的端口类型适合与传输线结构末端发生耦合的场景。它假设在端口位置有一个半无限长的均匀传输线电磁波从端口进入结构内部。在高速差分过孔模型中信号从走线边界进入边界处的场分布接近TEM模波端口能准确地定义一个与传输线匹配的参考面。设置方法如下。在模型边界处画一个与走线截面垂直的矩形面矩形的高度要包含介质厚度加上部分空气区域宽度要覆盖两条走线加周围间距。这个矩形就是Wave Port的面。HFSS会自动在该面上计算场分布生成端口模式。关键一步是设置两条线的激励极性要让HFSS知道这是一对差分线。在Wave Port设置界面中Mode列表里会有两个模式分别对应两条走线。把第一个模式的Integration Line从走线1指向参考地平面第二个模式的Integration Line从走线2指向参考地平面。这样设置后HFSS会基于两条单线的场分布自动合成差分模式并输出SDD11、SDD22等差分S参数指标。积分线的方向必须一致两条线都从各自信号线指向地平面方向反了差分阻抗会变成共模阻抗结果直接错。我在这个坑上花过不少时间仿真结果怎么看怎么怪最后发现就是积分线方向设反了。3.6 边界条件与求解频率范围选择端口设好后模型最外圈的边界需要定义。HFSS默认把模型外表面设为理想导体边界如果不改信号会被全反射。在HFSS菜单栏选择Assign Boundary把除了Wave Port面以外的所有外表面都设为Radiation边界。Radiation边界模拟的是开放空间电磁波辐射到边界后会被吸收掉不会反射回来干扰结果。如果觉得一个个选面太麻烦可以用快捷键在模型树里选中所有外表面统一赋值。但要注意Wave Port所在的面绝不能设成Radiation否则端口会被短路仿真直接失败。求解频率范围按实际需求来定。高速数字信号的带宽经验公式是0.35除以上升沿时间假设信号上升沿为50ps对应的带宽就是7GHz。仿真的扫频范围建议覆盖3倍带宽也就是截至21GHz这样可以看到过孔在更高频率处的谐波响应。实际设置时把中心频率设为10GHz扫频范围从0.1GHz到20GHz插值扫频步进0.1GHz。求解设置中的最大迭代次数设为15次收敛误差设为0.02。HFSS会在每次迭代后自动比较S参数的变化量如果小于误差值就停止剖分。网格量预计几十万量级普通的台式机几分钟就能跑完不用担心算力问题。4. 仿真求解与S参数结果解读4.1 仿真执行与收敛检查设置全部完成后点击Analyze按钮开始仿真。HFSS会自动进行网格剖分、场求解和扫频计算。跑的过程中可以打开收敛表看一下一个健康的求解过程应该是最大Delta S随着迭代次数逐次下降最后降到设定值以下。如果迭代次数到了15次还不收敛不要强行出结果先检查两件事。第一模型里有没有很薄的介质层或导体重叠网格在这些位置会急剧加密导致剖分效率低下。第二边界条件有没有设错Radiation边界的面积如果太小也会让能量反射进结构很难收敛。收敛后在Results菜单下创建报告选择Rectangular PlotY轴选S参数X轴选频率。Category里选择S ParameterQuantity里勾选SDD11和SDD21这分别是差分回波损耗和插入损耗是评估差分过孔性能最核心的两个指标。SDD11表示反射回去的能量占比越低越好SDD21表示传输过去的能量占比越接近0dB越好。4.2 仿真结果的三个看板与判定标准把S参数曲线拉出来看第一个要检查的是低频段的SDD21。理想情况下接近0dB如果大幅低于0dB比如-2dB以下说明模型里有严重的阻抗不匹配或者发生了能量泄漏先回头检查端口设置。第二个要看的指标是SDD11回波损耗。工程上一般要求差分过孔结构的回波损耗在10GHz以下低于-15dB这个数值对应的电压反射系数约为0.18反射引起的噪声余量损失在可接受范围内。如果SDD11在某个频点出现尖峰说明这个频率附近存在谐振最典型的元凶就是残桩共振。第三个要看的是SDD21在高频段的走势。如果曲线没有明显的突然跌落说明过孔在扫频范围内的性能是平稳的。如果出现一个陡峭的“陷波”频率正好和残桩的四分之一波长对应就需要考虑用背钻工艺去掉残桩。4.3 从S参数反推差分阻抗S参数的地位是“表现”而工程设计真正关心的是“本质”也就是过孔本身的差分阻抗。HFSS提供TDR功能可以直接把频域S参数变换到时域得到阻抗沿传输距离的分布曲线。在Results菜单下选Create Modal Solution Data Report把求解类型换成Transient设置激励源为阶跃信号。跑出来的TDR曲线上低阻抗处会低于100欧姆高阻抗处则高于100欧姆。过孔中心位置因为焊盘寄生电容的存在通常会出现一个阻抗凹陷这就是我们要关注和优化的点。按照现有的基准参数跑完过孔中心的差分阻抗大约在85到90欧姆之间偏离100欧姆的目标值10%以上。这个结果其实是正常的原因是焊盘和反焊盘的尺寸搭配不够优化。中篇我会演示如何调整反焊盘直径、减小焊盘尺寸、加背钻这三种手段把凹陷拉回100欧姆附近。仿真不是为了得到一个“好结果”而是为了量化这些参数的影响这才是它的工程价值。5. 常见问题与排查技巧实录5.1 模型建完但材质全是真空这个问题我见过很多新人踩特别是从其他CAD软件导过来的模型。HFSS模型树中对象的材质显示为vacuum意味着该物体没有正确设置材料属性仿真时会把它当场空气处理导体变成空气结果自然是全部穿过去S参数完全不对。排查方法是逐个点击模型树中的对象右键Assign Material确认每个物体的材料是否按预期设置。经验是把材质分配操作放在布尔运算之后统一检查避免布尔运算产生的新对象继承错误的默认材质。5.2 Wave Port激励面上有金属覆盖端口面被金属对象部分或完全覆盖仿真时会报错或者结果奇奇怪怪。这种情况多发生在走线和端口面有细微的重叠肉眼看不出来但HFSS的网格剖分已经检测到了。解决办法是选中端口面旁边的金属对象用Modeler菜单里的Boolean下的Separate Bodies看看有没有隐藏的接触或者直接修改端口面尺寸让端口面边界比走线边界向外扩展至少0.2mm确保两条走线完全在端口面的范围内且端口面周围没有其他金属体。5.3 仿真速度极慢或内存不足差分过孔模型本身不大很少会遇到算不动的情况速度慢通常是网格设置出了问题。在Mesh Operations里加了过细的长度约束或者自适应剖分初值设得太密都会导致网格数量爆炸。建议先不加任何手动网格加密跑一次自适应剖分看看默认网格量。如果结果在关键区域不理想再针对性加密。对于过孔这种小尺寸结构通常需要在过孔圆柱表面加一个Maximum Delta Length约束但不要对所有对象统一设置细网格否则消耗的资源呈指数上涨。5.4 高频段出现毛刺或抖动仿真曲线在高频段出现锯齿状毛刺通常和扫频点数太少或者插值算法的误差有关。HFSS的Interpolating扫频在曲线变化剧烈的频段会加密频点但如果你用的Fast扫频频率点数过少会导致曲线不够平滑。可以切换到Discrete扫频频率点数设为1001个点再看效果。另外把收敛误差从严比如从0.02收紧到0.005网格剖分更精细高频段的曲线也会更干净。6. 上篇总结与下篇内容预告跑完上篇的流程你已经完成了HFSS仿真高速差分过孔从建模到出结果的全过程。有一件事想多说一句仿真结果只是一个“算出来的参考”高速过孔的最终性能还取决于叠层设计、参考层完整性、制造工艺精度这些配合因素。仿真帮你找到设计方向但别把仿真结果当成绝对的物理事实。我个人在实际操作中的体会是HFSS学习必须亲手建模只看教程和视频很难形成真正的空间感和电磁直觉。第一次建模通常会很笨拙一会儿布尔运算报错一会儿端口模式对不上这都是正常的。坚持把两三个案例完整跑下来软件的操作逻辑和电磁仿真的工程思维就会慢慢内化。下篇我会在这个模型基础上做三件事第一用参数扫描功能观察反焊盘直径在0.9mm到1.2mm范围内变化时差分阻抗的响应趋势第二对比背钻对残桩效应的抑制作用给出一组背钻工艺的具体参数建议第三引入TDR分析把频域S参数变换到时域直观地展示阻抗沿过孔方向的变化曲线。到时候还有全流程的优化思路汇总把上篇留下的“阻抗凹陷”问题彻底解决。
返回列表