STM32开发笔记24:STM32L0低功耗设计

发布者:Delightful789最新更新时间:2019-07-13 来源: eefocus关键字:STM32  STM32L0  低功耗 手机看文章 扫描二维码
随时随地手机看文章

    这几篇日志将详细记录,自己应用stm32进行低功耗设计的全过程。


    使用芯片:STM32L053R8T6


    运行模式:


        Range 1:电源电压限制在1.71-3.6V,CPU最大运行频率为32MHz。


        Range 2:CPU最大运行频率为16MHz。


        Range 3:CPU最大运行频率4.2MHz


    低功耗模式:


        Sleep mode(睡眠模式)、Low-power run mode(低功耗运行模式)、Low-power sleep mode(低功耗睡眠模式)、Stop mode with RTC(带有RTC的停止模式)、Stop mode without RTC(不带RTC的停止模式)、Standby mode with RTC(带有RTC的旁路模式)、Standby mode without RTC(不带RTC的旁路模式)。


        在上述这些模式中功耗依次降低,具体值为:


            Sleep mode:37uA/MHz


            Low-power run mode:8uA


            Low-power sleep mode:4.5uA


            Stop mode with RTC:1uA


            Stop mode without RTC:0.4uA VDD=3.0V


            Standby mode with RTC:0.85uA VDD=3.0V


            Standby mode without RTC:0.29uA VDD=3.0V


        在上述这些模式中,使用时应注意以下几点:


            1、睡眠模式,在所有外设全部关闭的条件下,16MHz时,电流为1mA左右,这个数值相对自身的项目来说还是有些大;


            2、低功耗运行模式和低功耗睡眠模式,都限制了CPU的最大运行速度,如果CPU需要一直工作选择,该模式是比较合适的;


            3、停止模式,电流比较低,唤醒的方法也比较多;


            4、旁路模式,里面的RAM中的数据全部丢失,相当于复位重启。


        综上所述,停止模式是比较适合大部分项目的,我现在着手于选择停止模式,还完成后续的项目设计工作。


    Stop mode without RTC


        在停止模式时,RAM和寄存器中的数据全部保留。所有的时钟全部停止,包括PLL、MSI RC、HSI、LSI RC、HSE和LSE 。下图是我项目中用到的时钟的基本情况,仅使用了HSE和PLL。


      

        在stop运行模式时,一些具有唤醒功能的外设,当探索到唤醒条件时,能够使能HSI RC时钟。


        在stop运行模式时,电压稳压器处于低功耗模式。任何外部中断先,在3.5us的时间内即可唤醒器件,处理器将处理中断程序或执行后续代码。在STM32中,任何一个GPIO都可以设置为外部中断源,也就是说可以使用任何一个引脚的电平变化,来唤醒CPU。CPU也可以被USB/USART/I2C/LPUART/LPTIMER唤醒。


        在本项目中,我希望使用USART或者LPUART进行唤醒,在现阶段USART已经调通。


    项目结构


        项目的大体结构为:12V给线路板供电,使用DCDC稳压到5V给无线传输模块供电,使用低压差线性稳压芯片稳压为3.3V给STM32L053R8T6供电。无线模块与STM32采用串口连接,平时STM32进入stop模式,当有无线模块发送过来的数据时,唤醒STM32。


    当前功耗


        下面记录一下现阶段的功耗情况,后面慢慢加入。


        只焊接DCDC:232.7uA,此处说明DCDC在空载的情况下,功耗还是比较大的,我的项目限制于12V供电,所以没有太好的方法。如果不需要高电压,建议采用锂电池直接供电,这部分功耗就生下来了。


        DCDC两端加大电容:230uA,焊接电容后,由于仍然是空载状态,所以电路电流的下降是一个缓慢的过程,这和给电容的充电曲线是相符合的,最后停留在230uA左右,比不加电容还低3uA,这说明增加电容,可以增加DCDC的转换效率。


        简单程序正常运行:4.3mA,程序除了初始化相应的外设外,不进行任何逻辑操作。


        STM32处于STOP模式:236uA,板子上只有一个低压差的稳压芯片,没有焊接其它外设。


        STM32处于STOP模式(焊接无线模块):233uA,这个挺神奇的,当然我这个模块还没有进行软件设置,可是电已经供上了,表有问题?


关键字:STM32  STM32L0  低功耗 引用地址:STM32开发笔记24:STM32L0低功耗设计

上一篇:stm32中的i2c协议编程
下一篇:STM32低功耗状态的引脚配置

小广播
设计资源 培训 开发板 精华推荐

最新单片机文章
何立民专栏 单片机及嵌入式宝典

北京航空航天大学教授,20余年来致力于单片机与嵌入式系统推广工作。

换一换 更多 相关热搜器件

 
EEWorld订阅号

 
EEWorld服务号

 
汽车开发圈

电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2024 EEWORLD.com.cn, Inc. All rights reserved