我是靠谱客的博主 快乐乌龟,最近开发中收集的这篇文章主要介绍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状态。

 

 

最后

以上就是快乐乌龟为你收集整理的SOC芯片的功耗管理策略的全部内容,希望文章能够帮你解决SOC芯片的功耗管理策略所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(57)

评论列表共有 0 条评论

立即
投稿
返回
顶部