Low Power¶
1 功能概述¶
本例程演示芯片 Low Power 低功耗模式。
2 环境准备¶
硬件设备与线材:
PAN271x EVB 核心板与底板各一块
JLink 仿真器(用于烧录例程程序)
USB-TypeC 线一条(用于底板供电和查看串口打印 Log)
杜邦线数根或跳线帽数个(用于连接各个硬件设备)
逻辑分析仪,用于抓取debug io状态
硬件接线:
将 EVB 核心板插到底板上
连接串口转USB调试模块:
使用 USB-TypeC 线,将 PC USB 插口与 EVB 底板 USB->UART 插口相连
使用杜邦线或跳线帽将 EVB 底板
J8排针对 (P06 & TXD) 和J9排针对 (P05 & RXD) 分别短接起来
连接 Jlink,使用杜邦线将 JLink 仿真器的:
SWD_CLK 引脚与 EVB 底板的 P00 排针相连
SWD_DAT 引脚与 EVB 底板的 P01 排针相连
SWD_GND 引脚与 EVB 底板的 GND 排针相连
PC 软件:
串口调试助手(UartAssist)或终端工具(SecureCRT),波特率 115200(用于串口交互)
4 低功耗模式说明¶
模式名称  | 
唤醒  | 
时钟  | 
电源  | 
|---|---|---|---|
STANDBY_M0  | 
所有GPIO,BOD,LVR(可选,需开启慢时钟)PIN RESET  | 
全部关闭  | 
LPLDOH:PMU, GPIO, WDT, BOD,LVR  | 
STANDBY_M1  | 
所有GPIO(边沿去抖)SLPTMR,WDT,BOD,LVR(可选)PIN RESET  | 
慢时钟其他全部关闭  | 
LPLDOH:PMU, GPIO, WDT, BOD,LVR LPLDOL/LPLDOH: PHY REG, MAC REG, SRAM,RCC REG,SYSTEM REG  | 
DEEPSLEEP  | 
所有GPIO,SLPTMR,WDT,BOD,LVR(可选)PIN RESET  | 
慢时钟其他全部关闭  | 
LPLDOH:PMU, GPIO, WDT, BOD,LVR LPLDOL/LPLDOH: ALL OTHER DIG MODULES  | 
SLEEP  | 
所有外设中断BOD,LVR(可选)PIN RESET  | 
慢时钟CPU_CLK关闭RCH/XTH/DPLL根据软件配置选择打开  | 
HP_LDO: ALL DIG MODULES  | 
5 例程演示说明¶
烧录完成后,芯片会通过串口打印初始化 Log:
sram addr 0x20000B00,value=15d34c13 +--------------------------------------------------------------------------+ | PAN271x LowPower Sample Code. | +--------------------------------------------------------------------------+ | press key to start test | | Input'1' LP_SleepModeTest(); | | Input'2' LP_DeepSleepPwmOutTest(); | | Input'3' LP_ContinuesSleepWakeByGpioClk32k(); | | Input'4' LP_StandbyModeTest(); | | Input'5' LP_ContinuesStdbyWakeByGpio32k(); | +--------------------------------------------------------------------------+
串口输入字符‘1’,sleep休眠唤醒功能,此模式下仅关闭CPU时钟,任何中断均可以唤醒,例程演示32K定时器、gpio及wdt唤醒,唤醒后输出中断类型,程序继续执行。
Choose wake up mode: 'A' for sleep timer wake up 'B' for gpio wake up 'C' for wdt wake up 输入‘A’: wake up by rcl 32k slptmr int sleep mode run continue 输入‘B’: wake up by gpio P12 p1 interrupt sleep mode run continue 输入‘C’: wake up by watchdog WDT interrupt sleep mode run continue
串口输入字符‘2’,deepsleep休眠唤醒及低功耗下pwm输出演示,唤醒方式为32K timer,pwm通道为P13,唤醒触发slptmr及lp中断并输出中断log,同时逻辑分析仪抓取P13的波形(正常输出pwm波形),程序继续执行。
wake up by rcl 32k(wait for wake up) slptmr int Deepsleep deep sleep mode run continue
串口输入字符‘3’,deepsleep多唤醒源休眠唤醒演示,唤醒方式支持32k timer及gpio P12,32k timer定时2s唤醒,gpio随机唤醒,循环进入休眠,通过逻辑分析仪抓取唤醒波形。
Input lpldol trim(输入LPLDOL电压档位,范围0~15) 4 lpldol = 4 Input lpldoh trim(输入LPLDOH电压档位,范围0~15) 4 lpldoh = 4 wake up by gpio P12 or 32K(进入休眠)

串口输入字符‘4’,standby m0/m1休眠唤醒功能,standby m0唤醒仅支持gpio/bod/lvr。
例程演示使用的sram版本芯片,芯片掉电程序丢失,故不演示bod/lvr唤醒。
例程演示的standby m0/m1唤醒后均发生复位
例程演示的standby m0/m1唤醒后产生lp中断
例程输入参数根据串口输出的log信息输入
standby m1(32k唤醒): wake up by rcl 32k Standby M1 slptmr int sram addr 0x20000B00,value=20000348 +--------------------------------------------------------------------------+ | PAN271x LowPower Sample Code. | +--------------------------------------------------------------------------+ ... standby m0(gpio唤醒): wake up by normal gpio Standby M0 sram addr 0x20000B00,value=20000348 +--------------------------------------------------------------------------+ | PAN271x LowPower Sample Code. | +--------------------------------------------------------------------------+ ...
串口输入字符‘5’,standby m1 cpu保持及多唤醒源持续唤醒,唤醒方式支持32k timer及gpio P12,32k timer定时2s唤醒,gpio随机唤醒,循环进入休眠,唤醒后程序表现为不复位重新执行而是继续执行,输出结果同第4点。
6 RAM/Otp资源使用情况¶
Otp Size: 10.71kB
RAM Size: 0.82kB