200I A2模组休眠唤醒机制介绍
收藏回复举报
200I A2模组休眠唤醒机制介绍
发表于2025-07-15 10:12:16
0 查看

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区电源全部上电,并恢复休眠前的进程,系统正常工作。

控制时序图

1.png

软件休眠方案

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

1.png

管脚状态说明

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

软硬件协同关系:

  1. 软件需要有合适的版本需要使用24.1RC2之后的版本,但因为userbase问题,不要使用25开头的版本
  2. 单件命令与硬件管脚可以独立操作任何一方发出休眠命令都可以使单板进入/退出休眠状态
  3. out管脚为输出管脚上下拉不影响休眠的执行效果

2.png

我要发帖子