SOC芯片的功耗管理策略

SOC芯片的功耗模式(power mode)如下表所示,其本质上是电压和时钟控制的组合,按照CPU是否进入sleep模式可以分为两大类。

CPU不进入sleep模式的功耗模式

SOC芯片在完成boot后,功耗模式默认选择Normal RUN,在user case中可以根据需要将功耗模式通过软件的方式配置成OD_RUN1/OD_RUN2/LS_RUN/LV_RUN。

CPU进入sleep模式的功耗模式

为了降低功耗,CPU执行完当前任务,且没有后续任务需要执行时,CPU将通过WFI指令进入sleep模式,如果有新的任务需要CPU来执行,将通过中断来唤醒CPU,CPU在被唤醒后,跳转执行中断服务程序,中断服务程序执行完成后,CPU通过WFI指令再次进入sleep模式,如此不断循环,CPU只是在中断服务程序中执行任务。但是,在SOC芯片的功能验证中,只是为了验证CPU能正常进入sleep模式,且可以被唤醒,因此在user case中,只是CPU进入sleep模式然后被唤醒。

CPU可以通过WFI指令进入sleep模式和deep sleep模式,至于sleep模式还是deep sleep模式,是通过CPU的寄存器控制的,当CPU进入sleep模式时,CPU拉高SLEEPING信号,当CPU进入deep sleep模式时,CPU拉高SLEEPING和DEEPSLEEP信号。CPU只有sleep和deep sleep两种low power模式,而整个SOC芯片有wait、stop和suspend三种low power模式。当CPU进入low power模式后,全局功耗控制器是整个SOC芯片的控制核心,当SOC芯片进入wait模式时,CPU输出的SLEEPING信号被送给全局功耗控制器,在SLEEPING信号的作用下,全局功耗控制器开始执行sleep sequence,下图中的0~9是sleep sequence的状态机,在每个状态,全局功耗控制器通过握手信号(request-done)与相应模块进行交互,比如在SLEEP_LPCG状态,全局功耗控制器向时钟控制模块发送request信号,时钟控制模块在关闭IP模块的时钟后向全局功耗控制模块发送done信号,在接收到时钟控制模块发送来的done信号后,状态机跳转到SLEEP_PLL状态。

 

 

  • 0
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

sunday_893

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值