发新帖本帖赏金 8.88元(功能说明)我要提问
返回列表
打印
[STM32F7]

NUCLEO-F722ZE 评测(4): 功耗测试

[复制链接]
1007|1
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
本帖最后由 cruelfox 于 2017-3-31 23:00 编辑

  Nucleo-144上面给MCU供电的3.3V那里有一个跳线 JP5,可以拔下短路帽,串入电流表来测量工作电流。

  就用前面 Coremark 的程序来测试下运行时候的功耗吧,改一下 portable_fini() 函数,弄一个死循环,不要让程序跑飞了。在死循环里检测按键,如果按下键,就进入休眠模式——普通SLEEP。观察电流表的读数。
void portable_fini(core_portable *p)
{
        for(;;)
        {
                if(GPIOC->IDR & 1<<13)
                        __WFI();
        }
}
  先测试了一下在最高频率 216MHz 下,Coremark 运行时和运行结束进入我写的死循环里,分别电流有多少。
执行程序位置Coremark run loop
FLASH AXI, I-Cache关闭71.4mA 57.6mA
FLASH AXI, I-Cache打开 101.2mA 58.8mA
FLASH TCM, ART打开 105.3mA 59.2mA
ITCM RAM 104.7mA 70.8mA
从AXI接口访问Flash执行时,功耗要小一点。如果不开 I-Cache, 功耗会变低,但是这是以牺牲性能为代价的,可能得不偿失。有意思的是,尽管CPU还是在运行,在死循环中的功耗要比执行Coremark时低不少,所以耗电和跑什么样的程序有关系。另外,从ITCM RAM运行时,死循环时的耗电比在Flash中运行要高。此外,在上面四种执行模式下,CPU进入SLEEP模式后电流都变为 28.2mA .

  下面以 AXI访问Flash, I-Cache 打开的条件为前提,测试下不同频率下电流变化情况。
频率Coremark run loop SLEEP
216MHz101.258.8 28.2
180MHz84.4 53.5 23.7
150MHz70.6 44.8 19.9
120MHz56.7 36.1 16.2
100MHz47.6 30.3 13.7
80MHz38.2 24.4 11.2
60MHz29.0 18.6 8.66
40MHz20.0 13.1 6.41
25MHz12.9 8.59 4.44
16MHz HSI6.68 4.30 2.40
8MHz HSE3.94 2.60 1.65
  用 Matlab 画个图出来看

  基本上,功耗和频率是线性关系。16MHz 和 8MHz 因为没使用PLL, 比按照25MHz~216MHz的图线推算出来的电流要小。死循环状态下为何 216MHz 时的电流偏小我不知道了,测了几次确认这个现象。
  和数据表中的表格对照,在运行状态的电流大致符合。(还开启了Timer, USART设备)

  SLEEP时的电流,比数据表中的高了点,可能是片上设备开启带来的影响。


  更低的休眠模式有 STOP 模式和 Stand-by 模式,彻底将内部总线时钟停掉,唤醒也需要时间更长。测试一下 STOP 模式,需要预先配置 PWR->CR1 寄存器,SCB->SCR 中 DEEPSLEEP 位。我使用这段代码:
        RCC->APB1ENR |= RCC_APB1ENR_PWREN;
        __DSB();
        PWR->CR1 |= PWR_CR1_LPDS|PWR_CR1_FPDS;
        SCB->SCR|=1<<SCB_SCR_SLEEPDEEP_Pos;   

  之后再用 WFI 指令即可休眠到 STOP 模式,实测电流 235uA 左右。和手册上的 0.27mA典型值差不多。若要进入 Stand-by 模式,对 PWR->CR1 的配置改为:
        PWR->CR1 |= PWR_CR1_PDDS;
  这样 WFI 指令后就是电流最低的 Stand-by 模式了,我测得电流 2.3uA.


  经过对 STM32F722ZE 的功耗测试,我感觉和**中F4系列的功耗对比,F7在同样的频率下功耗是更大的,包括SLEEP模式也是。也许这是为了高性能,系统更复杂了付出的代价吧。STOP模式也比F4高了很多,Stand-by模式还基本相当。

打赏榜单

21ic小管家 打赏了 8.88 元 2017-04-10
理由:NUCLEO-F722ZE评测领赏

沙发
kmzuaz| | 2017-4-4 22:57 | 只看该作者
2.3uA,这么小电流。

使用特权

评论回复
发新帖 本帖赏金 8.88元(功能说明)我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

17

主题

50

帖子

1

粉丝