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.

[参考译文] MSP430FR2355:降低设计功耗

Guru**** 2537340 points
Other Parts Discussed in Thread: MSP430FR2355

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

https://e2e.ti.com/support/microcontrollers/msp-low-power-microcontrollers-group/msp430/f/msp-low-power-microcontroller-forum/962422/msp430fr2355-reducing-power-consumption-of-design

器件型号:MSP430FR2355

我正在查看我可以在 MSP 中解决的问题、以降低设计的功耗。  吸引我眼球的一件事是使能的 SVSHE 位。  我的代码配置一些 I/O、配置一些外设、包括 FLL/CLK、然后将一些配置发送到无线电。  在此之后,我“尝试”禁用 PMM 寄存器中的 SVSHE,但这样做会导致调试器在 while (CSCTL7..... 请参阅以下功能。  此函数在我配置 I/O 并关闭看门狗之后的序列开始时发生。  在 LPM3设置之前的最后尝试禁用此位时、有人可以告诉我为什么调试器要在这里挂起?

void initClockTo16MHz (void)
{
FRCTL0 = FRCTLPW | NWAITS_1;
操作
{
CSCTL7 &=~(XT1OFFG | DCOFFG); //清除 XT1和 DCO 故障标志
SFRIFG1 &=~OFIFG;
} while (SFRIFG1和 OFIFG); //测试振荡器故障标志

_bis_SR_register (SCG0); //禁用 FLL
CSCTL3 |= SELREF_XT1CLK; //将 XT1设置为 FLL 基准源
CSCTL0 = 0;
CSCTL1 &=~(DCORSEL_7);
CSCTL1 |= DCOFTRIMEN_1 | DCOFTRIM0 | DCOFTRIM1 | DCORSEL_5;// DCOFTRIM = 5、DCO 范围= 16MHz
CSCTL2 = FLLD_0 + 487; // DCOCLKDIV = 16MHz
_DELAY_CYCLES (3);
_BIC_SR_register (SCG0); //启用 FLL
// Software_Trim ();
while (CSCTL7 &(FLLUNLOCK0 | FLLUNLOCK1));
CSCTL4 = SELMS_DCOCLKDIV | SELA_XT1CLK;//将 XT1 (~32768Hz)设置为 ACLK 源、ACLK = 32768Hz
}

我测量的接地电流约为68uA、我确实确保了 SELA 被设定为 XT1CLK。  由于处于睡眠状态的无线电和100k 下拉电阻器、我考虑了大约48uA 的电流、但我想看看我是否可以解决额外的20uA。  我将使用100欧姆电阻器来测量该值。  我在整个用户指南中查看了是否可以启用其他功能、但没有什么吸引我的眼球。

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

    您描述的症状是 FLL 未锁定、如果(a)您的 RSEL 设置不正确(看起来是正确的)或(b)您的 SELREF 源未振荡(似乎是)或未以正确的速度振荡(异常)、则可能会导致此情况。 我知道没有连接到 SVSHE。  

    您的描述并不十分清楚:当这个代码执行时、SVSHE=1、或者=0吗?

    查看数据表第5.7节、SVSHE 开与关之间的差异似乎小于0.2uA、因此我不确定20uA 的来源。 您是否相当确定您已设置 SELA = XT1CLK?

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

    布鲁斯...

    我 agree...no不会节省太多电流、但我想了解为什么 SVSHE 会造成严重破坏...来回答您的问题

    SVSHE 为1……我尝试将它设置为0,但当我这么做时,代码会在时钟函数中停止,正如我说的那样,这是我尝试设置 SVSHE 之前的方法……对我来说是没有意义的

    是 SELA 是 XT1CLK、从调试器中可以看到

    Steve

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

    Steve

    [引用用户="Steve Wenner"]大约68uA、我确实确保 SELA 被设置为 XT1CLK[/引用]

    您要在 LPM3处测量该电流、对吧?

    未使用的引脚配置如何?  

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

    加里....

    这一问题已经有所演变。  请参阅以下内容:

    我的电流状态是、在 LPM3下、2355EVM 上的电流大约为15.7uA。  这是使用 Picoscope 示波器在连接蓄电池和接地侧100欧姆电阻的情况下测量的。  我相信我已经说明了所有的 I/O  我已经安装了一个与 EVM 采用相同设计的新 PCB、并且在运行完全相同的代码时的读数大约为36uA。  我可以在两个电路板上看到的唯一区别是 EVM 上的 XT1晶振使用12pF 的拉电容、而我的电路板使用22pF 的拉电容。  我"高度怀疑"这会产生一个接地电流问题。   

    我的困境:

    15.7uA 是一个"好"数字、因为我有一个连接到 MSP 的 LoRaWAN 无线电、在睡眠模式下、该单元消耗大约15uA 的电流。  这里的一切都很好。  此时、我正尝试绕过旋转 PCB 的原因、即旋转变压器的电流大约是运行相同代码的两倍。  不同的晶振拉电容不会导致不同的接地电流、它们会怎么样? (我很确定不是)。

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

    您好 Steve

    我已经使用代码测试了 MSP430FR2355 Launchpad

    e2e.ti.com/.../msp430fr235x_5F00_LPM3_5F00_01.c

    由电池供电、移除其中的所有跳线、电流为1.2uA。 您可以在自己的一边尝试

    此致

    Gary

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

    您好、Gary。。。

    如果不运行代码,我对 MSP 系列有足够的经验,知道它可以达到它的标准....我更想知道不同的拉电容器是否会导致更高的接地电流?  演示板在晶振上为12pF、我的板在晶振上为22pF

    谢谢

    Steve

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

    我一直站在一边、因为这真的是一个 EES 问题。  

    1) 1)您是否尝试调整 XT1DRIVE? 它从最大值开始。 我认为最糟糕的危险是晶体可能会停止。

    2) 2) 22pF 在某种程度上看起来很大。 我使用的32kHz 晶体处于6-12pF 范围内。

    同样、对于 这样的东西、20uA 的差异听起来很大。 或许有必要获得该样片计划的基准。 (注意总线冲突-它将 GPIO 设置为批发。)

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

    是的(作为 EE --解释我的常量代码问题… ;)我同意...对于这个来说,20uA 很大...大约10年前,我看到了一个晶体的启动问题,我从来没有回望过,因为从来没有看到过这么丑的怪物...不会说谎,但是22pF 产生了另一个设计,这个设计很漂亮...我的 GPIO (当我从代码中取出头时)将再次查看。  我知道 XT1Drive 是我知道的、它似乎是我的电路板和 EVM 之间唯一的区别(我的大多数 GPIO 都不是在 LGA 上焊接到另一个 PCB 上的任何地方)。  我一定会继续寻找这个...我的担心当然是我最终改变它以节省功耗、而只是在某些"奇怪"的情况下(例如较低的电压、较高的温度等)、电路板停止工作。

    谢谢!!!