查看: 2122|回复: 4

[分享] LPC ALL: 为什么我测到的低功耗电流和手册不一样?

[复制链接]

该用户从未签到

656

主题

6312

帖子

0

超级版主

Rank: 8Rank: 8

积分
19943
最后登录
2024-4-19
发表于 2020-8-26 10:38:42 | 显示全部楼层 |阅读模式
本帖最后由 小恩GG 于 2020-8-26 10:48 编辑

  不断降低集成电路的功耗是集成电路发展过程中永不改变的主题。降低功耗,有利于节约能源,延长待机时间,降低产品热量… … 毋庸多言,低功耗已经成为衡量产品优略的重要指标之一。

  NXP官方通常推荐刚刚接触LPC芯片的客户参考MCUXpresso SDK 自带的 power_mode_switch_lpc例程作为参考代码。使用这一经典例程,客户可以用串口终端控制MCU进入四种低功耗模式:睡眠模式(Sleepmode),深度睡眠模式( Deep Sleep mode),掉电模式(Power Down mode)和深度掉电模式(deep power down mode)。同时,用户还可以通过串口设置选择多种唤醒方式实现MCU的唤醒。

  然而,我们经常有客户询问,官方提供的power_mode_switch_lpc例程测到的低功耗掉数值和数据手册标称的有不少出入。例如用LPCXpresso845MAX 测试,在掉电模式(Power Down mode)下,如果没有断掉调试器,自测板子电流值可达到100uA左右, 而收据手册标称掉电模式下的典型电流值1.5uA,最大电流值10uA(见下图)。这是哪里出了问题?
1.jpg

power_mode_switch_lpc例程的目的是为了给客户演示LPC的几种低功耗模式及多种唤醒方式。下面我们来一步步演示并修改该例程以得到收据手册的标称值。

实验环境:
DemoBoard: LPCXpresso845MAX
SDK:SDK_2.8.0_LPCXpresso845MAX
Demo Code:power_mode_switch_lpc
IDE:MCUXpresso IDE v11.2.0


1.    将power_mode_switch_lpc下载到LPC845开发板,运行。 串口选择low power mode, wake (SW2按键) 唤醒。程序运行进入掉电模式,在调试器未断开情况下,此时实测Idd=99.5uA
    2.jpg
进入low power mode,程序使用了如下代码
POWER_EnterPowerDown(DEMO_ACTIVE_IN_DEEPSLEEP);
为了唤醒,参数DEMO_ACTIVE_IN_DEEPSLEEP配置了PDSLEEPCFG,将BOD和看门狗振荡器电源域打开了,导致了一部分电流的损耗,造成电源电流偏大。


2.    这一步,我们将对应用于唤醒的初始化语句去掉
// DEMO_InitWkt();
把下面一行进入掉电模的代码
//POWER_EnterPowerDown(DEMO_ACTIVE_IN_DEEPSLEEP);
替换成
POWER_EnterPowerDown(0); //power down BOD and watchdog osc

再次编译下载代码再次进入掉电模式,此时实测Idd=57.3uA
      3.jpg
这样Idd明显降低了。然而57.3uA仍然和数据手册标称的典型值1.5uA相差很多。这是由于IDE的后台将MCU用于调试的电源域打开了导致了额外电流消耗

3.    我们将开发板脱机独立运行(断掉电源重新上电),进入掉电模式,此时实测Idd=1.4uA
      4.jpg

小结:

  数据手册的低功耗电流参数的测量是在MCU GPIO输出为低且禁止上拉,且所有振荡器及模拟域都被关闭的情况下测得的。在对低功耗要求高的场合,用户需要仔细优化代码设计以得到最佳的低功耗设计。



回复

使用道具 举报

  • TA的每日心情
    开心
    2024-4-10 22:38
  • 签到天数: 1335 天

    [LV.10]以坛为家III

    88

    主题

    4292

    帖子

    12

    版主

    Rank: 7Rank: 7Rank: 7

    积分
    9049
    最后登录
    2024-4-13
    发表于 2020-8-26 10:59:20 | 显示全部楼层
    这个电流休眠模式下,一节电池可以运行多少年啊~~
    该会员没有填写今日想说内容.
    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    擦汗
    2016-12-2 08:40
  • 签到天数: 3 天

    [LV.2]偶尔看看I

    97

    主题

    836

    帖子

    7

    版主

    Rank: 7Rank: 7Rank: 7

    积分
    3967
    最后登录
    2024-4-16
    发表于 2020-8-26 13:31:48 | 显示全部楼层
    jobszheng5 发表于 2020-8-26 10:59
    这个电流休眠模式下,一节电池可以运行多少年啊~~

    2uA 好了,一般一个CR2032的电池为200mAh的样子。
    200 * 1000 / 2 = 100'000h    /24h = 4166.6天   /365 = 11.4年

    剩下就看你日活了,看起来极限是11年附近了
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    0

    主题

    3

    帖子

    0

    新手上路

    Rank: 1

    积分
    36
    最后登录
    2022-10-8
    发表于 2022-9-19 20:13:41 | 显示全部楼层
    本帖最后由 eefocus_3866806 于 2022-10-8 09:11 编辑

    3..............
    回复

    使用道具 举报

    该用户从未签到

    0

    主题

    3

    帖子

    0

    新手上路

    Rank: 1

    积分
    36
    最后登录
    2022-10-8
    发表于 2022-9-19 20:15:34 | 显示全部楼层
    本帖最后由 eefocus_3866806 于 2022-10-8 09:10 编辑

    2..........
    回复

    使用道具 举报

    您需要登录后才可以回帖 注册/登录

    本版积分规则

    关闭

    站长推荐上一条 /4 下一条

    Archiver|手机版|小黑屋|恩智浦技术社区

    GMT+8, 2024-4-20 06:05 , Processed in 0.118132 second(s), 24 queries , MemCache On.

    Powered by Discuz! X3.4

    Copyright © 2001-2021, Tencent Cloud.

    快速回复 返回顶部 返回列表