STM32L4S5ZI与SGM61103的低功耗电源系统设计
📅 2026/7/5 7:44:38
👁️ 阅读次数
📝 编程学习
1. 项目背景与硬件选型解析
在嵌入式系统设计中,电源管理模块往往是最容易被忽视却又至关重要的部分。这次我选用STM32L4S5ZI微控制器搭配171010550(经查证应为SGM61103)DC-DC降压芯片搭建电源系统,主要解决低功耗设备中高效电能转换的痛点。STM32L4S5ZI作为ST的Ultra-low-power系列MCU,其动态运行功耗可低至37µA/MHz,但传统的LDO供电方案在电压转换时会产生大量热损耗,严重制约电池续航能力。
SGM61103这颗芯片的三大特性完美匹配需求:
- 采用先进的AHP-COT(Adaptive Hysteretic Pulse-width modulation with Constant On-Time)控制拓扑
- 3V-17V宽输入范围覆盖常见电池/适配器场景
- 28µA超低静态电流比同类产品低30%
实测对比数据更说明问题:当输入12V转3.3V/100mA输出时,传统LDO效率仅27.5%,而SGM61103方案可达89%。这意味着在IoT设备中,同样2000mAh的纽扣电池续航可从7天延长至23天。
2. 电路设计与关键参数计算
2.1 典型应用电路搭建
根据手册推荐搭建的电路包含六个核心部分:
- 输入滤波网络:10µF陶瓷电容(CIN)并联1µF高频电容,距芯片<5mm
- 功率电感选型:按公式L=(VIN-VOUT)×D/(ΔIL×fSW)计算
- 取fSW=1MHz, ΔIL=30%IOUT
- 12V转3.3V时求得L=4.7µH(选用TDK VLS252010ET-4R7M)
- 输出电容配置:COUT=10µF+100nF组合降低ESR
- 反馈分压电阻:RTOP=100kΩ, RBOT=30.1kΩ(VOUT=0.8×(1+RTOP/RBOT))
- EN引脚配置:通过100k电阻上拉到VIN实现自启动
- 散热处理:在TDFN封装底部预留2×2mm铺铜区
2.2 COT控制模式的特殊处理
与传统PWM不同,AHP-COT拓扑需要特别注意:
- 最小导通时间tON(min)=100ns限制最低输入电压
- 轻载时会自动切换为PFM模式,此时需确保COUT足够小(<22µF)以避免振荡
- 布局时SW节点面积要最小化,我的实测显示SW走线长5mm就会增加15mV纹波
3. STM32L4S5ZI的协同设计
3.1 动态电压调节实现
利用MCU的DAC输出控制SGM61103反馈网络,实现运行时电压调整:
// 配置DAC通道(PA4) void PWR_DynamicAdjust(float voltage) { HAL_DAC_Start(&hdac1, DAC_CHANNEL_1); uint32_t dac_value = (voltage/0.8 - 1) * 30100 / 100000 * 4095; HAL_DAC_SetValue(&hdac1, DAC_CHANNEL_1, DAC_ALIGN_12B_R, dac_value); }这种设计特别适合需要动态功耗管理的场景,比如传感器节点在采集间隔可降低核心电压至1.8V。
3.2 电源状态监控方案
通过连接SGM61103的PG引脚到MCU中断引脚,实现异常检测:
- 配置EXTI下降沿触发
- 故障处理中先切换备用电源再排查
void HAL_GPIO_EXTI_Callback(uint16_t GPIO_Pin) { if(GPIO_Pin == PWR_GOOD_Pin){ SwitchToBackupLDO(); DebugPowerFailure(); } }4. 实测性能优化记录
4.1 效率提升技巧
通过三阶段优化将峰值效率从86%提升至93%:
- 电感选型:将铁氧体电感更换为金属合金材质(如Würth WE-PD系列),高频损耗降低40%
- 开关节点处理:在SW与GND间添加4.7pF电容吸收振铃
- 布局改进:采用星型接地,功率地与信号地单点连接
4.2 典型问题排查案例
遇到输出电压波动±5%的异常:
- 用示波器捕获SW波形发现占空比抖动
- 检查反馈网络发现RTOP电阻采用0805封装存在寄生电感
- 更换为0603封装并缩短走线后恢复稳定
关键教训:COT架构对反馈网络布局极其敏感,建议使用0402封装电阻直接连接FB引脚
5. 进阶应用:多电源域管理
基于STM32L4S5ZI的智能电源架构:
- 主控域:3.3V/100mA由SGM61103供电
- 射频域:2.5V/50mA通过SGM61103+MOSFET扩展
- 传感器域:1.8V/10mA使用MCU内置LDO 通过RTC唤醒定时器周期切换供电模式:
void EnterLowPowerMode(void) { PWR_DynamicAdjust(1.8); // 降压 HAL_PWREx_ControlVoltageScaling(PWR_REGULATOR_VOLTAGE_SCALE3); HAL_PWR_EnterSTOPMode(PWR_LOWPOWERREGULATOR_ON, PWR_STOPENTRY_WFI); }这种设计使设备在待机时整体功耗降至15µA以下。
编程学习
技术分享
实战经验