今天的教程讲下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,这样可以减少峰值电流,其实就是低功耗恢复的时候,做一个消耗的缓冲,对一些不能提供足够瞬间电流的场合有帮助。
审核编辑:汤梓红
-
电源
+关注
关注
184文章
17509浏览量
249319 -
mcu
+关注
关注
146文章
16952浏览量
350122 -
时钟
+关注
关注
10文章
1717浏览量
131327 -
开发板
+关注
关注
25文章
4922浏览量
97134 -
运行模式
+关注
关注
0文章
3浏览量
843
原文标题:MSPM0L1306开发板教程5 - 运行模式
文章出处:【微信号:创易栈,微信公众号:创易栈】欢迎添加关注!文章转载请注明出处。
发布评论请先 登录
相关推荐
评论