1. 引言 STM32 L4 系列作为一款高性能的低功耗芯片,具有强大的运算处理性能和极低的运行和待机功耗,广泛应用于各种需要节能设备上。4 O9 l5 G" Z+ g% B 9 ?, [- |8 n# t9 ]. v9 c! k% y 2. 问题描述 客户使用 STM32L431 作为主控项目开发电子烟产品,使用了 ST 的 HAL 软件库开发。各种驱动功能正常。空闲时进入待机状态。 在研发阶段测试时一切正常,但是批量生产时发现产品无法进入低功耗或者说表现为耗电过大。3 L- y9 {, o: c$ R : n. [9 U5 v& o) i2 @ 3. 问题分析与定位* R7 W% T4 v, Y 首先查找软件设计本身,包括各种外设的配置以及进入低功耗前的各种处理,并未发现任何异常,随即简化软件在评估板上烧录代码,然后连接电流表,功耗一切正常。经过多次验证,每次都能进入低功耗。$ ^4 [; b6 H9 i3 D 这样看起来就非常奇怪了,客户的硬件也没什么特殊地方。后来再次检查客户的整个流程发现,客户的烧录和测试是一直带电的,因为是电子烟产品,上面的电池是一直连接的。设计调查实验发现,客户的产品只要经过一次断电过程,再次上电就全部正常。而我们平时因测试低功耗电流需求,通常都是去掉烧录器的连接,避免额外电流消耗,所以都经过了断电过程,没有发现任何异常。而这种带有电池的产品,才会有机会发现。基于生产效率和产品终身带电池的特殊性,进行断电工序很难,不利于大规模生产。5 x% W/ E9 {- C6 _ \0 ?1 G 那么问题来了,究竟是什么原因引起烧录完不能正常进入低功耗模式呢?带着问题进行查找原因。外设的查找比较容易,都是标准的并且简化掉了很多外设,那么会不会是传统外设之外的因素呢? 按照这个方向查找,想到了调试模块。 6 V: P& r2 O/ [" B8 s, y- J: b 7 P( u, ^) T) l- S- b" ? 进一步查看发现烧录器将 DBG_STOP 位置 1。如上图。 0 d/ F9 o, f' R6 Y4 l/ u % p! \" J1 N% h( Q 完整版请查看:附件 & D" ~! \9 H/ H' m5 l: _2 S & {2 Y. l" c- ]( m |
LAT1035 STM32L4进入低功耗异常的一种情形 _v1.0.pdf
下载466.04 KB, 下载次数: 1
基于STM32L4R9 的QuadSPI Flash 通讯速率不理想经验分享
STM32L4超低功耗功能概述
基于STM32L431RC Standby和RTC中断唤醒经验分享
基于STM32L431的睡眠模式经验分享
STM32L4R9 的 QuadSPI Flash 通讯速率不理想
STM32L4、STM32L4+和STM32G4系列 微控制器上的专利代码读取保护
STM32L433在STOP模式USART不能工作的解决办法
【实测教程】基于STM32L4系列的实测教程分享合集
STM32L4系列MCU的五种振荡器和使用说明
【实测教程】STM32CubeMX-STM32L4之研究串口通信(printf)