MSPM0L130x工作模式分析和测试
<div class='showpostmsg'> 本帖最后由 hsh007 于 2024-3-12 07:36 编辑# 1 目录
1. MSPM0L130x的电源域
2. MSPM0L130x的工作模式
3. 测试环境准备
4. 测试和分析
5. 参考
# 2 电源域
两个核心电源域:PD1 和 PD0。
PD1在RUN 和 SLEEP 模式是开的,但在所有其他模式下禁用。PD0 始终在 RUN、SLEEP、STOP 和 STANDBY模式开的。PD1 和 PD0 在 SHUTDOWN 模式下均被禁用。
- PD1 域包括 CPU 子系统、SRAM 存储器、PD1 外设和 PD1 外设总线,从 MCLK(包括 DMA)运行,最大频率为 32 MHz。 PD1 在 STOP 和 STANDBY 模式下禁用;CPU 寄存器、SRAM 和外设 MMR 配置寄存器都保留,以便从STOP 或 STANDBY 模式退出的时候可以立即恢复操作。
- PD0 域包括 PD0 外设和 PD0 总线段,后者从 ULPCLK 运行,最大RUN 和 SLEEP 模式下的频率为 32 MHz,STOP 模式下的频率为 4 MHz,待机模式下的频率为 32 kHz。PD0 域在除 SHUTDOWN 之外的所有模式下均通电,可以将其视为“始终开启”域。
# 3 工作模式
提供五种工作模式(电源模式),按功率递减顺序为:RUN、SLEEP、STOP、STANDBY 和 SHUTDOWN。下图显示了模式之间的交互:
![](Writing/MSPM0评测/attachments/MSPM0L130x工作模式分析和测试/IMG-MSPM0L130x工作模式分析和测试-20240309104557164.png)
## 3.1 RUN模式
在 RUN 模式下,CPU 处于活动状态,可以执行代码,并且可以启用任何外设。
有三个 RUN 模式策略选项:RUN0、RUN1 和 RUN2。
- RUN0:MCLK 和 CPUCLK 从快速时钟源 (SYSOSC) 运行。
- RUN1:MCLK 和 CPUCLK 从 LFCLK(32 kHz)运行以降低有功功率,但留下 SYSOSC支持为模拟模块提供服务,例如 ADC、OPA 或 COMP(在 HS 模式下)。
- RUN2:MCLK 和 CPUCLK 从 LFCLK(32 kHz)运行,SYSOSC 完全禁用省电。这是 CPU 运行时的最低功耗状态。
## 3.2 SLEEP模式
在 SLEEP 模式下,CPU 被禁用(时钟门控);除此之外,设备配置与 RUN 相同。
有三个 SLEEP 模式策略选项:SLEEP0、SLEEP1 和 SLEEP2。确定 SLEEPx 策略进入 SLEEP 模式时按当前 RUNx 策略执行。
- SLEEP0:与 RUN0 相同,但 CPU 已禁用。
- SLEEP1:与 RUN1 相同,但 CPU 已禁用。
- SLEEP2:与 RUN2 相同,但 CPU 已禁用。
## 3.3 STOP模式
在 STOP 模式下,CPU、SRAM 和 PD1 外设被禁用并处于保留状态(如果适用)。PD0外设的最大 ULPCLK 频率为 4 MHz。 SYSOSC 可以在更高的频率下运行,以支持 ADC、OPA 或 HS COMP 操作,但 ULPCLK 将自动限制为 4 MHz SYSOSC由 SYSCTL 输出。
可以触发 DMA。DMA 触发器唤醒 PD1 电源域以产生 SRAM 和 DMA可用于处理 DMA 传输,并且 DMA 传输在当前的 MCLK 和 ULPCLK 上处理率。传输完成后,SRAM将返回到保留状态,并自动禁用PD1。
STOP模式是最低功耗模式,支持ADC、OPA和高速COMP操作。
STOP 模式有三个策略选项:STOP0、STOP1 和 STOP2。
- STOP0:进入 STOP 模式时,SYSOSC 以当前频率运行(32 MHz、24 MHz、16 MHz 或 4 MHz)。ULPCLK 始终由硬件自动限制为 4 MHz,但 SYSOSC 是不受干扰,以支持模拟外设(如ADC、OPA或COMP)的一致操作。
**注意**:如果 STOP0 是从 RUN1 输入的(启用了 SYSOSC,但 MCLK 来自 LFCLK),则 SYSOSC
与 RUN1 一样保持使能状态,ULPCLK 与 RUN1 一样保持在 32 kHz。
**注意**:如果从 RUN2 输入 STOP0(SYSOSC 已禁用,MCLK 源自 LFCLK),
SYSOSC 在 RUN2 中保持禁用状态,ULPCLK 在 RUN2 中保持 32 kHz。
- STOP1:SYSOSC 从当前频率换档至 4 MHz,以实现最低功耗在 STOP 模式下,SYSOSC 正在运行。SYSOSC 和 ULPCLK 均以 4 MHz 运行。
- STOP2:SYSOSC 被禁用,ULPCLK 以 32 kHz 的频率来自 LFCLK。这是最低的STOP 模式下的电源状态。
## 3.4 STANDBY模式
在STANDBY模式下,CPU、SRAM 和 PD1 外设被禁用并处于保留状态。PD0 外设,带除ADC和OPA外,ULPCLK的最大频率为32 kHz。SYSOSC是禁用。
可以触发 DMA。DMA 触发器唤醒 PD1 电源域以产生 SRAM 和 DMA。可用于处理 DMA 传输,并且 DMA 传输在当前的 MCLK 和 ULPCLK 上处理速率 (32 kHz)。传输完成后,SRAM将返回到保留状态,并自动禁用PD1。
在待机模式下不支持 ADC、OPA 和高速 COMP 操作。
STANDBY 模式有 2 个策略选项:STANDBY0 和 STANDBY1。
- STANDBY0:所有 PD0 外设都接收 ULPCLK 和 LFCLK。
- STANDBY1:只有 TIMG0 和 TIMG1 接收 ULPCLK 或 LFCLK。TIMG0 或 TIMG1 中断或 ADC触发器 STANDBY1 始终触发异步快速时钟请求以唤醒系统。其他PD0外设(如 UART、I2C、GPIO 和 COMP)也可以在发生外部事件时唤醒系统通过异步快速时钟请求,但它们不会主动STANDBY1时钟。
## 3.5 SHUTDOWN模式
在 SHUTDOWN 模式下,没有可用的时钟。核心稳压器被完全禁用,所有SRAM和寄存器内容将丢失,但 SYSCTL 中的 4 个字节的通用内存除外,该内存可以用于存储状态信息。BOR 和带隙电路被禁用。
设备可以通过支持唤醒功能的 IO、调试连接或 NRST 进行唤醒。
SHUTDOWN 模式具有所有工作模式中最低的电流消耗。退出 SHUTDOWN 模式触发 BOR。
# 4 测试环境准备
## 4.1 测试硬件
### 4.1.1 TI的MSPM0L1306 LaunchPad
是适用于MSPM0L1306 微控制器 (MCU) 的评估模块。该套件包含在 MSPM0L1xx 微控制器平台上开始开发所需要的全部资源,包括用于编程、调试和能量测量的板载调试探针。该板还具有用于快速集成简单用户界面、板载热敏电阻、光传感器和 RGB LED 的板载按钮和 LED。
下图显示了 LP-MSPM0L1306 LaunchPad 开发套件。
### 4.1.2 ST的X-NUCLEO-LPOM01A
板子如下图。用于给MSPM0L1306提供电源,并测试耗电。
可以通过USB接口供电,也可以外置电源供电。
可以单独使用,也可以配合电脑上的STM32CubeMonitor-Power软件工具使用。
!(/data/attachment/forum/202403/12/072131iibqhizdxdddmkb2.jpg?rand=6609.5444025535735)
## 4.2 测试软件
### 4.2.1 (https://www.ti.com.cn/tool/cn/CCSTUDIO)
### 4.2.2 例程:timx_timer_mode_periodic_sleep_LP_MSPM0L1306_nortos_ticlang
## 4.3 测试环境准备
### 4.3.1 硬件准备
#### 4.3.1.1 TI的MSPM0L1306 LaunchPad
参考User Guid(MSPM0L1306 LaunchPad Development Kit),去掉该去掉的跳线,如下图:
!(/data/attachment/forum/202403/09/155450bcwyu0u59mcndrcf.jpg.thumb.jpg?rand=8213.87724923905)
当要通过XDS110烧写固件的时候,连接如下下图:
!(/data/attachment/forum/202403/09/155518rjwc267dc5a2l2l2.png?rand=5529.156703189462)
#### 4.3.1.2 TI的MSPM0L1306 LaunchPad和ST的X-NUCLEO-LPOM01A的连接
烧写完固件后,将两块板子如下连接。(用于烧写的跳线要断开)
!(/data/attachment/forum/202403/09/155537faksnja3nuukcguj.jpg.thumb.jpg?rand=4246.3909845823)
# 5 测试和分析
voltage: 3.3,Temperature: 22C°
## 5.1 测试
图片太多,后面几个的就不贴出来了。
### 5.1.1 STANDBY0
不设置Configure Unused Pins,添加TIMER_0
测试值如下:1.214uA
### 5.1.2 STANDBY1
基于如上修改为:
测试值如下:894.7nA
### 5.1.3 RUN0
```
int main(void)
{
SYSCFG_DL_init();
while (1) {
// __WFI();
}
}
```
测量值:1.344mA
因为图片过多,这里和下面就不贴出来了。
### 5.1.4 SLEEP0
!(/data/attachment/forum/202403/09/155640rjdkd6j9z981655d.png.thumb.jpg?rand=6414.901602882823)
测量值:941.7uA
### 5.1.5 RUN1
```
int main(void)
{
SYSCFG_DL_init();
DL_SYSCTL_setPowerPolicyRUN1SLEEP1();
while (1) {
// __WFI();
}
}
```
测量值:525.2uA
### 5.1.6 SLEEP1
```
int main(void)
{
SYSCFG_DL_init();
DL_SYSCTL_setPowerPolicyRUN1SLEEP1();
while (1) {
__WFI();
}
}
```
测量值:519.9uA
### 5.1.7 RUN2
```
int main(void)
{
SYSCFG_DL_init();
DL_SYSCTL_setPowerPolicyRUN2SLEEP2();
while (1) {
// __WFI();
}
}
```
测量值:258.0uA
### 5.1.8 SLEEP2
```
int main(void)
{
SYSCFG_DL_init();
DL_SYSCTL_setPowerPolicyRUN2SLEEP2();
while (1) {
__WFI();
}
}
```
测量值:255.4uA
### 5.1.9 STOP0
测量值:323.2uA
### 5.1.10 STOP1
测量值:156.6uA
### 5.1.11 STOP2
测量值:44.85uA
### 5.1.12 SHUTDOWN
```
int main(void)
{
SYSCFG_DL_init();
DL_SYSCTL_setPowerPolicySHUTDOWN();
while (1) {
__WFI();
}
}
```
测量值:64.3nA
## 5.2 分析
汇总上面的测试结果如下:
| Mode | Current |
| -------- | ------- |
| RUN0 | 1.344mA |
| RUN1 | 525.2uA |
| RUN2 | 258.0uA |
| SLEEP0 | 941.7uA |
| SLEEP1 | 519.9uA |
| SLEEP2 | 255.4uA |
| STOP0 | 323.2uA |
| STOP1 | 156.6uA |
| STOP2 | 44.85uA |
| STANDBY0 | 1.214uA |
| STANDBY1 | 894.7nA |
| SHUTDOWN | 64.3nA|
和数据手册中的7.5 Supply Current Characteristics节基本一致。
# 6 参考
- (https://www.ti.com.cn/tool/cn/LP-MSPM0L1306#tech-docs)
- (https://www.ti.com.cn/cn/lit/ug/zhcuap0e/zhcuap0e.pdf?ts=1709956116753&ref_url=https%253A%252F%252Fwww.eetree.cn%252F)
- (https://www.ti.com.cn/tool/cn/CCSTUDIO)
- (https://www.ti.com/lit/gpn/MSPM0L1306?keyMatch=MSPM0L130X)
- (https://bbs.eeworld.com.cn/thread-1244342-1-1.html)
- (https://www.st.com/zh/evaluation-tools/x-nucleo-lpm01a.html)
- (https://www.st.com/resource/en/user_manual/um2243-stm32-nucleo-expansion-board-for-power-consumption-measurement-stmicroelectronics.pdf)
</div><script> var loginstr = '<div class="locked">查看本帖全部内容,请<a href="javascript:;" style="color:#e60000" class="loginf">登录</a>或者<a href="https://bbs.eeworld.com.cn/member.php?mod=register_eeworld.php&action=wechat" style="color:#e60000" target="_blank">注册</a></div>';
if(parseInt(discuz_uid)==0){
} </script><script type="text/javascript">(function(d,c){var a=d.createElement("script"),m=d.getElementsByTagName("script"),eewurl="//counter.eeworld.com.cn/pv/count/";a.src=eewurl+c;m.parentNode.insertBefore(a,m)})(document,523)</script> <p> LP-MSPM0L1306 LaunchPad 开发套件的图片没上传上来</p>
Jacktang 发表于 2024-3-10 15:02
LP-MSPM0L1306 LaunchPad 开发套件的图片没上传上来
<p>谢谢提醒,已经换成了开发套件的图片</p>
页:
[1]