2367|0

2014

帖子

0

TA的资源

纯净的硅(中级)

楼主
 

低功耗STM32L151+RTC唤醒应用总结 [复制链接]

    该文档是本人做一个睡眠+RTC唤醒的低功耗项目总结心得,如有出入请指出。

  STM32L提供5种低功耗模式:低功耗运行模式、睡眠模式、低功耗睡眠模式、停止模式、待机模式。

 

  待机模式电流最低,但是待机模式时MCU处于不受控制的状态,所有的IO都工作在高阻抗的状态下,只有几个专用的引脚能够将mcu唤醒,而且每次唤醒相当于系统复位,RAM中的数据全部丢失,在有外部器件连接的情况下,器件引脚可能会吸收大量的电流,反而达不到低功耗要求。所以最好别用待机模式。

   待机模式时MCU有一些缺点,就选择了停止模式。停止模式的功耗仅次于待机模式。在STOP模式下,PLL、HSI、HSE都被停止,RAM和寄存器的值保留。

 

   网上有些开发经验说,外部器件能用IO口供电的就尽量用IO口供电,在stop模式下,CPU的IO口的状态是保持的,这样外围器件的供电开关很容易控制。像外部存储芯片可以用IO口供电。有些外围芯片不适合用IO口供电的,像有些射频芯片,因为这些射频芯片上电启动要相当长的时间。(此经验未验证)

   如果MCU外围有器件连接,且没有用IO供电,一定要将CPU与器件相连的IO口设置成适当的模式,否则这些引脚可能会吸收很大的电流。ST公司给的例程中建议设置成模拟输入,但是我MCU的IO口都设置成模拟输入功耗达不到理想要求。经过多次实验,总结为没有用到的IO口设置为模拟输入,有用到MCU的IO口要根据外围器件在MCU处于停止状态时的电平。外围器件高时,MCU在进入停止状态时,就设置输出模式,电平为高,反之设置为低。所以产品说明书中应该要注明当模块设置为休眠状态时,各个引脚的电平,客户如果用产品做二次开发时,他们自己MCU跟产品对接的IO电平要一致。

   RTC唤醒时,在RTC中断中要清除一下标志; 在官方网的例子RTC唤醒时,RTC中断函数中没有清除唤醒标志位。调试分析:刚开始用官方例子时调试待机模式+RTC定时唤醒时,第一次进入RTC时功耗为3.多uA,第二次进入RTC时就5.8uA左右,以后都是5.8左右uA。每次进入RTC的初始化时一样,所以当时就觉得可能是在第一次退出RTC时,哪里没有处理好,经过多次调试,清除了唤醒标志位后,功耗就降下来。

 
点赞 关注

回复
举报
您需要登录后才可以回帖 登录 | 注册

猜你喜欢
随便看看
查找数据手册?

EEWorld Datasheet 技术支持

相关文章 更多>>
关闭
站长推荐上一条 1/10 下一条
Microchip 直播|利用motorBench开发套件高效开发电机磁场定向控制方案 报名中!
直播主题:利用motorBench开发套件高效开发电机磁场定向控制方案
直播时间:2025年3月25日(星期二)上午10:30-11:30
快来报名!

查看 »

 
EEWorld订阅号

 
EEWorld服务号

 
汽车开发圈

 
机器人开发圈

About Us 关于我们 客户服务 联系方式 器件索引 网站地图 最新更新 手机版

站点相关: 国产芯 安防电子 汽车电子 手机便携 工业控制 家用电子 医疗电子 测试测量 网络通信 物联网

北京市海淀区中关村大街18号B座15层1530室 电话:(010)82350740 邮编:100190

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