昇腾社区首页
中文
注册

休眠唤醒介绍

注意事项

启动介质是M.2时,请勿进行休眠操作,否则会导致无法正常唤醒,需要上下电恢复系统。

实现原理

Atlas 200I A2 加速模块提供休眠唤醒特性,让用户对Atlas 200I A2 加速模块进行休眠唤醒操作,以满足低功耗需求。

图1所示,AO区为整个Atlas 200I A2 加速模块的管理模块,载板不下电AO区一直在运行,而用户程序、进程以及服务等都运行在Taishan Core中。用户可通过执行npu-smi命令和操作管脚实现休眠唤醒功能,此时AO区控制Taishan Core休眠或者唤醒,并改变相关GPIO管脚状态。管脚状态参见管脚状态说明

图1 休眠唤醒系统框图

管脚状态说明

GPIO8_0管脚为休眠唤醒输入管脚,用于控制Atlas 200I A2 加速模块是否处于休眠状态。

  • 当GPIO8_0(对应Atlas 200I A2 加速模块管脚为SYS_SLEEP_IN)输入为高电平时,表示当前为休眠状态。
  • 当GPIO8_0(对应Atlas 200I A2 加速模块管脚为SYS_SLEEP_IN)输入为低电平时,表示当前为唤醒状态。

GPIO8_1管脚为休眠唤醒输出管脚,用于指示Atlas 200I A2 加速模块是否处于休眠状态。

  • 当GPIO8_1(对应Atlas 200I A2 加速模块管脚为SYS_SLEEP_OUT)输出为高电平时,表示当前为休眠状态。
  • 当GPIO8_1(对应Atlas 200I A2 加速模块管脚为SYS_SLEEP_OUT)输出为低电平时,表示当前为唤醒状态。

前提条件

  • Atlas 200I A2 加速模块已安装操作系统。
  • 能正常执行npu-smi命令。

操作步骤

  • 方法一:使用npu-smi命令进行休眠状态。
  1. 登录Atlas 200I A2 加速模块系统环境。详细操作请参见使用PuTTY登录设备(网口方式)
  2. 执行如下命令,切换至root用户。

    su - root

  3. 执行如下命令,进入休眠状态,200ms后自动唤醒。

    npu-smi set -t power-state -i 0 -c 0 -d 200

    -d参数设置休眠时间,单位为毫秒(ms),取值范围为[200,604800000]。

  • 方法二:根据管脚状态说明,操作GPIO管脚实现休眠唤醒,具体操作请参见《Atlas 200I A2 加速模块 硬件开发指南》的“休眠唤醒控制”章节

    使用npu-smi命令进行休眠后,休眠唤醒输入管脚为低电平;若提前唤醒,需将此管脚变为高电平后再变为低电平,即可实现唤醒。