ARTICLE DETAIL

资讯详情

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

立创EDA转AD进Ansys Q3D:PCB寄生参数提取全流程实战

立创EDA转AD进Ansys Q3D:PCB寄生参数提取全流程实战 先说个我自己的经历。去年做一块反激辅助电源的驱动板原理图评审没有任何问题PCB布局也按常规来做结果样机一上电MOS管漏极尖峰比理论值高出去快一倍开关振铃压都压不住。那时候心里翻来覆去就一个念头PCB寄生参数到底藏在哪于是把板子从立创EDA导出用ADAltium Designer做中转最后在Ansys Q3D里把整板寄生电感和寄生电阻提了出来问题点十分钟就锁定了。如果你也是做开关电源、电机驱动或者高频采样电路经常被振铃、EMI、尖峰折磨那我强烈建议你花一个下午跑通这条“立创EDA转AD再进Ansys Q3D”的链路把看不见摸不着的寄生参数变成实实在在的数值。整个过程不需要你有多深的电磁场理论更多是耐心和排查习惯。1. 为什么值得在三个软件之间折腾这条链路解决的痛点1.1 一个反直觉的结论寄生电感可能藏在铜皮里很多工程师画板的时候最关心的是线宽够不够、过孔能不能过电流。查一下线宽电流对照表感觉走线够粗就不会出问题。这在低频段确实成立毕竟铜皮电阻很小DC压降完全可忽略。但到了MHz级别的开关频率、ns级别的上升沿情况就完全变了——走线不仅有电阻还有分布电感而电感产生的压降和电流变化率成正比。用公式说话V L × di/dt。假设你在开关节点上有10nH的寄生电感电流以1A/ns的速率切换那电感两端就会瞬间产生10V的尖峰。这就是很多电源板“原理图怎么仿真都对、一上电就振铃”的根本原因。你可以把这段铜皮想象成一根又细又长的水管水流方向突然变向时水锤效应会砸得管道砰砰响电感和水锤在数学上是同一个道理。1.2 三个工具的角色定位这套链路里每个工具都有自己的“不可替代性”。立创EDA嘉立创EDA解决的是“快速画板”的问题。免费、上手快、元件库全国内工程师用得非常普遍尤其是嘉立创EDA专业版3D预览和布线体验已经不输很多商业软件。它在这条链路里负责产出PCB的核心数据。AD解决的是“格式翻译”的问题。Q3D的ECAD导入接口对AD原生格式支持得最成熟通过AD导出的中性文件ANFAnsoft Neutral File几乎不会丢数据。立创EDA虽然也能导出多种格式但直接进Ansys这类场求解器目前还不够顺滑所以让AD当一次“翻译官”最稳。Ansys Q3D负责把寄生参数算出来。它是专门做寄生参数提取的准静态电磁场求解器可以输出一段网络的电阻、电感、电容矩阵。我们不需要手工建模只要把AD导出的板子吃进去设置好激励它就能把每个焊盘、每段铜皮、每个过孔的寄生效应数值化。有人会问“立创EDA和KiCad哪个好用”这个问题没有标准答案。但在这条链路上立创EDA能一键导出AD格式是很大的优势。你不需要在KiCad里装各种转换插件也不用担心库兼容问题导出、中转、仿真一条线走通。1.3 什么场景才值得这么折腾不是所有板子都值得上Q3D。简单的两层板、低速数字电路凭经验处理就够了没必要给自己找事。但下面几类场景我建议你认真走一遍这条链路。场景关心的寄生参数典型影响反激/正激开关电源功率回路回路电感漏极尖峰、开关振铃大电流铜皮与汇流排直流/交流电阻温升、铜损、涡流损耗去耦电容、过孔网络安装电感高频退耦失效高边/低边MOS驱动回路互感/耦合米勒振荡、EMI恶化高精度采样电路参考地噪声采样值抖动我最早接触Q3D是因为EMI测试不过整改了两版PCB都没解决后来发现是输入电容到MOS管之间的回路电感太大。如果一开始就用Q3D把寄生参数提出来后面能省掉至少两轮打板。2. 立创EDA导出前的自查一步错后面步步错2.1 标准版与专业版的导出差异立创EDA现在有两个版本大家问得最多的“嘉立创EDA专业版教程”和标准版在导出AD格式这件事上略有不同。标准版在文件菜单里选“导出”→“Altium”导出的是一个zip压缩包专业版在文件菜单里选“导出”→“Altium Designer”导出结果也是一套AD工程文件。不管你用哪个版本一定要在导出前保存工程并且建议把当前工程复制一份再做导出操作。我个人碰到过导出过程中因为网络缓存问题导致文件不完整的情况复制一份再导出失败了也不影响原设计。这个习惯后来帮我省了很多事。需要特别注意的是导出的zip包内部结构不要手动改。我看过有人为了省事直接改zip里的文件名结果AD打开后工程引用关系全乱了。立创EDA导出后的zip已经是一个完整的AD工程结构原样导入AD就行。2.2 导出前必须检查的四个地方我在立创EDA里吃过亏之后总结了一份导出前自查清单按顺序过一遍后面能少很多麻烦。第一板框必须闭合。立创EDA里画板框时如果有重复线段、缺口、或者用太碎的线拼出来的轮廓导出到AD后很容易变成不闭合的板框。Q3D导入的时候不闭合的板框会导致介质体创建失败甚至让整个模型无法求解。检查方法很简单在立创EDA里选中板框线看属性里的“闭合区域”是否被识别。第二铺铜和多边形要重新确认。立创EDA的铺铜导出到AD后可能会被转换成普通铜皮不再具备动态铺铜属性。更重要的是如果原来铺铜里有孤岛铜皮或者散热用的花焊盘导出后可能变成多个独立铜块。我的习惯是导出前重新执行一次铺铜操作并把孤岛铜皮删掉确保GND网络没有被切割成碎片。第三封装库必须完整。这条一定要划重点。如果你在立创EDA里用了自己画的封装、异形焊盘、或者在线元件库里的3D模型导出前最好在“封装管理器”里逐一检查每个元件是否已经正确指定了PCB封装。否则AD打开后很可能只看到位号和焊盘找不到封装实体。第四原点位置要统一。建议把原点设在板框左下角或者板框中心并做好记录。ANF文件导入Q3D后所有坐标都以这个原点为基准。如果原点放得随心所欲后续在Q3D三维视图里找板子就得翻半天严重影响效率。2.3 导出后先看一眼不要直接送进AD立创EDA导出完成之后别急着双击打开。先看压缩包文件的大小和内容。一个正常的、包含完整走线和铺铜的AD工程zip通常至少几十KB到几百KB。如果导出的zip只有几KB大概率是封装丢失或者板子信息不完整。这时候回立创EDA检查封装管理器比在AD里手工补要高效得多。AD打开这个zip的时候会弹出导入报告窗口重点关注有没有“unknown objects”“missing footprints”“unconnected nets”这类信息。我见过最典型的错误是板框和走线都在但所有元件全部挤在坐标原点这种情况基本都是立创EDA里源文件原点设置异常回源头调整原点再导出即可。还有一个小技巧如果你只是想把关键网络拿到Q3D里仿真其实不需要让AD完整打开整个工程。导出ANF前可以先在AD里把不相关的机械层、标注层、丝印层全关掉减小文件体积也让后续Q3D的网格剖分压力小一些。3. AD导入后的净化处理补齐层叠、3D模型与材料属性3.1 打开文件后先看什么报错列表和封装丢失AD里打开立创EDA导出的zip工程后第一件事不是画板而是看Messages面板和工程面板。按经验立创EDA导出到AD的常见问题集中在三类封装缺失、网络断裂、过孔丢失。其中网络断裂最坑因为看起来所有走线都在但高亮某个网络时你会发现它被分成了好几段每段都挂着一个不同的Net标签。如果你在AD里发现元件封装确实丢了不要急着在AD里一个一个补封装。“AD怎样给元件添加3D封装”是很多人的第一反应但更科学的思路是回到立创EDA里把封装修好再重新导出。因为在AD里补完封装一旦后续又要从立创EDA更新PCB所有修补工作会全部被覆盖白忙活。3.2 层叠管理器这是Q3D结果准不准的地基立创EDA导出的层叠信息在AD里通常不会自动带上正确的材料属性。你需要手动打开Layer Stack Manager把每一层的铜厚、介质厚度、材料类别都对一遍。以最常见的四层板1.6mm板厚为例我的标准设置是外层铜厚1oz约等于35μm内层铜厚0.5oz约等于17.5μm芯板介质厚度约0.15mm到0.2mm半固化片厚度根据实际叠层来填。介质材料选FR-4相对介电常数在4.2到4.8之间损耗角正切按0.02左右处理。很多人在这一步会跳过觉得“反正Q3D会自己读层叠”。但实际上如果AD里层叠信息不完整ANF文件导出的铜皮可能没有厚度或者介质体根本不生成。Q3D最终算出来的不是寄生参数而是一堆莫名其妙的零厚度面片。层叠填不填决定了你在Q3D里是花十分钟还是花一下午。另外过孔壁的镀铜厚度不要忽略。一般过孔镀铜厚度在20到25μm左右虽然AD的层叠管理器里没有专门“过孔壁厚”的设置项但导出ANF时过孔尺寸和位置会一起带出去Q3D会按照铜皮的处理逻辑来剖分。如果你要精确提取过孔寄生电感建议在Q3D里手动给过孔柱体指定材料为Copper电导率设为5.8e7 S/m。3.3 3D模型缺失的处理思路立创EDA的元件很多带在线3D模型但导出AD后这些模型经常解析不出来。有些朋友一看到整个板子光秃秃的就开始慌。其实对Q3D寄生参数提取来说普通贴片元件的3D外形并不重要Q3D更关心的是铜皮、焊盘、过孔这些导体几何。你甚至可以在Q3D阶段把大部分元件模型直接隐藏掉只保留焊盘和铜皮。但有两种情况例外一是大功率MOS管、电感、变压器这类有裸露散热焊盘的器件其散热焊盘会影响局部电场分布二是连接器附近的安装孔如果安装孔是金属化过孔且接GND它会成为回流路径的一部分。碰到这两种情况建议在AD里用3D Body补一个近似模型出来。不需要用精确的Step文件用基本几何体拼一个外形尺寸接近的块就够Q3D关心的是导体边界不是丝印细节。3.4 网络完整性核对电源网络和地网络不能断这是我每次都会花时间做的一步。在AD里把关键的电源网络和地网络高亮出来沿着走线从头到尾看一遍确认没有断头。尤其是地网络很多设计讲究星型接地、单点接地这些设计意图在导出导入过程中最容易丢失。有一回我处理一块高压隔离电源板立创EDA里GND网络明明是连通的到AD里一看变成三四个GND开头的网络名根本原因是有几段铺铜没有正确连接到GND过孔。这种问题在Q3D里特别致命因为模型会把原本相连的铜皮当成孤立的多个导体仿真出来的电感值能翻好几倍。如果你发现网络被拆散了在AD里用“合并网络”功能把它们合并回来再跑一遍DRC确认没有短路。这一步做完再去导出ANFQ3D里的模型才是干净的。4. 对接Ansys Q3D前的格式转换与模型重构4.1 首选ANF也要熟悉备选思路AD到Q3D之间最顺滑的桥是ANF格式。在AD的文件→导出菜单里找到Ansys Neutral FileANF选项就能导出包含PCB层叠、铜皮、过孔、网络名称的中性文件。Q3D直接导入这个文件就能得到完整的几何模型。如果你的AD版本比较老找不到ANF导出选项备选方案是走ODB。Q3D可以导入ODB格式而且ODB对铜皮和过孔的表达也很完整。最不推荐的是把PCB导出成DXF或者Step再手工建模这会丢掉所有网络信息等于从零开始重建工作量巨大。除非你只想验证一段简单走线的寄生参数否则别这么干。4.2 单位一致性比例错误让结果翻车单位问题是这条链路上最经典、最隐蔽的坑我专门踩过一次后面排错章节会详细讲。这里先给你一个通用预防原则Q3D导入ANF后第一件事就是用测量工具量一下板框尺寸和AD里板子的物理尺寸做对比。AD里的长度单位可能是mm也可能是milANF导出时对单位有自己的处理方式Q3D导入时又从对话框里选一次单位。这三层单位只要有一层不一致板子尺寸就可能被放大25.4倍甚至1000倍。寄生参数的提取结果直接和长度挂钩尺寸错一位数结果错一大截。我建议每次导入Q3D后先测量板框最长边再在AD的“板信息”里核对同样的尺寸两边对得上再开始设置激励和求解对不上就回头查单位。4.3 在Q3D里重构模型把铜皮、过孔、介质层识别清楚ANF文件导入Q3D后大概率不是直接能用的完美模型。因为不同EDA工具的几何内核有差异导入后容易出现碎铜、重叠面、零厚度面片之类的问题。我不建议在Q3D里做大量几何修补效率和稳定性都很差更靠谱的做法是在AD里把源文件处理好再重新导入。Q3D里真正需要手工处理的通常是这几步第一步把同一网络的多块铜皮用布尔合并成整体避免导体被分割第二步检查过孔是否形成了完整的柱体如果过孔壁没有闭合需要重新指定导体属性第三步确认FR4介质体是否已经生成没有的话可以根据层叠管理器里的厚度手动拉伸创建。材料属性也要在这一步统一指定。铜的默认电导率一般没问题但如果AD层叠里没有给FR4赋介电常数和损耗角正切值Q3D会用空气或者默认绝缘材料代替这个错误很难靠肉眼发现。我习惯在Q3D的模型树里把每个物体点一遍确认导体、介质、空气三个类别的分配都符合预期。5. 寄生参数提取的核心设置端口、激励与求解频率怎么选5.1 先想清楚要提取什么Q3D能算的东西很多单根走线的自感和自阻、两条走线之间的互感和互容、某一个闭环回路的回路电感、甚至整个电源网络的阻抗矩阵。但“能算”和“该算”是两回事。我见过不少新手把整板所有信号网络全部加激励最后导出一个几百乘几百的大矩阵根本不知道看哪个数。我的建议是仿真之前先写下你这次要回答的问题。你是想知道输入电容到MOS管之间的回路电感还是想知道负载端去耦电容的安装电感还是想评估采样走线的耦合噪声一次只针对一到两个目标网络对做提取结果清晰效率也高。5.2 Sink和Source怎么分配激励是Q3D里最容易出错的地方。Q3D把电流流入的面设为Source电流流出的面设为Sink只有同时存在Source和SinkQ3D才能构建出电流回路进而提取这个回路的电感和电阻。很多人只是随便选了导体表面没有明确哪边进、哪边出最后结果自然没有物理意义。以提取开关电源功率回路寄生电感为例我会把Source放在输入电容正极的焊盘面上Sink放在MOSFET源极的焊盘面上中间经过的铜皮、过孔、引脚全部作为导体参与计算。这样得到的电感值就是高频电流实际流过的回路的寄生电感。这里要特别提醒Source和Sink不要放在同一个网络的左右两端。电感的定义是“穿过闭合回路的磁通链”它必须要有一条明确的返回路径。如果你只选了一段走线的两个端点而没有考虑回流路径Q3D会默认在空间上搭一个不存在的虚拟回路算出来的值没有实际参考意义。5.3 求解频率怎么选Q3D是准静态求解器频率直接决定了集肤深度和电流分布进而影响电阻和电感值。频率越高电流越往导体表面集中有效截面积越小交流电阻越大而电感通常略有下降。所以求解频率不是随便填的它必须匹配你实际电路的工作状态。我的经验值是这样的开关电源的功率回路关注100kHz到10MHz这个区间500kHz开关频率的Buck/Boost在1MHz到5MHz之间求解就比较有参考价值而做信号完整性的话通常取信号基频的3到5倍。比如100MHz的高速信号Q3D里就设300MHz到500MHz。如果你不确定该用哪个频率最稳妥的办法是做一个扫频。Q3D允许设置多个求解频率点算完以后观察电阻和电感随频率的变化趋势能帮助你了解不同频段下寄生参数的行为。这里没有“标准答案”关键是理解你的电路在哪个频段工作。5.4 网格剖分与收敛判断Q3D默认的自适应网格在多数情况下够用但有两个地方需要手动加网格。一是细长的铜皮走线长度方向上的网格如果太少电流路径会被过度离散化电感值偏差会很大。二是一定要给过孔单独设置局部网格尺寸因为过孔尺寸通常比铜皮厚度小一截全局网格根本分辨不出过孔壁。判断网格够不够最简单的方法是做两次不同网格密度的仿真对比结果。变化在5%以内就说明网格已经收敛可以放心使用。我第一次做的时候只设置了全局网格电感值在两次调整之间跳了十几个百分点后来给过孔单独加了网格约束结果才稳定下来。这个步骤看起来不起眼但对结果的可靠性影响是决定性的。毕竟我们花这么大力气做寄生参数提取要的不是一个“看起来像那么回事”的数字而是能指导改板、能解释实测现象的可信数据。6. 排错实录三个真实踩坑案例与完整排查链路6.1 案例一立创EDA转AD后封装飞了某次我接手一个用立创EDA画的电源板拉到AD里打开后板框和走线都正常但几乎所有电阻电容都只剩下位号看不到封装。更诡异的是有几只元件直接挤到了坐标原点。我先看了AD的Messages面板里面一大堆“footprint not found”的警告。选中一只电阻查看属性Footprint一栏是空的。这说明问题不是AD显示问题而是ANF导出源头上封装信息就没有带上。回到立创EDA我打开封装管理器发现这些元件都是用画布上的矩形焊盘拼出来的“一次性封装”并没有保存到元件库。问题就在这儿立创EDA里手工画的封装如果不入库导出AD时就没有合法的封装索引AD当然找不到。解决方法是把封装在立创EDA的元件库里重建一遍再关联到原理图符号和PCB封装更新PCB后重新导出。第二次导入AD所有封装都正常了。如果你已经在AD里做到一半临时补救也可以手动指定封装但要清楚这不是长久之计源头不修下次导出还是会丢。这个案例让我养成了一个习惯画板之前先确认每一个新封装都已经在库管理里建档千万不要在PCB文件里直接画图形冒充封装。6.2 案例二Q3D结果比理论值大一个数量级这是我印象最深的一次排错。一段50mm长、1mm宽、外层1oz铜厚的走线我手工估算直流电阻大约0.024Ω用铜电阻率1.7e-8Ω·m截面积按35μm乘1mm计算。结果Q3D提取出来0.24Ω整整大了10倍。我排错的步骤是这样的。先检查材料设置看是不是铜材料没有生效结果电导率5.8e7 S/m完全没有问题。再检查几何尺寸我选中走线用测量工具看长度显示500mm。这就奇怪了AD里明明是50mm到了Q3D怎么变成500mm顺着这个方向排查发现是单位换算问题。AD导出ANF时长度单位内部有自己的存储方式而Q3D导入对话框里我选的单位是mm两者匹配不上导致整体尺寸被放大了10倍。测量到的走线宽度也从1mm变成了10mm。尺寸放大10倍电阻自然就大了10倍。找到问题后我把单位统一重新导入再仿真的直流电阻是0.0245Ω和手算的0.024Ω基本吻合。后续我还用线宽电流对照表交叉验证了温升趋势确认结果可信。从那以后我每次导入Q3D第一件事永远是量板框尺寸。这个习惯帮我避免了不少“看起来数据没问题实际上全盘皆错”的尴尬。6.3 案例三回路电感提取值忽大忽小还有一个更隐蔽的问题。同样是提取一条功率回路的寄生电感昨天仿真出来18nH今天换个时间再仿真变成32nH。模型没变材料没变结果差这么多说明变量根本不在“计算”环节而在“模型选择”环节。我把两个模型并排打开仔细对比发现几个原因。第一ANF每次导入后Q3D都会自动把悬空的孤铜识别成导体这些铜皮虽然没有加激励但它们离目标回路太近改变了周边的磁场分布影响了几nH量级的电感值。第二有时候我在选导体时把FR4介质体也框了进去等于给模型加了一块导电材料结果自然是错的。第三激励面的选择也有影响两次仿真时我可能点到了同一个网络的不同过孔柱体上回流路径变了电感值自然不一样。解决措施分三步一是在Q3D里把不需要参与计算的铜皮全部设为Not Included排除干扰二是在模型树里隐藏介质层后再框选导体避免误选三是给激励命名建立固定规范比如“Q1_Source”“C1_Sink”每次统一使用同一组激励面。这些措施做完之后我重复跑了三遍仿真结果都稳定在17.8nH到18.1nH之间才算真正拿到了可信数据。寄生参数提取最怕的其实不是结果不对而是“不确定结果为什么对”模型的确定性比高精度更重要。最后再分享一个很个人的习惯进Q3D之前先在AD里跑一遍完整的DRC把开路、短路、未连接的引脚全部清干净然后再导出ANF。数据链条越长越需要在源头少埋雷。你第一次跑通这套流程可能需要一整天但第二次开始就会快很多而且提取出来的数字会让你对电路板上每一段铜皮、每一个过孔都有完全不同的敏感度。这个技能值得花时间把它练成肌肉记忆。
返回列表