☰
4层PCB叠层设计与阻抗计算全攻略:Allegro实操与避坑指南
2026/10/7 12:22:55 网站建设 项目流程

做硬件这几年,我最怕的不是原理图出错,而是板子回来一测,50欧姆走线变成41欧姆。去年有个电源+MCU的板子,4层结构按网上搜的叠层参数随手设了一下,表层8mil线宽画完50欧姆走线,发板回来用网分一测,40.7欧姆,整个射频匹配直接偏掉。找板厂调了实际叠层表才发现,我用的PP片型号和厚度跟他们那批板子完全对不上,介质高度差了0.3mil,铜厚差半盎司,阻抗就偏出去10%以上。从那以后我养成了习惯:叠层方案一定先找板厂确认,再在Cadence Allegro 17.4里动手。

这篇把4层PCB叠层设计和阻抗计算的完整链路梳理一遍,从叠层选型逻辑、Allegro 17.4的Cross-Section实操、阻抗计算器的参数映射,到规则约束和出Gerber前的典型翻车现场,尽量把每个环节的"为什么"说透。适合刚接触4层板的硬件工程师,也给拿SW6206这类原厂方案直接改板的朋友提个醒:参考设计的原理图可以抄,叠层和阻抗参数真不能盲抄。

1. 四层板不是随便叠:叠层方案的选型逻辑与取舍

1.1 两种主流叠层方案的差异

4层板最常见的叠层方案就那么两种,一种是"信号-地层-电源层-信号",另一种是"信号-电源层-地层-信号"。很多教程喜欢把前者当作唯一标准答案,实际上两种方案各有适用场景。差别就在电源层和地层的位置关系,这会直接决定平面电容大小、回流路径长度,以及内层走线的阻抗控制难度。

第一种方案:顶层信号走线,第二层完整地平面,第三层电源平面,底层信号走线。地平面和电源平面之间隔着一层芯板(Core),通常距离很近,两者之间形成紧耦合的平板电容,对电源高频去耦很有帮助。整个板子的参考平面非常明确:顶层走线参考第二层地,底层走线参考第三层电源(或者通过过孔换参考)。大多数常规数字电路板用这个组合,PCB工厂也乐于生产,因为结构对称、压合不容易翘曲。

第二种方案:顶层信号、第二层电源、第三层地层、底层信号。这个方案的地平面虽然在靠近底层那一侧,但电源层和地层之间隔着半固化片(PP),间距通常比Core大,平面电容小一些。它的好处是电源层和地层的顺序和大多数BGA芯片的供电引脚顺序更接近,方便扇出。实际做下来,第二种方案在低速板子上根本看不出区别,但在高速信号多的板子上,第一种方案的参考平面切换更顺手。

1.2 电源层和地层为什么要成对出现

PCB设计里有个容易被忽略的概念:信号的回流电流并不走"大地",而是走最近的参考平面。4层板的价值,在于给信号提供了一个完整、连续、贴近的参考平面。如果电源层和地层相距很远,信号在底层走线、参考第三层电源平面时,回流路径就会拉长,整个回路电感变大,EMC表现会肉眼可见地变差。

所以4层板的叠层设计必须保证电源层和地层成对出现,而且尽量靠近。你可以在Allegro的Cross-Section里试一下,把电源层和地层之间的介质厚度从4mil改成20mil,然后用内置的阻抗求解器看一下,相同线宽的阻抗会明显变化。这不是玄学,是实实在在的电场分布和电容效应。介质越薄,层间电容越大,电源阻抗越小,平面上的高频噪声也越容易被滤掉。

平面电容还有一个附带作用:电源完整性的维持。板子上的芯片在时钟翻转瞬间会抽取大电流,如果电源层和地层距离太远,平面之间的电容不足以在纳秒级时间内补充这个电流,芯片电源引脚上的电压就会出现跌落。而电源层和地层间隔0.1mm以内时,每平方厘米的平面电容可以做到几十皮法以上,这个基本盘能明显减轻电源网络的负担。

1.3 板厚、芯板与半固化片的厚度分配

叠层的核心是把1.6mm(63mil)的总厚度拆成铜箔、芯板、半固化片、阻焊这几部分。这个话题很容易被新手忽略,因为有人觉得"厚度差不多就行"。实际上,介质厚度直接决定了阻抗线宽,而同一种介质厚度还因板材类型不同有差别。比如PP 2116压实后约4.5mil,PP 7628压实后约7.5mil,两者数值差得远,你拿2116的数据去画线宽,结果板厂压合用7628,阻抗就偏了。

设计叠层时一般遵循这样几个原则:总厚度优先满足板厚要求;金属层厚度根据通流和阻抗需求选取,外层1oz(35um)、内层1oz或0.5oz都常见;介质层厚度分配要考虑压合对称性,避免板子做成"香蕉形"(翘曲); 电源地平面间距尽量小,信号层到参考平面的间距根据阻抗需求来定。

你可以给板厂提叠层要求,也可以直接让板厂提供他们的标准叠层表。我的经验是:先拿到板厂的标准叠层表,再按这个表去填Allegro,而不是自己天马行空定一堆板厂做不到的厚度值。板厂的标准叠层是他们压合工艺和库存材料的最优解,照着做既快又便宜,阻抗还稳定。如果你自己硬指定一种板厂没有库存的PP厚度,结果只会是两个:要么加价,要么板厂沉默地给你换成等效厚度,而等效厚度往往和你的阻抗计算对不上。

区域典型材料典型厚度作用
表层铜箔电解铜/压延铜1oz(35um)信号走线、焊盘、铺铜
信号层到参考平面PP 2116等3.5-5mil决定表层微带线阻抗
内层芯板FR4 Core30-50mil支撑板子结构,决定板厚
电源地间距PP或芯板3-8mil影响平面电容和电源阻抗
阻焊层感光阻焊油10-20um保护铜箔,影响表层微带线模型

2. Allegro 17.4叠层编辑器实操:Cross-Section不是填数字那么简单

2.1 打开叠层编辑器的正确姿势

Allegro 17.4里叠层编辑的入口在Setup > Cross-Section,不是很多人以为的Setup > Constraints。打开后你会看到一个纵向的层堆叠视图,左侧是Subclass名称,右侧是材料、厚度、介电常数、损耗因子等参数列。17.4版本默认显示的是简化模式,只显示铜箔和介质层的厚度。如果你看不到介电常数和损耗因子列,可以在界面右上角的View选项里把"Show Material, Dk, Df"等列开关打开,或者使用完整模式。

添加层的时候有个细节:右键菜单里的"Insert"可以插入新层,但新插入的层默认可能是"Conductor"或"Dielectric"类型,必须在Type列手动确认。如果介质层和导体层的顺序搞错了,整个阻抗计算的参考系就乱了,Allegro会直接报出"Material not defined"之类的提示。每次添加层之后,养成习惯看一眼层名和Type。

我见过不少朋友在这个界面里遇到层顺序正常但总厚度显示异常的情况,原因大多是编辑器里默认带了两个surface层(Surface Finish)没有填厚度参数。17.4里会默认存在Top和Bottom的Surface Finish,有的板厂在计算总厚度时把它计为阻焊层厚度,有的不计。你填叠层时最好和板厂的叠层表逐项对照,别让Allegro平白无故多出十几微米的厚度。

2.2 材料参数与叠层表怎么对照

材料参数的填写是叠层设计里最枯燥但最不能出错的部分。Cross-Section里的关键参数包括:导体层厚度(Thickness)、介质层厚度(Thickness)、介电常数(Dk)、损耗因子(Df)、铜箔粗糙度(Roughness)。对FR4来说,Dk并不是一个固定值,它随频率变化,1GHz附近大约4.2到4.5,到了10GHz可能掉到4.0以下。你用阻抗计算器时如果只能填一个Dk,就填4.2到4.3这个中间值,这对应大多数数字电路的工作频段。

铜箔粗糙度是个容易忽略的项。Allegro 17.4的材料模型里可以设置表面粗糙度,对高速信号来说,铜箔粗糙会增加高频损耗。叠层表里板厂通常不会直接提供这个值,一般用默认的0.3um到0.5um即可。如果你是做USB3.0、PCIe这类高速信号,最好让板厂提供铜箔粗糙度参数,别省这一步。

板厂的叠层表一般会写明每一层的型号,比如"PP 2116"、"Core 0.8mm"。在Allegro里你可以为每种材料创建自定义材料,并把Dk、Df填好。保存之后,下一次做新板子时直接在Material库中调用即可。建议把常用板厂的叠层参数建成一个自己的表格,每次做板先对着板厂最新叠层表更新一遍,再填进Allegro。

2.3 利用内置阻抗求解器反推线宽

17.4的Cross-Section里有一个非常实用的功能:可以选中一个导体层,并指定目标阻抗,然后让软件根据叠层参数反推走线宽度。这个功能其实就是调用一个2D场求解器,跟Polar Si9000、嘉立创阻抗计算神器的原理类似。操作方式是在Cross-Section窗口里勾选Impedance列,输入目标阻抗值(比如单端50欧姆、差分100欧姆),然后软件会给出推荐的走线宽度和差分间距。

实测下来,这个内置求解器给出的结果和Polar Si9000计算值基本在一个量级内,误差通常在2%-5%之间。原因在于两者对铜箔厚度、介质粗糙度的建模略有差异。我通常的做法是:先用内置求解器算一个初值,然后用Polar或者嘉立创工具交叉验证,最后以板厂的阻抗叠层表为准。两边误差超过10%,就要回头检查是不是哪个介质厚度填错了。

内置求解器还能做"反向验证":你把实际画好的走线宽度和间距填进去,让它算实际阻抗,看看跟你的设计目标差多远。这比你在布线之后靠目测线宽靠谱得多。我在项目评审前经常用这个功能快速核查关键信号线的阻抗,能提前拦下不少问题。

2.4 常见报错与材料库维护

Cross-Section里最常见的报错大概有这几种:层厚度未填写导致总厚度异常;材料名称不存在;介质层和导体层顺序错乱;Dk值没有填,默认是1,算出阻抗高得离谱。这些都比较好解决,花几分钟排查即可。

材料库维护这件事,我建议大家平时就建立一套自己的模板文件。Allegro里可以把设好的叠层保存为模板,也可以直接把一个已经确认过的板子文件复制出来当底板。我个人的习惯是:每做完一个项目,把最终确认的叠层参数截图和板厂的叠层表一起存档,形成自己的叠层参数库。这样下次遇到类似板厚和层数的设计,直接调用,不用每次从头开始填参数,也减少填错的风险。

3. 阻抗计算:从计算器到Allegro,50欧姆和100欧姆怎么算怎么填

3.1 计算工具选型与参数预备

阻抗计算的工具很多,老工程师喜欢用Polar Si9000,社区里也流行嘉立创阻抗计算神器,还有各种网页版计算器。工具的本质都是2D电磁场求解,差别在于建模精度和操作习惯。我没有绝对推荐某一个,但反而不建议你用那些简化版公式手算,尤其是表层微带线模型,公式里忽略阻焊层和铜箔厚度的话,误差可以达到10%以上,这种误差在射频板上是致命的。

计算之前需要准备的基础数据包括:介质高度(信号层到参考平面的距离)、介质介电常数、铜箔厚度、是否覆盖阻焊、目标阻抗值。其中介质高度是最敏感的参数。表层微带线模型中,介质高度的一点小变化就会明显改变阻抗。举例来说,介质高度从4.5mil变成4.0mil,同样8mil线宽,特性阻抗可能下降3-5欧姆。所以你填计算器之前,必须确认这个"介质高度"来自板厂实际压合厚度,而不是设计值。

很多计算器默认模型是"无阻焊"的微带线,但实际板子表面会盖一层阻焊油。阻焊层的介电常数大约3.5,厚度10-20um,它的存在会稍微降低特性阻抗。嘉立创的阻抗神器里有Coating选项,Polar里也有Solder Mask项。算表层50欧姆时,不要省掉阻焊层,否则实际板子测出来会比计算值低1-3欧姆。

3.2 50欧姆单端微带线的计算过程

以常见的1.6mm四层板、顶层信号参考第二层地为例。假设板厂叠层给的数据是:表层到参考平面用PP 2116一张,压合后厚度4.5mil,Dk=4.3,铜厚1oz。

在计算器里输入这些参数,50欧姆目标下计算器给出的推荐线宽大约是8mil左右。同样参数放进Allegro内置求解器,给出的结果也差不多。但注意,如果你用嘉立创阻抗神器,它还会要求你选择阻焊厚度,选默认的15um即可。

实际画线的时候还有补偿问题。PCB制造时,线条经过蚀刻后,顶部宽度通常比底部窄一点,横截面是梯形而不是标准的矩形。计算器一般按矩形模型算,但板厂会在做阻抗条时对你的设计线宽做补偿。你可以什么都不管,直接在Allegro里按8mil画,板厂在CAM阶段会自动补偿到目标阻抗。前提是你选择的板厂阻抗控制能力靠谱,以及你给出的叠层参数和它实际生产一致。

如果你的板子要求50欧姆但表层空间很挤,放不下8mil线宽,可以拉近信号层到参考平面的距离,比如把PP换成更薄的型号,介质高度压到3.5mil,这样只需要6.5mil左右的线宽。但介质变薄意味着层间电容增加,对串扰抑制有好处,对加工精度要求也提高。这里面都是取舍,没有免费的午餐。

3.3 100欧姆差分线的计算细节

差分100欧姆的计算比单端稍微复杂一点,因为它涉及到两条线之间的耦合。耦合越强,差分阻抗相对单端阻抗的变化越大。计算器里需要同时输入线宽(W)、线距(S)、介质高度(H)和铜厚(T)。通常的做法是先固定介质高度,然后选择合适的W和S组合。

在同样的叠层参数下(H=4.5mil,Dk=4.3,1oz铜),100欧姆差分对的一组常见参数是W=4.5mil、S=7mil。如果S太小,两条线之间耦合过强,差分阻抗会掉;如果S太大,两条线接近独立,差分阻抗就接近两根单端50欧姆串联的100欧姆,但共模抑制特性变差。所以差分对不是靠大间距获得阻抗,而是靠合理的"W+S"组合。

Allegro里设置差分对规则时,除了线宽线距,还有对内等长约束。对于真正的差分信号,对内等长误差直接决定共模转换的大小。高速接口一般要求5mil以内,普通千兆以太网要求松一点,但也有严格要求。你在规则管理器里把差分对约束和等长约束都设置好,布线时右键"Route > Differential Pair"推挤布线,它会自动按你设定的间距走。

3.4 计算器和板厂结果不一致的根源

实践中最容易让人困惑的问题:同一个叠层参数,自己算出来的线宽和板厂给的阻抗建议表里的线宽不一样。根源通常出在以下三个方面。

第一,介质厚度参数不一致。计算器里填的是设计厚度,但板厂实际压合后PP会流动,厚度和设计值存在偏差,尤其是多张PP叠压时,压缩率不好预估。所以板厂给出的建议线宽是基于他们工艺统计值反向推算的,和你用理论Dk算出来的自然会差一点。

第二,铜箔厚度偏差。1oz铜的标称厚度是35um,但实际成品铜厚可能在30到40um之间。铜厚直接影响导体的截面积和表面电场分布,误差1um对阻抗的影响在小线宽时会被放大。如果板子对阻抗控制要求很高,可以要求板厂在阻抗条上做铜厚补偿。

第三,板材Dk值。不同厂家FR4的Dk真不一样,RoHS板材和无铅板材、高Tg板材的Dk也各有差异。板厂通常根据自己的板材供应商给一个Dk值,你计算器里填的Dk可能跟这个值有偏差。最好的办法是:让板厂直接提供"板材型号+Dk值+介质厚度+建议线宽"的完整表格,你按他们的建议值去画,阻抗基本一版过。

4. 把叠层约束落进设计:规则约束、布局布线与铺铜优先级

4.1 物理规则与间距约束设置

叠层和阻抗计算完成之后,要做的第一件事就是把这些值写进Allegro的约束管理器,而不是等到布线时边画边看。打开Setup > Constraints > Constraint Manager,在Physical约束里为不同网络创建Net Class,然后分别设置最小线宽、最大线宽、差分对线宽线距。

对走电流的电源网络,线宽不是按阻抗算的,按载流能力算。1oz铜外层走线,1mm线宽大约能过1A电流(温升10度左右),内层载流能力减半。你按这个经验值去定电源线宽度,再结合端子位置做覆铜。注意Allegro里的最小线宽设置不能一刀切,要给DDR、射频、电源分别建不同的Physical Constraint Set。否则你为了跑大电流把电源线设成30mil,其他信号线也跟着成了30mil,布线难度直接拉满。

间距约束同样要按网络分类。高压、差分、普通数字信号各自设不同的间距。这里有个常见的翻车点:Allegro默认的Spacing规则是All-All,如果你只改了一个Net Class的Spacing,其他网络之间的最小间距还沿用默认值,有些框选的同网络铜皮间距会跟你预想的不一样。

4.2 差分对与等长约束

差分对在Allegro里属于Physical约束的一部分,要单独定义。你先在Net Group里把差分网络对建出来,然后在Differential Pair的Physical规则里设置Primary Width、Secondary Width(即目标线宽和线距)、以及Neck Width和Neck Gap(在拥挤区域自动收缩的线宽线距)。这里建议把Neck Width设成比正常值小20%-30%,方便在BGA扇出区域走线,又不会让阻抗偏到离谱。

等长约束在Relative Propagation Delay域里设置。DDR这种并行总线和差分对都要做等长,差分对通常要求对内误差在5mil以内,USB3.0这类高速接口甚至要求2-3mil。Allegro 17.4的等长约束界面里可以直接设定Desired Length和Tolerance,布线完成后用"Show Tuning Deley"检查。

有个经验:差分对阻抗连续性不只是靠等长和线宽,还和返回路径完整性有关。如果差分对换层时参考平面被电源层分割,回流路径就会断掉,导致阻抗突变和共模噪声激增。所以4层板里差分对尽量在同一层走完,或者换层点附近保留完整的回流过孔。在叠层设计阶段,就要想好哪些关键差分信号放在表层,哪些放内层,不要等到布线时再被动处理。

4.3 电源模块布局对叠层和回流的依赖

经常有人拿SW6206这类移动电源方案的PCB文件参考,原厂资料里包括了完整的叠层设置和铺铜规则。参考设计能告诉你芯片周围怎么摆器件、走线怎么走,但如果你换了板厂的叠层参数,原方案的阻抗线宽和铺铜间距就要重新算一遍。

电源模块的布局特别看重环路面积。芯片的高di/dt回路,比如功率开关管、电感、续流二极管形成的回路,面积要尽可能小。回流电流会选择电感最小的路径,如果电源模块正好在4层板的边缘,且芯片底下的地层被螺丝孔、挖空区切断,回流路径被迫绕大圈,EMI测试就会非常头疼。

在Allegro里画电源模块时,我习惯先用Shape Void在关键网络的正下方挖出明确的开窗区域,然后把过孔阵放在芯片背面地平面旁边,让回流电流有垂直换层通道。对于大电流路径,直接铺铜并且增加via阵列。这里涉及Allegro里铺铜的优先级:先铺的shape往往会被后铺的shape切开,所以我的习惯是先铺地铜皮,再铺电源铜皮,最后铺关键信号旁的地铜皮。如果顺序反了,GND铜皮可能会被电源铜皮切碎,产生细长铜岛和天线效应。

4.4 禁止铺铜区与铜皮优先级的坑

Allegro里的禁止铺铜区和铜皮优先级,这两个功能是很多新人最容易踩坑的地方。"禁止铺铜区"分两种:一种是Route Keepout,放在布局布线阶段,把某些区域设置成布线和铺铜的禁区;另一种是Shape Void,专门在已有铜皮上挖空。注意Route Keepout默认会挡住动态铺铜,但不会自动切开已经存在的静态铺铜。如果你想在铺铜之后再挖孔,应该用Shape Void。

铜皮优先级的问题主要表现为:两块不同网络的铜皮重叠时,谁切谁。Allegro默认规则里,动态铜皮按照填充顺序相互避让,后创建的shape会"吃掉"先创建的部分。如果你在同一个层上先铺了一块GND铜皮,再铺一块VCC铜皮,VCC会直接覆盖掉GND的区域,导致GND网络一个看似完整的平面中间被挖了个大洞。

解决办法有两个。一是尽量不把不同网络的铜皮放在同一层重叠,这是最干净的做法;二是如果必须重叠,就手工通过Shape Void把不必要的区域清掉,然后检查铜皮连通性。在电源层有多个电源网络分割时,用静态铜皮分别画好各电源区域,再手动调整边界,比动态铜皮之间自动避让更可控。

5. 出光绘前的叠层确认与典型翻车现场

5.1 Gerber设置前的叠层核对清单

出光绘文件之前,我建议严格走一遍叠层核对清单,这是花五分钟就能省掉一块废板的投入。第一,回到Cross-Section窗口确认层数和顺序,Top和Bottom要对应板厂生产文件的正反面,不能反。第二,确认每层铜箔厚度和介质总厚度符合板厂叠层表。第三,确认Gerber输出时包含的Subclass完整,至少包括Top、GND层、电源层、Bottom、Silkscreen、Soldermask、Paste,以及钻孔文件。

Allegro出光绘的入口是Manufacture > Artwork。在Film Control里,要把需要的层一个一个加进Film列表,每层的光绘格式建议用RS-274X。这里有个细节:动态铜皮在Artwork面板里默认会以全填充形式输出,但如果你的铜皮状态是Disabled或者数据库Check时有错误,Gerber里可能只会出现铜皮的轮廓线,没有填充区。遇到这个问题,先在Display > Status里检查Database是否报错,再执行Tools > Database Check,修复后再出光绘。

有时候Gerber文件在CAM软件里打开,铜皮边缘会出现锯齿或方块感,这是因为光绘分辨率设置不够。在Artwork的General Parameters里把Undefined Line Width设置成0.001mm,同时把Vector based的精度改成0.1mil以下,基本能解决。

5.2 铜皮只有轮廓的排查路径

"Allegro铜皮只有轮廓"应该能排进四层板新手翻车现场的前三名。表现形式是:PCB设计界面里铜皮看得到填充,但出Gerber后在CAM里只剩一圈边界线。排查路径建议按顺序走。

第一步看动态铜皮状态。Allegro里动态铜皮有完整填充和边界填充两种显示/输出模式。检查Shape > Select Shape,点击问题铜皮后按右键选择"Shape Fill",确认状态不是Disabled或No Fill。如果是,需要重新执行"Shape Fill"命令恢复。

第二步看Artwork输出设置。如果你在Film Control里把该铜皮所在层的Footprint下拉选项设成了"Empty"或"Outline",那输出就只剩轮廓。应该把它设置成"Full"(或对应版本里的"Conductor")模式。

第三步看数据库错误。用Tools > Database Check跑一遍,勾上更新所有动态铜皮的选项,让数据库重建钢皮,然后再重新出Gerber。我遇到过很多次,实际就是动态铜皮因为局部修改而没自动更新,Database Check强制刷新之后就正常了。

第四步看文件版本兼容性。17.4的板子在更早版本Allegro里打开后,铜皮填充状态有时会变化。如果你拿到别人发的板子,先确认对方是用什么版本保存的,必要时直接用17.4重建铜皮再出,不要迷信跨版本完全兼容。

5.3 封装只读与文件锁定的处理

设计做到一半,突然提示"allegro cell read-only",这个报错通常不是封装本身的权限问题,而是设计文件或封装文件被系统锁定了。常见原因是你直接在Windows资源管理器里把文件属性勾了只读,或者这个文件正被另一个Allegro进程打开。先退出所有Allegro窗口,再到文件属性里取消只读,十有八九能解决。

如果是Allegro提示库里的具体封装只读,比如你在编辑封装时弹出的报错,通常是封装文件在库目录里被设置成只读,或者你使用的是共享库但没有写权限。这种情况下不要强行改库文件,最好是复制一份到自己的本地库目录,再从本地库调用。在公司研发环境里,共享库服务器上经常有版本管理锁定,协同设计时你根本没有权限直接改,硬改还会影响其他同事。

我的另一个建议是,在17.4里给封装文件做修改时,先把封装文件通过File > Export > Libraries导出一份到本地,在本地改完再导回。这比直接在服务器库路径上编辑安全得多,也能避免很多奇怪的锁文件残留。

5.4 拼板和螺丝孔对叠层的影响

批量生产时拼板不可避免,但拼板对叠层的最大影响是板内应力分布。V-cut和邮票孔的机械应力可能导致焊盘翘起,甚至内层铜皮产生裂纹。所以拼板位置要尽量选在板边无铜区、远离BGA和晶振等敏感位置。在Allegro里做拼板时,很多人喜欢用Copy直接复制板框,但如果源板框里有大量动态铜皮和从属shape,复制后会导致铜皮网络错乱。我的做法是先只复制板框和安装孔,再对每个子板单独做铜皮。

螺丝孔的设计也要提前考虑叠层。非金属化螺丝孔好说,在板框阶段画好就行。金属化螺丝孔会影响内层电源和地平面的完整性,如果拆的孔正好在平面回流路径上,要紧挨着补一排过孔,让回流电流绕过螺丝孔。热词里有人问"Allegro 24.1 PCB上的螺丝孔如何制作",其实17.4的思路一样:用Padstack Design定义一个带金属化的圆形焊盘,在板框层放置,然后再用Shape Void在相关平面层挖空。

如果你的板子同时还要求阻抗控制,螺丝孔的位置一定不要在差分对下方。差分对下方掏空一部分参考平面,阻抗直接突变,就算等长做得好也没用。这个问题在评审时经常被忽略,我自测的教训是:一个本来100欧姆的差分对,因为下方有个金属化螺丝孔挖空参考平面,实测到了118欧姆,幸好是样机,多花一版钱买了个教训。

5.5 把阻抗参数的验证写进打样说明

最后给一个小建议:发板给PCB工厂时,在打样说明里一定要附上你的阻抗叠层表和要求,不要只写一句"要求控制50欧姆和100欧姆"。板厂最需要的信息包括:目标阻抗值、走线所在层、走线宽度和间距、参考平面层、板材类型和厚度。你可以直接在说明里写"TOP层50欧姆单端线宽按8mil,DIFF 100欧姆按4.5/7mil,请按贵司工艺CAM补偿后控制阻抗"。这样板厂工程师能快速把你的设计参数和生产工艺对齐,有偏差会在EQ阶段提前反馈,而不是等你板子做出来再发现。

这块板子改完之后,我把那家板厂的叠层表存档到本地,之后每个项目直接从他们官网下载最新叠层,通常官网都会提供对应板材的阻抗计算工具或用例。不同批次的板材即使同型号,Dk也可能有0.1左右波动,但对于2.4G以下频段完全够用。遇到更高速率的接口,我会在板子上加阻抗测试条(阻抗coupon),让板厂帮忙在拼板边上做一对50欧姆和一对100欧姆的测试条,板子到手后先用网分测一下再贴片。这个习惯帮我避免了至少三次量产事故,强烈推荐你也试试。

需要专业的网站建设服务?

联系我们获取免费的网站建设咨询和方案报价,让我们帮助您实现业务目标

立即咨询