2. 电气连接检查(ERC):ERC规则设置、常见报错解析与高效排查
原理图画完了,连线看着也挺顺眼。但别急着转PCB——先做一次电气规则检查,也就是ERC。
我见过太多人,原理图看着没问题,一跑ERC就蹦出一堆红色错误。有人直接忽略,有人一条条手动查,折腾半天。其实ERC没那么玄乎,关键是你会不会设规则、懂不懂报错、有没有排查套路。
说白了,ERC就是让软件替你检查原理图里的电气连接有没有“硬伤”。比如引脚悬空、两个输出怼在一起、电源短路……这些错误要是带到PCB里,板子大概率废了。
核心原则:ERC不是走过场,它是原理图质量的最后一道防线。我个人的习惯是:每画完一页原理图,立刻跑一次ERC。等全部画完再跑,错误堆在一起反而难查。
2.1 ERC规则设置——别用默认值凑合
很多新手直接点“Run ERC”,默认规则跑一遍,没报错就以为万事大吉。其实默认规则往往太宽松,很多潜在问题查不出来。
我建议你至少检查以下几项设置:
- 悬空引脚检查:默认可能只检查“输入”引脚,不检查“输出”或“双向”。我习惯把所有未连接的引脚都报Warning,至少让我知道哪些引脚是故意悬空的。
- 多重驱动检查:两个输出引脚直接连在一起,这是大忌。默认会报Error,但有些软件可以设置“允许特定类型输出并联”,比如I2C的开漏输出。这个要小心,别把普通推挽输出也放过去了。
- 电源网络检查:检查VCC和GND有没有接反、有没有悬空的电源引脚。我遇到过有人把芯片的VDD引脚空着,以为内部有LDO……结果板子不工作。
- 未连接引脚检查:有些引脚你故意不接,比如NC引脚。建议在原理图上加“No Connect”标记,否则ERC会报一堆假错误。
| 检查项 | 默认行为 | 建议设置 | 说明 |
|---|---|---|---|
| 悬空输入引脚 | Warning | Error | 输入悬空会导致逻辑电平不确定 |
| 悬空输出引脚 | 忽略 | Warning | 可能是漏接了负载 |
| 多重驱动 | Error | Error | 两个输出直接并联,极易烧毁 |
| 电源短路 | Error | Error | VCC和GND直接连通,必烧 |
| 未连接引脚 | Warning | Warning | 建议加No Connect标记消除 |
小技巧:设置完规则后,保存为一个模板文件。下次新建项目直接导入,不用每次都重新配。我自己的模板用了五年,基本没改过。
2.2 常见ERC报错解析——看懂软件在说什么
ERC报错信息有时候挺抽象的。比如“Pin connected to some other pins”,到底连了谁?别慌,我带你拆几个最常见的。
2.2.1 悬空引脚(Floating Pin)
报错信息类似:“Pin X is not driven”或“Floating input pin”。
原因很简单:这个引脚没连任何网络。输入引脚悬空,电平不确定,芯片可能乱动作。输出引脚悬空,虽然不致命,但说明你可能有漏接。
排查方法:
- 双击报错,软件通常会高亮那个引脚。
- 检查是不是真的需要连接。如果是NC引脚,加上“No Connect”标记。
- 如果是测试点或预留焊盘,建议接一个上拉或下拉电阻到确定电平。
避坑指南:我曾经在一个项目里,把MCU的BOOT引脚悬空了。结果板子焊好死活不进程序,查了两天才发现BOOT引脚电平随机,有时候进Bootloader有时候不进。从那以后,所有控制引脚我都加了下拉电阻。
2.2.2 短路(Short Circuit)
报错信息:“Net X has multiple drivers”或“Pin Y and Pin Z are shorted”。
这是最严重的错误之一。两个输出引脚直接连在一起,轻则逻辑打架,重则烧毁芯片。
常见场景:
- 两个芯片的输出直接连到同一根线上,中间没有隔离。
- 电源网络和地网络不小心连在了一起。
- 总线连接时,地址线或数据线接错了位置。
排查方法:
- 查看报错网络,看看有哪些引脚连在上面。
- 如果是总线,检查位号是否对应(比如D0连D0,别连到D1)。
- 如果是电源短路,用万用表思维:VCC和GND之间有没有不该出现的通路?
2.2.3 多重驱动(Multiple Drivers)
报错信息:“Net X is driven by multiple pins”。
这个和短路有点像,但更具体——多个输出引脚试图驱动同一个网络。比如两个三态门的输出直接并联,但没有使能控制。
什么时候可以接受?
- 开漏输出(如I2C的SDA、SCL)可以并联,但需要上拉电阻。
- 三态输出,且保证同一时间只有一个使能。
什么时候必须改?
- 两个推挽输出直接并联,绝对不行。
- 两个普通GPIO输出连在一起,也不行。
我的经验:遇到多重驱动报错,先别急着改原理图。看看这两个输出是不是真的需要同时驱动。有时候是画图时复制粘贴忘了改网络名,改一下就好了。
2.3 如何高效排查ERC错误——别一条条翻
ERC报错一多,新手容易慌。其实有套路,按顺序来,十分钟搞定。
2.3.1 按严重程度分级处理
我习惯把ERC报错分成三级:
- 红色Error:必须修。短路、多重驱动、电源错误,不改不能转PCB。
- 橙色Warning:建议修。悬空引脚、未连接网络,虽然不一定导致板子不工作,但最好处理掉。
- 绿色Info:可忽略。比如“引脚有多个名称”,通常是网络标号重复定义,不影响功能。
2.3.2 从电源网络开始查
电源是板子的命脉。先检查所有VCC、VDD、GND、VSS有没有接对。我见过有人把芯片的VDD和GND画反了,ERC直接报短路。这种错误不改,上电就冒烟。
2.3.3 利用软件的“交叉探测”功能
大多数EDA工具都支持从ERC报错直接跳转到原理图对应位置。别自己满原理图找,点一下报错信息,软件自动高亮。
我习惯把ERC面板和原理图窗口并排显示。点一条报错,原理图里对应的引脚或网络就亮了,一眼就能看出问题。
2.3.4 批量处理同类错误
如果报错全是“悬空引脚”,而且都是NC引脚,那就别一个个加No Connect标记了。选中所有NC引脚,批量添加。很多EDA支持全局操作,比如Altium的“Global Edit”或KiCad的“Global Label”。
高效排查流程:
- 先修所有红色Error,尤其是电源短路和多重驱动。
- 再修橙色Warning,重点看悬空输入引脚。
- 最后扫一遍Info,确认没有遗漏。
- 全部修完后,再跑一次ERC,确保零报错。
2.4 ERC知识体系总览
下面这张图帮你理清ERC的核心逻辑:从规则设置到报错解析,再到排查流程,一步都不能少。
嗯,这张图把ERC的三大块串起来了。你照着这个框架去设置规则、识别报错、排查问题,基本不会漏。
最后提醒一句:ERC过了不代表原理图100%正确,但ERC没过一定有问题。别偷懒,每次转PCB之前,至少跑两遍ERC——一遍在画完每页时,一遍在全部完成后。我吃过亏,所以现在特别较真。