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模式下的功耗就正常了。显然,当开启内部温度传感器和内部参考电压通道后,会增加些功耗。它们的开启和关闭是单独操作的,这点需注意。

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

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

    关注

    456

    文章

    50892

    浏览量

    424316
  • STM32
    +关注

    关注

    2270

    文章

    10904

    浏览量

    356407
  • 函数
    +关注

    关注

    3

    文章

    4333

    浏览量

    62705

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

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

收藏 人收藏

    评论

    相关推荐

    如何实现EEPROM的低功耗模式

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

    stm32低功耗设计技巧

    STM32低功耗设计是综合性的工作,需要在硬件设计和软件设计两层面进行综合考虑和优化。以下是些关键的STM32
    的头像 发表于 11-19 15:52 500次阅读

    UWB模块的功耗分析

    UWB(超宽带)模块的功耗分析涉及多个方面,包括其影响因素、优化策略以及实际应用中的功耗表现。以下是对UWB模块功耗分析
    的头像 发表于 10-31 14:10 433次阅读

    物联网系统中TCP低功耗产品长连接状态下降低功耗功能的实现方案

    01  概述 TCP相关内容参考文章《物联网行业中TCP通信协议介绍以及如何实现》 02  功耗的组成 低功耗技术就是系列的降低功耗的技术。 在了解
    的头像 发表于 09-29 11:50 439次阅读
    物联网系统中TCP<b class='flag-5'>低功耗</b>产品长连接状态下降<b class='flag-5'>低功耗</b>功能的实现方案

    SD NAND SPI模式:如何实现低功耗运行

    最近,收到客户反馈,使用我们SD NAND过程中,使用SPI模式,对SD完成操作后,SD没有进入低功耗模式,未对SD进行任何操作的情况下测得的功耗仍在20mA左右。经过我们分析,发现SD进入
    的头像 发表于 09-02 11:06 480次阅读
    SD NAND SPI模式:如何实现<b class='flag-5'>低功耗</b>运行

    款4644芯片低功耗设计思路解析

    输出并联使用。 功耗是衡量芯片性能的重要指标,功耗越低,电子设备的续航时间越长,减少了散热问题,降低能耗。ASP4644单通道工作时,通过拉低RUN引脚使芯片进入关断模式,此时
    发表于 08-16 14:44

    国产蓝牙模组 | 低功耗蓝牙应用

    蓝牙技术联盟于2010年推出了蓝牙4.0规范,其中低功耗蓝牙的出现满足了小型电池供电设备进行低功耗无线连接的需求,因此得到广泛应用。本文章将带你深入了解低功耗蓝牙的应用。低功耗蓝牙简介
    的头像 发表于 06-14 08:25 533次阅读
    国产蓝牙模组 | <b class='flag-5'>低功耗</b>蓝牙应用

    CS32F03X低功耗Deepsleep应用配置

    本技术文档旨在帮助客户快速配置 MCU CS32F03x 低功耗模式。 Deepsleep 模式是应用较为广泛的低功耗模式,需要达到理想的低电流值,需要正确的配置 MCU 内部外设
    发表于 05-16 10:35

    上拉电阻如何实现低功耗设计

    上拉电阻有助于降低系统的总功耗,同时保持电路的功能性和稳定性。那么上拉电阻如何实现低功耗设计呢? 以下是上拉电阻实现低功耗设计的几种方法: 选择合适的上拉电阻值: 功耗与电阻值成反比关
    的头像 发表于 05-02 15:00 1019次阅读

    STM32L431低功耗进入异常的原因?

    各位大佬好,小弟在使用STM32L431单片机的时候遇到奇怪的问题,我用的是HAL库,当我下载完程序后如果不完全断电,单片机进不了低功耗,即使通过硬件复位现象也是样,但是只要我断
    发表于 04-09 07:03

    低功耗测试神器——合宙精密电流分析仪Air9000正式发布

    随着技术发展的日新月异,曾是环保概念的“低功耗”,如今几乎成了评估电子产品/应用方案硬核实力的必要因素。测电流,测底电流;测功耗,测低功耗;测底电流动态变化的低功耗……以往,多数企业要
    的头像 发表于 02-19 12:27 3879次阅读
    <b class='flag-5'>低功耗</b>测试神器——合宙精密电流<b class='flag-5'>分析</b>仪Air9000正式发布

    低功耗蓝牙技术的特点 低功耗蓝牙如何实现低功耗

    低功耗蓝牙技术是种优化的蓝牙技术,专为满足低功耗需求而设计。它通过采用系列节能措施和技术,实现了更低的功耗消耗,延长了设备的续航时间。
    的头像 发表于 02-07 16:49 2125次阅读

    ESP32-S3模组是怎么配置低功耗模式的?低功耗模式下功耗大概是多少?

    经常有人问S3模组是怎么配置低功耗模式的?低功耗模式下功耗大概是多少?下面小启就跟大家讲下S3模组低功耗情况。01ESP32S3系列模组三种低功耗
    的头像 发表于 01-26 08:03 4443次阅读
    ESP32-S3模组是怎么配置<b class='flag-5'>低功耗</b>模式的?<b class='flag-5'>低功耗</b>模式下<b class='flag-5'>功耗</b>大概是多少?

    X态传播在低功耗验证中的作用

    随着科技的发展和智能化设备的普及,我们对于高效能、低功耗的半导体设备需求愈加强烈,对低功耗仿真的需求成指数级增长。X态传播分析低功耗仿真的重要部分,但其作用往往会被低估。
    的头像 发表于 01-24 09:34 768次阅读
    X态传播在<b class='flag-5'>低功耗</b>验证中的作用

    stm低功耗单片机推荐

    在选择低功耗单片机时,有许多不同的选择可供考虑。本文将详细介绍些流行的低功耗单片机,并提供其特点、应用领域和优点。 Nordic Semiconductor nRF51822: Nordic
    的头像 发表于 01-08 14:43 1298次阅读