设计流程全景:从需求到板子的五个阶段

嵌入式硬件设计的完整链路,可以用五个阶段来概括:

嵌入式硬件设计流程全景图
  1. 需求分析 → 确定功能列表、性能指标、成本预算
  2. 芯片选型 → 主控MCU + 外围器件(传感器、通信模块、电源芯片)
  3. 原理图设计 → 用EDA工具绘制所有元件的电气连接关系
  4. PCB布局布线 → 将原理图转化为物理电路板,决定每个元件的实际位置和走线
  5. 打样验证 → 制造样板、焊接调试、发现问题、迭代修改

本文以一款智能温湿度计为实战案例,手把手带你走完全流程。从一颗芯片到一个能用的板子,每一步都有真实数据和实操要点。我们选用的是嵌入式开发中最经典的组合:STM32F103C8T6 + DHT22温湿度传感器 + 0.96寸OLED显示屏。

芯片选型的五个维度

芯片选型不是"挑最贵的"或者"选最流行的",而是要在性能、功耗、成本、生态、供货五个维度之间找到最优平衡点。以下是我们为智能温湿度计做的选型分析:

维度考量要点本例选择数据来源
性能 主频、Flash/RAM容量、外设数量 STM32F103C8T6:72MHz Cortex-M3,64KB Flash + 20KB SRAM,含I²C、SPI、USART、12位ADC ST官方Datasheet (DocID13587 Rev 17)
功耗 工作电流、休眠模式电流 正常运行≈36mA(72MHz全速),睡眠模式≈2.4mA,待机模式≈5μA ST AN2834应用笔记实测数据
成本 MCU单价 + 总BOM成本 MCU≈6-8元(2026年批量价),整板BOM≈35元 立创商城 & 华秋商城实时报价
生态 开发工具链、社区支持、教程资源 STM32CubeIDE免费、HAL库成熟、全球最大ARM MCU社区 ST官网 & GitHub活跃度
供货 交期稳定性、Pin-to-Pin替代方案 国产替代:GD32F103C8T6(兆易创新)、AT32F403ACGT7(雅特力),引脚完全兼容 各厂商官网交叉参考
选型心得——"够用原则":性能不是越高越好,而是"刚好够用 + 20%余量"。我们曾经为一个智能加湿器方案选型,最初用了STM32F407(168MHz),后来发现实际CPU占用率不到15%。换成F103后,BOM成本降低了12元,功耗减少了40%,而功能完全没有受影响。选型过度意味着成本上升、功耗增加、PCB面积浪费——在消费电子产品中,每省1元BOM成本,量产10万件就省下10万元。

国产替代的现实考量

2026年的MCU供应链已经相当成熟。ST的STM32F103C8T6虽然是行业标杆,但在交期紧张时,GD32F103C8T6可以做到Pin-to-Pin无缝替换。两者的差异主要在:GD32主频可到108MHz(超频),但Flash等待周期策略不同,部分时序敏感代码需要适配。我们的建议是:硬件设计时保留兼容焊盘,固件层面用宏定义区分

原理图设计的三大关键电路

1. 电源电路——板子的"心脏"

电源电路是整个硬件系统中最容易被忽视、但出问题后果最严重的部分。一个不稳定的电源会导致ADC读数跳动、通信间歇性失败、MCU随机复位——这些问题极难排查,因为你很难把"偶发性Bug"和"电源纹波"联系起来。

电源电路设计:USB 5V → AMS1117-3.3V LDO

我们的电源链路设计如下:

USB 5V → [自恢复保险丝 500mA] → [TVS管 SMBJ5.0A] → [AMS1117-3.3V LDO] → 稳定3.3V输出
                                                  ↓
                              输入电容 100μF电解   输出电容 10μF钽 + 0.1μF陶瓷

AMS1117-3.3V 关键参数(来源:AMS1117 Datasheet):

真实踩坑——为什么我的AMS1117冒烟了?
我们一个客户的第一版PCB,上电瞬间AMS1117直接冒烟烧毁。排查发现:输出端接了一个470μF大电容。上电瞬间,电容等效于短路,充电浪涌电流 I = C × dV/dt 可达数安培,远超AMS1117的电流限制,触发了芯片内部的热保护——但保护来不及响应,芯片已经烧了。

修正方案:输出端只用10μF钽电容 + 0.1μF陶瓷电容做高频去耦,大容量储能电容(100μF)放在输入端。输入端的大电容是"水库"(应对输入电压跌落),输出端只需要"高频滤波"——电容的位置比容量更重要。

2. 晶振电路——系统的心跳

STM32F103C8T6使用8MHz外部高速晶振(HSE),通过内部PLL倍频到72MHz系统时钟。晶振电路看似只有三个元件(晶振 + 两个负载电容),但布局布线对起振的可靠性影响极大。

晶振与去耦电容的正确布局

晶振电路设计要点:

血的教训——晶振不起振:我们第一版温湿度计样板,晶振下方铺了整块GND铜箔。结果10块样板中有3块晶振不起振,另外7块起振时间超过500ms(正常应在10ms内)。去掉晶振下方的铜箔后,全部正常起振。铜皮铺多了反而坏事——这在PCB设计中是个常见误区。

3. BOOT引脚——被遗忘的关键设计

STM32的启动模式由BOOT0BOOT1两个引脚在上电复位时的电平决定:

BOOT0BOOT1启动模式启动地址用途
0X(任意)主闪存存储器(Flash)0x08000000正常运行模式,用户程序从这里启动
10系统存储器(System Memory)0x1FFFF000串口ISP下载模式,ST出厂预置的Bootloader
11内置SRAM0x20000000调试用,从RAM启动(极少使用)

绝大多数时间,BOOT0通过一个10KΩ下拉电阻接地,系统从Flash正常启动。当需要通过串口烧录程序时,用跳线帽将BOOT0接到3.3V,然后复位MCU即可进入ISP模式。

设计铁律:BOOT0引脚绝对不能悬空。悬空时引脚电平不确定,可能导致MCU随机进入ISP模式,表现为"程序烧进去但跑不起来"。我们见过太多新手在这个问题上折腾一整天——检查代码、检查电源、检查晶振,最后发现是BOOT0忘记接下拉电阻。

PCB布局的黄金法则

原理图是"逻辑正确",PCB是"物理可靠"。一个好的PCB布局能让电路稳定工作,一个糟糕的布局则会让"原理上完美"的电路在实际中问题百出。

分区布局策略

按功能将PCB划分为四个区域,彼此之间用地线隔离:

┌─────────────────────────────────────┐
│  电源区(左上角)                     │
│  USB口 → 保险丝 → TVS → LDO → 电容   │
│  大电流走线,远离敏感信号             │
├────────────────┬────────────────────┤
│  MCU + 晶振    │  传感器接口区       │
│  (中心偏左)  │  DHT22 (I²C/单总线) │
│  去耦电容紧贴  │  OLED (I²C)         │
│  每个VDD引脚   │                     │
├────────────────┴────────────────────┤
│         显示屏接口区(底部)          │
│         0.96寸 OLED 排针             │
└─────────────────────────────────────┘

走线规则与数据

信号类型推荐线宽推荐间距说明
电源线(<500mA)0.5mm (20mil)≥0.5mm1oz铜厚,温升<10℃
电源线(500mA~1A)1.0mm (40mil)≥0.8mm关键大电流路径
通用数字信号0.254mm (10mil)≥0.2mm (8mil)满足绝大多数场景
晶振信号线0.3mm (12mil)≥1.0mm远离数字信号,用地线包围
模拟信号(ADC)0.3mm (12mil)≥1.0mm远离数字和电源线
线宽不够的后果:1oz铜厚下,0.254mm线宽走500mA电流,温升可达20℃以上。这不仅仅是发热问题——铜的电阻温度系数约0.4%/℃,温度升高导致电阻增大,电阻增大又导致发热加剧,形成正反馈。严重时铜箔会烧断开路。所以电源线能粗就粗,不要吝啬铜皮。

去耦电容——PCB上最重要的0.1元元件

每颗STM32F103C8T6有5个VDD引脚(VDD_1到VDD_5),每个VDD引脚旁必须就近放置一颗0.1μF陶瓷电容到地,距离不超过5mm

为什么需要去耦电容?MCU内部的数百万个晶体管以72MHz频率高速开关,每次开关都产生瞬时电流尖峰(di/dt可达数百mA/ns)。PCB走线有寄生电感(约1nH/mm),根据公式 V = L × di/dt,10mm走线在100mA/ns的电流变化下可产生1V的电压尖峰——足以让3.3V供电的MCU工作异常。

去耦电容充当"本地电荷仓库",在晶体管开关瞬间就近提供电荷,避免电流从远处的电源芯片绕一大圈过来。0.1μF这个值的选择也有讲究:陶瓷电容的谐振频率通常在10-50MHz范围,恰好覆盖MCU的主要开关噪声频段。

覆铜策略

整板铺地铜(Ground Plane)是最简单有效的降低EMI的手段。地铜提供低阻抗回流路径,减小信号回路面积,降低电磁辐射。但需要注意:

从原理图到Gerber文件:实操步骤

KiCad 8为例(开源免费,功能对标Altium Designer),完整的设计流程:

  1. 创建项目 → 新建工程,设置图纸尺寸(推荐A3,方便放置所有电路)
  2. 绘制符号库 → 如果没有现成的元件符号,需要手动创建。STM32F103C8T6通常从网上下载官方库
  3. 放置元件 → 将MCU、电源芯片、传感器、接插件等按功能分区放置
  4. 连线 → 用网络标号(Net Label)连接各元件引脚。注意:电源网络统一用VCC、+3.3V等全局标号
  5. ERC检查 → 电气规则检查,确保没有短路、开路、引脚悬空
  6. 分配封装 → 给每个原理图符号绑定实际的PCB封装(Footprint),这是新手最容易出错的环节——封装引脚编号必须与原理图符号一致
  7. 生成网表 → 导入PCB编辑器
  8. PCB布局 → 按分区策略放置元件,先大后小,先固定接插件位置
  9. 设置设计规则 → 线宽、间距、过孔大小(推荐过孔:0.6mm孔径/1.0mm外径)
  10. 自动布线 + 手动调整 → KiCad的自动布线器可以处理80%的连线,关键信号(晶振、差分对)必须手动布线
  11. DRC检查 → 设计规则检查,确保没有违规
  12. 覆铜 → 顶层和底层铺GND铜
  13. 生成Gerber文件 → 发给PCB厂家打样

打样的成本与选择

2026年,PCB打样的成本已经降到历史最低。以下是主流厂家的参考价格(10cm×10cm以内,5片,FR-4,1.6mm板厚,1oz铜厚):

厂家双面板四层板交期特点
嘉立创5元约50元24-48小时国内最大,支持在线下单,官网
捷配约30元约80元48小时品质稳定,适合批量
华秋约20元约60元48-72小时一站式(PCB+元器件+SMT)
PCBWay$5$303-5天国际客户首选,支持英文
打样策略建议:嘉立创5元打样意味着你可以"试错式设计"——打一版发现Bug,修正后再打一版,成本几乎可以忽略。在智能小家电PCBA方案开发中,我们通常打样2-3版即可完成硬件验证。第一版验证功能逻辑,第二版优化布局和EMC,第三版做量产前的最终确认。整个硬件开发周期控制在4-6周

实际踩坑:第一版板子最容易犯的5个错误

总结了我们在数十个PCBA项目中反复遇到的问题,按出现频率排序:

错误1:去耦电容距离MCU太远(出现率≈70%)

新手经常把去耦电容放在"方便焊接"的位置而不是"紧贴VDD引脚"。结果MCU工作不稳定,偶尔死机。排查时示波器一量,VDD引脚上有300mV的噪声纹波——正常的板子应该低于50mV。

错误2:BOOT0引脚悬空(出现率≈50%)

前面已经详细讲过。补充一点:即使加了10KΩ下拉电阻,如果电阻焊接不良(冷焊),效果等同于悬空。

错误3:电源走线太细(出现率≈40%)

用0.254mm走电源线,结果带负载后电压跌落严重。从AMS1117输出端到MCU的VDD引脚,如果走线电阻0.1Ω,100mA电流就产生10mV压降——看起来不大,但加上其他因素(连接器接触电阻、焊点电阻),总压降可能超过100mV,已经影响ADC精度。

错误4:忘记引出SWD调试接口(出现率≈35%)

SWD只需要4根线(VCC、GND、SWDIO、SWCLK),占PCB面积不到1cm²。但忘记引出的话,调试时只能通过串口ISP反复烧录,效率极低。我们的标准做法是:所有板子默认留4Pin 1.27mm间距的SWD排针焊盘

错误5:丝印方向不一致(出现率≈30%)

这个问题不致命但很烦人——板子上有的元件丝印朝上、有的朝下、有的朝左。焊接时需要不停旋转板子。建议所有IC和极性元件的丝印统一朝向板子上方或左方,方便批量生产时的目检。

工具推荐

工具用途费用推荐理由
KiCad 8原理图+PCB设计免费开源功能接近商业软件,3D预览强大,社区活跃,官网
立创EDA在线设计+一键打样免费与嘉立创深度集成,元件库丰富,适合快速验证
LCSC(立创商城)元器件采购按需国内最大元器件电商,价格透明
DigiKey / Mouser国际元器件采购按需正品保证,数据手册齐全

PCB设计检查清单(Checklist)

这是我们内部使用的PCB设计检查清单,每次提交打样前逐项核对:

  1. ✅ 所有VDD引脚旁有0.1μF去耦电容,距离<5mm
  2. ✅ BOOT0有10KΩ下拉电阻,BOOT1有10KΩ下拉(或接地)
  3. ✅ SWD调试接口已引出(至少SWDIO + SWCLK + GND)
  4. ✅ 电源线宽≥0.5mm(<500mA)或≥1.0mm(<1A)
  5. ✅ 晶振紧靠MCU,下方无铺铜,周围有地线环绕
  6. ✅ 所有IC的第1脚有明确标记(丝印圆点)
  7. ✅ 电解电容/钽电容正负极丝印正确
  8. ✅ 板子外形、安装孔位置与结构工程师确认
  9. ✅ DRC检查无错误
  10. ✅ Gerber文件已用在线查看器预览确认
本篇小结:原理图设计是"逻辑正确",PCB设计是"物理可靠"。从芯片选型到布局布线,每一步都需要在性能和成本之间做权衡。本文用真实数据(AMS1117参数、线宽-温升对照、电容选型依据)和真实踩坑经验,帮你建立硬件设计的工程思维。下一篇我们将进入项目实战——手把手做一个完整的智能温控器,把前四篇的知识串联起来。