GPIO功耗测试示例
源码路径: example/pm/gpio
支持的开发板
此示例可在以下开发板上运行:
sf32lb52-core_n16r16
概述
在 RT-Thread 操作系统下,使用定时器唤醒并读取 GPIO 进行功耗测试。LCPU 已进入睡眠状态,HCPU 已进入低功耗状态(HCPU 主频为 48MHz)。程序每隔 100ms 唤醒并读取一次 GPIO。
硬件连接
进行低功耗测试时,板子不再通过 USB 进行供电,而是需要通过功耗检测工具,通过 UDDIO、PVDD、AVDD 给开发板供电。所以接下来需要进行如下操作才能进行功耗测试。
开发板原有供电情况

首先将跳线帽都去除

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

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

最终连线

功耗测试结果
大核频率(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

睡眠状态底电流为15.33uA

IO读取的电流为2.44mA

异常诊断
所测结果与文档中相差较大,可能存在异常,请自行进行排查。 VDDIO:芯片的IO供电 PVDD:芯片主供电输入 AVDD:芯片的音频
1、如果硬件方面有所改动的话,可能会导致测试结果有较大偏差 2、供电不过也会导致测试结果有较大偏差(采用3.3V供电),甚至会导致芯片烧毁的后果
排查步骤:上述三路可以使用功耗测试工具进行单路供电,其余两路通过外部VCC进行供电,这样可以进行单路的功耗测试,从而排查出哪路电源有异常。