专栏中心

EEPW首页 > 专栏 > 征程 6 系统 power 状态机介绍

征程 6 系统 power 状态机介绍

发布人:地平线开发者 时间:2025-04-01 来源:工程师 发布文章

 1.征程 6X 电源状态


1.1征程 6X 芯片电源域


征程 6x 内部有 AON、MCU 和 Main 域三个电源域。其中 AON 为非下电状态需要一直供电的电源域,MCU 电源域用于给 Hsm 和 MCU 及其内部 IP 供电,Main 域给其他部分供电。


1.2征程 6X 电源状态列表


征程 6x 目前实现了 Off,MCU only,Working,Deep sleep 和 LightSleep 五种电源状态,详细说明如下:


image.png

1.3征程 6X 电源状态迁移表


Description

image.png


- Cx:状态迁移向量编号。

- UND:代表该状态迁移向量未定。

- C11: 对于进入低功耗状态,推荐使用本状态而非组合状态。


1.4征程 6X 电源状态迁移说明


C1(Off->MCU only)


```Plain


- 说明:系统从完全断电状态启动到只有MCU only状态。

- 过程:


  1. KL15等触发VR5510上电流程,VR5510按照OTP设计,给AON及MCU域供电。

  2. Romcode引导HSM以及SBL。

  3. SBL引导Autosar,至此SOC处于MCU only状态。


- API方法:无

```


C2(MCU only->Off)


```Plain


- 说明:系统从 MCU only 状态跳转到 Off 状态。

- 过程:


 1.此时 Main 域已经完全下电,包括外部 DDR 颗粒。

 2.TJA1145 进入低功耗模式,配置成功后,INH 引脚会转换为高阻态,并被板级下拉电阻拉低。

 3.VR5510 检测到 POWERON1 引脚拉低,按照 OTP 设定的流程完成下电。


- API 方法: SysPower_Shutdown()

```


C4(MCU only->Working)


```Plain


- 说明:系统从仅MCU域工作到全域启动,冷启动流程。

- 过程:


  1. 通过GPIO给Main域的PMIC上电。

  2. 配置Acore启动地址(SPL地址)。

  3. SPL启动后,根据标志决定是冷启动流程还是恢复流程,如果是冷启动,则初始化DDR后引导BL31。


- API方法:Pmu_PerformMainDoMainOn

```


C6(MCU only->Deep sleep)


```Plain


- 说明:系统从仅 MCU 域工作到仅 AON 域上电,此时 Main 域应该处于下电状态。

- 过程:


 1.此时处于 MCU only 状态,不需要关心 Main 域包括外部 DDR 颗粒状态(由进入 MCU only 状态时完成设置)。

 2.AON 区域标记当前是 DeepSleep 而非下电。

 3.设置唤醒源。

 4.IPC 通知 HSM 准备进入 Deep sleep 状态。

 5.确保 Main 域处于 Off 状态(Pmu_Lld_PerformMainDoMainOff)。

 6.MCU core 进入 WFI 状态。

 7.HSM 进入 WFI 状态。

 8.PMU 检测到所有 MCU core 进入 Suspend 状态后,输出 STBY 信号,将 VR5510 设置为 STANDY 状态,只保留 AON 供电。


-API 方法:

 1.SysPower_Suspend

 2.SysPower_GpioWakeupSet/SysPower_RtcWakeupSet

```


C9(Working->MCU only)


```Plain


- 说明:系统从正常工作状态到仅MCU工作状态,此状态为Main域下电状态,DDR颗粒下电状态。

- 过程:


  1. MCU通过IPC通知Main域下电。(可选)

  2. Acore走Linux下电流程。

  3. Acore通过SCMI发送CMD到MCU侧发起下电流程。

  4. MCU给Acore所有相关PMU下电。

  5. MCU给Acore所有相关PMIC下电。


- API方法:


  1. Linux shell: reboot osoff

  2. MCU通知Main域下电:Pmu_PerformMainDoMainOff

  3. MCU直接给Main域下电:Pmu_PerformMainDomainForceOff

```


C11(Working ->Deep sleep)


```Plain


- 说明:系统从 Working 状态到只有 AON 供电的状态

- 过程:


 1.MCU 通过 IPC 发送 SOC 进入低功耗命令。(可选)

 2.Acore 走 Linux 正常 Suspend 流程。

 3.Acore 在 ATF 中切换 DDR 状态为自刷新状态。

 4.Acore 发送 SCMI 发送 CMD 到 MCU 侧发起 Deep Sleep 流程。

 5.MCU 侧获取并保存 Acore 的启动地址到 AON 区域。

 6.等待 Acore 所有核进入 Suspend 状态。

 7.MCU 侧关闭 Main 域 PMU。

 8.AON 区域保存当前是 Deep sleep 模式而非下电模式。

 9.设置唤醒源。

 10.MCU 通过 IPC 通知 HSM 进入 Suspend 状态,然后 MCU 进入 Suspend 状态。

 11.HSM 进入 Suspend 状态。

 12.PMU 检测到所有 MCU core 进入 Suspend 状态后,输出 STBY 信号,将 VR5510 设置为 STANDY 状态,只保留 AON 供电。


- API 方法:

 1.Linux shell: systemctl suspend

 2.MCU 通知 Main 域休眠:SysPower_MainStateSwitchNotify

```


C12(Deep sleep->MCU only)


```Plain


- 说明:系统从Deep sleep状态恢复到MCU only状态。

- 过程:


  1. SOC被唤醒源唤醒,VR5510退出STANDBY状态。

  2. VR5510按照OTP给MCU域上电,Hsm与MCU(SBL)开始运行。

  3. Autosar启动后,根据标志判断当前是Wakeup流程。


- API方法:无

- 唤醒源:外部GPIO(ETH帧、CAN帧、KL15等通过电路的方式唤醒)及RTC。

```


C21(Working->LightSleep)


```markdown


- 说明:系统从正常工作状态到 LightSleep 状态,此状态为 Main 域下电状态,DDR 颗粒自刷新状态。

- 过程:


 1.Mcu 设置当前休眠默认为 light sleep。

 2.Mcu 通过 IPC 通知 Main 域休眠。

 3.Acore 走 Linux 休眠流程。

 4.Acore 通过 SCMI 发送 CMD 到 Mcu 侧发起休眠流程。

 5.Mcu 给 Acore 所有相关 PMU 下电。

 6.Mcu 给 Acore 除 ddr 颗粒供电外其他 PMIC 下电。


- API方法:无

 1.SysPower_SetSleepMode:设置休眠模式。

 2.SysPower_MainStateSwitchNotify:通知 Main 域休眠。。

```


C22(LightSleep->Working)


```Plain


- 说明:系统从仅LightSleep到全域启动,唤醒流程。

- 过程:


  1. 通过GPIO给Main域的PMIC上电。

  2. 配置Acore启动地址(SPL地址)。

  3. 设置相关的PMU。

  4. SPL启动后,根据标志决定是恢复流程,如果是恢复状态,则将DDR从自恢复状态恢复到正常工作状态,并跳转到之前保存到Aon sram区域的Acore地址即可。


- API方法:


  1. Pmu_PerformMainDoMainOn:给Main域上电并启动SPL。

```


C23(LightSleep->Deep sleep)


```markdown


- 说明:系统从仅 LightSleep 到仅 Aon 域上电,此时 Main 域应该处于下电+ddr 自刷新状态。

- 过程:


 1.AON 区域标记当前是 DeepSleep 而非下电。

 2.设置唤醒源。

 3.IPC 通知 HSM 准备进入 Deep sleep 状态。

 4.MCU core 进入 WFI 状态。

 5.HSM 进入 WFI 状态。

 6.PMU 检测到所有 MCU core 进入 Suspend 状态后,输出 STBY 信号,将 VR5510 设置为 STANDY 状态,只保留 AON 供电。


- API 方法:

 1.SysPower_Suspend

 2.SysPower_GpioWakeupSet/SysPower_RtcWakeupSet

```


C24(Deep sleep->LightSleep)


```Plain


- 说明:系统从Deep sleep状态恢复到LightSleep状态。

- 过程:


  1. SOC被唤醒源唤醒,VR5510退出STANDBY状态。

  2. VR5510按照OTP给Mcu域上电,Hsm/Mcu(SBL)开始运行。

  3. SBL根据标志判断此次为唤醒流程,只引导Autosar。

  4. Autosar启动后,根据标志判断当前是Wakeup流程。


- API方法:无

- 唤醒源:外部GPIO(ETH帧、CAN帧、KL15等通过电路的方式唤醒)及RTC

```


C25(LightSleep->Mcu only)


```markdown


- 说明:系统从 LightSleep 状态到仅 Mcu 工作状态,此状态为 Main 域下电状态,DDR 颗粒自刷新状态。

- 过程:Mcu 给 Acore 所有相关 PMIC 下电。


- API 方法:

 1.MCU 直接给 Main 域下电:Pmu_PerformMainDomainForceOff

等通过电路的方式唤醒)及RTC

```


C25(LightSleep->Mcu only)


```markdown


- 说明:系统从 LightSleep 状态到仅 Mcu 工作状态,此状态为 Main 域下电状态,DDR 颗粒自刷新状态。

- 过程:Mcu 给 Acore 所有相关 PMIC 下电。


- API 方法:

 1.MCU 直接给 Main 域下电:Pmu_PerformMainDomainForceOff

```


专栏文章内容及配图由作者撰写发布,仅供工程师学习之用,如有侵权或者其他违规问题,请联系本站处理。 联系我们

关键词: 算法 自动驾驶 算法工具链 地平线 征程5

相关推荐

Ouster推出 Rev8 OS 激光雷达系列 原生彩色激光雷达正式落地

简单实用的单片机CRC 快速算法

资源下载 2007-02-16

CRC算法原理及C语言实现

资源下载 2007-02-16

ADI:传感技术助力未来自动驾驶的发展

视频 2020-03-16

高阶智驾要落地,线控底盘为什么必须执行得准

面向算法硬件加速的FPGA实现方法

实时训练驾驶人工智能

曲面显示屏取代传统汽车挡风玻璃

2035年自动驾驶出租车市场规模将达1680亿美元

汽车电子 2026-04-21

地平线征程 6 系列集成 Cadence Tensilica Vision DSP,实现规模化量产,合作加速智能驾驶解决方案部署

自动驾驶的现状与未来(节选)

视频 2020-03-16

掘金自动驾驶,不要把大坑当机会

汽车电子 2026-04-17

数字PID控制算法之一

资源下载 2007-12-28

PID算法

资源下载 2007-02-16

特斯拉监督版FSD加入中国市场

2026-05-22

加密算法之MD5算法

76-81GHz自动驾驶CMOS RADAR

视频 2018-05-31

加快实现自动驾驶(完整小组讨论)

视频 2020-06-12

携手ADI赢得未来

视频 2019-11-08

自动驾驶正推动汽车行业加速布局人形机器人

更多 培训课堂
更多 焦点
更多 视频

技术专区