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.

[参考译文] MSP432P401R:功耗

Guru**** 2539710 points
Other Parts Discussed in Thread: CC1200, CC1190

请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

https://e2e.ti.com/support/microcontrollers/msp-low-power-microcontrollers-group/msp430/f/msp-low-power-microcontroller-forum/656723/msp432p401r-power-consumption

部件号:MSP432P401R
主题中讨论的其他部件:CC1200CC1190

您好,

如果我有代码:

void main (void)
{
	
WDTCTL = WDTPW | WDTHOLD; //停止看门狗计时器
MAP_Interrupt_DisableMaster();

而(1){

PCM_gotoLPM3();
}
} 

我预期的电流消耗是多少?  

我在数据表中看到 LPM3的电流消耗是660nA (是660nA/MHz吗?) 但我没有得到那个结果(我得到的是80uA),所以我想看看我在初始化过程中是否错过了一些东西。

此致,

Ugljesa Popovic。

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    您好Ugljesa:

    仅仅调用LPM3函数是不够的。 还有一些其他操作需要完成,如将IO驱动到0的已知状态,关闭PSS High Side Monitor。 请查看SDK中的以下示例

    C:\ti\simplelink_msp432p4_sdk_1_60_00_12\examples\nortos\MSP_EXP432P401R\driverlib\PCM_GO _to_lpm3
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    感谢Amit的回答。

    我正在将PIN配置为已知状态。
    但是MCLK呢?
    当设备处于活动状态时,使用外部HFXT (48MHz)进行i'am。 我将设备配置为在该频率上工作,但在转至LPM3之前,我不会更改它。 当我呼叫gotoLPM2时MCLK会发生什么情况? LPM3中MCLK的来源是什么,假设HFXT在此电源模式下被禁用,并且DCO也被禁用,这是默认MCLK源(据我所知)?  

    此致,

    Ugljesa。

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    您好Ugljesa

    如果没有外围设备请求MCLK,则应对其进行门控。 您是否运行了示例,然后进行了电流测量?
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    是的,我有... 这是一样的,但我不想谈论这个例子,我没有使用开发套件,我现在对这些时钟感兴趣:D我认为我没有很好地使用它们:D
    " MCLK应被门控。"
    我不确定我是否理解... 因此,当在LPM3处理器中时,不要使用任何时钟源(这会使Sens因为它不执行任何操作,但我认为它是在一些非常低的可用性时钟上),而在LPM3中可以运行的时钟仅在IH上,一些外设正在使用它们?
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    您好Ugljesa

    请您发布更新后的代码,以便我们可以在我们这边试用代码,以确认您看到的有关当前消耗的观察结果?
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    好的,我明天会在工作时间发布您的代码
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    您好, 

    这是代码。



    //************************************************************************************************* //// MSP432 main.c模板-空主模板 ////************************************************************************************** #include "driverlib.h" void main(void){ WDTCTL = WDTPW | WDTHOLD; //停止看门狗计时器 MAP_Interrupt_DisableMaster(); /*将所有GPIO声明为输出*/ MAP_GPIO设置输出引脚(GPIO_PORT_P1, GPIO _PIN7 | GPIO _PIN6 | GPIO _PIN5 | GPIO _PIN4 | GPIO _PIN3 | GPIO _PIN2 | GPIO _PIN1 | GPIO _PIN0); MAP_GPIO设置输出引脚(GPIO_PORT_P2, GPIO _PIN7 | GPIO _PIN6 | GPIO _PIN5 | GPIO _PIN4 | GPIO _PIN3 | GPIO _PIN2 | GPIO _PIN1 | GPIO _PIN0); MAP_GPIO设置输出引脚(GPIO_PORT_P3, GPIO _PIN7 | GPIO _PIN6 | GPIO _PIN5 | GPIO _PIN4 | GPIO _PIN3 | GPIO _PIN2 | GPIO _PIN1 | GPIO _PIN0); MAP_GPIO设置输出引脚(GPIO_PORT_P4, GPIO _PIN7 | GPIO _PIN6 | GPIO _PIN5 | GPIO _PIN4 | GPIO _PIN3 | GPIO _PIN2 | GPIO _PIN1 | GPIO _PIN0); MAP_GPIO设置输出引脚(GPIO_PORT_P5, GPIO _PIN7 | GPIO _PIN6 | GPIO _PIN5 | GPIO _PIN4 | GPIO _PIN3 | GPIO _PIN2 | GPIO _PIN1 | GPIO _PIN0); MAP_GPIO设置输出引脚(GPIO_PORT_P6), GPIO _PIN7 | GPIO _PIN6 | GPIO _PIN5 | GPIO _PIN4 | GPIO _PIN3 | GPIO _PIN2 | GPIO _PIN1 | GPIO _PIN0); MAP_GPIO设置输出引脚(GPIO_PORT_P7, GPIO _PIN7 | GPIO _PIN6 | GPIO _PIN5 | GPIO _PIN4 | GPIO _PIN3 | GPIO _PIN2 | GPIO _PIN1 | GPIO _PIN0); MAP_GPIO设置输出引脚(GPIO_PORT_P8, GPIO _PIN7 | GPIO _PIN6 | GPIO _PIN5 | GPIO _PIN4 | GPIO _PIN3 | GPIO _PIN2 | GPIO _PIN1 | GPIO _PIN0); MAP_GPIO设置输出引脚(GPIO_PORT_P9, GPIO _PIN7 | GPIO _PIN6 | GPIO _PIN5 | GPIO _PIN4 | GPIO _PIN3 | GPIO _PIN2 | GPIO _PIN1 | GPIO _PIN0); MAP_GPIO设置输出引脚(GPIO_PORT_P10, GPIO _PIN5 | GPIO _PIN4 | GPIO _PIN3 | GPIO _PIN2 | GPIO _PIN1 | GPIO _PIN0); /*将所有输出设置为低*/ MAP_GPIO_setOutputLowOnPin (GPIO端口P1, GPIO _PIN7 | GPIO _PIN6 | GPIO _PIN5 | GPIO _PIN4 | GPIO _PIN3 | GPIO _PIN2 | GPIO _PIN1 | GPIO _PIN0); MAP_GPIO_setOutputLowOnPin (GPIO端口P2, GPIO _PIN7 | GPIO _PIN6 | GPIO _PIN5 | GPIO _PIN4 | GPIO _PIN3 | GPIO _PIN2 | GPIO _PIN1 | GPIO _PIN0); MAP_GPIO设置输出低引脚(GPIO_PORT_P3, GPIO _PIN7 | GPIO _PIN6 | GPIO _PIN5 | GPIO _PIN4 | GPIO _PIN3 | GPIO _PIN2 | GPIO _PIN1 | GPIO _PIN0); MAP_GPIO_setOutputLowOnPin (GPIO端口P4), GPIO _PIN7 | GPIO _PIN6 | GPIO _PIN5 | GPIO _PIN4 | GPIO _PIN3 | GPIO _PIN2 | GPIO _PIN1 | GPIO _PIN0); MAP_GPIO_setOutputLowOnPin (GPIO端口_P5, GPIO _PIN7 | GPIO _PIN6 | GPIO _PIN5 | GPIO _PIN4 | GPIO _PIN3 | GPIO _PIN2 | GPIO _PIN1 | GPIO _PIN0); MAP_GPIO_setOutputLowOnPin (GPIO端口P6, GPIO _PIN7 | GPIO _PIN6 | GPIO _PIN5 | GPIO _PIN4 | GPIO _PIN3 | GPIO _PIN2 | GPIO _PIN1 | GPIO _PIN0); MAP_GPIO_setOutputLowOnPin (GPIO端口P7, GPIO _PIN7 | GPIO _PIN6 | GPIO _PIN5 | GPIO _PIN4 | GPIO _PIN3 | GPIO _PIN2 | GPIO _PIN1 | GPIO _PIN0); MAP_GPIO_setOutputLowOnPin (GPIO端口P8, GPIO _PIN7 | GPIO _PIN6 | GPIO _PIN5 | GPIO _PIN4 | GPIO _PIN3 | GPIO _PIN2 | GPIO _PIN1 | GPIO _PIN0); MAP_GPIO_setOutputLowOnPin (GPIO端口P9, GPIO _PIN7 | GPIO _PIN6 | GPIO _PIN5 | GPIO _PIN4 | GPIO _PIN3 | GPIO _PIN2 | GPIO _PIN1 | GPIO _PIN0); MAP_GPIO_setOutputLowOnPin (GPIO端口P10, GPIO _PIN5 | GPIO _PIN4 | GPIO _PIN3 | GPIO _PIN2 | GPIO _PIN1 | GPIO _PIN0); 而(1){ MAP_PCM_GotoLPM3(); } }

    此致,

    Ugljesa。

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    您好Ugljesa

    我在我的LaunchPad上运行您的代码,并使用Energy Trace测量当前消耗。

    您的代码:20.7 uA.
    SDK中的LPM3代码:1.5 uA.

    现在,当数据表编号可用时,零件之间会有变化,因此不会意外出现相同的差异。 我再次建议您从SDK中的KPM3示例开始,并将其用作自定义应用程序的模板。
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    您好Amit:

    现在我对我在LPM3中的消费感到满意,我发现了另一个问题。 因此,当我将SPI配置到您的cc1200芯片,并将DMA通道配置为miso和moci 时,我消耗了800uA,但当我评论两行为DMA通道时,我有60uA。 那是什么? 。 我已检查,DMA上没有中断。 我以为它会唤醒我的设备,但DMA不应该在LPM2中工作。 另外,我在确认信道后尝试禁用它们,但它不起作用。 只有当我不向他们说的话

    此致,

    Ugljesa。

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    您好Ugljesa:

    我不是很清楚你在上一篇文章中试图做什么。 如果您可以将某个源代码附加到论坛帖子中,然后将w.r.t附加到源代码中解释相同的内容,则会更有用。
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    您好,

    我可以理解,如果我要求您查找语法错误,您需要代码,但我要问您,为什么我调用MAP_DMA_赋 值通道()函数时电流消耗较高。 我没有时间制作另一个代码并向您模拟我的问题。

    我无法向您发布我的代码,因为我签订了NDA合同。 我现在为Neurone Doo工作, Novi Sad Serbia和您可以检查一下,我们是否向您购买了TI的几个开发人员套件和10个MSP432处理器,现在还没有多少CC1200和CC1190芯片,将来,当我们拥有低功耗的器件时,我们期待再购买数千个 因为我们对这些产品非常满意。

    所以我再次询问我,希望我不会再浪费一天时间等待回答"发布您的代码"。 时间差异很大。

    调用map_dma_assignChannel()时,我的电流消耗较高。 I'am分配两个通道:DMA_CH0_EUSCIB0TX0和DMA_CH1_EUSCIB0RX0,EUSCIB0基座用于与CC1200芯片进行SPI通信。 当CC1200处于嗅探模式时,这两个DMA通道被禁用且不使用。 CC1200启用数据包时,将启用DMA通道,并使用DMA将来自FIFO缓冲区的数据传输到MSP432。 您是否知道为什么会发生这种情况? 我尝试禁用DMA模块,不使用DMA控制表,而只是在我不分配这两个通道时,我的电流消耗较低。 另外,我还启用了一个DMA通道,该通道用于软件触发的DMA传输,我对此没有任何问题。 我猜是DMA和ESCI之间的某种情况导致了这种情况。 当DMA模块与EUSCI "组合"时,是否可能在LPM3中工作?

    此致,

    Ugljesa Popovic。

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    您好Ugljesa:

    尊敬的是,从您发布的第一个代码到提及当前消耗高于规格的要点,我要求您参考实际将设备置于LPM3以满足规格的示例,您一直不合作。 最后,当我将我提到的相同代码发回给您时,您使用的代码似乎不足以正确达到最低功率状态。 因此请记住,我要求您提供代码。
    现在,我知道您在遵守NDA的情况下不会发布一个非常合理的代码。 但是为了帮助您,我不能简单地根据单个描述来假设代码的执行方式。 我需要代码能够重现问题,然后了解设备的行为方式。 此外,我没有客户可以连接MSP432的每一台设备,我的大多数其他客户也同意并似乎合理地同意它。 这使迅速达成解决办法更具建设性。
    我的最佳猜测是,外围设备正在向DMA生成永不结束的DMA请求,从而导致DMA始终处于连续获取状态。 这可能是导致高电流的原因。
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    您好Amit:

    我知道,我应该告诉您我无法发布代码,但我希望得到这样的答案。 它解决了我的问题:D
    我在转至LPM3之前在相应的基座上禁用了SPI,它降低了我的消耗。

    谢谢!

    Ugljesa。