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.

[参考译文] MSP430FR5969:使用 LPM3、4时的电流消耗

Guru**** 2539500 points
Other Parts Discussed in Thread: MSP430FR5969, ENERGYTRACE

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

https://e2e.ti.com/support/microcontrollers/msp-low-power-microcontrollers-group/msp430/f/msp-low-power-microcontroller-forum/966325/msp430fr5969-current-consumption-when-using-lpm3-4

器件型号:MSP430FR5969

各位专家、您好!

请允许我确认 MSP430FR5969的功耗概念。
在"表6-1中。 运行模式"、LMP3时为0.4uA。 这是否正确、仅表示 CPU 的电流消耗、不包括时钟、其他外设的电流、GPIO 的泄漏电流等?

我使用了以下源代码来测量具有 Energytrace 的 LPM3的电流消耗。 (在进入 LPM3后的自由运行中测得)。

#include 

int main (void)
{
WDTCTL = WDTPW | WDTHOLD; //停止 WDT

//配置 GPIO
P1OUT = 0; // Energy Trace
P2OUT = 0; // Energy Trace
P3OUT = 0; //能量跟踪
P4OUT = 0; // EnergyTrace
PJOUT = 0; // Energytrace

P1DIR |= BIT0 + BIT1 + BIT2 + BIT3 + BIT4 + BIT4 + BIT5 + BIT6 + BIT4;
P2DIR |= BIT0 + BIT1 + BIT2 + BIT2 + BIT4 + BIT4 + BIT4 + BIT6 + BIT4; // Energy Trace
P3DIR |= BIT0 + BIT1 + BIT2 + BIT3 + BIT4 + BIT4 + BIT4 + BIT6 + BIT4; // Energytrace
P4DIR |= BIT0 + BIT1 + BIT2 + BIT3 + BIT4 + BIT4 + BIT5 + BIT6 + BIT7; // Energy Trace
PJDIR |= BIT0 + BIT1 + BIT2 + BIT3 + BIT4 + BIT4 + BIT4 + BIT6 + BIT4; // Energy Trace

PM5CTL0 &=~LOCKLPM5; //禁用 GPIO 上电默认高阻抗模式以激活先前配置的端口设置

while (1)
{
// _bis_SR_register (LPM4_bits | GIE);
_bis_SR_register (LPM3_bits | GIE);
}

结果约为0.042mA、但计算结果不匹配、即使我考虑了 VLO 的电流消耗、VLO 是 ACLK 的默认源。 此外、即使考虑了"5.7低功耗模式(LPM2、LPM3、LPM4)电源电流(流入 VCC)(不包括外部电流)"中的值、电流值也过大。您能告诉我如何使 LPM3测量期间的电流消耗更接近数据表中的值吗?

当我使用相同的方法来测量 LPM4时、流耗为0.0003mA、这是预期的值。

很抱歉这个问题不好、但如果您能告诉我、我将不胜感激。

此致、
还不错

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

    数据表(SLAS704G)第5.7节中表格下方的注释给出了测量的测试条件。 除非另有说明、外设假定为已禁用(您的情况)。 请注意(1)、引脚上没有总线冲突。 数据表第5.10节给出了外设的(功率)成本。

    您使用的平台是什么? 如果是 Launchpad、您可能需要从"桥接"接头块中移除 RXD/TXD 跳线以避免总线冲突。

    TI 为 LPM3提供了两个示例程序:msp430fr59xx_lpm3_02.c 和_03.c 示例_03.c 需要32kHz 晶体、_02.c 不会:

    http://dev.ti.com/tirex/explore/node?node=ANl15q.WAlqtoc2gvgQ-8A__IOGqZri__LATEST

    http://dev.ti.com/tirex/explore/node?node=ANQMYjJK8nvSJKAR7Y5eew__IOGqZri__LATEST

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

    您好、Bruce、

    感谢你的建议。

    根据您提供的示例代码、我测量了 LPM3的电流、并且能够接近0.0006mA。这次的关键点似乎是 ACLK 源选择(CSCTL2.SELA)。默认情况下、SELA = LFXTCLK、 但是当我切换到 SEL= VLOCLK 时、我能够测量接近数据表的电流值。

    这里出现了一个问题、如果我不使用 LFXT、我认为它将切换到 LFMODCLK、并且由于 LFMODCLK = MODOSC/128、我认为它将消耗 MODOSC 电流。 不过、MODOSC 的电流消耗典型值= 25uA、这与之前的测量结果0.046mA 不同。

    如果您知道原因、可以告诉我吗?
    (我是否应将其视为预期范围内的误差?)

    [引用用户="Bruce McKenney47378]]您使用的平台是什么? 如果是 Launchpad、您可能需要从"桥接器"接头块中移除 RXD/TXD 跳线以避免总线冲突。

    请告诉我、这里的"总线冲突"是什么意思?
    我正在使用 LaunchPad、这是否意味着仿真器侧存在 UART 冲突?

    此致、
    还不错

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

    是的、通过"总线冲突"、我只是指导线的两端同时驱动导线(处于不同的电平)。 ezFET 始终驱动其 RXD 跳线的一侧、因此忘记这是一个常见的错误[我包括在内]。 更一般而言、在定制电路板上、您需要审核示例、以确保其"批发"GPIO 配置不会与电路板上的硬接线器件发生冲突。

    我没有(有意识的)尝试过 LFMODCLK 电源、但我希望它消耗 MODOSC 的电流。 我不知道另一个21uA 的来源是什么;通常这些练习通过"敲门"一个障碍来进行、以便可以看到下一个障碍。

    可以在软件中校准 VLO、即根据已知时钟(例如 DCO)测量其速率、然后使用该时钟计算可用的 VLOCLK 速率。 应用手册 SLAA693A 适用于 FR2系列、但我看不到它无法应用于 FR59器件的任何明显原因。 (在某些器件中、VLO 会在 LPM3/4中改变频率。 我在数据表(SLAS704G)表5-7中看不到该注释、但您可能仍然需要注意。)

    https://www.ti.com/lit/an/slaa693a/slaa693a.pdf

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

    您好、Bruce、

    很抱歉耽误你的回答。

    我将对剩余的21uA 进行更多研究。

    [引用用户="Bruce McKenney47378]]*可以在软件中校准 VLO、即根据已知时钟(例如 DCO)测量其速率、然后使用该时钟计算可用的 VLOCLK 速率。 应用手册 SLAA693A 适用于 FR2系列、但我看不到它无法应用于 FR59器件的任何明显原因。 (在某些器件中、VLO 会在 LPM3/4中改变频率。 我在数据表(SLAS704G)表5-7中看不到该注释、但您可能仍想对此加以注意。)

    我认为它不适用于 FR59的 RTC_B、因为唯一可以选择的时钟源是晶体。

    此致、
    还不错