STM32 LSE 不起振排查指南:五大核心原因与快速解决方案
STM32 的 LSE(32.768kHz 低 - speed 外部[晶振](https://www.eefocus.com/baike/484896.html))是 RTC 时钟的核心来源,不起振问题主要源于晶振选型、[电路设计](https://www.eefocus.com/design/)、软件配置、备份域复位异常或硬件损坏,需按 “选型→电路→软件→复位→硬件” 的顺序排查,即可高效定位问题。### 资料获取:(https://shequ.stmicroelectronics.cn/thread-642668-1-8.html)
## 1. 核心概述
LSE 的典型应用电路由 (https://www.eefocus.com/e/1604036.html) 内置[放大器](https://www.eefocus.com/tag/%E6%94%BE%E5%A4%A7%E5%99%A8/) / 反[馈电](https://www.eefocus.com/baike/1469049.html)阻、外部晶振、负载[电容](https://www.eefocus.com/baike/1521588.html)(CL1/CL2)、可选[限流电阻](https://www.eefocus.com/baike/519049.html)(Rext)组成,(https://www.eefocus.com/e/1606711.html) [寄生电容](https://www.eefocus.com/baike/1516649.html)(Cs)会直接影响实际负载电容值。不起振本质是 “晶振与 MCU 驱动不匹配”“电路参数偏离设计值”“软件配置错误” 或 “硬件异常” 导致振荡条件不满足。
## 2. 核心原因与排查方案
### 2.1 晶振选型不当(根源性原因)
晶振与 MCU LSE 驱动能力不匹配,是最常见的起振失败原因。
* 关键参数匹配:
* 跨导计算:晶振需满足`gmcrit < MCU驱动能力参数`,其中`gmcrit = 4×ESR×(2πF)²×(C0+CL)²`(ESR = 晶振等效串联电阻,C0 = 晶振[并联](https://www.eefocus.com/baike/1596647.html)电容,CL = 标称负载电容,F=32.768kHz);
* MCU 驱动参数:旧系列(如 F103)提供`gm`,需满足`gm/gmcrit ≥5`;新系列(如 H5、U5)提供`Gmcritmax`,需满足`gmcrit < Gmcritmax`;
* 驱动等级:新系列支持 LSEDRV 配置(低 / 中低 / 中高 / 高驱动),需根据晶振 ESR 调整。
### 2.2 电路参数设计不合理
外部电路参数偏离晶振要求,导致振荡条件不满足。
* Rext 电阻问题:
* 仅当晶振 Drive Level 超限时需添加 Rext,否则设为 0Ω;Rext 过大将导致驱动[电流](https://www.eefocus.com/tag/%E7%94%B5%E6%B5%81/)不足,无法起振;
* 负载电容偏差:
* 实际负载电容`CL = (CL1×CL2)/(CL1+CL2) + Cs`(Cs 为 PCB 寄生电容),需与晶振标称 CL 匹配;过大 / 过小会导致频率偏移或停振;
* 优化建议:晶振与 MCU 尽量贴近布局,减少寄生电容;
* 反馈电阻误用:
* 仅 STM32F1 系列(恶劣环境)需额外并联 16\~22MΩ 反馈电阻(配合内置 5MΩ 电阻);其他系列禁止添加,否则会改变反馈特性。
### 2.3 软件配置错误
软件配置时序或参数不当,导致 LSE 无法正常启动。
* 驱动等级配置时序:
* 必须在启动 LSE(RCC\_LSE\_ON)之前配置驱动等级(如`HAL_RCC_LSEDRIVE_CONFIG`),否则配置无效;
* 禁用驱动模式坑:
* 部分系列(如 STM32H5、U5)的低驱动模式(LSEDRV=00)被禁用,CubeMX 默认配置可能为低驱动,需手动改为中高 / 高驱动。
### 2.4 备份域复位异常(易忽略点)
VBAT 供电场景下,备份域未有效复位导致逻辑错乱。
* 异常场景:
* VBAT 电压振荡(焊接 / 电池耗电)或未低于 100mV 达 200ms 以上,备份域无法自动复位;NRST 复位仅作用于 (https://www.eefocus.com/tag/VDD/) 域,不影响备份域;
* 解决方案:
* 程序初始化阶段添加软件复位备份域代码:
```c
HAL_PWR_EnableBkUpAccess(); // 允许访问备份域
HAL_RCC_BACKUPRESET_FORCE(); // 强制复位备份域
HAL_RCC_BACKUPRESET_RELEASE(); // 释放复位
HAL_RCC_LSEDRIVE_CONFIG(RCC_LSEDRIVE_MEDIUMHIGH); // 配置驱动等级
```
### 2.5 硬件损坏(不可逆原因)
焊接或使用过程中导致 LSE 相关 IO 损坏。
* 损坏原因:
* 焊接时静电未防护、[电烙铁](https://www.eefocus.com/baike/1545822.html)漏电,击穿 OSC\_IN/OSC\_OUT [引脚](https://www.eefocus.com/tag/%E5%BC%95%E8%84%9A/);
* 检测方法:
1. 配置 LSE 相关 IO 为模拟模式;
2. 通过[电流表](https://www.eefocus.com/baike/515548.html)将 IO 连接到 MCU VDD,测量[漏电流](https://www.eefocus.com/baike/1608024.html);
* 判断标准:正常漏电流为 nA 级,若超过 1μA 则 IO 已损坏。
## 3. 快速排查流程(按优先级排序)
1. 软件排查:先执行备份域软件复位,重新配置 LSE 驱动等级(中高驱动),启动 LSE 后等待稳定(建议延时 1\~2 秒);
2. 晶振选型复查:核对 gmcrit 计算值与 MCU 驱动参数匹配性,替换已知正常的 LSE 晶振测试;
3. 电路检查:测量 CL1/CL2 容值、Rext 是否合理,检查晶振与 MCU 布局是否贴近;
4. 硬件检测:测量 LSE IO 漏电流,判断是否损坏。
STM32 LSE 不起振的排查核心是 “先软件后硬件,先选型后电路”,重点关注晶振跨导匹配、驱动等级配置时序和备份域复位,多数问题可通过软件配置调整或电路参数优化解决,硬件损坏需更换 MCU 或板卡。
页:
[1]