第二章 硬件准备:原理图、PCB、物料清单检查

硬件 bring-up 的第一步,不是上电,不是焊板子。

是看图纸,翻物料,把板子翻来覆去地看。

我见过太多次了——板子一上电就冒烟,回头一查,电源焊反了。或者某个电容耐压不够,直接炸了。这些事故,90% 都能在动手之前发现。说白了,就是准备工作没做到位。

这一章,咱们就聊聊怎么把原理图、PCB 和物料清单这三样东西,从「可能有坑」变成「心里有底」。

2.1 原理图检查:别让纸面上的错误变成物理上的灾难

原理图是设计的起点,也是排查时的地图。地图画错了,后面全是白干。

核心检查原则: 从电源到核心芯片,再到外围接口,逐级扫描。不要跳着看,容易漏。

2.1.1 电源与地:最常见的"热损坏"根源

我个人习惯,拿到原理图第一个看的就是电源网络。为什么?因为电源错了,芯片会物理损坏,而且不可逆。

  • 电源网络命名: VCC_3V3、VDD_1V8、VCCIO——这些名字不能含糊。同一个网络名只能出现一次,不要出现 VCC 和 VDD 混用的情况。
  • 去耦电容: 每个电源引脚附近必须有 0.1µF 和 10µF 的电容组合。我遇到过一块 FPGA 板,设计师把所有去耦电容放到了板子角落,结果高频噪声根本滤不掉,逻辑老出奇怪错误。
  • 电源轨顺序: 如果芯片有多个电源域,必须确认上电时序。比如 FPGA 通常要求核心电压先于 I/O 电压上电,差个几毫秒都可能锁死。
一个小技巧: 用颜色高亮原理图里的所有电源网络。红色标主电源,蓝色标次级电源,地网络用黑色。一眼就能看出有没有漏接。

2.1.2 信号完整性基础检查

信号完整性问题不会让你上电就炸,但会让你调试到怀疑人生。

重点是这几类信号:

信号类型 检查要点 常见坑
差分对(USB/HDMI) 极性是否一致,终端电阻是否匹配 正负接反,数据传不出去
时钟信号 驱动能力是否够,走线是否匹配 时钟抖动大,系统不稳定
复位信号 是否有上拉/下拉,是否被外部干扰 复位脚浮空,芯片一直复位
JTAG/SWD 信号是否被其他设备复用 调试器连不上,查半天发现被 GPIO 占了

2.1.3 元器件封装与引脚映射

原理图画对了,封装画错了,等于白画。

  • 引脚编号双重确认: 必须把芯片的 Datasheet 引脚定义和原理图符号对照一遍。我吃过一次亏:一个 QFP 封装的 MCU,原理图把 pin 1 画到了右下角,实际芯片的 pin 1 在左上角,结果整块板子全废了。
  • 散热焊盘: 很多 QFN 封装芯片底部有一个散热焊盘,原理图上必须画出,并且接地。我见过有人漏掉它,芯片跑几分钟就过热保护。
  • NC 引脚: 芯片上标注 NC(No Connect)的引脚,原理图里一定不要连任何东西。连了反而可能短路。

2.2 PCB 检查:从图纸到实物的最后一道防线

原理图检查完了,接下来看 PCB 版图。这一步不是可选项,是必需项。

大多数原理图问题在 PCB 上会暴露得更彻底。比如走线太细,比如过孔打在了焊盘上,比如两个信号交叉了。

2.2.1 网表与原理图的一致性

导出 PCB 之前,一定要跑一次 Design Rule Check。这个检查能告诉你所有网络是否连通,有没有悬空的引脚。

注意: DRC 通过不代表板子没有问题。DRC 只检查规则,不检查逻辑。比如你把 RST 信号接在了 VCC 上,DRC 不一定报错,但板子肯定不能工作。

我通常的做法是:导出一个 网表文件,然后在原理图和 PCB 之间做一次交叉比对。工具(比如 Altium 或 Cadence)一般都有这个功能,但我还是会手动抽几个关键网络核对。

2.2.2 关键走线的物理检查

拿到 PCB 版图,重点检查以下几点:

  • 电源走线宽度: 1A 的电流至少需要 0.5mm 宽的走线(取决于铜厚)。如果走线太细,上电后会发热,严重时直接烧断。
  • 差分对等长: USB 2.0 要求差分对内等长差异不超过 5mm。HDMI 更严格,1.5mm 以内。可以在 PCB 工具里开启等长检查。
  • 参考平面: 高速信号必须有连续的参考平面(通常是地平面)。如果信号跨过了一个分割槽,返回路径会变长,带来严重的 EMI 问题。
  • 过孔与焊盘的间距: 过孔不要打在 SMD 焊盘上,否则焊接时焊锡会流到过孔里,导致虚焊。

2.2.3 生产文件(Gerber)的验证

PCB 工厂只认 Gerber 文件,不认你的工程文件。所以,一定要在交付前打开 Gerber 文件看一眼。

我建议至少检查:

  1. 焊盘层(Top/Bottom Paste)—— 确保所有需要焊接的焊盘都暴露出来了。
  2. 阻焊层(Top/Bottom Solder Mask)—— 确保开窗区域正确,没有遗漏。
  3. 钻孔文件(Drill File)—— 检查孔径和数量,尤其注意那些非标准孔径(比如 0.2mm 以下的孔,很多工厂做不了)。
推荐用 Gerbv 或 ViewMate 免费查看 Gerber。不要只看工程软件里的 3D 预览,那不够可靠。

2.3 物料清单检查:少一颗电容,板子都不工作

物料清单看起来是纸面工作,其实是最容易被忽视的环节。我经常跟新人说:物料清单是采购和焊接之间的桥梁,桥断了,东西就躺在仓库里,焊工看不见。

2.3.1 BOM 的结构与完整性

一份好的物料清单,必须包含以下字段:

字段 说明 为什么重要
位号 R1, C2, U3 等 对应 PCB 上的位置,少了就不知道贴哪
物料编号 厂家提供的唯一编号 防止买错型号
规格参数 阻值、容值、耐压、精度 关键参数不对,电路不工作
封装 0603, QFN-48, LQFP-64 和 PCB 焊盘匹配
数量 单板用量 采购和备料依据

我个人的另一个习惯是:在物料清单里增加一列「备注」,专门记录这个器件的特殊要求。比如「耐温 125°C」、「需要 AEC-Q200 认证」。这些信息在采购和来料检验时非常关键。

2.3.2 供应链与可采购性验证

选型时还有一个隐形坑:你选的器件市面上买不到。

我经历过一次:设计里选了一个某家的专用电源芯片,样片阶段还行,批量时发现交期要 26 周,整个项目推迟了半年。

所以物料清单检查一定要问三个问题:

  • 这个器件有货吗? 去分销商网站(比如 DigiKey, Mouser, 贸泽)查一下库存。
  • 交期多久? 普通的电阻电容一两周,但有些 FPGA、DSP 交期可能 12 周以上。
  • 有没有替代型号? 至少在物料清单里标注一个兼容的备选型号,以防断供。

2.3.3 BOM 与 PCB 的位号交叉验证

最后一步,也是最容易出错但最容易修正的一步:把物料清单里的位号和 PCB 上的位号一一对一遍。

为什么?

因为很多时候,原理图和 PCB 的位号导出会不一致。比如原理图里电容标 C1,PCB 里标成了 C2。如果不检查,焊工贴上去的料全对不上号。

我的例行流程: 用脚本(Python 或 Excel 宏)把位号列表提取出来,做一次差集运算。多出来的位号,说明 PCB 上有多余焊盘;少了的位号,说明漏了物料。一次搞定,省时省力。

知识结构图:硬件准备检查流程

下面的图把原理图、PCB 和物料清单的检查步骤串在了一起。你可以把它贴在工位旁边——每次开始新项目时,按这个流程走一遍,能省下大量排错时间。

硬件准备三阶段检查流程 检查流程框架 ① BOM完整性检查 检查清单 • 位号与PCB对应 • 规格参数准确 • 封装匹配 • 供应链验证 ② 原理图检查 检查清单 • 电源网络命名 • 去耦电容布局 • 电源轨顺序 • 信号完整性 • 封装引脚映射 ③ PCB检查 检查清单 • 网表一致性 • 电源走线宽度 • 差分对等长 • 参考平面 • Gerber验证 • BOM位号交叉 全部通过? 是 → 准备上电 / 否 → 回到对应阶段修正 要点总结 • 三阶段检查顺序不可逆:BOM → 原理图 → PCB • 每一阶段发现问题,立即修正,不要留到下一阶段 • 全部通过后,才进行上电操作 • 每次板子回来,都要重跑一次流程(不能偷懒)

2.4 最后的准备:动手前的三重确认

所有检查都做完之后,我还会做一件事:把反馈意见整理成一个清单,发给项目组里至少一个其他工程师做 peer review。有时候自己看自己的设计,容易有思维盲区。

另外,我每次都会把这三份文档——原理图、PCB 和物料清单——全部打印出来,放在工位上。调试的时候随手勾画,比盯着屏幕舒服得多。你可以试试看。

准备工作花的时间多,板上冒烟的可能性就小。这个账,怎么算都划算。