当前文档为 本地版本 (v0.1.0)，您可以访问当前页面的 在线版本 以获取最近可能的更新。

# 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（用于串口交互）

## 3 编译和烧录

例程位置：`<PAN271x-DK>\01_SDK\samples\miscellaneous\low_power`

双击 Keil Project 文件打开工程进行编译烧录。

## 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 例程演示说明

1. 烧录完成后，芯片会通过串口打印初始化 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();                          |
       +--------------------------------------------------------------------------+

2. 串口输入字符‘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

3. 串口输入字符‘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

4. 串口输入字符‘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(进入休眠)

5. 串口输入字符‘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.                       |
       +--------------------------------------------------------------------------+
       ...

6. 串口输入字符‘5’，standby m1 cpu保持及多唤醒源持续唤醒，唤醒方式支持32k timer及gpio P12，32k timer定时2s唤醒，gpio随机唤醒，循环进入休眠，唤醒后程序表现为不复位重新执行而是继续执行，输出结果同第4点。

## 6 RAM/Otp资源使用情况

- Otp Size: 10.71kB

- RAM Size: 0.82kB

版本选择及下载 v: 0.1.0

版本选择
  latest
  0.1.0

下载
  PAN271x 开发套件文档（PDF）

相关链接
  PAN271x 系列产品 WIKI
  PAN271x 系列产品技术论坛
  上海磐启微电子有限公司