GPIO功耗测试示例

源码路径: example/pm/gpio

支持的开发板

此示例可在以下开发板上运行:

  • sf32lb52-core_n16r16

概述

在 RT-Thread 操作系统下,使用定时器唤醒并读取 GPIO 进行功耗测试。LCPU 已进入睡眠状态,HCPU 已进入低功耗状态(HCPU 主频为 48MHz)。程序每隔 100ms 唤醒并读取一次 GPIO。

硬件连接

进行低功耗测试时,板子不再通过 USB 进行供电,而是需要通过功耗检测工具,通过 UDDIO、PVDD、AVDD 给开发板供电。所以接下来需要进行如下操作才能进行功耗测试。

  • 开发板原有供电情况 alt text

  • 首先将跳线帽都去除 alt text

  • 将VDDIO、PVDD、AVDD分别连接至PPK上的电源引脚,GND连接到PPK的GND引脚 alt text

  • 为了方便调试,可以将uart转接器进行与板子的TX、RX连接 alt text

  • 最终连线 alt text

功耗测试结果

大核频率(MHz)

平均电流(uA)

唤醒时平均电流(mA)

睡眠状态底电流(uA)

IO读取(mA)(含底电流)

48

32.62

1.25

15.33

2.44

测试结果表明,48MHz下,IO读取的电流为2.44mA,唤醒时平均电流为1.25mA,睡眠状态底电流为15.33uA。详细数据如下所示

  • 唤醒时的平均电流为1.25mA alt text

  • 睡眠状态底电流为15.33uA alt text

  • IO读取的电流为2.44mA alt text

异常诊断

所测结果与文档中相差较大,可能存在异常,请自行进行排查。 VDDIO:芯片的IO供电 PVDD:芯片主供电输入 AVDD:芯片的音频

1、如果硬件方面有所改动的话,可能会导致测试结果有较大偏差 2、供电不过也会导致测试结果有较大偏差(采用3.3V供电),甚至会导致芯片烧毁的后果

  • 排查步骤:上述三路可以使用功耗测试工具进行单路供电,其余两路通过外部VCC进行供电,这样可以进行单路的功耗测试,从而排查出哪路电源有异常。