一、项目定位与芯片选型
STM32F103C8T6是意法半导体(ST)经典的中低端MCU,基于ARM Cortex-M3内核,性价比极高,适合学习和小型项目。
核心参数:
-
内核:ARM Cortex-M3,72MHz主频
Flash:64KB,SRAM:20KB
封装:LQFP-48,0.5mm pitch,7×7mm
供电:2.0V~3.6V,典型3.3V,内置上电复位(POR)
GPIO:37个可用,支持5V容忍输入
外设:2×ADC(12bit)、3×USART、2×SPI、2×I2C、1×CAN、USB FS
设计目标:制作一块可独立运行、支持SWD下载、带基本外设接口的最小系统板,尺寸控制在50mm×50mm以内,两层板实现(成本敏感),预留扩展接口。
二、电源树规划:3.3V稳压方案
1. 输入电源选择
-
主输入:USB Type-C 5V(兼供电和串口通信)
备用输入:2.54mm排针,支持5V~12V宽压输入
核心输出:3.3V/500mA,供MCU及外设
2. LDO选型与电路设计
选用AMS1117-3.3或XC6206P332MR:
-
AMS1117-3.3:1A输出,压差1.3V,SOT-223封装,成本低
输入电容:10μF电解 + 0.1μF陶瓷,靠近输入引脚
输出电容:10μF钽电容或陶瓷(ESR需满足稳定性要求)
散热:SOT-223 tab焊盘大面积铺铜,多打过孔到地层散热
电源树拓扑:
-
USB 5V → 肖特基二极管(防反接,SS14)→ AMS1117-3.3 → 3.3V总线
3.3V总线分支:
MCU VDD/VSS(多对电源引脚,每对独立去耦)
晶振电路供电
复位电路上拉
LED指示灯限流电阻
排针扩展接口
STM32F103多组VDD/VSS必须全部连接!VDD_1(Pin1)、VDD_2(Pin24)、VDD_3(Pin36)、VDD_4(Pin48),每组配100nF+10μF去耦。
三、晶振电路设计:高速与低速双晶振
1. 高速外部晶振(HSE)8MHz
-
晶振选型:HC-49S或3225贴片,8MHz,20pF负载电容
匹配电容:C1=C2=22pF(根据晶振规格书CL计算:CL=C1×C2/(C1+C2)+Cstray)
布局:晶振紧贴MCU Pin5(OSC_IN)和Pin6(OSC_OUT)
走线:差分对称,长度相等,远离电源线和高速信号
包地:晶振下方地层挖空(Keepout),避免寄生电容
2. 低速外部晶振(LSE)32.768kHz
-
功能:RTC实时时钟,低功耗时基
晶振选型:3215贴片,12.5pF负载电容
匹配电容:C3=C4=12pF
布局:靠近Pin3(OSC32_IN)和Pin4(OSC32_OUT),独立包地
晶振Layout禁忌:
-
晶振走线禁止穿越其他信号层
晶振外壳接地,减少EMI辐射
负载电容接地回路最短,单点接MCU地
四、复位与启动电路
1. 复位电路(NRST,Pin7)
-
上拉电阻:10kΩ接3.3V,确保默认高电平
复位按键:轻触开关并联0.1μF电容,硬件消抖
RC延时:R=10kΩ,C=0.1μF,上电延时约1ms,满足复位时序
保护二极管:可选BAT54S,防止静电击穿NRST引脚
2. 启动模式选择(BOOT0/BOOT1)
-
BOOT0(Pin44):接10k下拉电阻到地(默认Flash启动)
BOOT1(Pin20):通过内部配置,通常接地
ISP下载:BOOT0接高电平(3.3V),上电进入系统存储器(Serial Bootloader)
设计预留:BOOT0接跳线帽或拨码开关,方便切换启动模式
五、下载调试接口:SWD最小化设计
1. SWD接口定义(2×5P,1.27mm间距)
-
Pin1:VCC(3.3V,目标板供电检测)
Pin2:SWDIO(数据,Pin34)
Pin3:GND
Pin4:SWCLK(时钟,Pin37)
Pin5:GND
Pin6:SWO(串行线输出,可选,Pin38)
Pin7:KEY(防呆,悬空或接地)
Pin8:NC
Pin9:GND
Pin10:RESET(复位控制)
设计要点:
-
SWDIO/SWCLK串联22Ω电阻,抑制信号反射
走线长度<5cm,避免过长引入干扰
接口添加ESD保护(USBLC6-2SC6),防止热插拔损坏MCU
预留串口下载:USART1_TX(Pin30/PA9)、USART1_RX(Pin31/PA10)接排针
六、外设接口与扩展设计
1. 基础外设
-
电源指示灯:3.3V → 1kΩ → 红色LED → 地
用户LED:PC13(Pin2)→ 470Ω → 绿色LED → 地(STM32F103C8T6经典配置)
用户按键:PA0(Pin10)→ 按键 → 地,内部上拉使能
2. 扩展排针(2.54mm间距,便于杜邦线连接)
-
左侧排针:PA0~PA7、PB0~PB7(16个GPIO)
右侧排针:PA8~PA15、PB8~PB15(16个GPIO)
顶部排针:3.3V、5V、GND多组,ADC参考电压VREF+(Pin17)
3. 通信接口预留
-
USART1:PA9/PA10,默认串口,接USB转TTL模块
I2C1:PB6/PB7,可接OLED或传感器
SPI1:PA5/PA6/PA7/PA4(SCK/MISO/MOSI/NSS),接W25Q128 Flash
七、四层板层叠与布线策略
虽然两层板可降低成本,但四层板(信号-地-电源-信号)能显著改善电源完整性和EMC性能,推荐四层板设计。
1. 层叠结构
-
Top Layer:信号 + 元器件摆放
GND Plane:完整接地平面,所有信号参考地
PWR Plane:3.3V电源分割,5V输入局部区域
Bottom Layer:信号 + 部分电源走线
2. 关键信号布线优先级
-
P0:晶振(OSC_IN/OUT)→ 最短对称,包地处理
P1:复位(NRST)→ 远离电源线,避免串扰
P2:SWD(SWDIO/SWCLK)→ 等长,22Ω串联电阻
P3:USB/串口 → 差分或单端,阻抗控制(单端50Ω)
P4:电源 → 粗线(1mm/1A),星型拓扑
P5:普通GPIO → 最后布线,避免交叉
3. 电源分割与去耦
-
3.3V电源平面覆盖MCU下方区域,通过过孔向顶层供电
每组VDD/VSS对应一个过孔阵列(2×2或3×3),降低阻抗
去耦电容布局:100nF陶瓷电容紧贴电源引脚,10μF电解稍远但同一网络
AMS1117输出端:10μF电容靠近输出引脚,反馈回路最短
八、LQFP-48封装设计与扇出
1. 焊盘设计
-
焊盘尺寸:0.3mm×1.5mm(比引脚宽0.05mm,长0.3mm)
阻焊开窗:比焊盘大0.1mm,防止绿油覆盖导致焊接不良
钢网开口:比焊盘小10%,厚度0.12mm,防止锡膏过多连锡
2. 扇出策略(Fanout)
-
四角引脚:直接顶层走线引出
边缘引脚:打过孔到内层或底层走线
中间引脚(如Pin25~Pin36):采用"狗骨型"扇出,先向内打过孔,再横向走线
GND引脚:直接打过孔到地平面,多个GND引脚共享过孔阵列
VDD引脚:打过孔到电源平面,搭配去耦电容
LQFP-48 pitch 0.5mm,走线线宽/间距最小4mil,普通工艺即可生产。扇出过孔推荐0.3mm钻孔/0.6mm焊盘(10mil/24mil)。
九、DFM优化与可制造性检查
1. 丝印设计
-
芯片第一脚标识:丝印框缺角或圆点标记Pin1
极性器件:电解电容、LED标注正负极
接口标识:SWD、USB、USART丝印清晰
版本信息:V1.0、日期、设计者二维码
2. 拼板与工艺边
-
单板尺寸:50mm×50mm,V-CUT拼板2×2(100mm×100mm)
工艺边:上下各5mm,添加4个定位孔(3mm非金属化孔)
光学定位点(Fiducial):对角放置,1mm焊盘+3mm阻焊开窗
3. 生产文件输出清单
-
Gerber:Top/Bottom Copper, Soldermask, Silkscreen, Solderpaste
钻孔:PTH(镀通孔)和NPTH(非镀通孔)分开
坐标文件:CSV格式,包含位号、X、Y、角度、层
BOM:品牌、型号、封装、数量、替代料
装配图:PDF格式,标注极性和特殊安装要求
十、调试与验证流程
-
上电前:万用表检查3.3V对地短路,阻值>1kΩ
上电测试:示波器测量3.3V纹波,应<50mVpp
晶振起振:示波器探头×10档测OSC_OUT,应有8MHz正弦波
SWD连接:ST-Link Utility识别芯片ID,确认通信正常
程序烧录:烧录LED闪烁程序,验证GPIO和时钟配置
功能扩展:依次测试USART、I2C、SPI、ADC外设
十一、常见设计错误与规避
-
错误1:NRST只接上拉电阻,无按键 → 无法手动复位,必须添加按键
错误2:BOOT0直接接地,无预留 → 无法ISP下载,建议接跳线帽
错误3:晶振下方走线 → 信号耦合导致停振,必须挖空地层
错误4:VDD去耦电容距离>5mm → 高频去耦失效,应紧贴引脚
错误5:USB 5V直连3.3V引脚 → 烧毁MCU,必须经LDO降压
错误6:SWD线过长(>10cm) → 下载不稳定,建议控制在5cm内
十二、进阶扩展:从最小系统到功能板
在最小系统基础上,可扩展以下模块:
-
USB转串口:CH340E芯片,Type-C接口,一键下载电路
EEPROM存储:AT24C02(I2C)或W25Q64(SPI Flash)
OLED显示:0.96寸I2C接口,SSD1306驱动
传感器接口:DHT11温湿度、MPU6050六轴姿态
电机驱动:L298N或DRV8833,PWM控制
CAN收发器:TJA1050,工业通信扩展
结语
STM32F103最小系统板是嵌入式入门的最佳练手项目。通过本项目,你能掌握MCU电源设计、晶振布局、高速信号布线、LQFP封装扇出等核心技能。建议先打样2层板验证功能,再优化为4层板提升性能。
设计文件(原理图+PCB)建议开源到GitHub或立创EDA广场,与社区交流改进。记住:好的硬件设计不是一次成功的,而是在调试中不断优化出来的。
友情链接
STM32F103官方数据手册
立创开源硬件平台