MSPM0L1306开发板教程之运行模式

描述

今天的教程讲下MSPM0L系列的运行模式。

首先把MCU的内部电源域理清一下,MCU内部的功能模块使用的电源域分为两个,PD1和PD0,在MSPM0L1306的参考手册中可以找到框图,图中黄色和绿色的功能模块是属于PD1,蓝色的属于PD0,橙色的模块是PD0和PD1都可以使用。

时钟

MSPM0L系列的运行模式分为运行(RUN),休眠(SLEEP),待机(STANDBY),以及关机(SHUTDOWN)。

下图可以看到

RUN模式:CPU和PD1,PD0的电源都打开;

SLEEP模式:CPU关闭,PD1,PD0打开;

STOP模式:CPU和PD1关闭,PD0打开,只剩4MHz时钟;

STANBY模式:CPU和PD1关闭,PD0打开,只剩32.768KHz时钟;

SHUTDOWN模式:时钟和电源都关闭了;

时钟

其中RUN和SLEEP,STOP模式细分为0,1,2三档,STANBY模式也有0,1两档,为的是更加极致的功耗,可以在参考指南中查到对应模式下的时钟运行情况和模块电源工作情况。

时钟时钟

对应的驱动库中,也提供了API函数方便的设置这些策略模式。

时钟

在程序里使用了相应的函数之后,使用WFI指令就可以进入对应的低功耗模式。

例如下面这个函数会在WFI指令后悔进入SLEEP0模式

时钟

然后可以在中断函数中

DL_SYSCTL_disableSleepOnExit()

退出低功耗模式。

下面是一些低功耗模式下的要点:

1.在STOP和STANBY模式下,虽然PD1已经关闭,但是CPU寄存器,外设寄存器和SRAM的数据都可以保留。

2. 在STOP和STANDBY模式下,MCLK和ULPCLK会变成4MHz和32KHz,如果你的外设对时钟频率比较敏感,例如UART,定时器这些外设,这个时候MFCLK这个时钟就可以派上用场,MFCLK是固定的4MHz时钟,可以工作到STOP1模式。

3. 在进入低功耗模式前,把SYSOSC设置为32MHz会减少恢复到RUN模式的延迟。

4. 在低功耗模式恢复到RUN模式的时候,可以先使用低频32.768KHz的LFOSC来作为CPU时钟,或者使用4MHz的SYSOSC,然后再恢复到32MHz的SYSOSC,这样可以减少峰值电流,其实就是低功耗恢复的时候,做一个消耗的缓冲,对一些不能提供足够瞬间电流的场合有帮助。


审核编辑:汤梓红

打开APP阅读更多精彩内容
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉

全部0条评论

快来发表一下你的评论吧 !

×
20
完善资料,
赚取积分