☰
DRC全绿板子却废了?硬件工程师必知的四大致命错误
2026/10/27 9:18:19 网站建设 项目流程

1. 当DRC报告一片绿,为什么板子还是废了

画PCB这件事,最让人心里踏实的瞬间,大概就是点下"运行DRC",然后看着错误列表空空如也,所有规则前面都挂着绿色的对勾。那一刻你会觉得,这板子稳了,可以发出去打样了。可现实往往很打脸——板子回来焊上元件,要么某个接口死活不通,要么电源一上电就冒烟,要么信号质量差得离谱,查来查去发现是某个封装画错了、某个网络连错了、某个间距在物理上根本装不下。

我做了十多年硬件,经手的板子从两层板到十几层的都有,用过的工具从Altium Designer、Cadence Allegro到KiCad、嘉立创EDA都算熟。这些年踩过的坑里,有一类特别隐蔽也特别气人:DRC全绿,但板子就是错的。这类问题的根源在于,DRC本质上只是一个"规则检查器",它检查的是你设定的规则,而不是"物理世界的真实约束"。你规则设得不对、封装画得不对、网络逻辑本身就有问题,DRC照样给你亮绿灯。

这篇文章我想把这类"假绿灯"问题彻底拆开讲清楚。核心围绕四个最容易让所有检查都通过、但实际必然出错的致命错误展开:封装与实物不匹配、网络连接逻辑错误、DRC规则设置形同虚设、以及Gerber输出与设计意图脱节。这四个问题覆盖了从原理图到PCB、从设计规则到生产文件的完整链路,任何一个出问题,板子都救不回来。文章会结合KiCad、Altium Designer、嘉立创EDA这几个主流工具的实际操作来讲,涉及封装尺寸、螺丝孔、过孔环宽、RS485上下拉电阻、Gerber导出这些具体细节,适合已经能画板子、但想少走弯路的硬件工程师和电子爱好者。

先说一个我自己的真实经历。早年做一块RS485通信的采集板,DRC全绿,打样回来发现通信时好时坏,折腾了两天才定位到问题:RS485总线的上下拉电阻封装选成了0402,但实际采购的物料是0603,焊盘对不上,勉强焊上去接触不良。DRC根本不会管你封装和实物是否一致,它只认你库里的那个封装。这就是典型的"检查通过、物理错误"。

2. 封装与实物不匹配:DRC永远查不出的第一号杀手

2.1 封装错误的三种典型形态

封装问题之所以是"DRC全绿"的头号杀手,是因为DRC的检查对象是你库里的封装定义,而不是你手上真实的元器件。只要你的封装在软件里自洽,DRC就不会报错。封装错误大致分三种形态,每一种都能让板子直接报废。

第一种是焊盘尺寸和间距错误。比如0603封装的电阻,标准焊盘间距和焊盘尺寸是有行业规范的,但很多人在网上随便下载一个封装库就用,不同来源的库对0603的定义可能差很多。有的焊盘做得太窄,回流焊时立碑;有的焊盘间距偏大,元件放上去两头够不着。这类问题DRC查不出来,因为焊盘之间没有违反间距规则,网络也是连通的。

第二种是引脚编号与实物不符。这个在接口封装上特别常见。比如一个DC005电源座,不同厂家的引脚定义可能完全不一样,有的是中心正极、有的是中心负极,引脚编号顺序也可能不同。你在原理图里按A厂家的定义连了线,PCB里用的却是B厂家的封装,DRC全绿,但板子一上电就短路或者极性反了。

第三种是封装与实物尺寸整体不匹配。就像我前面说的0402和0603混用,或者M2螺丝孔留的过孔和环宽不对,螺丝根本拧不进去或者拧进去把铜皮压裂。

2.2 用"三对照"方法把封装焊死在源头

要根治封装问题,我的经验是建立一套"三对照"流程,在封装入库之前就把它焊死,而不是等到DRC阶段。

第一对照:对照数据手册的机械图。任何一个新封装入库前,必须打开对应元器件的数据手册,找到Mechanical Drawing或者Package Outline那一页,逐个核对焊盘的长宽、间距、引脚编号。以0603封装为例,标准尺寸是长1.6mm、宽0.8mm,但焊盘设计要根据你的工艺来定,一般焊盘长度会比元件本体略长,留出爬锡空间。我通常会把数据手册的机械图截图存到封装库里,方便以后复查。

第二对照:对照实物测量。数据手册有时候也会有坑,尤其是国产替代料。我的习惯是拿到样品后用卡尺实测一遍关键尺寸,特别是接口类元件。比如DC005电源座,实测中心针直径、外径、引脚间距,和手册对不上就以实物为准。

第三对照:对照已有量产板。如果公司有已经量产验证过的板子,新项目尽量复用那些封装,不要重新画。复用经过验证的封装,比你自己新画一个再检查要可靠得多。

在KiCad里,封装管理相对透明,你可以直接打开封装编辑器看焊盘坐标。Altium Designer里可以用PCB Library面板逐个检查。嘉立创EDA的封装库比较丰富,但也要注意有些是用户上传的,质量参差不齐,用之前务必核对。

2.3 螺丝孔、过孔环宽这些"非电气"细节

有一类封装细节特别容易被忽略,因为它们不涉及电气连接,DRC默认也不怎么管。最典型的就是安装孔。一般PCB上M2螺丝孔的过孔直径留2.2mm左右,环宽(焊盘外径减去孔径的一半)建议留0.5mm以上,这样螺丝拧紧时不会把铜皮压裂。M3螺丝孔过孔直径一般3.2mm,环宽同样建议0.5mm以上。这些参数如果你设得太小,DRC不会报错,但装配时螺丝一拧就出问题。

还有过孔的环宽。过孔环宽太小,钻孔偏差稍微大一点就会破环,导致断路。一般过孔环宽建议不小于0.15mm,机械钻孔的过孔环宽最好留到0.2mm以上。这些在DRC的"最小环宽"规则里可以设,但很多人默认规则里这个值是0或者很小,等于没检查。

提示:封装入库前,把数据手册机械图、实物实测尺寸、量产验证记录三者对齐,这一步花的时间远比板子报废后返工要少。

3. 网络连接逻辑错误:原理图对了,PCB不一定对

3.1 网络标号重名与隐式连接

网络连接逻辑错误是第二类"DRC全绿但板子错"的重灾区。DRC检查的是PCB上的物理连接是否符合网表,但网表本身是从原理图生成的。如果原理图里的网络逻辑就是错的,那PCB和网表一致,DRC自然全绿,但板子功能是错的。

最常见的是网络标号重名。比如你在原理图里给两个本该独立的信号都标了"VCC",软件会认为它们是同一个网络,自动连在一起。DRC不会报错,因为网表里它们确实是一个网络。但实际功能上,这两个信号本不该短接。这类问题在层次化原理图里尤其容易出,因为不同页面的网络标号作用域可能没设对。

还有一种更隐蔽的,叫隐式连接。有些EDA工具里,两个引脚如果直接叠在一起,或者通过某些特殊符号,会被隐式认为是连通的,即使你没有画连线。这种连接在原理图上看起来不明显,但网表里已经连上了。KiCad和Altium都有类似机制,用的时候要特别小心。

3.2 用"网表反查"揪出逻辑错误

要发现这类问题,光看原理图不够,得学会网表反查。具体做法是:在PCB工具里打开网络管理器,逐个检查关键网络的连接对象。比如你有一个RS485总线,A和B两根差分线,你应该能在网络管理器里清楚看到A网络连了哪些引脚、B网络连了哪些引脚。如果发现某个不该连的引脚出现在网络里,那就是原理图逻辑错了。

在Altium Designer里,可以用"PCB"面板的"Net"视图,点开每个网络看它连接的焊盘。在KiCad里,用"Board Setup"里的"Net Classes"和"Net Inspector"可以查看网络连接。嘉立创EDA也有类似功能。

我自己的习惯是,在布线之前,先把所有电源网络和关键信号网络过一遍,确认连接对象和设计意图一致。这一步花十分钟,能省掉后面几天的调试。

3.3 RS485上下拉电阻的经典翻车案例

拿RS485总线举个例子,这是网络逻辑错误的高发区。RS485总线需要在A、B线上各加一个上下拉电阻,通常A线上拉、B线下拉,阻值一般选4.7kΩ到10kΩ,具体要根据总线长度和节点数计算。这个上下拉的作用是保证总线在空闲时处于确定电平,避免误触发。

问题出在哪呢?很多人画原理图时,把上下拉电阻画在了错误的位置,比如画在了隔离芯片的后面而不是总线侧,或者两个电阻都上拉、都下拉。DRC全绿,因为电阻确实连在A、B网络上,但功能上总线空闲电平是错的,通信时好时坏。

正确的做法是:上下拉电阻要放在总线的最远端或者主机侧,A线上拉到VCC,B线下拉到GND,阻值根据总线电容和节点数计算。一般经验公式是,上下拉电阻并联值要远小于总线终端电阻(通常120Ω),但又不能太小导致功耗过大。4.7kΩ是常见选择,节点多的时候可以适当减小。

注意:网络逻辑错误不会在DRC里体现,必须靠网表反查和功能审查来发现。布线前过一遍关键网络,是性价比最高的检查。

4. DRC规则设置:你以为在检查,其实在放水

4.1 默认规则为什么等于没检查

很多人跑DRC,用的就是软件默认规则。这里有个残酷的事实:大多数EDA工具的默认DRC规则,宽松到几乎等于没检查。默认的最小线宽可能是0.2mm甚至更小,最小间距可能是0.2mm,最小环宽可能是0。这些值对于现代PCB工艺来说,要么太宽松(导致你画得很随意也不报错),要么根本不符合你的实际工艺能力。

更关键的是,默认规则往往不包含很多重要检查项。比如丝印重叠、焊盘与板边距离、孔到孔距离、阻焊开窗这些,默认规则里可能根本没开。你跑完DRC看到全绿,其实只检查了线宽线距这几项最基本的。

我见过太多人,DRC全绿就发板,结果板厂反馈说"你这个孔到板边太近了,我们做不了",或者"丝印压焊盘了,我们帮你移了"。这些都是DRC该管但默认没管的事。

4.2 按板厂工艺能力反推规则

正确的做法是,根据你选定的板厂工艺能力来设置DRC规则。以嘉立创的常规工艺为例,最小线宽/线距一般是0.1mm(但建议留余量用0.15mm),最小过孔内径0.2mm,最小过孔外径0.4mm,孔到板边距离建议0.3mm以上。你把这些值填进DRC规则里,DRC才真正有意义。

在KiCad里,这些规则在"Board Setup"的"Design Rules"里设置,可以分别设最小线宽、最小间距、最小环宽、最小孔尺寸等。Altium Designer在"Design Rules"里设置,规则更细,可以按网络类、按区域设不同规则。嘉立创EDA的规则设置相对简单,但基本的线宽线距、孔尺寸都能设。

我一般会建一个"板厂工艺模板",把常用板厂的工艺参数存进去,新项目直接套用。这样DRC检查的就是真实可制造的约束,而不是软件默认的宽松值。

4.3 那些必须手动开启的检查项

除了线宽线距,有几个检查项我强烈建议手动开启:

  • 丝印与焊盘重叠检查:丝印压在焊盘上,焊接时会影响上锡,板厂也可能帮你移走导致丝印错位。
  • 孔到孔距离检查:两个孔挨太近,钻孔时可能破孔或者钻偏。
  • 焊盘到板边距离检查:焊盘离板边太近,铣边时可能伤到焊盘。
  • 阻焊开窗检查:阻焊开窗太小,焊盘露不出来;太大,可能连到旁边的铜。
  • 差分对间距检查:如果有差分信号,要检查差分对内的间距是否一致。

这些检查项在Altium Designer里大部分都有现成规则,KiCad里也能通过自定义规则实现。开启之后,DRC才真正成为一道防线,而不是一个摆设。

提示:DRC规则不是设一次就完事,每换一个板厂、每换一种工艺(比如从喷锡换沉金),都要重新核对规则。

5. Gerber输出:设计对了,文件错了照样白搭

5.1 Gerber层遗漏与层序错误

就算你的设计完美无缺,DRC全绿,如果Gerber文件输出错了,板子照样废。Gerber是PCB设计的最终交付物,板厂是照着Gerber做的,不是照着你的设计文件做的。Gerber出问题,前面所有工作都白费。

最常见的Gerber问题是层遗漏。比如忘了输出阻焊层,板厂就不知道哪里该开窗;忘了输出丝印层,板子上就没有元件标号;忘了输出钻孔文件,板厂就不知道哪里要钻孔。这些问题在设计文件里完全看不出来,DRC也不会报错,但板子做出来就是残废的。

还有层序错误。多层板的内层顺序如果搞反了,比如把电源层和地层对调,板子做出来功能完全不对。Gerber文件本身不包含层序信息,层序是靠文件命名和板厂的工程确认来保证的。如果你命名不规范,板厂可能理解错。

5.2 用Gerber查看器做最后一道人工检查

我的习惯是,Gerber输出之后,一定要用Gerber查看器打开看一遍。常用的免费工具有KiCad自带的Gerber Viewer、Altium的CAM Editor、以及一些在线查看器。看的时候重点检查几件事:

第一,逐层确认。把每一层单独打开,确认这一层的内容符合预期。顶层铜箔应该有走线和焊盘,阻焊层应该有开窗,丝印层应该有标号。

第二,叠层对齐。把所有层叠在一起看,确认焊盘、阻焊开窗、丝印位置对齐。如果阻焊开窗偏了,焊盘就露不出来。

第三,钻孔检查。打开钻孔文件,确认所有该钻孔的地方都有孔,孔径符合预期。

第四,板框检查。确认板框尺寸和形状正确,没有多余的线条。

这一步看起来繁琐,但能拦住绝大多数Gerber层面的错误。我见过太多人设计文件检查得好好的,Gerber一出就发板,结果板厂做出来发现少了一层,只能重做。

5.3 嘉立创EDA和AD导出Gerber的实操差异

不同工具导出Gerber的流程不太一样,这里说几个实操要点。

嘉立创EDA导出Gerber相对简单,在"制造"菜单里选"导出Gerber",然后勾选需要的层。但要注意,嘉立创EDA默认可能不导出某些层,比如某些机械层,需要手动勾选。导出后建议用嘉立创的DFM工具检查一遍,它会自动检查一些常见问题。

Altium Designer导出Gerber在"File"菜单的"Fabrication Outputs"里,选"Gerber Files"。这里要特别注意"Layers"标签页,确认所有需要的层都勾选了,包括阻焊、丝印、钻孔。AD的Gerber输出设置比较多,建议存成一个输出模板,以后直接调用。

KiCad导出Gerber在"File"菜单的"Fabrication Outputs"里,选"Gerber"。KiCad的层管理比较清晰,但要注意钻孔文件是单独导出的,在"Drill Files"里。

不管用哪个工具,导出后都要用查看器过一遍,这是最后一道防线。

6. 把"假绿灯"变成"真放心"的检查清单

说了这么多,最后我想把这套经验整理成一个可执行的检查清单。每次发板前,按这个清单过一遍,能拦住绝大多数"DRC全绿但板子错"的问题。

封装层面:新封装入库前对照数据手册机械图和实物实测;复用已验证封装;检查螺丝孔过孔和环宽;检查过孔环宽。

网络层面:布线前用网表反查关键网络;检查网络标号作用域;检查RS485等总线的上下拉位置和阻值;检查电源网络连接对象。

DRC规则层面:按板厂工艺能力设置规则;开启丝印重叠、孔到孔、焊盘到板边、阻焊开窗等检查项;每换板厂重新核对规则。

Gerber层面:逐层确认内容;叠层对齐检查;钻孔检查;板框检查;用Gerber查看器人工过一遍。

这套清单看起来长,但熟练之后十几分钟就能过完。相比板子报废后重新打样、重新焊接、重新调试的时间成本,这十几分钟太值了。

我个人在实际操作中的体会是,DRC是一个工具,不是一道保险。它能帮你拦住规则内的错误,但拦不住规则外的错误。真正可靠的检查,是"规则检查+人工审查+Gerber复核"三层叠加。把这三层都做到位,板子出问题的概率会大幅下降。踩过几次坑之后,我现在发板前必做的一件事,就是把Gerber用查看器打开,从头到尾看一遍,这个习惯帮我拦住了至少五六次潜在的报废。

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

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

立即咨询