资讯动态

DRC全绿≠板子能用:第一次投板前必须避开的PCB设计坑

发布时间:2026/9/11 23:14:41 来源:尧图企业网站定制
1. 规则全绿那天我以为自己已经是硬件工程师了到现在我都记得第一次投板时的心理状态——躺在宿舍床上反复刷新物流信息脑子里全是绿色对勾PCB的DRC设计规则检查全部通过原理图和网表核对过每个网络的飞线都消掉了规则检查窗口里干干净净什么都没有。那时候我真觉得自己已经从会画原理图的学生进化成了搞得定硬件的人。结果板子到手焊了三个小时上电之后我盯着示波器上那一条乱跳的波形看了很久——ADC读数不是稳定值而是在两个数字之间来回飘3.3V供电线上纹波大到肉眼能分辨芯片摸上去温热程序下载偶尔成功偶尔失败串口打印到一半就断掉。最讽刺的是整块板子的DRC报告到那一刻仍然是零错误。这篇文章就是写给第一次投板的本科生的不管你是用Altium Designer、嘉立创EDA、Cadence Allegro还是PADSDRC全绿都只代表你的图符合了规则库里写下的几何约束离这块板子插上电就能正常工作还有一整条河的距离。我会把我第一次真正做PCB踩过的坑、后来做电源板和混合信号板子时反推出来的原理、以及现在每次投板前必做的检查流程完完整整讲一遍。为什么这个topic值得单独拎出来聊因为DRC通过这件事太容易让人膨胀了。它绿得那么确定你会下意识默认板厂做出来的东西和你画的一模一样、默认所有引脚都会按预期工作。然而DRC连这条线要过多少个安培的电流都不知道更不知道这个电容必须离芯片引脚多近这条时钟线下方不能有裂缝。它只是一个几何规则的守门员不是电气性能的裁判。下面我从我那块充满问题的小板子开始讲把自己当年的排查过程拆开。你会发现每一个坑都不是原理图画错这种低级错误而是DRC根本管不到的维度。2. 上电三分钟DRC给不了你的教训全来了第一版板子的故事值得讲完整因为这一版集齐了很多新手会遇到的典型问题——电源、地、时钟、工艺一个都没落下。2.1 第一个教训限流上电和短路预检比DRC重要得多板子到手那天我的操作顺序跟很多新手一模一样拍照、发朋友圈、然后直接插USB。插上去电脑没有识别到设备我下意识用手去摸芯片——立马缩手STM32烫得吓人。后来用万用表一量电源网络里有虚焊和连锡导致的局部短路电流没有限制芯片直接被干到高温。以后再也没犯过这个错。现在的流程是先拿万用表蜂鸣档量电源网络对地电阻确认不是0Ω再从直流电源限流上电比如先限制100mA观察电流是否异常再慢慢往上加。这个习惯花不了两分钟但能挡住九成新板子首上电翻车。DRC管的是你的设计文件它不检查你的焊接水平也不管焊盘之间有没有被焊锡桥接——而实物上电之后这些全都变成电气问题。2.2 ADC读数乱跳去耦电容放得远环路电感在背后捅刀上电稳定之后问题开始浮现。板载ADC采集一个分压电阻的电压理论上是稳定值实际读数像心电图一样在正负几十个码值之间晃动。我把示波器探到3.3V电源上纹波大概400mV pk-pk里面带着明显的开关频率分量——板子上有一颗MP1584降压芯片。检查布局之后发现问题很典型我给每个芯片的电源引脚都放了100nF去耦电容位置却差不多就行。离引脚最远的电容大约有1cm更糟的是电容的过孔打在了电容外侧电流路径变成了从过孔出来绕到电容再绕回引脚。这个环路的寄生电感非常大高频噪声根本压不住降压芯片的开关噪声直接通过这条高阻抗路径灌进了模拟供电。DRC不查这些东西。它只关心100nF电容的两个焊盘之间距离够不够、走线宽度够不够不关心这个电容和它要服务的芯片组成的高频回路是不是一个大电磁铁。2.3 STM32反复重启时钟线跨过了地平面裂缝第三个问题最隐蔽程序经常跑着跑着就复位串口打印到一半断掉。一开始怀疑是电源问题给MCU单独加了LDO和磁珠隔离还是偶发。后来我把PCB文件调出来翻发现8MHz晶振的两根走线正下方地平面被一道很长的挖空劈成了两半——我在AD20里给一块模拟区域做了覆铜挖空keepout本意是把数字地跟模拟地分开结果挖空区域正好延伸到了晶振走线下方。原理其实很朴素晶振信号的回流电流本来应该紧贴着信号走线正下方的地平面流回驱动端结果地平面被挖断了回流只能绕一大圈环路面积瞬间翻了好几倍。地电位在晶振引脚两端不再一致时钟边沿抖动被放大系统反复复位也就不奇怪了。这是铜皮挖空最容易被误用的场景。很多新手为了隔离噪声在连续地平面上开洞殊不知地平面的价值恰恰在于连续。任何一条高速或时钟信号跨过裂缝结果都比不挖空时糟糕得多。我后来养成了一个习惯地平面上的每一道挖空都要问一遍这里真的需要挖吗挖了之后有没有信号线从上方跨过去2.4 插不进去的排针和看不清的丝印DRC不管实物还有两个跟电气无关却非常真实的坑。板上一颗2.54mm排针的孔径我画成了0.9mmDRC通过——大于最小孔——但实际买来的排针针脚是1.02mm见方的插不进去只能手动扩孔还差点把焊盘弄掉。另一个是丝印我把极性电容的号和芯片1脚标记字号调得太小丝印线宽只有0.1mm板厂丝印打出来全是毛边焊接时真有一块电容方向焊反上电就冒了烟。这两个问题的共性是DRC的所有规则都基于设计文件内部的一致性它不读实物尺寸、不读器件手册里引脚截面是多少、也不管板厂丝印工序最小能印多粗的线。3. 根因拆解规则查几何板子讲物理把故障列完之后退一步看本质。DRC全称Design Rule Check查的是设计规则间距、线宽、孔径、环形焊盘、走线到板边的距离、丝印到焊盘的距离……这一堆东西有一个共同点——都是几何参数都是可测量的空间关系。它不关心这条网络在原理图里是什么信号不关心它上面跑的电流有多大、频率有多高、旁边有没有干扰源。我后来给师弟师妹讲的时候打了个比方DRC及格就像科目二考过了它证明你会在固定场地里完成规定动作不代表你能上高速公路处理复杂车流。下面几个维度是DRC几乎完全失明、但决定板子能不能用的关键。3.1 电流与线宽0.3mm走线到底能过多少电流第一个经常被忽略的物理量是电流承载能力。很多同学走电源线时习惯跟信号线一样用0.3mmDRC只要不低于最小线宽就放行。但0.3mm走线能过多少电流不是拍脑袋定的工程上常用IPC-2221的经验公式估算外层走线电流 I 0.048 × ΔT^0.44 × A^0.725内层系数取0.024。其中A是走线截面积铜厚乘线宽单位mil²ΔT是允许温升摄氏度。我算几个常见值条件是1oz35µm铜厚线宽外层10°C温升内层10°C温升20°C温升外层0.2mm约0.74A约0.37A约1.0A0.3mm约1.0A约0.5A约1.35A0.5mm约1.44A约0.72A约1.95A1.0mm约2.38A约1.19A约3.23A注意这组数字的前提是短走线、无其他热源、没有多根走线聚集。现实里0.3mm外层走线跑1A问题不大但如果放在内层、或者旁边一排线都在发热、或者电源网络要过2A那它就不够了。再算电阻0.3mm/1oz的走线每厘米大约16.4mΩ10cm长的2A供电线会掉330mV——3.3V系统里这几乎是10%的损失芯片可能直接欠压复位。我的习惯是电源正负走线至少1mm起步负载大的网络直接铺铜或多打过孔关键电源用2oz铜厚。功率路径上别依赖看起来还挺宽的走线要用公式或工具算一遍。3.2 回流路径电流永远会回来你控制不了它绕多大圈另一个抽象但极其重要的概念是回流路径。数字信号从来不是只从输出脚流到输入脚电流必须形成闭合回路。它会从输入引脚附近的参考平面、再通过某个路径回到驱动器。高速情况下回流电流会自动选择阻抗最低的路径——而最低阻抗的路径通常是紧贴信号走线正下方的参考平面也就是地平面或电源平面。如果你在地平面上挖了一条长槽或者把信号走线布在毫无参考层的区域回流电流就只能绕远路。环路面积一大问题接踵而至发射噪声变大EMI变差、接收外界干扰的能力变强、地电位在不同位置产生压差最终表现为信号抖动、误码、复位。地平面连续、完整是所有布线规则的根基。我见过太多人为了隔离在地平面上打洞结果整块板性能崩掉。正确的做法是模拟和数字可以在平面上用不同区域摆器件但不要在地平面上物理切槽。真要分割也要保证所有跨分割的信号下方有完整的回流通道。回到我那块板子的教训晶振走线下方的那道坑就是一次典型的好心办坏事。3.3 去耦电容摆位拼的不是容量是环路面积去耦电容的摆放是几何决定性能最典型的例子。电容本身有寄生电感焊盘、过孔、走线还会贡献额外电感。当芯片内部电路瞬间抽取电流时去耦电容必须在纳秒级的时间里把电荷送进电源引脚这个过程能不能做到取决于芯片电源脚—电容—返回芯片地脚这个环路里所有寄生电感的总和。摆放的黄金顺序是芯片电源引脚然后紧贴引脚的电容再过孔落到底层或内层电源/地平面。电容到引脚的距离越短越好。外置电容的过孔要尽量放在电容的外侧而不是芯片和电容之间这样电流才会先穿过电容再到引脚高频回路才最小。多频段去耦100nF10µF时小电容要放得比大电容更靠近芯片因为小电容负责高频它对环路电感更敏感。我是后来做反激式开关电源PCB时才真正理解这件事的电源的功率环路输入电容—开关管—变压器原边面积如果太大开关节点的高dv/dt会辐射出大量噪声整块板的模拟部分全被打烂。DRC认为0.7mm的间距和2mm的间距没有本质区别但物理世界知道这两者的环路面积差了好几倍。3.4 时钟与混合信号噪声会藏在你看不见的相位里ADC/DAC这类混合信号电路是重灾区也是很多本科生第一次做板子最想挑战又最容易被打击的部分。这里面最容易被忽视的是时钟和电源的耦合。时钟抖动过大ADC采样点发生的时间随机漂移表现为信噪比下降、输出码值晃动而电源噪声可以通过时钟器件内部电路调制到输出相位上。对于ADC/DAC相关的PCB布局我总结了三个要点都是DRC管不着的第一时钟源和时钟走线要远离开关电源、电感、开关节点这类高dv/dt区域也要避开在头顶走线的垂直投影面。第二时钟线和模拟信号线的下方参考平面必须完整中途尽量不换层如果必须打过孔旁边要补地过孔。第三给时钟供电单独加LC滤波或独立LDO避免和数字电路共用一个噪声很大的电源网络。这些原则看似玄学其实全是物理时域上的抖动来自相位噪声和电源耦合频域上表现为靠近载波的噪声基底抬高。第一次做板子不需要完全用公式推导但布局阶段就要把时钟是敏感线功率是污染源这个观念立起来。有了这个观念你回头看很多参考设计的摆件位置就能看出门道了。4. 板厂没有义务替你想的事藏在工艺角落的潜规则这一节讲的是你的板子最终不是由设计软件造出来的是板厂造出来的。DRC检查的是设计文件板厂手里是另一套工序逻辑压合、钻孔、曝光、蚀刻、丝印、阻焊。很多设计文件里的东西转换到实物时会有翻译损耗。4.1 Gerber才是投板的最终契约别只盯着工程文件很多新手以为把工程文件发给板厂就行了其实常规流程是导出Gerber和钻孔文件板厂按Gerber生产。Altium Designer、嘉立创EDA、Cadence Allegro都有导出向导但有几类坑要特别小心。负片平面层是Allegro用户最常翻车的地方用负片画的电源层和地层如果导出设置不对整层铜皮可能变成没有地全断了但DRC完全正常板厂照做回来整片地是断的。这种事故我听说过不止一次。导出之后一定要用Gerber查看器逐层检查每一层是否都出来了钻孔文件是否和孔径表对得上阻焊层有没有把不该开窗的地方开窗热词里gerber文件转成pcb文件被搜得很多我猜大家是想把板厂发来的确认文件转回来看一眼。实际上更常见且更正确的流程是PCB工程导出Gerber板厂拿到Gerber生产再回传Gerber预览确认。不管方向如何核心是投板前审查Gerber而不是抱着工程文件想当然。我自己见过有人在AD里把某个内层设成不导出结果整块板电源内层消失板厂也没提醒——因为它按文件执行不背这个锅。4.2 层叠、铜厚与阻抗不提要求板厂就按默认做四层板默认是1.6mm厚但层间介质厚度直接决定50Ω单端、90Ω USB、100Ω差分信号的实际阻抗。你不提阻抗控制板厂就按默认叠构做出来的走线特性阻抗可能完全不在你的信号需求范围内。设计阶段就要决定哪些网络需要阻抗控制投板前向板厂要叠构表按叠构倒推线宽线距。电源板还要注意铜厚。1oz是常用默认大电流电源建议2oz。内层走大电流要特别注意因为内层散热差载流能力基本是外层的一半前面表格里的内层系数0.024已经体现了这个关系。就算DRC允许你0.3mm走2A物理上它也撑不住。4.3 钻孔不是一句话孔径、厚径比、槽孔各有讲究板厂钻孔工序有个厚径比概念板厚与最小孔径的比值一般超过8:1就要加钱或做不了。厚径比不足时过孔内电镀铜可能镀不饱电流一大过孔内部直接断裂。所以大电流过孔宁可多打几个并联也别让一个孔扛所有电流。还有那类槽孔和开槽如果要在板框上开半孔或者板内开长槽要明确标注是NPTH非金属化孔否则板厂默认做成金属化孔可能跟附近的内部走线短路。PADS里画板框开槽、Allegro里做板框槽孔时都要在制造说明里写清楚别指望板厂替你猜。排针、接插件这种需要插实物的孔径一定先去查器件手册的引脚直径留0.2到0.3mm余量。我那个0.9mm孔径的教训就是没查手册——DRC通过了实物插不进去。这类问题在规则库里根本不存在它属于工艺与实物的交集。4.4 丝印模糊、绿油露铜看起来小翻车很疼丝印模糊的原因九成是线宽太细。板厂丝印工序通常保证0.15mm线宽以上清晰很多同学画丝印时字体用得很小、笔画只有0.1mm甚至更细打出来就是一团墨迹分不清字。最危险的不是好不好看而是极性标记和1脚标记看不清焊接时方向放反上电就烧器件。投板前自查丝印线宽版本号更要写在显眼位置否则返修时你根本不知道手里是第几版。绿油露铜是另一类常见需求。Allegro里做PCB背面露铜多半是给大功率器件散热或者给屏蔽罩提供接地接触面。露铜区域必须反复确认该露的散热焊盘露了不该露的走线上方的阻焊没露。因为露铜意味着这个区域可以接触金属如果位置靠近外壳或接插件可能引入意外短路。做完之后在Gerber预览里把阻焊层打开一眼就能看出到底开了多大的窗。4.5 覆铜挖空、死铜与拼板别让板厂帮你做决定AD20里做铜皮挖空时要检查挖空区域边缘是否产生孤岛铜——一块被挖空包围、没有任何网络连接的铜皮。有些EDA会在DRC里报孤岛铜问题但很多情况下它只是显示为未连接铜新手很容易忽略。孤岛铜在电磁上等于一个小天线在高频板上就是噪声源而且板厂不会主动替你删掉。拼板也有讲究。V割便宜、掰开整齐但V割线正下方不能有铜箔走线否则掰板时会伤到走线。所以拼板前要把走线避开V割线的投影区域。邮票孔适合异形板四个角放几个即可。这些内容板厂下单页面常常默认不提示全靠设计者自己掂量。5. 从翻车到能用一套看得见的测试与改版流程回到我第一块板子。发现问题之后我没有直接改版重做而是花了一整周做测量和定位因为现象是ADC跳字根因可能藏在电源、地、时钟、布局好多个环节里。这一周的排查方式后来成了我的固定流程。5.1 测纹波不是接上探头就行要测出病灶测电源纹波不能把示波器探头的地线夹子甩一根20cm的长线去夹GND。那根长地线本身就是天线测出来的纹波一半是环境噪声。正确做法是使用探头的地弹簧直接搭在测量点最近的GND焊盘上带宽限制打到20MHz交流耦合然后判断纹波的频率分量和幅值。我当时就是用这个方法确认了3.3V纹波里主要是MP1584的开关频率成分才把怀疑目标锁定在去耦不良而不是芯片本身坏。测量方法错了后面全是白忙。5.2 回板冒烟测试顺序和限流比胆量重要我现在的回板流程固定在五步断电目检检查焊接、方向、连锡万用表蜂鸣档量电源网络对地阻抗直流源限流50到100mA上电看电流是否异常逐路供电先主电源再IO再外设最后才做功能测试。每一步不过绝不进入下一步。第一次那个插USB直接摸芯片的莽撞再也没发生过。这些操作看起来简单但对本科生来说最大的价值是让板子坏了这件事变得可控。你不再是一上电就被动等结果而是在每一步都知道板子现在处于什么状态。5.3 改版不是推翻重画是带着诊断记录做定点手术定位完成之后第二版改动其实不大去耦电容全部挪到引脚3mm以内过孔调整到电容外侧晶振下方地平面不再挖空电源线加宽到1mm丝印统一加粗加版本号。改版时必须做一份修改记录哪怕只是给自己看——版本号、改了哪些网络、为什么改、对应哪个测量结果。没有修改记录的改版等于原地打转第三版可能把第一版的老毛病又带回来。5.4 让DRC从及格线变成能力上限做完这些之后我才开始重新审视DRC本身。把它从最小可接受提升到符合真实设计意图才是正解。比如在Altium Designer里设置网络类把电源网络的间距单独设得比信号线更大——怎么设置一个网络和GND的间距是很多人搜过的热词这招确实能提前挡住爬电和短路风险。再把电源走线的线宽约束设成1mm最小把覆铜区域、过孔到走线的距离都收紧。规则越接近你的真实需求DRC报告才越有参考价值。DRC的作用被很多人理解反了它不是查完了能交差的合规检查而应该是替你实现设计意图的守门员。默认规则是给所有板子用的通用底线你的板子有电源网络、有高速信号、有模拟敏感区域就该为它们建立对应的规则子集。6. 写在最后给第一次投板的本科生的几句实在话第一块板子留给我的不是一次成功的成就感而是DRC全绿依然翻车的深刻记忆。现在回头看那次经历给了我最珍贵的三样东西一是对规则检查只是起点的清醒认识二是把布局布线从玄学还原成电磁学和工艺的思维习惯三是一套每次投板前都会跑一遍的检查流程。如果你即将第一次投板给你几条掏心窝的建议把先量短路、限流上电写进肌肉记忆这是保护你和板子的第一道防线。去看你所用芯片官方参考设计里的Layout章节照着摆去耦电容和参考平面比在网上搜为什么纹波大高效一百倍。所有器件封装都要查手册核对焊盘与孔径尤其是接插件。投板前一天导出的Gerber一定要自己在预览器里逐层看一遍再下单这能拦下八成板厂做出来不是你以为那样的悲剧。PCB设计这件事本科课程里讲得最少的往往是最值钱的回流路径、环路面积、去耦环路、层叠与阻抗、工艺限制。第一次做板子时觉得这些像玄学等你用示波器和电磁学把它们一个个验证过会发现全是课本知识的投影。DRC全绿不是终点甚至不是前半程的终点。板子能不能用终究要回到物理世界去检验。祝你的第一块板子上电顺利——万一不顺利也别慌那正是你真正开始懂PCB的时候。

读完文章,也想定制专属网站?

尧图设计师 24 小时内与您沟通定制方案

免费获取报价