拿到梁山派的立创EDA工程那天,我原本只是想看看四层板长什么样,结果一头扎进去才发现:四层板不是简单多加两层铜皮,从层叠、阻抗控制到高速布线,每一步都藏着坑。这篇文章就围绕我复刻梁山派四层板的完整过程,把“为什么要用四层板”“阻抗怎么控”“高速线怎么布”这些事掰开讲透,适合正在用立创EDA从两层板往四层板进阶的硬件工程师,也适合想搞懂阻抗控制本质的PCB初学者。
1. 为什么梁山派这类板子绕不开四层板
1.1 双层板在哪些地方“顶不住”
先看梁山派的核心配置:主控是GD32F450,片外挂了一颗SDRAM,板上还有USB、以太网PHY、RGB屏幕接口、CAN和一堆串口外设。这里面的压力主要来自三块:SDRAM的数据总线和地址线,USB的高速差分对,以及以太网的RMII时钟和差分线。
双层板的第一痛点是没有完整参考平面。信号走在顶层,回流电流只能通过底层的地或者电源线绕回去,等于每个高速信号都拖着一条很长的地环路。地环路一长,寄生电感变大,信号切换时产生的瞬态电流就会激起地弹,严重的时候直接让SDRAM数据采样出错。
第二痛点是走线密度。SDRAM一张16位数据总线,加上地址线、控制线,一共几十根,全部从MCU拉到SDRAM,还要在两层板里绕开其他器件,绕线绕到头疼。绕线越长,信号边沿越差,串扰也越大。
第三痛点是EMI。双层板没有内层平面做屏蔽,高速信号直接暴露在板表,辐射问题很难控。所以我拿到梁山派工程后第一反应是:这板子用四层板不是炫技,是真的有需求。
1.2 四层板的层叠选型:为什么默认是“信号-地-电源-信号”
四层板最常见的层叠是TOP信号层、第二层地平面、第三层电源平面、BOTTOM信号层,也就是S-G-P-S结构。还有另一种S-P-G-S结构,第二层做电源、第三层做地。
S-G-P-S的优势在于:所有顶层走线都紧贴完整的地平面,阻抗容易控制,回流路径最短,信号完整性最好。底层信号虽然参考的是电源平面,但四层板里电源平面通常也被要求尽量完整,所以底层也能接受。
S-P-G-S则把电源放第二层。这个方案有个问题:电源平面通常会被分割成多个电压区域,如果顶层的高速信号正好跨在分割线上,回流路径就要绕道,等效于在信号路径上挖了一个坑。所以除非有特殊叠层需求,我一般不建议新手用S-P-G-S。
梁山派原始工程用的就是S-G-P-S,这也符合嘉立创四层板默认叠层的习惯。
1.3 梁山派原始叠层的参考意义
下载梁山派开源工程后,可以在立创EDA专业版的层叠管理器里看到厂家默认的四层板叠层。常规1.6mm板厚,L1到L2之间是半固化片PP,约0.2mm;L2到L3之间是芯板Core,约1.2mm;L3到L4之间又是PP,约0.2mm。
这个叠层结构里,表层信号到参考平面的距离只有0.2mm,很近,所以表层做50Ω单端线时线宽不需要做得特别夸张,一般算出来在0.2mm到0.35mm之间。这就回答了很多人的疑问:为什么有人画四层板、表层信号线还那么粗,因为型号不同、叠层不同,线宽自然不一样。
反过来说,如果你把关键信号放到内层L2和L3之间,参考距离变成了1.2mm,同样做50Ω,带状线宽度就会明显比表层微带线宽不少,占用空间大,还不方便出线。这也是四层板里高速信号尽量走表层的核心原因之一。
2. 立创EDA专业版实操:层叠管理器与阻抗配置
2.1 先确认你用的是专业版
很多人打开立创EDA,用的还是浏览器里的标准版,画两层板没什么问题,但要做四层板、要配阻抗,标准版会非常吃力。四层板的层叠设置、内电层、差分对和等长调节这些功能,专业版才做得比较顺手。
梁山派的开源工程本来就是立创EDA格式,直接用专业版打开,PCB和原理图之间的关系、封装、位号都能完整保留,比从AD或者Cadence导来导去省太多事。如果你之前纠结“立创EDA和KiCad哪个好用”,在做这种多层板项目时,答案是明确:直接用立创EDA专业版,因为工程量最顺,不需要文件转换。
2.2 层叠管理器里的参数怎么填
在PCB编辑界面里找到层叠管理器,默认看到的四层板参数一般是:板厚1.6mm,顶层和底层铜厚1oz,内层铜厚0.5oz。介质部分需要手动确认芯板和PP的厚度。
我习惯按嘉立创四层板常规叠层来填,填写结果如下表所示:
| 层级 | 网络/用途 | 铜厚 | 介质说明 |
|---|---|---|---|
| L1 TOP | 信号层 | 1oz | 表层走线 |
| L1-L2介质 | 无 | 无 | PP约0.2mm,半固化片 |
| L2 GND | 地平面 | 0.5oz | 完整地平面 |
| L2-L3介质 | 无 | 无 | Core约1.2mm,芯板 |
| L3 POWER | 电源平面 | 0.5oz | 可分割电源 |
| L3-L4介质 | 无 | 无 | PP约0.2mm,半固化片 |
| L4 BOTTOM | 信号层 | 1oz | 底层走线 |
这里有一个容易踩的坑:不要把介质厚度和板厚搞混。很多人填层叠时直接把1.6mm填在L2-L3之间,结果后面算阻抗全部偏掉。1.6mm是整板厚度,其中L2-L3的芯板占了绝大部分,但真正决定阻抗的是信号层到参考平面的距离,也就是L1到L2的0.2mm,或者L4到L3的0.2mm。
2.3 用阻抗工具反推线宽
有了叠层参数,接下来就是定线宽。立创EDA专业版自带的阻抗计算工具,或者嘉立创官网的在线阻抗计算器都能做这事。
算表层单端50Ω时,我一般这么填参数:
- 叠层结构选择或自定义成上面那张表的参数
- 信号层选TOP层,参考层选L2
- 目标阻抗填50Ω
- 铜厚选1oz,也就是0.035mm
- 介质类型FR-4,介电常数Er填4.3左右
- 阻焊覆盖选Covered,也就是有绿油覆盖的模式
点击计算,大概能得到表层50Ω单端线宽在0.25mm到0.35mm区间。这个值取决于PP厚度微小差异和绿油厚度,所以不同工具算出来有一点差别很正常。
需要特别说明的是,这个值只适用于刚才那张叠层表。如果板厂给的叠层参数不一样,线宽必须重新算。我见过有人直接把别人两片板的50Ω线宽拷过来用,结果因为参考层距离不同,实测阻抗只有42Ω。
2.4 一个容易被忽略的细节:阻焊层对阻抗的影响
表层微带线上面覆盖的绿油,虽然只有十几微米厚,但对阻抗的影响不容小觑。相同线宽下,有绿油覆盖的阻抗通常比裸铜状态低3到8Ω。
新手最容易犯的错就是算完裸铜50Ω线宽直接下单,不做任何修正。板厂制作时按这个线宽做出来,再盖上绿油,实测可能就变成45Ω。更稳妥的做法是:下单时直接备注要求板厂按目标阻抗生产,让他们根据自家工艺微调线宽。
如果你只是自己简单验证,那就用Covered模式再算一遍,取两种计算结果中间偏宽的线宽,留出余量。
3. 阻抗控制的底层逻辑:50Ω不是拍脑袋定的
3.1 信号反射与特征阻抗:一条线为什么“挑食”
阻抗控制不是为了好看,而是为了减少反射。信号在传输线里走的时候,每到一个阻抗突变点,就会反射回来一部分能量。如果反射发生在驱动端和接收端之间反复弹跳,接收端看到的信号就变成阶梯状,轻则振铃、过冲,重则逻辑误判。
打个比方:一条直径不变的水管,水流非常平稳;水管突然变细,水花就会溅起来;变粗也一样。信号线对线宽变化的敏感程度和这个非常像。四层板的价值就在于此:表层走线始终贴近一个完整的地平面,只要线宽恒定,特征阻抗就能稳定在目标值附近。
3.2 微带线阻抗受哪些参数影响
信号走在表层,参考平面在紧邻的L2层,这种结构叫微带线。它的特征阻抗主要由四个参数决定:
- 线宽:线越宽阻抗越低
- 介质厚度:信号到参考平面的距离越厚阻抗越高
- 介质介电常数:材料越“紧”阻抗越低,FR-4普遍在4.2到4.6之间
- 铜厚:铜箔越厚阻抗越低
理解这四个关系,排查问题就快了。比如打样回来测阻抗偏高,第一反应不是怀疑仪器,而是看看是不是线宽做细了、PP实际厚度比标称值高,或者绿油厚度不足。
这也解释了为什么四层板的高速信号都尽量放表层:表层到参考平面只有0.2mm,线宽不需要做得太宽就能到50Ω。如果放内层,参考距离拉到了1.2mm,同样50Ω线宽差不多要接近1mm,既占面积又难布线。
3.3 为什么USB要90Ω,以太网要100Ω
差分对的阻抗标准不是随便定的。USB 2.0高速信号的特性阻抗标准是90Ω差分,以太网100BASE-TX和千兆以太网的PHY差分对按100Ω差分设计。
这些数值是接口协议和收发器驱动能力互相妥协的结果,USB的90Ω和以太网的100Ω不能互换。你在立创EDA里给USB差分对配规则时,不要想着“反正差不多,统一走80Ω”,真换到示波器上看眼图,就会发现过冲和抖动明显变差。
另外说一句,差分阻抗不是靠单纯拉宽线距实现的。差分阻抗由单端阻抗、线宽、线距共同决定,实际工程中往往先用单端50Ω的线宽,再调整线距把差分阻抗调到目标值附近。差分布线时不设置差分规则、随便画两条并行的线,是最常见的高速布线翻车原因。
3.4 板厂的±10%公差:阻抗控制是一个区间
板厂在阻抗线上承诺的公差一般是±10%。也就是说你要求50Ω,实际做出来在45Ω到55Ω都算合格。这个区间对大多数接口是够用的,但前提是你别卡着边界设计。
我的做法是目标阻抗定在标准值正中间,线宽取50Ω计算值,同时留出阻抗计算误差的余量。如果协议本身对反射很敏感,比如某些DDR接口,那就再和板厂确认一下能不能压到±8%以内。下单时把“要求阻抗测试报告”写清楚,让板厂生产前先做阻抗验证,比打样回来自己发现问题要省时间。
4. 布局先于布线:把回流路径想清楚再画线
4.1 从器件到连接器:让高速信号走直线
布局这件事,看起来是二维摆放,实际上决定了三维空间里的信号质量。梁山派这类板卡的布局顺序,我建议从高速接口开始推:
- SDRAM靠近MCU,数据总线尽量短,地址线稍微长一点还能接受
- USB连接器放在板边,从连接器到MCU之间留出直线走廊
- 以太网PHY靠近RJ45连接器,RMII信号线从MCU到PHY之间距离适中
- 电源部分尽量靠输入接口,避免大电流路径横穿高速区域
布局时反复问自己:每根高速信号从Driver到Receiver,回流的参考平面是不是完整的?信号有没有可能跨过分割区?如果有,要么移位,要么换层,不要等到布线阶段再救。
4.2 去耦电容的正确打开姿势
去耦电容如果位置摆错,作用会大打折扣。电容的本质是在电源引脚附近提供一个低阻抗的蓄水池,问题是电容本身有引脚电感和过孔电感,摆得远了,高频瞬态电流就来不及从电容里取,而是直接从芯片引脚和地平面之间弹跳。
实操时我是这样做的:0.1μF的小电容紧贴MCU和SDRAM的电源引脚,优先放在芯片同一面,如果放不下就放到背面正对电源引脚的位置。关键是走线顺序,电源从过孔进来先到电容,再进芯片引脚,不要绕路。
大容量的10μF或22μF电容放在芯片周边,不要求紧贴每个引脚,它们负责中低频储能,距离远一些影响不大。给每个电源引脚配一个0.1μF电容,是梁山派这种MCU板卡的基本功。
4.3 晶体和时钟信号的隔离
晶体的位置基本决定了两根OSC走线的质量。理想情况是晶体紧靠MCU的OSC引脚,两根线尽量短,并且周围铺地隔离。
我习惯在晶体下方铺一块GND铜皮,并且把晶体下方的内层区域也用GND平面兜住。另一条经验是:OSC时钟线周围不要平行走其他信号,哪怕是低速信号,平行距离稍长也会有串扰灌进来。
4.4 关于星形接地的纠偏
经常有人问“嘉立创EDA怎么布星形接地”。这个问题的答案得分场景。星形接地适合低频模拟电路、高精度采样电路,因为模拟信号对地回路上的数字噪声很敏感,让模拟地和数字地只在单点相连,可以避免数字电流灌进模拟区域。
但到了USB、SDRAM这种高速数字系统,完整地平面的优先级远高于星形接地。你在地平面上锯一道缝,可能纯粹为了让“模拟地”和“数字地”分开,结果高速信号的回流路径被迫绕过这道缝,等效阻抗突变,眼图反而变差。
梁山派这类板子,除非有专门的ADC参考电压等敏感模拟电路,否则我建议直接用整块GND平面,把模拟器件的GND引脚统一连到地平面,再用磁珠或0Ω电阻单独处理模拟电源。如果非要分地,也要保证所有高速信号不跨分割,跨了必须用紧邻信号的完整地平面层转接。
5. 高速布线的规则设置与操作细节
5.1 网络类与线宽规则:先把规则表填好
在立创EDA专业版里建好网络类再布线,比自己手动一根根改线宽靠谱得多。我的规则表大概是这样的:
| 网络类 | 典型网络 | 线宽 | 间距 |
|---|---|---|---|
| POWER | 3V3、5V、VDD | 0.5mm以上或铺铜 | 0.3mm |
| DEFAULT | 普通信号 | 0.15mm | 0.15mm |
| USB_DIFF | USB_DP、USB_DM | 按90Ω差分计算 | 按差分间距 |
| ETH_DIFF | 以太网差分对 | 按100Ω差分计算 | 按差分间距 |
| SDRAM | 数据、地址、控制线 | 0.15mm | 0.15mm |
| CLOCK | 时钟线 | 0.2mm | 0.25mm |
电源线宽的选取除了阻抗要求,还要考虑载流能力。工程经验上1oz铜厚,表层走线按1A电流需要至少0.5mm线宽起步,还要配合铺铜散热。如果是电源输入通道,直接铺铜加一排过孔,不要用细线硬抗。
5.2 差分对布线实操:从新建差分对到走线
在立创EDA专业版里,差分对的设置路径是:选中两个网络,右键选择创建差分对,在差分对管理器里设置差分线宽和线距。
USB驱动板内比较严格的做法是:差分对内的两根线长度差控制在5mil以内,整对差分线的长度也尽量保持一致。以太网100BASE-TX的时序要求宽松一些,但一样建议对内等长。
走线时用差分布线工具,先布一对,再在需要绕等长的地方调节。立创EDA专业版的差分布线会同时保持两根线间距,不容易出现一路弯一路直的情况。走完差分线,如果用万用表量不出来,可以直接看DRC报告里有没有等长超限的提示。
5.3 SDRAM等长绕线的节奏
SDRAM总线的等长是梁山派布线里最花时间的一步。数据线DQ0到DQ15、数据掩码DQM、数据选通DQS,这些属于数据组,组内等长要尽量做紧,经验上控制在±50mil以内。地址线和控制线的组内等长可以稍微放松,但也不要超过±100mil。
等长的原则不是让所有线一样长,而是以一组里最长的那根为基准,把短的补到位。绕线时尽量用45度折角的蛇形线,绕线间距保持在至少3倍线宽以上,减少线间耦合。绕完记得把DQS和CLK这类关键信号单独看一遍,虽然SDR SDRAM对时序要求不是极致的严格,但越稳越好。
SDRAM的信号尽量都走表层,不要为了绕线方便让数据线动不动就换层。换层会引入过孔,过孔本身就是一个阻抗不连续点,数量越多,信号质量越差。
5.4 过孔、换层与回流路径
四层板布线切忌只看顶层和底层的信号线,忽视了换层瞬间的回流电流。信号在顶层走,回流电流在地平面里跟随着信号走;信号通过过孔换到底层,回流电流也必须在同一位置换层。
实操里,高速信号换层的位置旁边务必加一个GND过孔。这个地孔的作用是给回流电流提供一条距离最近的换层通道。如果不加,回流电流就要绕到几毫米甚至更远的其他地孔,相当于在信号路径上平白增加了一段环路电感。
梁山派这类板子,USB、以太网、SDRAM时钟换层处我都习惯成对打地孔。整套板布完后,数一数高速信号过孔数量和旁边地孔数量,如果发现有信号孔没配地孔,趁DRC前赶紧补上。
6. DRC检查与投板沟通:最后一公里更容易翻车
6.1 把DRC规则调到板厂能接受的极限
立创EDA专业版的DRC默认值不一定适合四层板,需要手动按板厂工艺能力调整。我常用的一套规则是:
| 检查项目 | 设定值 |
|---|---|
| 最小线宽 | 0.15mm |
| 最小线距 | 0.15mm |
| 孔到铜间距 | 0.25mm |
| 孔到孔间距 | 0.3mm |
| 丝印到焊盘间距 | 0.2mm |
| 板边到铜距 | 0.3mm |
设得太严,DRC满屏报错,分不清主次;设得太松,有些隐患又放过去了。我一般先按板厂常规能力设一遍,跑DRC,把真正的错误修掉,再把线宽线距收紧一点复检,确保高速区域按设计规则走。
6.2 下单时怎么跟板厂写阻抗要求
PCB下单备注最怕只写一句“我要50Ω阻抗”。板厂不是你肚子里的蛔虫,他们需要知道的是叠层结构、目标阻抗和测试方式。
我的下单备注模板是:
板厚1.6mm,按JLC7628或同等叠层生产。请根据厂家实际叠层确认表层单端50Ω线宽并做阻抗控制;USB差分对按90Ω差分控制;以太网差分对按100Ω差分控制;所有阻抗线在Gerber中已按目标阻抗设计,生产前请复核并提供阻抗测试报告。
嘉立创这类厂家通常有阻抗控制选项,选上再写备注,板厂会主动配叠层。如果你用的是第三方板厂,最好把叠层表一起发过去,让他们确认能不能做,不要等打样回来再扯皮。
6.3 常见翻车:阻抗线太细、过孔stub、绿油开窗
四层板打样常见的翻车点,我整理成一个表,方便你对照排查:
| 问题 | 原因 | 对策 |
|---|---|---|
| 实测阻抗偏低 | 绿油覆盖影响了阻抗,线宽偏宽 | 计算时用Covered模式,留修正余量 |
| 实测阻抗偏高 | PP实际厚度比标称值大,线宽偏细 | 下单时要求板厂按目标阻抗微调线宽 |
| 高速信号有毛刺 | 过孔stub过长,信号反射 | 换层尽量在信号出线端完成,避免长stub |
| USB/以太网不稳定 | 差分对内不等长,或跨了平面分割 | 重新检查等长,确认所有差分线走线完整 |
| 大电流区域发热 | 电源线宽不够,过孔数量不足 | 按电流换算出线宽,铺铜加过孔阵列 |
绿油开窗是另一个容易被忽视的点,也就是在阻抗线上把阻焊层开掉。开窗之后阻抗会上升,如果设计时是按覆盖绿油算的,开窗等于把阻抗白白抬高一截,可能导致超出预期范围。所以没有特殊需要,就不要给阻抗线开窗。
6.4 打样回来怎么验证
板子到手,第一件事不是上电,而是先做个快速体检。万用表量一下电源和地之间的阻抗,确认没有短路;用放大镜或显微镜看一遍阻抗线线宽,和设计值对比,线宽明显偏细或偏粗的要重点关注。
有条件的话,用网分或TDR测一下关键差分线的阻抗,看是否落在90Ω±10%和100Ω±10%区间。没有这些设备,至少做一次USB高速数据传输压力测试,反复插拔、大文件拷贝,看有没有偶发断连。SDRAM跑一遍内存压力测试,长时间跑不出错,基本能说明等长和阻抗控制做到了位。
做完这些验证,心里才有底说这块四层板真正的稳定性如何。
我第一次画四层板时,把全部精力放在“线能不能走通”上,结果板子回来后USB高速识别偶发失败,排查了三天,最后发现是差分对内等长差了将近30mil,而且有一小段还跨了电源平面的分割区。第二版把差分对内等长做到5mil以内,再加上过孔旁边的地孔全部补齐,问题就消失了。这件事之后我深刻明白了一个道理:四层板的设计核心不是“走线空间更大”,而是每一次电流流动的路径都要可预测、可控制。你在立创EDA里节省的那几分钟绕线时间,远没有多花几分钟在层叠和回流路径上想清楚来得值。