STM32L4单片机无法进入低功耗模式的原因及解决方法

发布时间:2023-09-07  

1.引言

STM32 L4 系列作为一款高性能的低功耗芯片,具有强大的运算处理性能和极低的运行和待机功耗,广泛应用于各种需要节能设备上。

2. 问题描述

客户使用 STM32L431 作为主控项目开发电子烟产品,使用了 ST 的 HAL 软件库开发。各种驱动功能正常。空闲时进入待机状态。在研发阶段测试时一切正常,但是批量生产时发现产品无法进入低功耗或者说表现为耗电过大。

3. 问题分析与定位

首先查找软件设计本身,包括各种外设的配置以及进入低功耗前的各种处理,并未发现任何异常,随即简化软件在评估板上烧录代码,然后连接电流表,功耗一切正常。经过多次验证,每次都能进入低功耗。


这样看起来就非常奇怪了,客户的硬件也没什么特殊地方。后来再次检查客户的整个流程发现,客户的烧录和测试是一直带电的,因为是电子烟产品,上面的电池是一直连接的。设计调查实验发现,客户的产品只要经过一次断电过程,再次上电就全部正常。而我们平时因测试低功耗电流需求,通常都是去掉烧录器的连接,避免额外电流消耗,所以都经过了断电过程,没有发现任何异常。而这种带有电池的产品,才会有机会发现。基于生产效率和产品终身带电池的特殊性,进行断电工序很难,不利于大规模生产。


那么问题来了,究竟是什么原因引起烧录完不能正常进入低功耗模式呢?带着问题进行查找原因。外设的查找比较容易,都是标准的并且简化掉了很多外设,那么会不会是传统外设之外的因素呢?


按照这个方向查找,想到了调试模块。

d3b054d6-0359-11ed-ba43-dac502259ad0.png

进一步查看发现烧录器将 DBG_STOP 位置 1。如上图。

d3c8b454-0359-11ed-ba43-dac502259ad0.png

如手册所描述,如果该位被置位的话,那么在低功耗下时钟并没有关闭,并且可以继续执行代码,所以芯片不能进入低功耗模式。于是对应的解决办法也出来了,进入低功耗前增加语句清除代码即可。

4. 问题解决

找到了线索后,针对问题解决起来就不复杂了,简单说,打一个补丁。

d3e37172-0359-11ed-ba43-dac502259ad0.png

从调试界面上看,增加一句清除该位的函数即可禁止在低功耗模式下的调试功能,进而解决该问题。实际测量不需要断电也可正常进入期望的低功耗模式。


小结

由于低功耗调试位被置 1,引起超低功耗芯片 STM32L431 在不断电情况下不能正常进入低功耗模式,引起电流偏大。由于该产品特殊,从生产一直到用户手中,产品始终与电池连接(固定),才有可能导致此类问题发生,需要早研发阶段软件增加补丁的方式解决,使产品生产不用增加工序。


另外,笔者使用的 STM32 ST-LINK Utility 工具会引起该问题,而另一款常用的烧录软件 STM32CubeProgrammer v2.7.0 并未发现此问题,因此与用户采用的烧录软件有直接关系。市面上支持 STM32 低功耗产品烧录软件很多,如遇到此类问题,可以参考以上方式查找原因是否一致。


文章来源于:电子工程世界    原文链接
本站所有转载文章系出于传递更多信息之目的,且明确注明来源,不希望被转载的媒体或个人可与我们联系,我们将立即进行删除处理。

相关文章

    单片机低功耗几点内容;有做过低功耗产品开发的读者都应该知道,一个产品的功耗不光是硬件功耗的事,其实软件也是影响整个产品功耗的一个关键因素。 我之前也开发过几款使用电池供电的产品,调试起来,那叫......
    关于stm32单片机低功耗的实现和唤醒;最近做的项目中要求低功耗,在单片机完成了手头上的工作之后,就进入低功耗模式,项目的需求是单片机进入低功耗模式的时候系统时钟从HSE切到HSI,但是在未进入低功耗模式......
    详解STM32三种低功耗模式;01前言 按功耗由高到低排列,STM32 具有运行、睡眠、停止和待机四种工作模式。上电复位后 STM32 处于运行状态,当内核不需要继续运行,就可以选择进入后面的三种低功耗模式降低功耗......
    单片机如何进入低功耗;如何进入低功耗模式比较简单,HAL库为我们封装好了对应的函数,我们只需要调用即可。简单来看下各种模式的函数接口,在stm32g0xx_hal_pwr.c文件中。 首先是几种低功耗模式......
    电压相同,但是功耗不同。 stm32f103c8t6在低功耗模式下最低1.7uA,频率每增加1MHZ,功耗会增加373uA。 stm32f103VET6在低功耗模式下最低1.9uA,频率每增加1MHZ,功耗......
    印调试信息,或者在低功耗模式下唤醒目标设备。 SWD接口在高速大数据传输情况下,整体性能比JTAG更好,因为它使用了更高效的数据包格式和错误检测机制。 SWD接口的缺点是它只能用于ARM内核的单片机,而......
    再探【B-U585I-IOT02A】开发板:低功耗测试;B-U585I-IOT02A开发板主控采用的微控制器是 STM32U5,一款主打超低功耗的M33内核单片机,以超低功耗作为特色,本文......
    和提高产品的续航时间就显得尤为重要 目前针对STM32F103C8T6等系列单片机而言,比较常用的低功耗模式是停止模式和待机模式。 当使用待机模式时,在实际应用中,通常会有一个开关机的按键(PA0),如果用户按下按键的话,就会......
    运行频率可达72MHz,具有单周期乘法和硬件除法等高级功能,能够满足各种高性能应用的需求。 低功耗:STM32单片机具有多种低功耗模式,如睡眠模式、停止模式和待机模式等,能够在低功耗应用中实现长时间的工作。 丰富......
    -D01内置A/D转换电路,既便于用户开发设计,又减轻了设计系统的重量和电路的繁琐,符合当前传感器的使用要求。 高精度模式下测量时。分辨率为1.5 Pa~6 Pa,约0.1 m~0.4 m;在超低功耗模式......

我们与500+贴片厂合作,完美满足客户的定制需求。为品牌提供定制化的推广方案、专属产品特色页,多渠道推广,SEM/SEO精准营销以及与公众号的联合推广...详细>>

利用葫芦芯平台的卓越技术服务和新产品推广能力,原厂代理能轻松打入消费物联网(IOT)、信息与通信(ICT)、汽车及新能源汽车、工业自动化及工业物联网、装备及功率电子...详细>>

充分利用其强大的电子元器件采购流量,创新性地为这些物料提供了一个全新的窗口。我们的高效数字营销技术,不仅可以助你轻松识别与连接到需求方,更能够极大地提高“闲置物料”的处理能力,通过葫芦芯平台...详细>>

我们的目标很明确:构建一个全方位的半导体产业生态系统。成为一家全球领先的半导体互联网生态公司。目前,我们已成功打造了智能汽车、智能家居、大健康医疗、机器人和材料等五大生态领域。更为重要的是...详细>>

我们深知加工与定制类服务商的价值和重要性,因此,我们倾力为您提供最顶尖的营销资源。在我们的平台上,您可以直接接触到100万的研发工程师和采购工程师,以及10万的活跃客户群体...详细>>

凭借我们强大的专业流量和尖端的互联网数字营销技术,我们承诺为原厂提供免费的产品资料推广服务。无论是最新的资讯、技术动态还是创新产品,都可以通过我们的平台迅速传达给目标客户...详细>>

我们不止于将线索转化为潜在客户。葫芦芯平台致力于形成业务闭环,从引流、宣传到最终销售,全程跟进,确保每一个potential lead都得到妥善处理,从而大幅提高转化率。不仅如此...详细>>