PCB设计基础:从原理图到打样,嵌入式工程师必会的硬件技能

很多嵌入式软件工程师觉得"PCB是硬件的事,跟我没关系"——错。
至少你得能看懂原理图、能画一块简单的转接板、知道走线为什么会干扰信号。
这篇从零讲PCB设计全流程,用嘉立创EDA(立创EDA)实操,小白也能跟着画出一块能用的板子。


一、嵌入式工程师为什么要学PCB?

1.1 真实场景

  • 需要一个 STM32 最小系统板,买现成的太贵 → 自己画
  • 传感器引脚不匹配,需要转接 → 画转接板
  • 调试时信号莫名其妙受干扰 → 要懂走线和地平面
  • 面试被问"你懂硬件吗" → 能说出"我画过XX板子,了解走线规则"

1.2 软硬件结合的优势

只会写代码的嵌入式工程师很多,既会写驱动又能画板的少。软硬结合是核心竞争力,尤其在小公司/创业团队,一个人就能把整个产品做出来。

1.3 工具选择

工具特点适合人群
嘉立创EDA(立创EDA)国产免费,内置元件库直接下单,上手快新手首选
Altium Designer行业标杆,功能强大,收费昂贵专业硬件工程师
KiCad开源免费,跨平台,社区活跃开源爱好者
Cadence Allegro高端多层板/高速信号,大厂用高速PCB工程师

本文以嘉立创EDA标准版为例,因为对新手最友好:在线版直接打开浏览器就能用,元件库跟嘉立创商城联动,画完直接下单打样,一条龙。


二、PCB设计完整流程

需求分析 → 原理图设计 → 原理图检查 → PCB布局 → PCB布线 → 规则检查 → 输出Gerber → 打样焊接

下面逐步拆解。


三、第一步:原理图设计

3.1 原理图是什么?

原理图(Schematic)描述的是逻辑连接关系——哪个引脚连哪个引脚,不关心物理位置。

3.2 以STM32F103C8T6最小系统为例

最小系统板需要这几个部分:

1. STM32F103C8T6 主控
2. 供电电路(USB输入5V → AMS1117-3.3 → 3.3V)(AMS1117-3.3是一款LDO线性稳压器,把USB的5V降压到STM32需要的3.3V,最大输出800mA,是最常用的3.3V电源方案)
3. 时钟电路(8MHz主晶振 + 32.768kHz RTC晶振)
4. 复位电路(NRST按键 + RC复位)
5. BOOT0/BOOT1启动配置(BOOT引脚决定芯片上电后从哪里启动:BOOT0=0从Flash启动正常运行你的程序,BOOT0=1进入ISP模式可通过串口烧录。所以正常运行时BOOT0必须通过下拉电阻接地)
6. SWD下载接口(SWDIO, SWCLK, GND, 3V3)
7. LED指示灯 x 1
8. 排针引出所有IO

3.3 画原理图的操作

  1. 放置元件:从元件库搜索 “STM32F103C8T6”、“AMS1117-3.3”、“晶振8MHz” 等
  2. 连线:用导线把引脚连起来,或用网络标号(Net Label)远程连接
  3. 加网络标号:比如 VCC3V3GNDSWDIO,让同名网络自动连通

3.4 原理图关键规范

电源标识要统一

VCC3V3  → 3.3V主电源
VIN     → USB输入的5V
GND     → 地(统一用这个名,别一会GND一会DGND)

去耦电容必须加

每个VDD引脚旁边放一个 100nF(0.1μF)陶瓷电容
芯片附近放一个 10μF 钽电容/电解电容(储能)

去耦电容的作用:芯片电流突变时,附近电容就近供电,避免电源轨电压跌落。不加去耦电容,芯片会莫名其妙复位或跑飞

晶振电路

                  8MHz晶振
              ┌─────────────┐
   PD0/OSC_IN │             │ OSC_OUT/PD1
    ──────────┤             ├──────────
              │             │
       22pF   └─────────────┘   22pF
        │          │            │
        │          │            │
        └──────────┴────────────┘
                   │
                  GND

两个22pF是晶振的负载电容,具体值看晶振Datasheet的 CL(负载电容)参数,公式:

CL = (C1 × C2) / (C1 + C2) + Cs

其中 Cs 是杂散电容(约3-5pF),一般取22pF。


四、第二步:原理图检查

4.1 ERC(电气规则检查)

画完原理图点 ERC检查,软件会报错:

  • 引脚没连接(Floating)
  • 电源没驱动源(Power没有Source)
  • 冲突的网络

常见ERC错误及修复

错误原因修复
Net has no driving sourceVCC3V3没有电源输入AMS1117输出端加VCC3V3标号
Unconnected pin引脚悬空加No Connect标志(×)或接GND
Net name conflict同一网络多个名字统一网络标号

4.2 人工检查清单

  • 所有VDD都接了3.3V?(STM32不能5V供电!)
  • 所有VSS都接了GND?
  • 每个VDD旁有去耦电容?
  • BOOT0/BOOT1有下拉电阻?(BOOT0=0正常启动,=1进ISP模式)
  • 复位电路有上拉电阻?
  • SWD接口4根线(SWDIO/SWCLK/GND/3V3)都引出了?
  • USB的D+上拉1.5kΩ?(STM32F103全速USB需要。USB协议规定全速设备要在D+上拉1.5kΩ到3.3V,电脑检测到D+为高电平就知道接了全速设备,不上拉电脑不识别)

五、第三步:PCB布局

5.1 导入PCB

原理图检查无误后,点"更新到PCB",所有元件的封装会出现在PCB编辑器里,元件之间有飞线(Rat’s Nest)表示连接关系。

5.2 布局原则

原则1:按功能模块分区

┌──────────────────────────────────┐
│  USB      AMS1117     滤波电容    │ ← 电源区(左上)
│  接口                            │
├──────────────────────────────────┤
│        STM32F103C8T6             │ ← 主控区(中心)
│      ┌──────────┐                │
│      │ 晶振  去耦 │               │
│      │ 电容      │               │
│      └──────────┘                │
├──────────────────────────────────┤
│  SWD接口   BOOT跳线   LED        │ ← 调试区(下方)
├──────────────────────────────────┤
│  排针引出IO                      │ ← 接口区(边缘)
└──────────────────────────────────┘

原则2:先大后小
先放主控、接插件等大件定位,再放小元件(电阻电容)

原则3:去耦电容靠近引脚
100nF去耦电容尽可能靠近芯片VDD引脚,走线越短越好。这是新手最常犯的错误——电容放得离芯片八丈远,等于没加。

正确:
  VDD ──┬── 芯片VDD
        │
       100nF   ← 紧贴引脚
        │
       GND

错误:
  VDD ──────────────── 芯片VDD
        │
       100nF          ← 太远了,没用!
        │
       GND

原则4:晶振靠近主控
晶振走线要短,远离大电流/高频干扰源。晶振下方地平面不要走信号线。

原则5:接口放边缘
USB、SWD、排针等接插件放在板子边缘,方便插拔。

5.3 布局检查

  • 元件不要重叠
  • 飞线不要乱成一团(飞线乱说明布局不合理,调整元件位置让飞线短而顺)
  • 焊盘间距足够(手工焊接至少留0.5mm间距)

六、第四步:PCB布线

6.1 基本规则

线宽规则

用途线宽原因
信号线6-10mil(0.15-0.25mm)够用就行
电源线(小电流)15-20mil减小压降
电源线(大电流>500mA)30-40mil或更粗避免发热
电源主干/USB 5V20-30mil

1mil = 0.0254mm。嘉立创EDA默认单位是mil,新手可以改成mm。

过孔规则

内径:0.3mm(12mil)
外径:0.6mm(24mil)

过孔不要随便打,每个过孔都有寄生电感和电阻。

6.2 布线优先级

1. 电源线(先走,要求粗线)
2. 关键信号(晶振、USB D+/D-、高速SPI)
3. 普通信号线
4. 地线(最后用覆铜处理)

6.3 布线要点

电源走主干

USB 5V ──粗线── AMS1117输入
                 │
              AMS1117输出 ──粗线── 3V3主干 ── 各处用电

晶振走线

  • 晶振两根线(OSC_IN/OSC_OUT)尽量短、直、等长
  • 晶振周围不要走其他信号线
  • 晶振下方覆GND,不要走线

USB D+/D-差分线

  • D+ 和 D- 要平行走线,尽量等长
  • 阻抗90Ω(差分阻抗)
  • 新手板子速度不高,大致平行就行

避免直角走线

正确:         错误:
  ──┐            ──┐
    │              │ ← 直角
    │              │
    └──            └──
(45度或圆角)    (直角,信号反射/EMI问题)

嘉立创EDA默认就是45度,不用手动改。

6.4 覆铜(铺地)

布线完成后,顶层和底层都覆GND铜。大面积覆地的好处:

  • 降低地线阻抗
  • 屏蔽干扰(EMC)
  • 散热

覆铜后记得:

  • 设置覆铜间距(推荐0.5mm / 20mil)
  • 检查孤岛铜(孤立的铜皮要删掉或加GND过孔连接)
  • 执行"覆铜重建"

七、第五步:DRC检查与输出

7.1 DRC(设计规则检查)

DRC检查物理制造可行性:

  • 线宽是否太细(最小6mil)
  • 间距是否太小(最小6mil)
  • 过孔是否太小(最小内径0.3mm)
  • 焊盘是否重叠

嘉立创打样要求:最小线宽6mil、最小间距6mil、最小孔径0.3mm。新手按这个标准来,肯定能生产。

DRC必须0错误才能下单! 有错误就逐个修复。

7.2 输出Gerber

Gerber文件是PCB工厂识别的标准格式。嘉立创EDA点"导出 → Gerber",会生成一组文件:

board.GTL  ← 顶层铜
board.GBL  ← 底层铜
board.GTS  ← 顶层阻焊
board.GBS  ← 底层阻焊
board.GTO  ← 顶层丝印
board.GBO  ← 底层丝印
board.GKO  ← 板框
board.TXT  ← 钻孔

嘉立创EDA可以直接"一键下单",自动上传到嘉立创工厂,不用手动导Gerber。


八、打样参数选择

嘉立创下单页面参数说明:

参数推荐选择说明
板材FR-4标准玻纤板,够用
层数2层新手用双层板足够
板厚1.6mm标准厚度
数量5片首次打样5片够测了
铜厚1oz标准铜厚
表面处理HASL(喷锡)便宜,手工焊接友好
颜色绿色标准色,免费
阻焊覆盖过孔是(过孔盖油)防止焊接短路

嘉立创5片双层板打样只要5元(首单免费),新手多打几板练手不心疼。


九、焊接与调试

9.1 焊接顺序

1. 先焊低矮元件(电阻、电容、二极管)
2. 焊IC(STM32注意方向!引脚1对准PCB丝印1脚)
3. 焊接电源部分(AMS1117、USB座)
4. 通电测电源(3.3V对不对?短路没?)
5. 焊接主控(确认电源OK再焊主控)
6. 焊接接口(SWD、排针)

先焊电源,测好3.3V再焊主控! 不然电源有问题会烧主控。

9.2 上电调试步骤

第一次上电——测电源

  1. 万用表打到蜂鸣档,测3.3V和GND是否短路 → 必须不通
  2. USB上电,万用表测3.3V引脚 → 应为3.3V±5%
  3. 摸AMS1117和主控 → 不应该烫手(烫=短路,立即断电)

第二步——SWD下载

  1. 连接ST-Link:SWDIO→SWDIO, SWCLK→SWCLK, GND→GND, 3V3→3V3
  2. Keil/CubeIDE下载一个LED闪烁程序
  3. 能下载 = 主控供电+晶振+SWD都OK

第三步——功能测试

  • LED闪烁了吗?
  • 串口能输出吗?
  • 外设逐个验证

9.3 常见调试坑

现象可能原因排查方法
上电就烫电源短路万用表测各电源对地电阻
3.3V偏低AMS1117焊反/输入5V不对测AMS1117输入输出电压
SWD连不上SWDIO/SWCLK接错或虚焊万用表通断档测连通
下载成功但不运行BOOT0没下拉/晶振没起振测BOOT0=0, 示波器看晶振波形
串口乱码波特率不对/晶振频率不对检查晶振8MHz是否正确

十、新手避坑总结

10.1 原理图阶段

  1. STM32的VDDA(模拟电源)别忘了接3.3V,VSSA接GND,否则ADC不能用
  2. VBAT接3V3(不用RTC电池也接,否则RTC不工作)
  3. BOOT0下拉10kΩ到GND,否则上电进ISP模式不运行用户程序
  4. USB的D+上拉1.5kΩ到3V3,否则电脑识别不了设备(原因同上:USB协议要求全速设备D+上拉1.5kΩ,电脑靠这个识别设备类型)

10.2 PCB阶段

  1. 去耦电容必须紧贴VDD引脚——这是最重要的规则
  2. 电源线要粗,别用6mil走电源
  3. 不要大面积走线穿过芯片底部
  4. 晶振远离USB和开关电源
  5. 覆铜后检查有没有孤岛

10.3 生产阶段

  1. DRC必须0错误
  2. 丝印不要压焊盘(影响焊接)
  3. 板框必须是闭合的(不闭合工厂无法识别外形)
  4. 下单前预览3D图,检查元件方向、丝印位置

十一、进阶:什么时候需要4层板?

2层板能满足大多数新手需求。以下情况建议4层板:

场景原因
主控BGA封装引脚太密,2层走不出来(BGA=Ball Grid Array球栅阵列封装,引脚是芯片底部的锡球,排列密集,焊接和走线都极难,新手遇不到)
高速信号(USB 2.0 480Mbps、以太网)需要完整地平面做阻抗控制
大量模拟信号需要独立模拟地平面
EMC认证产品地平面屏蔽效果好

4层板典型叠层:

Top(信号层)
GND(完整地平面)   ← 关键!
VCC(电源平面)
Bottom(信号层)

4层板成本约50元/5片(嘉立创),比2层贵10倍,新手别用4层练手,先把2层玩明白。


十二、嘉立创EDA实操速查

操作快捷键/方法
放置元件元件库搜索 → 拖到原理图
连线W键
网络标号N键
更新到PCB设计 → 更新到PCB
布线布线工具 → 点焊盘开始
覆铜覆铜工具 → 框选区域 → 选GND网络
DRC检查设计 → 规则检查
一键下单制造 → PCB一键下单

十三、写在最后

作为嵌入式软件工程师,PCB设计不需要你画多层高速板,但至少要会

  • 看懂原理图,知道信号怎么走
  • 画一块最小系统板/转接板
  • 理解去耦电容、地平面、走线粗细的意义
  • 独立完成打样、焊接、调试全流程

建议新手的第一块板子:STM32F103C8T6最小系统板。嘉立创EDA有现成模板,跟着画一遍,5块钱打样,2天到货,焊好能下载程序——这个成就感是看100篇教程都替代不了的。

我的第一块板子就是STM32最小系统板,第一次上电LED亮起来的时候,那种"我自己设计硬件跑起来了"的激动,至今记得。
软硬结合,才是嵌入式工程师的完整形态。


相关文章推荐


作者:嵌入式阿蔡 | 一枚准大四的嵌入式菜鸟,正在打牢基础,记录成长

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值