STM32开发板电路图介绍
090.1.1STM32开发板电路图介绍
一、STM32开发板介绍
1.1 板子介绍
课程开发板以 STM32F103ZET6 为核心,板上集成两路 USB 接口、CH340C USB 转串口、AMS1117-3.3 稳压、ST-Link/SWD 接口、BOOT 跳帽、8 MHz 与 32.768 kHz 晶体、RTC 备用电池、用户按键、LED、蜂鸣器、OLED、ESP8266、摄像头和 TF 卡接口。
两路 USB 的用途不同:USB1 经过 CH340C,承担 USART1 通信和串口下载;USB2 主要用于供电。板上还可从外部电源排针供电。使用前先看接口丝印,避免把只有供电用途的接口当作串口数据口。
整板可以按功能块理解:
flowchart TD
USB1[USB1 串口/下载] --> CH340[CH340C]
CH340 --> U1[USART1 PA9/PA10]
CH340 --> AUTO[DTR/RTS 自动复位与 BOOT0]
USB2[USB2 供电] --> PWR[5 V 电源网]
PWR --> LDO[AMS1117-3.3]
LDO --> V33[3.3 V 电源网]
V33 --> MCU[STM32F103ZET6]
HSE[8 MHz 晶体] --> MCU
LSE[32.768 kHz 晶体] --> MCU
SWD[ST-Link/SWD] --> MCU
MCU --> IO[按键/LED/蜂鸣器/OLED/TF/摄像头/ESP8266]
USB 口可提供的电流取决于主机端口、线材和协议,不能简单认为任何电脑 USB 都能稳定输出某个固定最大值。开发板带电机、舵机、继电器等大电流负载时,应单独核算电源和稳压器的电流、压差与温升。
1.2 电路图讲解
1.2.1 电路图分析
阅读原理图先掌握四种符号关系:
- 线条相交且有连接点,表示电气连接;仅交叉但无连接点通常表示不相连。
- 相同网络标号表示电气上相连,即使图中没有画成长线,例如所有
3.3V、GND、USART2_TX。 - 元件编号表示器件类别与序号,如
R17是电阻、C9是电容、Q2是三极管、U3是芯片。 - 引脚名描述芯片功能,网络名描述这根线在整板中的用途;两者要一起读。
以用户 LED 为例,原理图不是只告诉我们“PB5 接 LED”,还给出电流路径和有效电平:
3.3 V ── LED ── 1 kΩ ── PB5
│
PB5 输出 0 V:电流从 3.3 V 流入 PB5,LED 亮
PB5 输出 3.3 V:两端压差很小,LED 灭
因此 PB5、PE5 两个用户 LED 为低电平点亮。限流电阻决定电流量级,可用近似式估算:
$I_{LED}\approx\frac{3.3\text{ V}-V_F}{1\text{ k}\Omega}$
1.2.2 电路图各部分位置标注
原理图中的关键位置与实物功能对应如下:
| 原理图功能块 | 关键器件/网络 | 实物作用 |
|---|---|---|
| USB 下载与串口 | USB1、CH340C、USART1_TX/RX | 电脑串口通信与 ROM Bootloader 下载 |
| 独立供电 | USB2、5V 网络 | 给整板提供 5 V |
| 3.3 V 稳压 | AMS1117-3.3、10 μF、100 nF | 把 5 V 降为 MCU 使用的 3.3 V |
| 用户按键 | PA0、PE4、PE3、PE2 到 GND | 按下时输入低电平 |
| 用户 LED | PB5、PE5 | 低电平点亮 |
| 调试下载 | 4 针 SWD、20 针 JTAG/SWD | ST-Link 下载与在线调试 |
| 无线模块 | USART2_TX/RX 插座 | 连接 ESP8266 串口 |
CH340C 的 TXD 要接 STM32 的 USART1_RX,RXD 要接 USART1_TX,这就是串口“发送接接收”的交叉原则。TX/RX 指示灯通过数据线活动产生闪烁,适合观察是否有通信,但不能替代协议和数据校验。
四个用户按键一端接 PA0、PE4、PE3、PE2,另一端接 GND,按下时把 GPIO 拉低。GPIO 应配置为上拉输入,或依赖外部上拉;否则松开时可能悬空。软件判断通常使用 GPIO_PIN_RESET 表示按下,并增加去抖处理。
1.2.3 串口二默认引脚分析
STM32F103ZET6 的 USART2 默认引脚是:
| 信号 | 默认引脚 | 数据方向 |
|---|---|---|
USART2_TX | PA2 | STM32 发送 |
USART2_RX | PA3 | STM32 接收 |
开发板 ESP8266 插座使用的正是 USART2_TX/USART2_RX 网络。PE2/PE3 不是 USART2 的默认 TX/RX;在本板上它们还连接用户按键。USART1 默认使用 PA9(TX) 和 PA10(RX),并连接 CH340C。
“默认引脚”来自芯片的复用功能映射,不是只看 GPIO 编号猜测。创建工程时应在 CubeMX 中点击 USART2 并核对 PA2、PA3 的复用标签,同时回到开发板原理图确认这些网络是否确实到达目标插座。
1.2.4 JTAG-SWD接口
JTAG 和 SWD 都是调试接口。JTAG 常用 JTMS、JTCK、JTDI、JTDO、NJTRST 等多根信号;SWD 是 Arm 的两线调试协议,核心只有 SWDIO 和 SWCLK,更节省 GPIO。
SWDIO:双向数据,STM32F103 上复用 PA13/JTMS
SWCLK:调试时钟,STM32F103 上复用 PA14/JTCK
NRST :目标复位,便于异常程序下“复位连接”
VTref:目标板 3.3 V 参考
GND :公共地
板上既有简化 4 针 ST-Link 接口,也有完整 JTAG/SWD 排针。普通下载使用 SWDIO、SWCLK、GND、3.3 V 即可;调试不稳定时再连接 NRST。CubeMX 中 SYS→Debug→Serial Wire 会保留 SWD 引脚。
电源部分由 AMS1117-3.3 把 5 V 转为 3.3 V。它是线性稳压器,损耗近似为:
$P_{loss}=(5-3.3)\times I_{load}$
负载电流越大,芯片发热越明显。输入、输出侧的 10 μF 电容用于低频稳定和负载瞬态,附近的 100 nF 电容抑制较高频噪声。
1.2.5 电容作用分析
“滤波电容”是统称,不同位置的电容职责不同:
| 位置 | 常见容量 | 主要作用 |
|---|---|---|
| 每组 MCU VDD/VSS 附近 | 100 nF(104) | 高频去耦,为芯片瞬时电流提供就近回路 |
| 稳压器输入/输出 | 10 μF + 100 nF | 稳定 LDO、吸收较慢负载变化并抑制高频噪声 |
| 晶体两端到地 | 15 pF 或 22 pF | 与晶体和寄生电容构成振荡负载网络 |
| NRST 到地 | 100 nF | 上电/干扰滤波,与上拉电阻构成复位 RC |
去耦的关键是“就近”。数字芯片翻转时,电源电流变化很快;若电容离 VDD 很远,长走线的寄生电感会阻碍瞬态电流。多个 100 nF 不能简单集中成一个大电容来替代。
1.2.6 复位电路
STM32 的 NRST 为低电平有效。原理图中 R17(10 kΩ)把 NRST 上拉到 3.3 V,保证平时运行;复位按键 SW5 按下后把 NRST 直接接地;C9(100 nF)接地,用于上电和高频干扰滤波。
3.3 V ── R17 10 kΩ ──┬── NRST
├── SW5 ── GND
└── C9 100 nF ── GND
RC 时间常数约为:
$\tau=R\times C=10\text{ k}\Omega\times100\text{ nF}=1\text{ ms}$
上电时电容最初相当于短路,NRST 电压随后通过 R17 上升;按键按下时 NRST 被强制拉低。松手后的电容还可削弱短促毛刺,但它不是软件按键去抖电路。
1.2.7 摄像头接口与蜂鸣器
摄像头接口引出 OV7670 一类并口摄像头所需的数据、像素时钟、行场同步和控制信号。插接前要核对模块电压与排针方向;并行摄像头占用较多 GPIO,后续配置必须避免与其他外设冲突。
蜂鸣器由 S8050 NPN 三极管驱动,MCU 不直接承担蜂鸣器电流:
3.3 V ── 有源蜂鸣器 ── C S8050 E ── GND
B
BEEP(GPIO) ── R27 1 kΩ ─────┘
│
R28 10 kΩ
│
GND
GPIO 输出高电平时,基极经 1 kΩ 得到电流,三极管导通,蜂鸣器形成到地回路并鸣叫;10 kΩ 下拉保证复位和 GPIO 高阻阶段三极管关闭,避免误响。若换成无源蜂鸣器,则需要 PWM 方波而不是恒定高电平。
1.2.8 插针对应的单片机介绍
两侧排针把大部分 STM32 GPIO 和电源网络引出,杜邦线应按 PAx/PBx/... 的丝印连接,而不是按排针物理序号猜测。使用外设前需要同时确认:芯片复用表允许该功能、CubeMX 已配置、开发板上没有与固定器件冲突。
板载 OLED 接口使用 PB6/SCL、PB7/SDA。RTC 备用电池经 BAT54C 肖特基二极管网络给 VBAT 供电,使主电源断开时 RTC 和备份域仍可保持;它不是给整块开发板供电。32.768 kHz 晶体为 RTC 提供低速外部时钟。
1.2.9 三二单片机电路讲解
8 MHz HSE 晶体连接 OSC_IN/OSC_OUT,两侧各有约 22 pF 负载电容;32.768 kHz LSE 晶体连接 OSC32_IN/OSC32_OUT,两侧各有约 15 pF 电容。两只电容不是串在时钟信号通路上,而是分别从晶体两端接地。
晶体看到的等效负载近似为:
$C_L\approx\frac{C_1C_2}{C_1+C_2}+C_{stray}$
若 C1=C2=22 pF,前半部分约为 11 pF,再加 PCB 和引脚寄生电容。负载选择过大或过小会影响起振裕量和频率误差,应按晶体规格、芯片手册和板级实测确定。
芯片有多组 VDD/VSS,不是因为单个电源脚“承受不了总电流”这么简单,更重要的是缩短芯片内部不同区域的电流回路、降低电源阻抗和噪声。每组电源脚附近配置 100 nF 去耦,并在电源入口放置较大容量电容。
二、电路图介绍
2.1 电路图引脚介绍
原理图使用网络标号跨功能块连接。例如 BOOT0 在 MCU 引脚、跳帽和自动下载三极管电路中重复出现,表示它们属于同一个电气网络;RESET 同理连接到 NRST、按键、调试口和自动复位电路。
USB1 的 D+、D- 连接 CH340C;USB2 主要引出电源。USB 数据线附近的保护器件接在信号与地之间,正常通信时近似不参与,出现静电瞬态时迅速钳位。
2.2 芯片作用
原理图中的 BST236A054U 属于 USB 数据线静电/浪涌防护阵列,作用是把 D+、D- 上的瞬态能量泄放到地,保护后级芯片。它不能同时替代反接、持续过压和大电流保护。
不同风险由不同器件承担:
| 风险 | 对应措施 |
|---|---|
| USB D+/D- 静电瞬态 | 低电容 ESD/TVS 保护阵列 |
| 5 V 线路过流 | F1 自恢复保险丝 |
| 5 V 降为 3.3 V | AMS1117-3.3 稳压器 |
| 感性负载反向电压 | 驱动器续流二极管或钳位网络 |
| 电源反接 | 需专门二极管/MOS 管方案,不能由 ESD 芯片代替 |
2.3 电路分析
BOOT 跳帽通过 10 kΩ 上拉/下拉网络给 BOOT0、BOOT1 提供稳定默认电平。跳帽把对应网络选择到 3.3 V 或 GND,复位时 MCU 采样这两个状态决定启动区域。
正常运行:BOOT0 = 0,BOOT1 = X → 主 Flash
串口下载:BOOT0 = 1,BOOT1 = 0 → System Memory Bootloader
SRAM 启动:BOOT0 = 1,BOOT1 = 1 → SRAM
串口自动下载电路又把 CH340C 的 DTR/RTS 通过三极管接到 BOOT0 和 RESET。其目的不是直接传输固件,而是在软件开始下载时自动组合“进入 Bootloader”和“复位”动作;实际固件数据仍经 USART1_TX/RX 传输。
分析任何一块板都可沿这条路径进行:先找电源入口与地,再找稳压和去耦;接着找 MCU 的所有电源、复位和晶振;然后找下载调试接口;最后沿网络标号追踪每个外设。这样比从密集的 144 个引脚逐个看更容易建立整体概念。