1. 电路图这门“语言”到底在替谁说话刚入行那几年我一直以为电路图就是画给软件看的——只要网络连对了、ERC 不报错任务就完成了。后来跟着一位做了二十多年硬件的老师傅改图他指着我画的一页电源部分说“你这张图我看三分钟就得回头翻三次不是因为你画错了是因为你只画给自己看。”那句话我记到现在。电路图这个东西本质上是一门通用语言它要表达的不只是“谁连着谁”还包括设计者的意图、约束、取舍和风险点。同一条连线画得清楚和画得含糊中间差的是后面几个人几天的返工。这篇文章想聊的就是这件事一张合格的电路图应该长什么样动笔之前要做什么准备画的过程中有哪些几乎没人写进手册但在实战中反复踩到的坑。内容面向的是刚接触原理图绘制的工程师、需要看懂别人图纸的调试和测试岗、以及那些想把手上项目整理成规范文档的爱好者。不需要你已经是老手但需要你愿意把“画图”当成“写文档”而不是“连线游戏”。1.1 一张图要同时满足四类读者我把电路图的读者大致分成四类每一类的关注点完全不同这也是为什么“自己看得懂”远远不够。第一类是画板子的人他关心的是每个器件的封装、每个网络的走向、哪里有密集布线区、哪几个信号是差分对。第二类是评审的人他往往不熟悉这个项目的细节需要靠图面结构和命名快速建立理解如果图面像一团乱麻评审基本就流于形式了。第三类是调试和维修的人他手上拿着万用表和示波器需要知道测试点在哪、哪个电阻是限流的、哪个电容是去耦的图纸就是他唯一的线索。第四类是采购和后续维护的人他们关心位号、参数、封装能不能对上 BOM以及改版的时候哪些地方动过。这四类人对同一张图的要求有时候是冲突的。画板子的人希望网络标号少一点、连线直一点方便他理解拓扑调试的人希望多打一些测试点、多写一些注释评审的人希望模块边界清晰、信号流向明显。真正成熟的画法不是满足某一方而是在图面上做分层拓扑层面用连线和网络标号表达意图层面用注释和分区标题表达可维护层面用标题栏、版本号和变更记录表达。想清楚这一点后面的所有取舍都有了判断依据。我见过一些图电气上完全正确但把电源、模拟前端、数字接口、连接器全部摊在一页上线交叉得像蜘蛛网。这种图在软件里是“对”的在沟通上是“废”的。因为它的信息密度超过了一个人短时记忆的容量读者必须反复跳转才能拼出完整逻辑而每一次跳转都是一次出错的机会。1.2 通用语法是怎么形成的符号、位号、网络名三层约定电路图之所以能成为跨公司、跨地域的通用语言靠的是三层约定。最底层是图形符号电阻画方框、电容画两条平行线、三极管画带箭头的符号这套约定经过几十年的沉淀虽然各家软件画得略有差异但基本不会认错。中间层是位号前缀R 代表电阻、C 代表电容、L 代表电感、D 代表二极管、Q 代表三极管或 MOS 管、U 代表集成电路、J 代表连接器、Y 或 X 代表晶振、SW 或 S 代表开关、F 代表保险丝、TP 代表测试点。最上层是网络命名也就是那根线叫什么名字。三层里最容易出问题的是最上层因为前两层有软件和习惯帮你兜底网络名完全靠人。这三层约定听起来是小事实际上决定了图纸的可移植性。一个从外部拿到的参考设计如果位号前缀乱用比如用 IC1 表示运放、用 Q1 表示连接器你在导入自己的库和 BOM 流程时会反复出错。如果网络名没有规则一会儿叫 VCC3、一会儿叫 3V3、一会儿叫 PWR那么后续做电源树分析、做网络类规则约束、做跨页检查全部要靠人工比对。我个人的做法是位号前缀严格按上面的约定网络名按“信号类型_极性_电压域”的格式统一宁可名字长一点也不要短而含糊。注意位号前缀不是审美问题它是自动化流程的输入。BOM 归并、装配图生成、测试程序里的探针命名很多时候都依赖前缀做正则匹配。前缀一乱后面所有脚本都得改。1.3 画了三年还画不好问题通常不在软件上带过几个新人之后我发现一个规律真正卡住大家的从来不是软件操作。快捷键、库管理、批量修改、层次图这些一两个星期就能练熟。卡住人的是结构感和读者意识。所谓结构感是拿到一个需求之后能在脑子里先搭出一个“模块—接口—信号流”的骨架知道哪些东西该放一页、哪些该拆出去所谓读者意识是每画一根线都下意识地问一句“别人看到这里会不会误解”。举个很常见的例子。一个 MCU 的复位电路芯片手册给的是 10k 上拉加 100nF 对地。新手往往直接把这两个器件怼在芯片引脚旁边线画得极短从电气角度看毫无问题。但调试的人拿到板子想知道复位时间常数是多少、想在上面加一个手动复位按键、想测复位引脚的波形就会发现问题没有测试点没有预留按键位置电容和电阻挤在一起连探针都放不下。老手画这个电路会顺手留一个测试点、把上拉和电容分开摆、在旁边标一行注释写清楚时间常数。这点差别就是三年经验和十年经验的差别。所以后面几节我基本不聊软件怎么点按钮重点聊动笔前怎么想、动笔时怎么排、交付前怎么查。软件是可以替换的思路不行。2. 动笔之前把脑子里的电路先“翻译”成结构很多人打开软件就开始放器件画到一半发现模块放不下、线绕不开、电源符号不够用然后开始大面积返工。这种返工的代价比想象中大得多因为你改的不只是位置还有已经写好的网络标号、已经核对过的引脚映射、已经生成的 BOM。我的习惯是在软件里画第一笔之前先在纸上或者纯文本里把这几个问题回答完。2.1 一页纸的需求清单和信号流向草图需求清单不需要写得多正式但必须把这几件事列清楚这个电路有哪些对外接口电源输入范围、通信接口类型、模拟输入输出的量程和带宽、人机交互方式每个接口的电气参数是什么电平、速率、驱动能力、隔离要求有没有特殊约束低功耗待机电流、上电时序、热插拔、EMC 敏感区。这份清单看起来像项目管理的东西实际上它直接决定了电路图的模块划分。比如你写清楚“模拟输入 0~2.5V带宽 100kHz共模抑制要求高”那么你的模拟前端就必须独立成块地和电源要单独考虑不能和数字部分混在一页里随便连。信号流向草图更简单一张 A4 纸左边画输入、右边画输出中间用箭头串起来标上每一级的电平转换和增益。这张草图的价值在于它强迫你在画具体电路之前先确认“信号的路径是通的”。我遇到过的很多设计问题不是某个电阻算错了而是整条路径上少了一级缓冲、或者某个节点的电平范围超出了下一级的输入范围。这些问题在草图上用一支笔就能发现在软件里画完再发现就要动大手术。提示草图阶段就把“电源树”单独画出来。哪一路输入、经过哪些转换、每一路的负载是谁、每一路的电流估算多少。电源树是电路图的骨架骨架不清后面的图一定乱。2.2 封装确认必须前置到画图之前这一条我要单独拎出来讲因为它是最容易被跳过、后果最严重的一步。很多人的流程是先画原理图画完再给每个器件分配封装最后导出网表给 PCB。这个流程在器件少的时候还行器件一多必然出事。因为有些器件的封装和符号引脚映射不是一一对应的比如某些小封装 MOS 管的栅极在符号上是第 1 脚实际封装上第 1 脚可能是源极某些连接器的符号按功能分组画封装却按物理顺序编号。我的做法是建库的时候就绑定封装画图的时候直接从库里调不给自己后期“分配封装”的机会。任何一颗新器件先在库里完成“符号—封装—引脚映射”三件套核对无误之后再进原理图。这么做前期会慢一点但它把风险集中到了一个时间点而不是分散在整个项目周期里。尤其是那些只用一个两个的器件最容易在后期被随手分配一个“看起来差不多”的封装然后板子回来发现焊盘对不上。封装确认还要包括一件事查看实物或机械图。有些器件的封装尺寸对但引脚间距、散热焊盘、极性标记的位置和你的想象不一样。我印象很深的一次是一颗小尺寸的稳压器件符号上三个引脚排列很规整实际封装的两个引脚间距只有 0.65mm另一个引脚在对面。如果当时没有提前看机械图布局时会默认按对称三脚处理直接导致布线走不通。2.3 功能分区怎么切按信号流、按电源域还是按物理位置分区是电路图结构设计的核心决策常见的切法有三种各有适用场景。按信号流切输入级、调理级、转换级、处理级、输出级、接口级。这种切法最符合阅读习惯信号从左到右流动评审的人一眼就能看懂路径。适合模拟链路、射频链路、音频链路。按电源域切高压域、低压数字域、模拟域、隔离域。这种切法在做安规、做接地设计、做电源完整性分析时最方便因为同一页里的所有器件共享同一套电源和地符号不容易混淆。适合多电压、多隔离的系统。按物理位置切主板、前面板、传感器板、功率板。这种切法在多板系统里几乎是必须的因为跨板连接必须走连接器符号把同一块板上的电路放在一起连接器的引脚分配才清晰。实际项目里通常是混合使用先按物理位置分大块每块内部按电源域分页每页内部按信号流排布。这个层次一旦确定图纸的页数和每页的主题就固定了后面画起来心里有底不会出现“这块画到一半没地方了”的尴尬。分区方式最适合的场景主要好处需要注意按信号流模拟/射频/音频链路阅读路径清晰便于评审电源和地可能跨多页符号要统一按电源域多电压、强隔离系统电源地符号集中不易混淆信号跨域处要标清楚电平转换按物理位置多板、模块化产品连接器引脚分配清晰单板内部还需二次分区3. 图纸骨架幅面、栅格、分区和标题栏骨架这部分内容很多教程一笔带过但它恰恰决定了图纸的“第一印象”。一张骨架搭得好的图哪怕细节有小瑕疵读者也能顺利理解骨架乱的图细节再准确也让人读得痛苦。3.1 幅面与栅格别让图面密度失控图纸幅面选择的核心是信息密度。太小的幅面塞太多器件图面拥挤、文字重叠打印出来一片黑太大的幅面放太少器件整页空荡荡读者要来回扫视。我的经验值是一页 A4 横向大约放 20~35 个器件比较舒服超过 40 个就该考虑拆页低于 12 个就该考虑合并。栅格设置是另一个容易被忽视的点。原理图的栅格必须和器件符号的引脚间距对齐否则连线时会出现“差一点点连上”的假连接。行业里常用的引脚间距是 100mil换算过来是 2.54mm所以栅格一般设为 100mil 或者它的一半 50mil。千万不要用 25mil 以下的小栅格去“精细调整”位置看起来整齐了实际上引脚落不到栅格上网表里就会出现断线而软件的可视化连线可能仍然是“看起来连着”的状态。注意判断有没有假连接最可靠的办法是看网络标号有没有自动生成、看 ERC 有没有报“单一网络”。肉眼看线是否接触在小栅格下完全不可靠。除了主栅格还要设置好可见栅格和捕获栅格的区分。可见栅格是用来对齐视觉参考的捕获栅格是光标实际吸附的。这两个值保持一致画图时的手感会稳定很多。我习惯把捕获栅格设成 50mil器件摆放时用 100mil 的整数倍连线时允许 50mil 的偏移这样既能保证引脚对齐又不会因为强制 100mil 导致走线绕远。3.2 分区布局让信号从左往右走这是一个几乎没有成本但收益极高的习惯信号主体从左往右流电源从上往下供地在下方汇聚。为什么是左到右因为绝大多数人的阅读习惯是从左上开始向右推进。你的输入级放在左上角输出级放在右侧读者顺着看下去脑子里的信号路径和眼睛的移动路径是一致的理解成本最低。电源符号统一放在页面上方或者器件的上方地的符号统一放下方中间是信号。这个约定看起来是形式主义实际上它带来一个非常实际的好处当你在调试时找某一路上电异常眼睛只需要扫页面上方。如果电源符号散落各处找一个 3.3V 的供电路径要在整页里跳。分区还需要视觉边界。可以用虚线框把功能模块圈起来配上模块名称也可以用留白分隔模块之间空出 3~5 个栅格的距离。我倾向于用留白加模块标题因为虚线框在大图上会显得很重而且框线本身会干扰连线。模块标题放在模块左上角字号比普通标注大一号这样版面有一层清晰的视觉层次。3.3 标题栏、版本号与变更记录标题栏不是走过场。它至少应该包含项目名称或代号、图纸名称、页号与总页数、绘制者、审核者、日期、版本号。多页图纸还要有一张层次索引页列出每一页的主题和页码方便跳转。版本号和变更记录是很多人省掉的部分也是后期最痛苦的部分。我吃过一次亏一个项目改了三版每次改动都在图上直接改没有记录。半年后客户反馈某一版的某个电阻值不对我打开文件夹三个文件名字分别是“主板”“主板_v2”“主板_最终版_真的最终”完全分不清哪个对应哪次出货。后来我强制自己执行一条规则任何一次电气变更都必须同时更新版本号和变更记录变更记录写清楚“改了哪个位号、从什么值改到什么值、为什么改”。这条规则看起来繁琐但在追溯问题时能救命。4. 符号与封装对应关系错一次板子废一片前面说过封装要前置这一节展开讲符号和封装的对应关系因为这里的错误属于“原理图完全正确、板子完全报废”的类型代价最高。4.1 符号库自建还是用现成的现成的符号库能省大量时间但有两个风险。第一是符号的图形表达不符合你的阅读习惯比如有些库把运放画成三角形有些画成方框有些库把电源引脚放在符号内部隐藏起来有些明确画在外部。混用不同来源的库一张图里会出现好几种风格视觉上很乱。第二是引脚定义可能和你的实际器件不一致尤其是那些有多种封装选项、或者引脚功能可复用的器件。我的策略是核心器件自建、通用无源器件用现成的。电阻、电容、电感、二极管这些符号简单、引脚少、不容易出错直接用库里的没问题。集成电路、连接器、特殊封装的 MOS 管、多路运放这类必须自建而且建的时候对着数据手册的引脚定义表一个一个核对把每个引脚的功能写进符号的引脚名称里而不是简单地写 1、2、3。自建符号还有一个隐性好处你会被迫读一遍数据手册的引脚描述。很多设计上的坑比如某个引脚必须上拉、某个引脚不能悬空、某个引脚是开漏输出都是在建符号的时候顺手看到的。用现成库跳过这一步这些信息就要等到调试阶段才发现。4.2 引脚编号与封装的映射核对这是整个流程里最需要“笨办法”的环节。我用的核对方式是三列对照表第一列写符号上的引脚编号和名称第二列写数据手册里该引脚的功能第三列写封装上对应焊盘的编号。三列逐行比对任何一行对不上就停下来查清楚。符号引脚号符号引脚名手册功能封装焊盘号核对结果1EN使能输入高有效3一致2GND地2一致3SW开关节点5一致4VIN电源输入1一致5FB反馈输入4一致这张表看起来很简单但它能抓住绝大部分映射错误。特别要注意两种情况一是引脚编号连续但功能不连续比如符号按功能分组画1、2、3 是信号4、5 是电源但封装上 1、2 是电源二是存在多个同名引脚比如多个 GND 引脚在封装上是分开的焊盘符号上合并成一个这时候必须在符号里把所有 GND 引脚都列出来并映射到不同焊盘否则 PCB 上会有一半的地焊盘没连。还有一种更隐蔽的错误封装的引脚编号从 0 开始。这在某些芯片级封装里会出现如果你的符号从 1 开始编号整体就错位了一位而软件不会报错因为引脚数量是对的。核对的时候一定要看封装图上的编号起点。4.3 多单元器件和隐藏电源引脚的坑多单元器件一个封装里有多个独立的门电路或运放是原理图里最容易出错的地方之一。软件通常允许多个单元分散在不同的页面上每个单元有自己的位号后缀比如 U1A、U1B、U1C、U1D。这里有两个坑一是电源引脚的处理很多四运放的电源引脚是四个单元共享的软件里可能只在其中一个单元上显示如果那个单元被删掉或者被放到别的页电源就丢了二是未使用单元的处理闲置的运放输入不能悬空必须接到确定的电平否则会产生额外的功耗和噪声甚至自激。隐藏电源引脚是另一个经典陷阱。有些库为了图面整洁把集成电路的电源和地引脚隐藏起来默认连接到全局网络。这在单电源系统里很方便但在多电源系统里就是灾难你以为这个芯片接的是 3.3V实际上它接的是全局默认的 5V因为隐藏引脚的连接关系不显示在图上ERC 也查不出来。我的原则很明确电源引脚一律显式画出宁可多占一点图面空间也不要留下看不见的连接。提示如果不得不用隐藏电源引脚至少在图面上加一行注释写清楚该器件实际连接的电源网络名称并把它列进评审清单。5. 连线与网络标号图面清爽的核心手艺一张图看起来乱不乱八成取决于连线方式。同样的电路用连线和用网络标号图面的可读性差别巨大。这一节聊的就是怎么在“直观”和“清爽”之间找平衡。5.1 网络命名规范名字本身就是文档网络名是电路图里信息密度最高的东西。一个好的名字读者不用看图就能知道这根线是干什么的一个坏的名字读者必须顺着线一路找回去。我给自己定的命名规则是四段式信号类型 功能描述 极性或方向 电压域用下划线连接。命名示例含义拆解为什么这么起SPI1_MOSI_3V3SPI1 的主出从入3.3V 域一眼看出接口、方向、电平ADC_IN_CH0_0V5ADC 第 0 通道输入0.5V 满量程调试时知道量程范围PWR_EN_MAIN_H主电源使能高有效极性写在名字里避免接反I2C0_SCL_1V8I2C0 时钟线1.8V 域电平域明确便于上拉电阻选择命名规范的价值在跨页连接时体现得最明显。跨页连接通常用端口符号或者网络标号读者看不到另一端只能靠名字判断。名字含糊跨页连接就等于断了。我见过最糟糕的情况是同一根信号在两个页面上用了两个略有差异的名字比如VDD_3V3和VDD3V3软件把它们当成两个不同的网络ERC 各自报“单一网络”警告但很多人直接忽略警告最后板子上这条路根本没连上。注意跨页网络名必须逐字符一致。软件不会智能纠错一个下划线的差别就是两个网络。我习惯在复制粘贴网络名之后再用搜索功能确认全图只有一种写法。这里顺便说一个具体的参数计算因为上拉电阻的选型经常被随手填一个 4.7k 了事。以一条 I2C 总线为例总线电容按 200pF 估算电源 3.3V器件低电平输出时的最大灌电流按 3mA 算低电平电压按 0.4V 算。上拉电阻的下限由灌电流决定R ≥ (3.3 - 0.4) / 3mA ≈ 967Ω。上限由上升时间决定规范要求上升时间不超过 300nsRC 上升时间在 30% 到 70% 区间的系数约 0.847所以 R ≤ 300ns / (0.847 × 200pF) ≈ 1.77kΩ。上下限一夹可选的区间是 967Ω 到 1.77kΩ取 1.5kΩ 比较稳妥。这个计算过程写进图面注释后面的人改设计时就知道边界在哪不会随手改成 10k 导致通信不稳。5.2 电源与地符号体系电源和地的符号体系必须统一这是硬性要求。我的做法是每一种电压域用一个独立的符号符号名称就是网络名比如 3V3、1V8、5V、VBAT、VREF。不同电压域绝对不能共用同一个符号哪怕它们数值接近。曾经见过一个项目把 3.3V 和 3.0V 都用同一个“VCC”符号结果一颗器件要求 3.0V 供电实际接了 3.3V长期工作在超压状态返修率极高。地的处理更讲究。数字地、模拟地、功率地、外壳地这几种地在图上要用不同的符号区分并且在单点连接的 location画一个明确的连接元件可以是零欧电阻、磁珠或者直接短接的焊盘。为什么强调单点因为地线的电流回流路径是设计的一部分如果多个地平面在多个位置随意连在一起回流电流会走意料之外的路径产生地环路和噪声耦合。图上把连接点画清楚PCB 布局时才有依据。还有一个细节地符号的朝向。向下的地符号是约定俗成的如果某个地符号朝上或者朝侧面读者会下意识地以为它是某种特殊网络。统一朝向图面会干净很多。5.3 差分、总线和跨页连接差分对比如 USB、以太网、RS-485、LVDS在图面上要成对出现命名成XXX_P和XXX_N两根线平行走线中间留出等间距最好在两端各加一个共模电感和端接电阻的位置。图面上差分对的长度匹配要求写进注释PCB 工程师才知道要做等长。总线可以用总线符号来简化把一组同类的信号打包成一条粗线标注DATA[7:0]这种形式。但总线有一个副作用它降低了图面的直观性读者必须展开总线才能看到具体某一位连到哪里。我的经验是只有信号数量超过 6 根、而且位与位之间逻辑对称比如数据总线、地址总线的时候才用总线否则老老实实一根一根画。跨页连接用端口符号端口的方向要标清楚输入、输出、双向。跨页的端口数量和命名应该和层次索引页上列出的接口清单严格对应。这一点在做多页评审时特别有用评审的人只看索引页就能知道模块之间的接口有哪些然后抽查几个关键接口的实际连接。6. 标注与可读性让图“能被人读”电气上正确只是及格线可读性才是区分普通图纸和好图纸的地方。这一节聊标注密度、文字排布和调试信息的处理。6.1 位号、参数、公差的标注密度位号是必须标的这个没得商量。参数要不要标取决于器件类型和读者的需要。电阻电容的阻值容值必须标精度在关键位置要标比如采样电阻、基准分压、滤波电容一般位置可以不标交给 BOM 去约束。集成电路的型号要标但如果型号很长可以只标核心型号把完整型号写进 BOM 的备注列。标注密度过高会让图面糊成一片过低会让读者频繁查 BOM。我的经验值是每个器件的位号和关键参数占用的水平空间不超过器件符号宽度的一半。超了就说明参数写得太啰嗦该精简。比如一个电容写“100nF/16V/X7R/±10%”在图上完全可以只写“100nF”其余信息放进 BOM。但如果这个电容的位置对温度特性敏感比如用在振荡器旁边那就要把 X7R 这个信息写在图上因为在看图阶段就要做选型判断。还有一个常被忽略的点单位要写清楚。1k 和 1K 在软件里是同一个意思但 1M 和 1m 差别是一百万倍。电阻用 k 和 M电容用 p、n、u电感用 u、m频率用 Hz、kHz、MHz这些单位约定写进团队的绘图规范能避免大量低级错误。6.2 文字方向、对齐与视觉层次文字方向只有两种水平或者垂直不要出现斜着的文字。斜排文字在图面上看起来像是随手放的而且缩放之后容易和其他元素重叠。垂直文字只用于纵向排列的器件比如垂直放置的电阻且统一从下往上读。对齐是提升图面质感最快的手段。同一行的器件位号文字底边对齐同一列的器件文字左边缘对齐。这个操作在软件里通常是批量选中后统一设置一次就能做好但很多人不做导致文字高低错落图面显得很业余。视觉层次靠字号和颜色区分。模块标题最大网络标号中等器件参数最小注释用和参数一样的字号但换个颜色比如深蓝或者深绿。颜色的使用要克制全套图不超过四种颜色黑色或深灰用于主体一种颜色用于电源一种用于地一种用于注释。颜色一多图面就花反而分散注意力。6.3 注释、测试点与调试信息注释是图纸里最“人性化”的部分也是最容易被忽略的部分。我自己画图时会强制加这几类注释关键节点的电压和波形比如“此处应为 1.25V ±1%方波占空比 50%”、上电时序比如“1V8 先于 3V3 上电间隔不小于 10ms”、不可随意更改的器件比如“R12 为校准电阻量产时按实测值调整”、已知的风险点比如“此处在高温下漏电流偏大需关注”。测试点要显式画出用专门的测试点符号标上编号并在图上注明对应的是哪个信号。测试点的位置也有讲究尽量放在信号链的中间节点和电源的入口处方便分段排查。一个项目里预留 10~20 个测试点成本增加不了多少但调试阶段的效率提升非常明显。调试信息还包括跳线和选择焊盘。有些功能在样机阶段需要灵活配置比如电源可以选择从 USB 取电或者从外部适配器取电这种就用跳线或者 0 欧电阻做选择并在图上画清楚默认配置是哪一种。这一点如果不写清楚产线装配时按“看起来顺手”的方式焊就会出现一批板子配置不一致的问题。7. 交付前的自检与评审图画完了不等于交付完了。交付前的自检和评审能把大部分低级错误挡在设计阶段。7.1 电气规则检查能查什么、查不了什么电气规则检查ERC是必须跑的第一道关但它只能覆盖一部分问题。了解它的边界才知道哪些事必须人工做。检查项ERC 能查出说明输出对输出短路能两个输出引脚直接相连会报冲突输入引脚悬空部分能取决于符号的引脚电气类型定义是否正确单一网络只有一个连接点能网络标号拼写错误通常靠这一条发现电源引脚未连接能前提是引脚未被隐藏隐藏引脚是重灾区总线位宽不匹配能需要符号的总线定义正确引脚功能接错不能比如把运放的同相端和反相端接反ERC 不报参数值错误不能电阻填成 10k 而设计意图是 1k只能人工核对上电时序冲突不能属于系统级问题器件极性接反不能多数情况二极管、电解电容方向错误需人工看封装与符号映射错误不能这是最隐蔽的一类错误从这张表能看出来ERC 相当于语法检查它保证你写的句子符合语法但不保证句子表达的意思是对的。真正有价值的是人工复核。7.2 人工复核的固定动作我把人工复核拆成几个固定动作每次交付前按顺序做一遍大概花 20 到 40 分钟但能省下后面几天的返工。第一个动作是走电源。从每一路电源的入口开始顺着供电路径走到每一个负载检查每一级的电压、电流能力、滤波和去耦是否够。这里可以顺手做一次去耦电容的估算假设某一级电源的瞬态电流是 1A持续时间 100ns允许的电压跌落是 50mV那么需要的容性储备是 C I × Δt / ΔV 1A × 100ns / 50mV 2μF。这个容量不能只靠一颗大电容要考虑它的等效串联电感实际做法是若干个 100nF 分散在器件附近再加一两个 10μF 做储能。按这个思路算一遍就能发现哪些地方去耦不足。第二个动作是走信号。从输入到输出沿着信号链把每一级的输入输出范围、阻抗、带宽过一遍重点看跨级连接处的电平是否匹配、有没有漏掉缓冲或者限幅。这个动作配合前面画的信号流草图做效率最高。第三个动作是核对位号和封装。把图上的位号列表导出和 BOM 比对确认没有重号、没有缺号、每颗器件的封装和实物一致。重号是隐藏的杀手软件通常会自动处理但手工复制粘贴器件的时候可能出现导致两颗器件在 PCB 上是同一个位号装配时必然出错。第四个动作是黑白打印。把图打印成黑白的A4 或者 A3不缩放。很多在彩色屏幕上看起来清晰的内容黑白打印之后会糊在一起。如果黑白打印还能看清网络名和参数说明图面的对比度和间距是够的。7.3 评审清单与归档评审不是走形式要有清单。我的清单大致包括电源树是否完整、每一路电源是否有滤波和去耦、所有集成电路的电源引脚是否显式连接、未使用的引脚是否处理、所有跨页连接是否成对、网络名是否统一、位号是否连续无重复、封装是否全部确认、测试点是否预留、关键节点是否有注释、版本号和变更记录是否更新。每一条打勾或者写明不适用的理由。归档这部分我建议至少保留三个东西原理图的源文件、导出的 PDF、以及一份变更记录文档。PDF 是为了在没装软件的机器上也能查看变更记录是为了追溯。文件名用“项目代号_图纸名称_版本号_日期”的格式不要用“最终版”“新版”这种词。这个习惯看起来小但在项目交接和问题追溯时价值极高。8. 常见问题与排查实录这一节整理的是实际操作中反复出现的问题以及我自己的排查思路。8.1 问题速查表现象可能原因排查方法ERC 报大量单一网络网络标号拼写不一致或连线未真正接触搜索同名网络检查是否有下划线、大小写差异检查连线端点是否落在引脚上板子回来后某路电源不上电使能引脚悬空或极性接反隐藏电源引脚接错网络对照图面检查使能脚的上拉/下拉确认电源符号是否显式连接某个芯片完全不工作封装引脚映射错误或地焊盘未连接对照三列映射表逐脚核对重点看多个 GND 引脚是否都连上通信不稳定偶发错误上拉电阻取值不当或总线电容过大按 5.1 节的方法重新计算上下限检查走线和器件数量模拟信号噪声大数字地和模拟地混接去耦不足检查地符号是否区分单点连接位置是否合理去耦电容是否靠近引脚图中某段连线删不掉存在重叠的线段或残留的网络标号用框选加删除或者查看网络属性里有哪些引脚属于该网络打印出来文字重叠文字未对齐字号过大图面密度过高批量对齐文字缩小参数字号必要时拆页改版后 BOM 和实物对不上位号重排后未同步更新 BOM或手工改图未记录每次改版重新导出 BOM 并比对强制更新变更记录8.2 几个只有踩过才懂的细节第一个细节批量修改位号之后一定要重新核对网络标号。有些软件在重排位号时会顺带调整一些自动生成的名称如果图里有依赖位号的网络名比如某些自动命名规则重排之后就全变了。这个问题的隐蔽之处在于 ERC 不一定报错因为网络还是连通的只是名字变了跨页连接可能因此断掉。第二个细节复制粘贴模块的时候网络标号会跟着复制。这是最省事也最危险的操作。你复制一个电源模块想改成另一路电源如果忘了改网络标号两路电源就被短接在一起了。软件不会阻止你ERC 可能只会给一个“多个输出驱动同一网络”的警告而很多人对警告已经麻木了。我的做法是复制之后立刻全选该模块把所有网络标号改成带前缀的形式再逐个改回正确名称。第三个细节器件符号的引脚名称要写功能不要只写数字。一张图上如果有十几个集成电路每个都是 1、2、3、4读者根本不知道哪根线是使能、哪根是复位。把引脚名称写成 EN、RST、FB、SW图面的自解释能力会强很多评审和调试的效率都会提高。第四个细节预留的 0 欧电阻和跳线要在图上写清楚默认状态。我见过一块板子同一个位置有两种焊法图上没写默认值产线按“有丝印的一侧”焊结果一半的板子配置是错的。后来我们在图上加了“默认短接 1-2”的注释问题才解决。第五个细节图的最后一定要留一块空白区域做“变更区”。任何临时改动、飞线、待验证的方案先画在变更区里标注清楚验证通过后再合并到主图。这样做的好处是主图始终保持干净而变更过程有迹可循。我自己这几年一直用这个方法返工率明显下降。最后分享一个我坚持了很多年的习惯每画完一页就把它打印出来用红笔在上面走一遍信号从输入走到输出边走边在心里问“如果我是第一次看这张图能不能看懂”。这个动作只需要几分钟但它抓住的问题往往比软件检查多得多。电路图这门语言说到底不是写给软件看的是写给人看的而人最容易犯的错误就是默认别人和自己想的一样。
阅读完成 · 觉得有帮助?