简介:STM32L431RCT6主芯片开发板原理图是一份mini核心板的PDF设计文件,面向嵌入式入门新手、STM32/ARM学习者,以及需要进行芯片评估与替换验证的工程师,可用于入门学习、核心板评估和项目选型验证。原理图完整呈现基于ARM Cortex-M4内核、主频80MHz、256KB Flash、64KB RAM的LQFP-64封装芯片的最小系统电路,涵盖5V转3.3V电源(AMS1117-3.3)、电源指示灯、CH340G USB转TTL调试接口、复位及时钟等关键模块,各模块连接与引脚定义清晰,便于对照芯片手册逐项理解。外设如串口、SPI未直接集成,但已通过排针引出,便于按需扩展。这份原理图由AD18绘制并导出为PDF,共1个文件,压缩包约455KB,单文件便于快速打开查阅,已有2804人学习下载。对想要快速理解STM32L431核心板硬件构成、评估芯片特性或进行二次开发的读者来说,是一份可直接查阅的实用硬件参考,也能帮助梳理最小系统板设计脉络,为自制核心板提供借鉴。
1. mini 核心板原理图要解决的不只是「画对引脚」
拿到 STM32L431RCT6 的 mini 核心板原理图,先别急着盯 MCU 引脚连到哪排排针——真正决定这块板能不能稳定跑低功耗的,是电源和去耦。L431 是 L4 系列里性价比很高的低功耗主控,Cortex-M4F、80MHz、256KB Flash、64KB SRAM、LQFP64 封装。跟常见的 stm32f103c8t6 原理图相比,电源域、时钟、Boot 逻辑差异都不小,照搬老套路会在 Stop 模式电流和 ADC 精度上翻车。
mini 核心板原理图本质是一张 stm32 最小系统板原理图的 L4 版本:LDO 供电、SWD 下载、晶振位、LED、按键,其余排针引出外设。难点不在画得全,而在该省的敢省、该留的留对。适合三种人:用 L4 做电池供电传感器的硬件工程师、想从 F103 迁移的嵌入式开发者、照着原理图画 PCB 做验证的学生。
2. 供电与去耦:STM32L431RCT6 功耗设计的第一步
2.1 电源域与电压范围:VDD、VDDA、VREF+、VBAT 怎么接
L431 的供电结构比 F1 多出好几个域。VDD 范围 1.71V 到 3.6V,mini 核心板一般直接做 3.3V。VDDA 是模拟电源,同样支持 1.71V 到 3.6V,但必须保证 VDDA 不低于 VDD,否则 ADC 采样结果会乱跳。VREF+ 在 LQFP64 上是独立引脚,不用外部基准时直接连到 VDDA;如果项目里的传感器对 ADC 精度敏感,可以在 VREF+ 位置预留一个外接基准的焊盘,常见做法是放一颗 REF30 系列 3.0V 基准的封装,贴不贴由需求决定。
注意:在原理图里把 VDDA、VREF+、VSSA 单独画出来不是习惯问题,L4 参考手册明确建议 VDDA 与 VDD 之间用磁珠或 10Ω 电阻隔离,VREF+ 再从 VDDA 取电。这一步省掉,低功耗电流和 ADC 精度都会受影响。
VBAT 引脚通常有两种接法:板上有 RTC 后备电池时装电池,没有就接 VDD 并放一颗 100nF 去耦。mini 核心板不上电池,把 VBAT 与 VDD 短接即可。这里容易犯的错是把 VBAT 悬空,L4 在 VBAT 悬空时备份域会有漏电路径,直接表现为 Stop 模式电流偏大,而且用示波器很难抓出来。
2.2 LDO 选型与静态电流:低功耗核心板的第一个门槛
mini 核心板的输入是 USB 5V 或锂电池,需要一级 LDO 降到 3.3V。低功耗项目的选型重点不是压差和最大电流,而是静态电流 Iq。ME6211、RT9013 这类常见 LDO,Iq 在 30µA 到 50µA 量级,用在一直休眠、偶尔醒来的设备上,LDO 自己消耗的电流比 MCU 的 Stop 模式还大,属于「板子没问题但功耗下不来」的典型原因。我一般把 Iq 小于 5µA 作为选型线,比如 TPS782、TPS7A02 这类低 Iq 器件。
# 估算 mini 核心板在典型低功耗任务下的平均电流与电池续航 i_run = 6.0 # 运行态电流,单位 mA,80MHz 下典型值 t_run = 0.01 # 每次任务运行时间,单位 s i_sleep = 0.002 # Stop 模式电流,单位 mA,L431 典型 2-4µA t_sleep = 60.0 # 休眠时间,单位 s duty = t_run / (t_run + t_sleep) i_avg = i_run * duty + i_sleep * (1 - duty) # 平均电流,单位 mA capacity = 120.0 # 电池容量,单位 mAh hours = capacity / i_avg print(f"平均电流: {i_avg*1000:.2f} µA") print(f"理论续航: {hours/24:.1f} 天")这个脚本的核心是占空比公式:平均电流 = 运行电流 × 运行占空比 + 睡眠电流 × 睡眠占空比。把 LDO 的 Iq 也加到 sleep 那一项重新估算,就能直观看到为什么说「LDO 静态电流 30µA 会毁掉整个低功耗设计」——60 秒周期跑一次,MCU 本身平均不到 10µA,LDO 却贡献了 30µA 以上。
2.3 去耦电容布局与 BOM 参考表
去耦原则是每颗电源引脚就近放一颗 100nF,整个板子至少放一颗 4.7µF 到 10µF 的储能电容。VDDA 用 1µF + 10nF 组合,VREF+ 接 VDDA 时这组电容同时服务 ADC。NRST 上放一颗 100nF 到地,和 10k 上拉电阻配合做复位滤波。
| 位置 | 参数 | 数量 | 作用 |
|---|---|---|---|
| 每个 VDD 引脚 | 100nF 0402 X7R | 5 | 高频去耦 |
| VDD 主干 | 4.7µF 或 10µF 0603 | 1 | 储能 |
| VDDA 与 VSSA 间 | 1µF + 10nF | 各 1 | 模拟电源滤波 |
| VBAT(接 VDD 时) | 100nF | 1 | 备份域去耦 |
| NRST 到地 | 100nF | 1 | 复位滤波 |
电容摆放位置比容值重要。100nF 必须放在 MCU 引脚焊盘 3mm 以内,走线要先过电容再到 MCU,不能先到引脚再绕回电容。这条做好了,很多复位抖动和 ADC 跳字的问题能在原理图阶段就排除掉。
3. 时钟、复位与下载:STM32L431 mini 核心板最容易抄错的三个电路
3.1 不用外部晶振也能跑:MSI 内部振荡器与 PLL 时钟树
L431 的时钟树和 F1 差异很大。F103 不接外部晶振基本没法稳定跑高速;L431 的 MSI 内部振荡器默认 4MHz,可以直接经 PLL 倍频到 80MHz 主频,而且 MSI 在 LSE 接入后还能自动校准到 0.25% 精度。所以 mini 核心板原理图里完全可以把主晶振位空着,只留封装和两个焊盘,做成「不焊也能跑」的默认状态。
提示:如果固件里要用 USB,则需要 48MHz 精确时钟。L431 可以用 MSI + CRS 自动校准满足 USB 要求,但比外挂 8MHz 晶振复杂,原理图上最好预留 HSE 位置,实际贴不贴由软件决定。
很多人在做 pcb 原理图分析 时习惯先找晶振,这套思路在 L4 上要改:先看 RCC 配置,再决定晶振装不装。PLL 锁相环原理图 里的倍频系数也需要在代码里对应——CubeMX 里把 MSI 设为 4MHz、PLLM=1、PLLN=40、PLLR=2,SYSCLK 才是 80MHz。这些数值在原理图上不会体现,建议写进 README 或原理图注释里,避免后面的人拿到板子以为晶振坏了。
3.2 复位与启动模式:NRST、BOOT0、nBOOT1 在 L4 上的差异
F103 有 BOOT0 和 BOOT1 两个引脚,L431 物理上只有 BOOT0 一个引脚,第二路启动源由选项字节 nBOOT1 决定。这意味着 mini 核心板原理图里只需要处理 BOOT0:一颗 10k 下拉让它默认从 Flash 启动即可,不需要跳线。如果要做系统 Bootloader 切换,再用 0Ω 或排针把 BOOT0 接到 3.3V。
NRST 是低电平复位,内部有上拉,外部加 10k 上拉和 100nF 到地。注意 NRST 同时也是 SWD 调试口的复位线,很多调试器需要它来同步目标芯片状态,所以复位电路不能省。有的板子会把 NRST 用 0Ω 直接引到 SWD 座,方便调试器控制复位,这是我比较推荐的做法。
| 信号 | 连接 | 参数 | 说明 |
|---|---|---|---|
| BOOT0 | 10kΩ 下拉到 GND | 10k | 默认从 Flash 启动 |
| NRST | 10kΩ 上拉到 3.3V | 10k | 与内部上拉并联 |
| NRST | 100nF 到 GND | 100nF | 复位滤波 |
| SWDIO | 10kΩ 上拉到 3.3V | 10k | 调试数据线 |
| SWCLK | 10kΩ 下拉到 GND | 10k | 调试时钟线 |
3.3 SWD 下载接口:与 F103 原理图不一样的两处细节
SWD 只要四根线:SWDIO、SWCLK、GND、3.3V,再加一根 NRST 更稳。L4 的 SWDIO 是 PA13,SWCLK 是 PA14,引脚编号和 F103 相同,但有两处不一样:第一,SWDIO 上拉、SWCLK 下拉,方向别接反;第二,如果 SWD 走线比较长,可以在 SWCLK 上加一颗 100pF 对地电容滤高频噪声,再大就会拖慢时钟沿,不建议超过 220pF。
STM32_Programmer_CLI -c port=SWD mode=UR -w build/app.hex -v-c port=SWD指定调试口,mode=UR表示连接时自动触发目标复位,-w写固件,-v写完后校验。这个命令对 mini 核心板足够,不需要配置 RDP 等级;如果连不上,用mode=UR并确认 NRST 已经接到调试器,九成能救回来。
4. 外设引出与 mini 核心板的「核心」取舍
4.1 哪些引脚要引出,哪些可以省
mini 核心板的排针数量有限,原则是把「通用、高频、不可替代」的引脚引出去,把「低频、可复用、有替代方案」的留作内部使用。我一般把左侧排针给电源和调试相关引脚,右侧排针给 USART、I2C、SPI、ADC 这类常用外设,PA0 和带唯一功能的引脚单独安排。
| 排针引脚 | MCU 引脚 | 复用功能 | 说明 |
|---|---|---|---|
| 1 | 3.3V | — | 输出,接 100nF |
| 2 | GND | — | 地 |
| 3 | PA0 | WKUP1 / ADC1_IN5 | 唤醒按键 |
| 4 | PA2 | USART2_TX / LPUART1_TX | 串口调试 TX |
| 5 | PA3 | USART2_RX / LPUART1_RX | 串口调试 RX |
| 6 | PB6 | I2C1_SCL | 传感器总线 |
| 7 | PB7 | I2C1_SDA | 传感器总线 |
| 8 | PB0 | ADC1_IN1 / TIM3_CH3 | ADC 或 PWM |
| 9 | NRST | — | 复位引出 |
| 10 | PA13 | SWDIO | 调试 |
| 11 | PA14 | SWCLK | 调试 |
| 12 | BOOT0 | — | 启动选择 |
有些引脚在 L4 上比较「金贵」:PA0 是唯一的 WKUP1 唤醒引脚,低功耗项目一定要引出来;PC13 可以当 GPIO 但翻转频率低,做 LED 没问题,用来驱动 WS2812 这类时序敏感的器件则不行。这些细节在 stm32 最小开发板 移植 lvgl 这类软件项目里不显眼,但硬件选型时省错一个引脚,后面就要飞线。
4.2 LED 与按键:用对 PA0/WKUP1 和 PC13
LED 驱动用低电平点亮,串 1k 限流电阻,接到 PC13。L4 的 PC13 输出驱动能力弱,灌电流远小于普通 GPIO,所以 LED 接法必须是「LED 正极接 3.3V、负极经电阻到 PC13」,不能像普通 GPIO 那样直接推挽驱动大电流负载。
按键接 PA0 到地,软件开内部上拉,外部加一颗 100nF 做硬件消抖。PA0 在低功耗模式里作为 WKUP1 唤醒引脚,外部电路只需要保证按下时产生一个从高到低的边沿即可。不要在 PA0 上并大电容,否则唤醒沿会被拉得很慢,Standby 模式下可能无法触发唤醒。
4.3 低功耗外设的电路预留
如果项目要在 Stop 模式下用串口唤醒或接收数据,L431 的 LPUART1 可以在 Stop 模式下由特定引脚触发。原理图上需要做两件事:一是把 LPUART1 的 TX/RX 引到排针,二是保证这两个引脚没有对地大电容,否则唤醒时边沿太缓,外设会漏判。
/* 基于 STM32CubeMX 生成的 LL 代码,API 名称以实际 SDK 版本为准 */ LL_LPUART_Enable(LPUART1); /* 使能 LPUART1 外设时钟 */ LL_LPUART_EnableInStopMode(LPUART1); /* 允许 Stop1 模式下继续接收 */ LL_PWR_SetPowerMode(LL_PWR_MODE_STOP1); /* 选择 Stop1 模式 */ LL_LPM_EnableDeepSleep(); /* 允许深度睡眠 */ __WFI(); /* 执行等待中断指令 */这里的关键是EnableInStopMode这一行,很多从 F1 迁移过来的代码没有它,导致板子在 Stop 模式下 LPUART 完全不工作。硬件侧只需要确认引脚复用到 LPUART1、排针上没有额外下拉电阻即可,原理图不需要为低功耗串口增加任何特殊器件。
5. mini 核心板 PCB 布局、上电验证与三个高频翻车点
5.1 双面板布局顺序与地平面
mini 核心板我做双面 1.6mm FR4,流程固定:LQFP64 居中,四周排针对称布置,SWD 座放在离 MCU 最近的板边,晶振位紧靠 OSC_IN/OUT,底下不走信号线。线宽信号 0.2mm、3.3V 主干 0.5mm,过孔 0.3mm 孔径配 0.6mm 焊盘,GND 整体铺铜。去耦电容和 MCU 同层,尽量不打过孔绕远,因为过孔会增加寄生电感,高频去耦能力会显著下降。和 esp32 开发板组成 那种要处理射频净空区的板子不同,mini 核心板没有天线区域,反而容易被忽略的是 LQFP64 引脚间出线和过孔密度,密集扇出时相邻网络间距过小会引入耦合噪声。
5.2 上电自检顺序:从短路测试到 SWD 连接
拿到板子先不插 SWD,按四步走:万用表蜂鸣档量 3.3V 与 GND 是否短路;上电看电流,无固件时正常应小于 10mA;量每个 VDD 引脚电压,应该在 3.28V 到 3.32V;最后接 SWD 用 STM32CubeProgrammer 读 ID,读到 0x435 说明最小系统活了。读不到 ID 时,先排除 3.3V 没到位,再查 BOOT0 是否被拉高。BOOT0 悬空时引脚噪声可能把芯片带进非预期启动模式,SWD 连接会被打断,这是 mini 核心板「上电能跑但连不上调试器」最常见的原因。
5.3 三个高频翻车点与示波器验证技巧
翻车点集中在三处:VDDA 悬空导致程序能跑、ADC 全乱;去耦电容放在 LQFP64 外圈远端导致高频抑制差、复位偶发死机;LSE 晶振负载电容与规格不匹配导致 32.768kHz 不起振。负载电容按 CL = (C1×C2)/(C1+C2) + Cstray 计算,Cstray 取 2 到 3pF 估算,结果应接近晶振规格书要求的值。验证技巧是用示波器同时抓 NRST 和 VDD 上电波形:VDD 爬升至 3.3V 后,NRST 应至少保持 1ms 低电平再释放,这是 L4 内部上电复位时序的一部分;如果 VDD 上升太慢或 NRST 释放太早,MCU 可能进入异常状态,排查方向先看 LDO 软启动时间和 NRST 的 100nF 电容是否偏小。如果 NRST 波形上出现 1ms 以上的毛刺或跌落,优先查 100nF 复位电容的焊盘和去耦走线位置,这是复位失败里最常见的物理原因。
本文还有配套的精品资源,点击获取