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.

[参考译文] MSP-EXP430FR2311:高电流消耗、比 LPM3/4之后的预期更长

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

https://e2e.ti.com/support/microcontrollers/msp-low-power-microcontrollers-group/msp430/f/msp-low-power-microcontroller-forum/795659/msp-exp430fr2311-high-current-draw-longer-then-expected-after-lpm3-4

器件型号:MSP-EXP430FR2311
主题中讨论的其他器件:ENERGYTRACE

大家好!

非常感谢您在这方面的帮助。  现在、我在这个问题上已经非常困惑了4天。 重新阅读所有文档、不幸运。

我有以下要求:

*简单的物联网传感器应用。  

*每~5s 唤醒一次 MSPFR2311,通过 I2C 与传感器通信~5ms,然后返回休眠状态。

*每1小时通过 SPI 向无线芯片传输~50ms 并返回到睡眠状态。

*电池寿命至关重要,这就是我尝试使用 LPM4休眠~5s 的原因(定时在任何时候都不重要)。

但是、我看到的问题是 CPU 唤醒时间太长。 我非常困惑、因为我已经使用 GPIO 的所有可用代码进行定时、并且它的运行时间比功耗短得多。  我的 ISR 运行时间~30us、代码运行时间最大为~50ms。 但是、使用 EnergyTrace 进行的电流测量报告我的激活码电流过长(也是变量!) 有时、它可能会持续整整一秒。


我缩小了我的计划范围、尽可能缩小了范围、但至少在2块电路板上仍然会对其进行调整。

#include "io430.h"

int main (void)
{
//停止看门狗计时器以防止超时复位
WDTCTL = WDTPW + WDTHOLD;
//将引脚设置为低功耗模式。
P1OUT = 0x00;
P2OUT = 0x00;
P1DIR = 0xFF;
P2DIR = 0xFF;
//解锁引脚
PM5CTL0 &=~LOCKLPM5;
//将 RTC 设置为触发~8秒
RTCMOD = 10000UL;
RTCCTL = RTCSS_3 | RTCSR | RTCPS_1 | RTCIE;




while (1)
{
//假设要在5000/2MHz = 2.5ms
无符号易失性 long wait_var = 5000;
while (wait_var>1)
wait_var--;

_bis_SR_register (LPM4_BITS | GIE);
}
返回0;
}

#pragma vector=RTC_vector
_中断 void RTC_ISR (void)
{
(void) RTCIV;//清除中断
__BIC_SR_REGISTER_ON_EXIT (LPM4_BITS);//返回主程序
返回;
} 

此处是能量迹线、在任何地方都显示神秘的长延迟。 这是怎么可能的?

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

    我将尝试使用您的代码重复您的问题。 晚一点回来。
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    谢谢! 我将等待着呼吸。

    我怀疑这与 FLL 有关。  我在 ISR 中添加了一些代码来执行 FLL 锁定(fll settle + load param)、并在 ISR 和主代码之间留出了50ms 的时间。…

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

    您是否成功重现了问题? 否则、我可以提交更多显示问题的代码。

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

    尊敬的乔治:

    我尝试在 CCS9.0.1中重复您的问题、但不会遇到此问题、您能告诉我您的编译器工具版本吗?

    结果显示:

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

    您好 Johnson!

    您的功率看起来非常高。 (9mW?) 是否有任何其他东西连接到电路板?

    此外、它看起来仍然很长。 如果放大、您是否会得到近半秒的"唤醒"时间?

    但是、我的外观与您的外观仍然不同。 我尝试使用 CCS、这就是我得到的结果。  代码与 IAR 完全一样、但如果是 iot430、则#include MSP430。 我有:

    CCS 8.3.0.00009

    MSP430编译器工具18.1.5

    TI MSP430工具链9.0.1

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

    这是我要使用的确切输出文件。 我必须将其压缩、以使系统能够处理它。 运行->加载应提供相同的性能。   

    在我的 EXP 板上、我仅组装了4个跳线- GND、3V3、SBWTSTOP。 SBWTCK。    所有其它(UART、5V、光传感器、LED)未组装。

    e2e.ti.com/.../broken.7z

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

    尊敬的乔治:

      我的功率大约为9mw、因为 电路板具有其他连接、现在断开 Eneraytrace 中的所有连接后、我的测试结果与您的测试结果类似。

      然后、我进行如下实验:

      1.测试代码运行时间,大约86ms,显示以下内容:

    2.A 串联电阻以3.3V 电源连接、然后使用示波器测量电阻两端的电压、我们会发现每10秒大约有87ms 的较高电压、显示如下:

    因此、结果显示有源模式电流不会太长、例如 Eneraytrace、我认为时间应取决于实际实验。

    如果我的帖子有助于解决您的问题、请单击   此已解决我的问题  按钮 

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

    这是否意味着我们不能依赖时序小于100ms 的 EnergyTrace?

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

    我想我已经弄清楚了。

    这篇文章对以下方面有所帮助:

    该图在低于特定功率水平时不准确。 但是、能量仍然正确。 EnergyTrace 基本上会进行功耗计数、如果尖峰太快、它仍会进行正确计数、但它会显示时间更长、但功耗更低(并且仍会获得相同的结果)。

    e2e.ti.com/.../357227