主题中讨论的其他部件:ENERGYTRACE, MSP432P401M,
工具/软件:Code Composer Studio
您好,
我想知道除SRAMbank0之外的禁用方法。
我使用了这种方法->" sysctl->SRAM_Bankken = sysctl_SRAM_Banken_BNK0_EN;"
但是,当使用所有SRAM组且仅激活SRAM组0时,消耗的能量没有差异...
如数据表 所示,两种情况下的能耗必须有明显的差异...
This thread has been locked.
If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.
工具/软件:Code Composer Studio
您好,
我想知道除SRAMbank0之外的禁用方法。
我使用了这种方法->" sysctl->SRAM_Bankken = sysctl_SRAM_Banken_BNK0_EN;"
但是,当使用所有SRAM组且仅激活SRAM组0时,消耗的能量没有差异...
如数据表 所示,两种情况下的能耗必须有明显的差异...
你好,Chris
我已经了解了数据表,因此我知道在关闭SRAM时要考虑什么。
我要做的是:
Bank0 ->开
银行1,2,3,4,5,6,7 ->关闭
我使用了这种方法->" sysctl->SRAM_Bankken = sysctl_SRAM_Banken_BNK0_EN;"
但是,当使用所有SRAM组且仅激活SRAM Bank 0时,消耗的能量没有差异...
此致,
Hayeon
您好Chris,
我使用了下面的代码..
测试了两个案例 的SRAM功耗...
案例 1: 仅SRAM Bank 0 -> ON
案例 2: SRAM Bank 0,1,2,3,4,5,6,7 ->开
功耗 是使用EnergyTrace+测量的
#include "msp.h"
Void 主(void)
{
易失 性UINT32_t I,l;
WDTCTL = WDTPW | WDTHOLD;/*停止看门狗计时器*/
//以下代码用于切换WFP 1.0 端口
P1DIR || BIT0;/*将WFP 1.0 配置为输出*/
对于(l = 0;l < 40;l++){
P1OUT ^= BIT0;/*切换WFP 1.0 */
对于(i=10万; i>0; i--);/*延迟*/
sysctl->SRAM_Bankken = sysctl_SRAM_Banken_BNK0_EN; /*案例1 : 仅SRAM Bank0 ->开*/
//sysctl->SRAM_Banken = sysctl_SRAM_Banken_BNK7_EN; /*案例2 : SRAM Bank 0,1,2,3,4,5,6,7 ->开*/
}
}
我认为此代码仅表示SRAM Bank 0 -> ON,因为根据MSP432P401R,MSP432P401M SimpleLink混合信号微控制器的“6.4 .2.1 SRAM Bank Enable Configuration”(MSP432P401R,MSP432P401M)(修订版 f)"技术参考手册。
该应用程序可以优化SRAM的功耗。 为启用此功能,SRAM被划分为8 KB组,可以单独关闭电源。 在有源和低功耗操作模式下,断电的存储组都将保持断电状态,从而在设备在 有源 和基于保留的低功耗模式之间转换时限制任何不必要的浪涌电流。 应用程序还可以在 处理的某个阶段禁用一个(或多个)库 ,并在另一个阶段启用。
当禁用某个特定的存储库时,读取到其地址空间返回0h, 并 丢弃写入。 为了防止内存映射中出现'孔洞',如果启用了特定的内存组,则所有较低的内存组也将被强制到 启用 状态。 这可确保通过 启用 的内存组进行连续的内存映射,而不是允许禁用的内存组出现在启用的内存组之间。 例如:
•如果设备中有八个气缸组,则值11.1111万和0.0111万可接受。
•诸如1.0111万之类的值无效,结果库配置自动设置为1.1111万。
•例如,对于4组SRAM,仅允许值为0001,0011,0111和1111。
SRAM的Bank 0 始终处于启用状态,无法禁用。 对于所有其它插槽,任何启用或禁用更改都会导致SYS_SRAM_BANKEN寄存器的SRAM_RDY位被设置为0,直到配置更改生效。 在此期间,对SRAM的任何访问都将停止,并且只有在SRAM存储库准备好进行读写操作后才能恢复访问。 这是透明处理的,不需要任何代码干预。 请参阅SRAM组启用或禁用延迟的电气规格中的SRAM特性。
谢谢!
Hayeon
感谢您提供代码。 我能够在MSP-EXP432P401R 2.1 12.0001万PAD上加载并运行代码,并且能够通过energyTrace+查看当前的变化。 请注意,所有JTAG连接均已移除,且Launchpad (J101)上仅填充3.3V和GND跳线。
SRAM All On (全部打开):
SRAM除组0外均关闭:
我还包括了LPM4代码示例的修改版本,以帮助删除与MSP432的其他部件相关的电流。
e2e.ti.com/.../pcm_5F00_lpm45_5F00_no_5F00_wakeup_5F00_SRAM.c
我注意到您的文件中包含"msp.h",而不是 "ti/devices/msp432p4xx/inc/msp.h>。 您使用的硬件/芯片版本是什么?
谢谢,此致,
Chris
您好,Chris感谢您的回复。
正如你们所建议的那样,我再次尝试了实验。 结果显示,启用/禁用气缸组时,能量会有所不同。
但是,在执行EnergyTrace (设置EnergyTrace的持续时间 )时会出现另一个问题(秒表图标)。
如您所知,EnergyTrace在整个程序执行过程中测量能量和功率。
因此,我通常在程序中设置断点(__no_operation();)并将测量持续时间设置为“暂停”。
但是,在我从MSP432上卸下了大多数跳线后,测量没有停止。 “On halt (暂停时)”不工作。
是否有任何我没有考虑的问题?
谢谢你
Hayeon