0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

一个低功耗应用的案例分析

茶话MCU 来源:ST MCU 信息交流 2020-06-15 09:27 次阅读
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

‍‍‍STM32用户反馈,他使用STM32L031芯片开发产品遇到低功耗异常的问题。

基本软硬件及开发环境如下:

硬件:STM32L031、外部晶振32.768

软件:STM3CUBE、MDK5、HAL库

他在产品中用到了STOP低功耗模式。在让芯片进入STOP之前,先关闭了ADC外设。

代码是这样的:

HAL_ADC_DeInit‍(&hadc);

HAL_PWR_EnterSTOPMode(‍‍PWR_LOWPOWERREGULATOR_ON,PWR_STOPENTRY_WFI);

他发现按照上述操作进入STOP模式后的功耗,比开机时不开启ADC模块时的功耗要大,而且发现在进STOP之前,有没有HAL_ADC_DeInit()这一句,对功耗没有任何影响。

稍微整理下,现在的具体情况是这样的:

芯片复位后,不初始化ADC外设、不启用ADC相关功能,进stop后芯片功耗为2.6uA。

如果复位后初始化ADC,进入stop之前做了HAL_ADC_DeInit(&hadc)操作,功耗则为18uA。客户好奇的是,他认为执行了HAL_ADC_DeInit()命令行,也就相当于关闭了ADC外设,进入STOP模式后功耗也应该是2.6左右。事实上差别怎么这么大呢?

难道HAL_ADC_DeInit()没有关闭ADC外设的作用?如果这样,如何在进STOP前关闭ADC外设呢?

其实,HAL_ADC_DeInit(&hadc)的功能只是将ADC模块本身及相关寄存器恢复成复位初状态下的默认值,并不是用来关闭ADC外设模块的。如果使用STM32库函数的话,我们可以调用下面函数关闭ADC外设时钟以停止其功能运行。

__HAL_RCC_ADC1_CLK_DISABLE() ;

可是,当客户在进STOP前将HAL_ADC_DeInit(&hadc)换成__HAL_RCC_ADC1_CLK_DISABLE()后,发现功耗并无明显变化,依旧是18uA左右。那是怎么回事呢?

建议客户在让芯片进入STOP前确保没有其它浮空脚存在或可能产生漏电流地方,做各个管脚的硬件确认。经过检查,客户在应用线路上并没有发现什么可疑的地方。

经过进一步地沟通了解,客户使用ADC模块并未对外部信号进行采样,只是对两个内部信号进行采样。即对内部温度和内部的参考基准电压进行采样转换。

现在的情况是,只要芯片复位后不做任何有关ADC的初始化,当然也包括不对上述两个内部信号的采样转换做使能配置,此时功耗就能相对明显地降下去。难道这个功耗降不下去跟开启这两个内部信号的AD转换有关?

循着这个思路,进一步查看STM32L0的参考手册有关内部温度传感器和内部基准参考电压的章节。我们可以发现要对这两个内部信号进行AD采样的话,有专门的针对这两个模块及对应通道的‍开启使能操作,换句话说,这两个内部模块并不属于ADC外设模块。当开启这两个模块后,简单地关闭ADC外设是没法对二者进行关闭的。

结合库代码我们也可以看到针对这两个内部信号的使能指令,即下图中红色圆圈圈出来的代码。

研究到这里,基本可以大致估测到可能是因为开启了这两个内部模块后,带来了额外的功耗。客户在让芯片进STOP之前,即使关闭了ADC外设时钟,如果没有进一步关闭这两个地方,二者产生的功耗依然存在。

于是,建议客户在让芯片进STOP之前,除了关闭ADC外设时钟外,将开启过的内部温度传感器通道和内部参考电压通道实施关闭操作。即让客户运行如下两行代码:

ADC->CCR &=(~ADC_CCR_TSEN); // Turn Off TemperatureChannel

ADC->CCR &=(~ADC_CCR_VREFEN); // Turn Off VrefintChannel

客户在进STOP前添加上面两行代码后,STOP模式下的功耗就正常了。显然,当开启内部温度传感器和内部参考电压通道后,会增加些功耗。它们的开启和关闭是单独操作的,这点需注意。

当我们在调试过程中遇到类似问题时先不要着急,尽量结合手册和库代码一步步找原因,或许很快可以拨云见日。

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 芯片
    +关注

    关注

    462

    文章

    53581

    浏览量

    459599
  • STM32
    +关注

    关注

    2305

    文章

    11124

    浏览量

    371278
  • 函数
    +关注

    关注

    3

    文章

    4406

    浏览量

    66874

原文标题:一个低功耗应用的案例分析

文章出处:【微信号:stmcu832,微信公众号:茶话MCU】欢迎添加关注!文章转载请注明出处。

收藏 人收藏
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

    评论

    相关推荐
    热点推荐

    什么是低功耗设计,如何评估低功耗MCU性能?

    一个细节来考虑降低功率消耗,从而尽可能地延长电池使用时间。 因此,大部分芯片都会有低功耗模式。从MCU端来讲,低功耗的MCU性能般有以下几个参数指标来衡量: ·MCU处于深度休
    发表于 12-12 07:43

    L083最低功耗是多少,应该如何进行低功耗设计?有哪些注意事项?

    L083最低功耗是多少,应该如何进行低功耗设计?有哪些注意事项?
    发表于 11-12 07:29

    RTT支持低功耗应用吗?

    RTT支持低功耗应用吗?哪个版本更适合用来做低功耗的项目?选标准版,nano,还是smart好?谢谢
    发表于 10-13 07:59

    代nRF54L系列:进步降低功耗

    谈到nRF54L系列,22 nm工艺节点在降低功耗方面发挥了定的作用,但功耗改进主要源于这无线 SoC/MCU的设计对系统级功耗的全面审慎处理。凭借积累了数十年的
    的头像 发表于 06-19 18:29 661次阅读

    低功耗低功耗前端模块,适用于蓝牙®范围扩展应用 skyworksinc

    电子发烧友网为你提供()低功耗低功耗前端模块,适用于蓝牙®范围扩展应用相关产品参数、数据手册,更有低功耗低功耗前端模块,适用于蓝牙®范围扩展应用的引脚图、接线图、封装手册、中文资料
    发表于 06-06 18:30
    <b class='flag-5'>低功耗</b>、<b class='flag-5'>低功耗</b>前端模块,适用于蓝牙®范围扩展应用 skyworksinc

    低功耗低功耗前端模块,适用于蓝牙®信号范围扩展应用 skyworksinc

    电子发烧友网为你提供()低功耗低功耗前端模块,适用于蓝牙®信号范围扩展应用相关产品参数、数据手册,更有低功耗低功耗前端模块,适用于蓝牙®信号范围扩展应用的引脚图、接线图、封装手册、
    发表于 06-06 18:30
    <b class='flag-5'>低功耗</b>、<b class='flag-5'>低功耗</b>前端模块,适用于蓝牙®信号范围扩展应用 skyworksinc

    低功耗蓝牙网关在智慧工地上的使用

    智慧工地上的,人员管理、定位的解决,直以来都是很重要的方面。 采用低功耗蓝牙网关xGateway-A111 与标签 xbeacon-S 的方式,是
    发表于 05-27 14:08

    蓝牙低功耗模块的原理和应用介绍

    随着物联网技术的快速发展,蓝牙低功耗模块在连接各种设备和传输数据方面发挥着重要作用。今天将为您介绍蓝牙低功耗模块的工作原理以及其广泛的应用领域。 蓝牙低功耗模块的原理 蓝牙低功耗模块是
    的头像 发表于 05-21 15:56 923次阅读

    电机温度监测系统低功耗无线节点模块设计

    提出了种用于电机温度监测系统的无线数据收发节点模块设计方案,利用LPC1114的省电耗模式配合Si4432集成芯片实现无线收发模块的低功耗。另外,针对模块硬件实现RF前端高频电路设计和前期仿真做出
    发表于 04-30 00:42

    每月课:带你认识低功耗石英晶振

    低功耗石英晶体振荡器是种专为低功耗应用设计的晶体振荡器,其核心目标是在保证频率稳定性的同时,最大限度地降低功耗。SCTF低功耗石英晶振工作
    的头像 发表于 04-29 17:06 644次阅读
    每月<b class='flag-5'>一</b>课:带你认识<b class='flag-5'>低功耗</b>石英晶振

    关于低功耗蓝牙连接功耗的评估

    关于低功耗蓝牙连接状态下的功耗评估,推荐好用的工具: 对于做低功耗蓝牙开发的小伙伴来说,功耗
    发表于 04-26 17:10

    蜂窝物联网的超低功耗特性

    针对低功耗进行优化的蜂窝物联网 革命性的蜂窝解决方案: 无与伦比的电源效率 要打造卓越的蜂窝物联网产品,低功耗不可或缺的因素。凭借我们在制造屡获殊荣的超
    的头像 发表于 04-07 14:57 849次阅读

    BLE低功耗蓝牙 ch592f新增seriver的例程

    BLE低功耗蓝牙 ch592f新增seriver的例程
    发表于 03-30 02:04

    低功耗处理器的优势分析

    随着科技的飞速发展,电子设备的种类和数量不断增加,人们对设备的能效要求也越来越高。低功耗处理器因其在节能、环保和成本效益方面的优势而受到广泛关注。 低功耗处理器的定义 低功耗处理器是指在设计时
    的头像 发表于 02-07 09:14 1816次阅读

    如何实现EEPROM的低功耗模式

    内容进行擦除和重写。在许多应用中,尤其是在电池供电的设备中,低功耗模式对于延长设备的使用寿命至关重要。以下是实现EEPROM低功耗模式的些方法: 1. 选择合适的EEPROM类型 选择功耗
    的头像 发表于 12-16 16:54 1432次阅读