简介:正点原子 mini、战舰、探索者三款 STM32 开发板的原理图与 PCB 设计文件在此打包呈现,面向嵌入式初学者、硬件工程师及课程设计/项目开发者,可用于理解板级电路、学习 Altium Designer 设计流程,并为二次开发提供改造参考。压缩包共 63 个文件,约 54.57MB,包含 schdoc 原理图、pcbdoc PCB、pcblib/schlib 元件库和 prjpcb 工程文件,另附料单 xlsx、PDF、预览图及板级信息等辅助资料,覆盖从电路连接到布局布线的完整设计链路。已有 3815 人学习,说明其在 STM32 硬件学习群体中具有一定参考价值。三款板分别对应 STM32F4 探索者、STM32F103 战舰和 MiniSTM32 最小系统,读者可对照电源与 USB 串口、音频与以太网、核心板等模块划分,研究外设接口、器件选型、布线策略与料单组织方式,并据此修改电路或开展快速原型验证。
1. 三套板型的原理图与 PCB 文件:先判断手里是“设计源”还是“截图包”
拿到一套 STM32 开发板(mini、战舰、探索者三套板型)的原理图与 PCB 文件,第一步不是双击打开看走线,而是先看目录里有没有可编辑源文件、Gerber、BOM 和坐标文件。只有 PDF 原理图加几张走线截图,能照着修板但很难改板;有源文件和 Gerber,才能把电源树、封装、层叠和打样参数一项项对回去。
这类资源适合三类人:手里有同款板子要排故的、想照着改一版接口的、带学生做硬件复现的。它解决的是“板子为什么这么连、某个网络走到哪、打样文件缺没缺层”的问题,不是替代芯片手册。先把文件谱系分清,后面读原理图和 PCB 才不会翻车。
2. 拆包与文件谱系:原理图、PCB、Gerber、BOM 各自该落到哪一步
2.1 先看目录结构:把“可编辑源文件”和“只读交付件”分开
三套板型的资料最容易出现的问题,不是文件少,而是文件混。mini、战舰、探索者共用不少外设命名习惯,但电源入口、扩展排针和下载调试口的位置并不一样。拿到目录后先按板型建三个工作目录,再把原始包整体留一份只读副本,后面所有打开、导出、改封装的动作都在副本里做。这样即使把某个网络标号改乱,也能回到原始包重新对。
常见目录可以按下面的方式归类。源文件是能改的,交付件是给打样厂或装配看的,截图只能做参考,不能当设计依据。
| 文件类型 | 常见形态 | 是否可编辑 | 用途 | 验收点 |
|---|---|---|---|---|
| 原理图源文件 | 工程文件或原理图文件 | 是 | 读网络、改接口、导出网表 | 能否正常打开、页数是否完整 |
| PCB 源文件 | 工程文件或 PCB 文件 | 是 | 看层叠、封装、走线、铺铜 | 能否与原理图关联 |
| PDF 原理图 | 只读文档 | 否 | 快速检索网络名和页码 | 是否缺页、是否清晰 |
| Gerber | 按层输出的一组文件 | 否 | 打样、回读检查 | 阻焊、丝印、钻孔、外形是否齐 |
| 钻孔文件 | 钻孔或 Excellon 类文件 | 否 | 打样厂钻孔 | 孔径表与 PCB 是否一致 |
| BOM | 表格 | 可编辑 | 备料、核对封装 | 位号、数量、封装是否对得上 |
| 坐标文件 | 表格 | 可编辑 | 贴片 | 坐标原点、单位、面别 |
| 3D 或装配图 | STEP、PDF、图片 | 部分可编辑 | 结构干涉检查 | 连接器方向、高度 |
我一般会先跑两条命令,不打开设计软件。第一条只看目录层级,确认三套板型是不是各自独立;第二条按扩展名统计文件分布,判断手里到底是源文件包还是只读包。扩展名不要死记,按实际包内情况调整。
# 进入解压目录后先列出两层目录,不急着打开设计文件 find . -maxdepth 2 -type d | sort # 按扩展名粗分可编辑源文件与交付件,扩展名按实际包内情况调整 find . -maxdepth 3 -type f | sed 's/.*\.//' | sort | uniq -c | sort -nr-maxdepth 2用来控制目录层级,避免一上来被大量库文件淹没;第二条命令里的sed只取扩展名,uniq -c统计数量,sort -nr按数量从大到小排。看到大量图片扩展名而源文件扩展名很少,基本可以判定这是“截图参考包”;看到原理图、PCB、Gerber、钻孔、BOM 几类同时出现,才值得进入改板流程。
提示:先复制一份
raw目录再做任何操作,原始包不要直接打开保存。很多设计软件会在打开时顺手升级工程格式,回退很麻烦。
2.2 用哈希和层清单做一次到货验收
硬件文件和代码不一样,代码改坏了还能看提交记录,PCB 源文件被覆盖保存一次,可能连铺铜和规则一起变。我的习惯是拿到包先做一次哈希清单,改板前和出 Gerber 前各复核一次。这样至少能知道“文件是不是我改的”,而不是把问题赖到源文件上。
# 生成原始包校验清单,后续改板前后各跑一次 find ./raw -type f -print0 | sort -z | xargs -0 sha256sum > raw.sha256 # 复核原始包是否被改动 sha256sum -c raw.sha256-print0和-0用来处理文件名里的空格,sort -z按空字符排序,避免同名文件顺序漂移;sha256sum -c会逐行校验并输出 OK 或 FAILED。这个清单不解决设计错误,但能解决“谁动了源文件”的黑匣子问题。改板工作目录另建一份哈希,不要和原始包混在一起。
Gerber 层清单更关键。不同 EDA 软件导出的命名不一样,但一套能打样的 Gerber 至少要看得到铜层、阻焊、丝印、钻孔和外形。下面这张表不是让你背文件名,而是打样前逐项打勾。
| 层类别 | 常见命名关键词 | 缺失后的后果 | 检查动作 |
|---|---|---|---|
| 顶层铜 | top、layer1、gtl | 顶层线路丢失 | 在 Gerber 查看器逐层打开 |
| 底层铜 | bottom、layer2、gbl | 底层线路丢失 | 与 PCB 源文件对比 |
| 顶层阻焊 | mask、solder、gts | 焊盘可能被盖油 | 看焊盘是否开窗 |
| 底层阻焊 | bottom mask、gbs | 底层焊盘盖油 | 看插件焊盘 |
| 丝印 | silk、sst、gto | 位号丢失或压焊盘 | 看位号是否可读 |
| 钻孔 | drill、nc、txt | 打样厂无法钻孔 | 核对孔径表 |
| 外形 | outline、edge、gko | 板框不闭合 | 看闭合轮廓 |
| 坐标 | pick、place、csv | 贴片偏移 | 核对原点和单位 |
层清单不要只看文件名,最好用 Gerber 查看器回读。文件名可以写得很漂亮,层内容却可能是空的。回读时先看外形闭合,再看钻孔是否落在焊盘中心,最后看阻焊开窗有没有把测试点盖住。
2.3 板型差异定位:mini、战舰、探索者先对齐电源与接口
mini、战舰、探索者三套板型放在同一个包里,最容易犯的错是“看的是 mini 的原理图,打开的是战舰的 PCB”。三套板子的外设规模不同,同名网络可能在不同页里含义不一样,排针定义也可能因为板型扩展而调换。定位差异不要靠记忆,做一张对照表,把每套板型的电源入口、下载调试口、启动模式、晶振、扩展排针和常用外设接口逐项填进去。
| 检查项 | 在原理图里搜什么 | 在 PCB 里看什么 | 记录什么 |
|---|---|---|---|
| 电源入口 | 5V、VIN、USB、DC | 连接器、保险、二极管 | 输入范围与极性 |
| 3.3V 电源 | 3V3、VDD、LDO | 稳压器件、磁珠、铺铜 | 负载与测点 |
| 模拟电源 | VDDA、VREF | 磁珠、电容、地隔离 | 基准是否独立 |
| 主晶振 | HSE、OSC_IN、OSC_OUT | 晶振与负载电容位置 | 频率与电容 |
| 低速晶振 | LSE、OSC32 | 32.768kHz 晶振 | 是否装件 |
| 复位 | NRST、RESET | 按键、电容、上拉 | 复位电平 |
| 启动模式 | BOOT0、BOOT1 | 电阻上下拉、跳帽 | 默认启动地址 |
| 下载调试 | SWDIO、SWCLK、SWO | 排针顺序与丝印 | 1 脚位置 |
| 扩展排针 | GPIO 端口名 | 排针编号与丝印 | 是否与核心板一致 |
这张表填完,再打开 PCB 才不会迷路。我的做法是先读 mini 的电源和下载口,再读战舰、探索者的扩展接口;每读到一个网络,就在表里记页码和 PCB 网络名。不要跨板型复制封装,尤其排针和连接器,焊盘间距一样不代表引脚顺序一样。三套板型如果共用同一个库,先在库里加板型前缀,避免后面改 mini 的时候把战舰的封装一起改掉。
注意:板型名相同不代表网络名相同。看到
LED、KEY、UART1这类通用网络名,先在当前板型工程里全局搜索,再决定能不能沿用。
3. 用原理图反推硬件边界:电源树、晶振、下载调试口怎么读
3.1 电源树先画粗线:5V、3.3V、VDDA 与基准
读原理图不要从 MCU 的 GPIO 开始,先画电源树。电源树读错,后面所有外设现象都会变成玄学:灯亮但下载不稳定、串口能收不能发、ADC 采样跳得厉害,最后查半天发现是 VDDA 的磁珠没装或地回流被切开。我一般从电源入口开始,沿着保险、防反接二极管、稳压器、磁珠、0 欧电阻一路画到每个芯片的电源脚。
| 网络 | 常见来源 | 重点看什么 | 常见风险 |
|---|---|---|---|
| 5V 输入 | USB、DC 座、排针 | 极性保护、保险、限流 | 反接烧稳压器 |
| 3.3V 主电源 | 稳压器输出 | 输出电容、负载能力 | 外设一多就掉压 |
| VDD | 3.3V 经磁珠或直连 | MCU 电源脚是否全接 | 漏接电源脚 |
| VDDA | 3.3V 经磁珠或电感 | 模拟电源滤波 | ADC 噪声大 |
| VREF+ | 外部基准或 VDDA | 基准是否装件 | 采样满量程不对 |
| GND | 单点或多点接地 | 地平面是否连续 | 回流路径被切 |
具体动作可以按四步走。第一步,在原理图里全局搜索5V、VIN、USB,找到所有入口,确认有没有两个入口同时供电的冲突。第二步,搜3V3、VDD、VDDA,把每个网络连到的芯片电源脚列出来,和 MCU 引脚表对一遍。第三步,在 PCB 里看 3.3V 铺铜或走线宽度,外设多的板型不要只看原理图连线,要看实际载流路径。第四步,上电前用万用表二极管档测 3.3V 对地,确认没有短路,再上电测空载和带载电压。
常见做法是给每套板型留三个测试点:5V 入口、3.3V 主电源、VDDA。测试点不要只放在原理图上,PCB 上要有可触及的焊盘或排针。改板时如果新增外设,先算电流,再看稳压器余量,不要因为排针上有 3.3V 就直接挂大负载。
3.2 晶振与复位:HSE、LSE、NRST 的隐藏参数
晶振和复位是硬件排故里最容易被“看起来正常”骗过去的部分。HSE 常见是 8MHz,LSE 常见是 32.768kHz,但负载电容不是随便填的,具体要看晶振规格和 MCU 手册。复位电容常见 100nF,上拉电阻常见 10k 量级,但不同板型可能并了按键、电容或调试器复位电路,读图时要看完整网络,不要只看一个器件。
| 项目 | 常见值 | 核对点 | 翻车点 |
|---|---|---|---|
| HSE 频率 | 8MHz 常见 | 晶振本体丝印、BOM | 装错频率导致时钟起不来 |
| HSE 负载电容 | 几 pF 到二十几 pF | 两只电容是否对称 | 电容过大起振慢 |
| LSE 频率 | 32.768kHz | 是否装件、是否给 RTC 用 | 电容错导致走时偏 |
| NRST 上拉 | 10k 量级 | 是否被电容或按键拉低 | 复位一直被按住 |
| NRST 电容 | 100nF 常见 | 与调试器复位是否冲突 | 下载器无法复位 |
| 晶振地 | 就近接地 | 是否被走线切开 | 噪声大、起振不稳 |
我一般会做三件事:先在原理图里搜OSC_IN、OSC_OUT、OSC32、NRST,把网络连到的所有器件列出来;再在 PCB 里看晶振到 MCU 的走线是否短、是否包地、负载电容地是否就近;最后上电用示波器或频率计看波形,没有工具就先看下载器能否识别芯片、RTC 是否走时。晶振不起振不一定是芯片坏,先看负载电容和焊接,再看启动模式。
提示:复位网络不要只量电压,还要看按键按下时是否真的拉到低电平。有的板子按键和调试器复位并在一起,下载器一接上就把复位拉住,现象很像芯片不工作。
3.3 下载调试口与启动模式:BOOT0/BOOT1 别只看丝印
SWD 下载口通常看四根线:3.3V、GND、SWDIO、SWCLK,NRST 可选。排针丝印反了、1 脚标错、地没共,都会表现成“下载器不识别”。BOOT0 和 BOOT1 决定启动地址,很多板型用电阻上下拉设默认值,再用跳帽切换。读图时要确认默认电平,不要只看丝印上的BOOT0字样。
| 信号 | 方向 | 核对点 | 常见错误 |
|---|---|---|---|
| 3.3V | 下载器到板 | 是否与板载 3.3V 冲突 | 两边同时供电 |
| GND | 共地 | 排针地是否连通 | 只接地线不共地 |
| SWDIO | 双向 | 是否被外设占用 | 复用脚冲突 |
| SWCLK | 下载器到板 | 是否串电阻或电容 | 信号被滤慢 |
| NRST | 下载器到板 | 是否与按键复位冲突 | 复位被拉住 |
| BOOT0 | 输入 | 默认上下拉 | 跳帽接触不良 |
| BOOT1 | 输入 | 是否与普通 IO 复用 | 启动模式读错 |
操作上先断电测通断:排针 1 脚到 PCB 丝印 1 脚、SWDIO 到 MCU 对应脚、SWCLK 到对应脚、GND 到电源地。再上电测 BOOT0 电平,确认默认启动模式。下载器不识别时,先降速、再勾选复位方式、最后查供电冲突。改板时如果换了排针封装,1 脚位置一定要在 PCB 丝印和原理图符号上同时标清楚。
3.4 把关键网络整理成“改板检查表”
读原理图最后要落到一张可执行的检查表,不然看完就忘。我的表头一般包括网络名、起点、终点、电压、电流、线宽、过孔、测试点、备注。mini 板重点看电源和下载口,战舰和探索者重点看扩展接口和电源余量。每个网络只记关键项,不要抄整张网表,抄了也不会看。
| 字段 | 填法 | 用途 |
|---|---|---|
| 网络名 | 原理图网络名 | 全局搜索 |
| 起点 | 连接器或稳压器 | 找供电路径 |
| 终点 | MCU 引脚或外设 | 确认负载 |
| 电压 | 5V、3.3V、VDDA | 上电顺序 |
| 电流 | 估算值或实测值 | 线宽与稳压器余量 |
| 线宽 | PCB 实际走线 | 改板参考 |
| 过孔 | 数量与孔径 | 载流与回流 |
| 测试点 | 是否有焊盘 | 调试便利 |
| 备注 | 板型差异 | 防止混用 |
这张表填完后,再去 PCB 里对照层叠和封装,会比直接翻图快得多。改板前把新增网络补进表里,出 Gerber 前再按表核一遍测试点和电源脚,能省掉很多返工。
4. PCB 文件落到改板与打样:层叠、封装、丝印、DRC 的检查顺序
4.1 层叠与阻抗:先确认两层还是四层,地平面是否完整
打开 PCB 文件先看层叠,不要先看走线漂不漂亮。两层板和四层板的地回流完全不一样,mini 这类小板常见两层,战舰、探索者扩展多时可能用四层。层叠表要确认板厚、铜厚、阻焊颜色之外,更重要的是信号层和地层的顺序。地平面被大量过孔和走线切开,后面所有高速信号和 ADC 都会受影响。
| 层叠项 | 常见设置 | 检查点 | 失败处理 |
|---|---|---|---|
| 板厚 | 1.6mm 常见 | 与结构件、连接器高度匹配 | 改结构或改板厚 |
| 铜厚 | 1oz 常见 | 电源载流是否够 | 加宽走线或铺铜 |
| 层数 | 两层或四层 | 地层是否完整 | 调整层叠 |
| 地平面 | 连续铺铜 | 回流路径是否被切 | 补地过孔 |
| 阻抗 | 按打样厂要求 | USB、高速信号是否控制 | 出叠层表确认 |
| 阻焊桥 | 按封装间距 | 细间距引脚是否连桥 | 调整焊盘或阻焊 |
我一般先看地平面,再看电源走线,最后看信号。地平面完整度用“回流路径能不能从负载回到电源地”来判断,不是看铺铜面积大不大。两层板如果底层被排针和走线切得稀碎,关键信号最好走顶层并包地。四层板要看地层有没有被无效过孔打成筛子,尤其是晶振和模拟电源附近。
4.2 封装核对:从原理图网络到 PCB 焊盘的“一对一”
封装错位是改板翻车的高发点。三套板型共用库时,同名封装可能焊盘间距一样但引脚顺序不同,排针、USB、稳压器、二极管都可能中招。核对封装不要只看名字,要做“一对一”:原理图符号的引脚号、PCB 焊盘的引脚号、器件实物丝印的 1 脚,三者必须对上。
| 器件类型 | 常见封装 | 核对点 | 风险 |
|---|---|---|---|
| 排针 | 单排、双排 | 1 脚位置、间距 | 插反或错位 |
| 稳压器 | SOT、TO 类 | 输入输出脚序 | 上电烧器件 |
| 二极管 | 肖特基、TVS | 极性标记 | 防反接失效 |
| 电解电容 | 插件或贴片 | 正负极 | 鼓包 |
| USB 座 | 插件或贴片 | 引脚定义、固定脚 | 无法识别 |
| 晶振 | 贴片或插件 | 1 脚与负载电容 | 不起振 |
| 调试排针 | 2.54 或 1.27 | SWDIO/SWCLK 顺序 | 下载器不识别 |
操作时先在原理图里选中一个器件,看它的引脚号和网络名;再到 PCB 里看对应焊盘的编号;最后拿实物或规格书对 1 脚标记。二极管和电解电容一定要看极性,丝印上的小三角和加粗线不要凭感觉。改板新增器件时,先建独立库,不要从别的板型直接复制封装再改名字,后面很容易出现“名字对、焊盘错”。
4.3 DRC 与 Gerber 输出:别把警告当噪声
DRC 警告分三类:真正会短路的、可能影响生产的、可以忽略的。线宽不足、间距过小、焊盘重叠、丝印压焊盘、阻焊桥太细,这些不能当噪声。改板后先跑 DRC,把错误清到只剩确认过的警告,再出 Gerber。不要依赖软件默认规则,按打样厂能力和板厂工艺设一遍。
| 检查项 | 通过标准 | 失败处理 |
|---|---|---|
| 线宽 | 满足载流与工艺下限 | 加宽或改层 |
| 间距 | 大于打样厂最小间距 | 移线或改焊盘 |
| 过孔 | 孔径与载流匹配 | 增大孔径或加孔 |
| 丝印 | 不压焊盘、不压测试点 | 移动位号 |
| 阻焊 | 焊盘开窗完整 | 调整阻焊层 |
| 板框 | 闭合且无多余线 | 重画外形 |
| 钻孔 | 孔径表与 PCB 一致 | 重新输出 |
我一般会在出 Gerber 前跑一次“空文件检查”:确认每个输出层都有内容,阻焊层不是空的,钻孔文件不是零字节。文件名乱一点可以忍,层内容缺失不能忍。打样厂问“缺层”时,先看输出设置,再看层映射,不要先怪板厂。
4.4 打样前的 Gerber 回读与叠层表
Gerber 出完不要直接发,先用查看器回读。回读顺序是外形、钻孔、铜层、阻焊、丝印。外形看闭合,钻孔看是否落在焊盘中心,铜层看有没有孤立铜皮,阻焊看测试点和焊盘是否开窗,丝印看位号是否可读。回读时把查看器背景调成深色,眼睛更容易看出缺层。
| 交付文件 | 用途 | 必查 |
|---|---|---|
| Gerber 铜层 | 线路 | 顶层底层都打开 |
| 阻焊层 | 开窗 | 焊盘和测试点 |
| 丝印层 | 装配 | 位号和 1 脚 |
| 钻孔文件 | 孔 | 孔径与数量 |
| 外形层 | 板框 | 闭合与尺寸 |
| 叠层表 | 打样 | 板厚、铜厚、阻抗 |
| BOM | 备料 | 位号与封装 |
| 坐标文件 | 贴片 | 原点、单位、面别 |
回读通过后再打包,包内按板型分目录,文件名带板型和日期。不要把所有层的文件平铺在一个目录里,打样厂和贴片厂都容易拿错。出 Gerber 前再看一眼层叠表,板厚和铜厚写清楚,有阻抗要求的信号单独说明。
5. 避坑与排查:三套板型文件混用、封装错位与网络标号失效
5.1 现象:打开 PCB 后器件全是“飞线”,以为文件坏了
现象很直观:PCB 里器件都在,但连线和网络全变成飞线,DRC 一跑全是未连接。很多人第一反应是源文件损坏,实际常见原因是只打开了 PCB 文件,没有加载对应工程或网表,或者原理图和 PCB 不在同一个工程目录里。三套板型文件混放时,软件可能自动关联到另一套板型的网表,飞线看起来更乱。
原因不复杂:工程关联丢失、网表没有同步、封装库路径变了,都会让 PCB 失去网络信息。解决时先按工程文件打开,不要单独双击 PCB;再看工程里原理图和 PCB 是不是同一板型;然后重新同步网表,核对封装管理器里有没有缺失封装。同步后如果还有飞线,先看网络名是否为空,再看焊盘编号是否与原理图引脚号一致。
我的血泪经验是:同步网表前先备份 PCB,尤其是已经铺过铜的板子。重新同步可能把铺铜和手工加的网络一起打乱。同步后先跑 DRC,再重新铺铜,最后对比原始哈希,确认改的是工作副本。
5.2 现象:原理图编译报“重复网络标号”或 PCB 出现莫名短路
现象是编译时报同一网络标号在多个位置重复,或者 PCB 里两个本不该连的电源域被连在一起。原因常见于跨页复制:从 mini 复制一段电路到战舰,网络标号没改前缀,3V3、GND、VCC这类全局网络被强行合并;层次图端口重名也会造成同样问题。
解决时先全局搜索网络标号,按页加前缀,比如MINI_3V3、WAR_3V3、EXP_3V3,但电源地不要随便改名,改之前确认全局连接意图。然后检查层次图端口,重复端口要么合并,要么改成局部网络。最后在 PCB 里看短路点,用网络高亮逐段确认,不要只看 DRC 报错行。
注意:
GND和AGND不要凭感觉短接。模拟地和数字地常见的做法是单点连接或通过磁珠/0 欧电阻连接,具体看原理图设计意图。改板时把地网络改乱,后面 ADC 噪声会很难查。
5.3 现象:mini 板的封装套到战舰板上,焊盘能对上但引脚顺序反了
现象是封装看起来能焊,器件也能放上去,但一上电就不工作,或者排针插上后外设全反。原因常见于同名封装跨板型复用:焊盘间距一样,引脚编号却按另一套板型定义;排针、USB、稳压器、双排针最容易中招。三套板型共用库时,库文件名相同但内部引脚映射不同,复制时只改了名字没改焊盘。
解决时按板型建库,库名带板型前缀;复制封装后逐个核对焊盘编号和 1 脚位置;在 PCB 丝印上标出 1 脚,不要只靠原理图符号。排针类器件最好用万用表通断实测,确认 1 脚到 MCU 的对应关系。二极管、电解电容、稳压器上电前必须看极性,不要用“应该没错”赌。
这类问题最隐蔽的地方是“能焊上”。能焊上不代表定义对,尤其是双排针和贴片连接器。改板后先做裸板通断测试,再上电,不要直接插外设。
5.4 现象:Gerber 发出去被打样厂问“缺阻焊/缺钻孔”
现象是打样厂回复缺层,或者回读时发现阻焊层是空的、钻孔文件数量不对。原因通常是输出时只勾了铜层,阻焊和钻孔没选;钻孔文件与 Gerber 命名不匹配;外形层用了丝印层;层映射在导出设置里错了。三套板型一起出 Gerber 时,还容易把 mini 的钻孔文件配到战舰的 Gerber 包里。
解决时先做层清单,按铜层、阻焊、丝印、钻孔、外形逐项打勾;再用 Gerber 查看器回读,确认每层都有内容;最后按板型分目录打包,文件名带板型。钻孔文件单独放一个子目录,外形层单独命名,阻焊层不要和铜层混在一起。打样厂问缺层时,先发层清单让对方对,不要反复重发整包。
我一般会在出 Gerber 前跑一次文件统计,看钻孔和外形文件是不是成组出现。统计命令只做粗查,最终还要回读。
# 粗查 Gerber 目录里是否同时出现铜层、阻焊、丝印、钻孔和外形关键词 find ./gerber -type f | grep -Ei 'top|bot|mask|silk|drill|outline' | sort # 按板型分别统计文件修改时间,确认没有把旧板型文件混进来 find ./gerber -type f -printf '%TY-%Tm-%Td %TH:%TM %p\n' | sort第一条命令里的grep -Ei不区分大小写,关键词按实际命名调整;第二条用-printf输出修改时间,方便发现旧文件混入。两条命令都只是粗查,不能代替 Gerber 回读。文件名对不代表层内容对,最终以查看器为准。
5.5 现象:板子上电 3.3V 正常,下载器不识别
现象是电源灯亮、3.3V 测量正常,但下载器就是识别不到芯片。原因可能是 BOOT0 默认电平不对、NRST 被电容或按键拉住、SWD 排针丝印反、下载器与板子没有共地、SWDIO/SWCLK 被外设占用。三套板型的下载口位置不同,排针顺序也可能不同,混用调试线很容易接错。
解决时先断电测通断:下载器 GND 到板子 GND、SWDIO 到 MCU 对应脚、SWCLK 到对应脚、3.3V 是否冲突。再上电测 BOOT0 和 NRST 电平,确认启动模式和复位状态。下载器设置里先降速,再试“连接时复位”,最后查复用脚。排针丝印反的板子,以原理图网络名为准,不要以丝印为准。
如果还是不认识,用示波器看 SWCLK 有没有波形,或者换一个已知正常的下载器。不要一上来就换芯片,先查供电冲突和共地。改板时把调试排针的 1 脚用方形焊盘标出来,丝印写清楚,能省掉很多现场排查。
6. 进阶验证:用“最小系统法”把原理图与 PCB 对齐到可复现
6.1 最小系统上电顺序与测点
改完板或拿到新板,我一般先按最小系统法过一遍,不急着插外设。最小系统只看五件事:电源、复位、晶振、启动模式、下载调试口。先空板上电测 5V 和 3.3V,再测 VDDA,确认没有短路和掉压;然后测 NRST 默认高电平、按下按键能拉低;再看 HSE 和 LSE 是否起振;最后确认 BOOT0 默认电平和 SWD 排针通断。每一步都留测点,不要靠现象猜。
| 顺序 | 测点 | 通过标准 | 失败先查 |
|---|---|---|---|
| 1 | 5V 入口 | 电压稳定、无短路 | 防反接、保险 |
| 2 | 3.3V 主电源 | 空载与带载都在范围 | 稳压器、负载 |
| 3 | VDDA | 与 3.3V 一致或经磁珠 | 磁珠、滤波 |
| 4 | NRST | 默认高、按键能拉低 | 上拉、电容 |
| 5 | HSE/LSE | 起振、频率对 | 负载电容、焊接 |
| 6 | BOOT0 | 默认电平符合启动模式 | 上下拉、跳帽 |
| 7 | SWD | 四线通断正确 | 排针 1 脚、共地 |
6.2 从 PCB 网络回标原理图:一个反向核对技巧
读图时容易漏网络,我一般反过来做一次:在 PCB 里选中关键网络,看它连到哪些焊盘,再回到原理图全局搜索同名网络,确认页面上有没有隐藏的分支。尤其是电源、复位、BOOT0、SWDIO、SWCLK 这几类,PCB 上多一个过孔或测试点,原理图上可能没画全。反向核对完,把差异记到改板检查表里,下一次出 Gerber 前逐项打勾。
如果你准备下载这套三板型资料,先按上面的文件谱系核一遍目录;缺源文件就把它当只读参考,别硬改。从那以后我每次拿到这类板子的原理图和 PCB,都先按最小系统法过一遍再动焊台,希望帮到你。
本文还有配套的精品资源,点击获取