200I A2模组休眠唤醒机制介绍
休眠机制概述:
注意事项
单板启动介质为是M.2时,请勿进行休眠操作,否则会导致无法正常唤醒,需要AC上下电恢复系统。
Atlas 200 A2模组芯片在工作在RC模式下时,支持通过软硬件方式进行休眠,
休眠唤醒支持两种触发方式:硬件休眠唤醒控制和软件休眠唤醒控制。
硬件休眠唤醒控制:通过休眠唤醒输入管脚:SYS_SLEEP_IN,对Atlas 200I A2 加速模块进行休眠或唤醒控制 ( 1: 休眠状态 0:唤醒状态),同时休眠唤醒状态可通过SYS_SLEEP_OUT管脚输出指示用户。
软件休眠唤醒控制:通过软件命令触发进入休眠,当系统处于休眠模式时,软件可通过定时器定时唤醒,同时休眠唤醒状态可通过SYS_SLEEP_OUT管脚输出指示用户。
当模块处于休眠状态时, SoC控制IO、PERI、MEDIA、ISP区电源全部下电,AO区电源保留,同时保留当前进程,软件配置DDR颗粒处于自刷新状态,TaiShan核下电。
当模块处于唤醒状态时,SoC控制IO、PERI、MEDIA、ISP区电源全部上电,并恢复休眠前的进程,系统正常工作。
控制时序图:

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

管脚状态说明
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命令进行休眠状态。
登录Atlas 200I A2 加速模块系统环境。详细操作请参见使用PuTTY登录设备(网口方式)。
执行如下命令,切换至root用户。
su - root
执行如下命令,进入休眠状态,200ms后自动唤醒。
npu-smi set -t power-state -i 0 -c 0 -d 200
软硬件协同关系:
- 软件需要有合适的版本,需要使用24.1RC2之后的版本,但因为userbase问题,不要使用25开头的版本
- 单件命令与硬件管脚可以独立操作,任何一方发出休眠命令,都可以使单板进入/退出休眠状态,
- out管脚为输出管脚,上下拉不影响休眠的执行效果。

200I A2模组休眠唤醒机制介绍
休眠机制概述:
注意事项
单板启动介质为是M.2时,请勿进行休眠操作,否则会导致无法正常唤醒,需要AC上下电恢复系统。
Atlas 200 A2模组芯片在工作在RC模式下时,支持通过软硬件方式进行休眠,
休眠唤醒支持两种触发方式:硬件休眠唤醒控制和软件休眠唤醒控制。
硬件休眠唤醒控制:通过休眠唤醒输入管脚:SYS_SLEEP_IN,对Atlas 200I A2 加速模块进行休眠或唤醒控制 ( 1: 休眠状态 0:唤醒状态),同时休眠唤醒状态可通过SYS_SLEEP_OUT管脚输出指示用户。
软件休眠唤醒控制:通过软件命令触发进入休眠,当系统处于休眠模式时,软件可通过定时器定时唤醒,同时休眠唤醒状态可通过SYS_SLEEP_OUT管脚输出指示用户。
当模块处于休眠状态时, SoC控制IO、PERI、MEDIA、ISP区电源全部下电,AO区电源保留,同时保留当前进程,软件配置DDR颗粒处于自刷新状态,TaiShan核下电。
当模块处于唤醒状态时,SoC控制IO、PERI、MEDIA、ISP区电源全部上电,并恢复休眠前的进程,系统正常工作。
控制时序图:
软件休眠方案:
AO区为整个200 A2模组的管理模块,载板不下电AO区一直在运行,而用户程序、进程以及服务等都运行在Taishan Core中。用户可通过执行npu-smi命令和操作管脚实现休眠唤醒功能,此时AO区控制Taishan Core休眠或者唤醒,并改变相关GPIO管脚状态。
管脚状态说明
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命令进行休眠状态。
登录Atlas 200I A2 加速模块系统环境。详细操作请参见使用PuTTY登录设备(网口方式)。
执行如下命令,切换至root用户。
su - root
执行如下命令,进入休眠状态,200ms后自动唤醒。
npu-smi set -t power-state -i 0 -c 0 -d 200
软硬件协同关系: