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.

[参考译文] MSP430FR2111:即使未使用 REFO、也不会关闭。

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

https://e2e.ti.com/support/microcontrollers/msp-low-power-microcontrollers-group/msp430/f/msp-low-power-microcontroller-forum/1198867/msp430fr2111-refo-does-not-turn-of-even-though-it-is-not-used

器件型号:MSP430FR2111
主题中讨论的其他器件: MSP430FR2000

您好、专家!

向 CX 寻求有关此查询的帮助:

问题:
我们 从测量结果中得出结论:REFO 不会关闭(请查看下面我们是如何得出此结论的)。 我们想知道这是否是 MSP430FR2111系列中的一个已知问题。 如果没有、如何 解决此问题? 我们的主要目标是降低有源模式下的电流消耗。

数据表中的信息:

根据用户指南《MSP430FR4xx 和 MSP430FR2xx 系列》第103页的第3.2.3章"内部修整低频基准振荡器(REFO):"REFO 未使用时无功耗"

根据 MSP430FR21xx 和 MSP430FR2000混合信号微控制器的数据表、第24章第8.12.3.4章 REFO:REFO 振荡器在3V 电压下的电流消耗为15uA

我们进行了两次测量:
1.) 我们使用 REFO 作为 MCLK 作为 SMCLK、使用 ACLK。 FLL=OFF、DIVM=1、DIV=1
-> MSP430的功耗=  71.87 μ A  电压为3V

2.) 我们在 XT1IN 引脚上使用了外部32.768kHz 推挽时钟、XT1BYPASS 作为 MCLK 作为 SMCLK、作为 ACLK。
FLL=OFF、DIVM=1、DIV=1
-> MSP430的功耗=  72.12 μ A  在3V 电压下(预期功耗为71.87-15=  56.87uA )


C 语言代码:
测量值一、时钟设置:

__bis_SR_register(SCG0); //disable FLL CSCTL4 |= SELMS__REFOCLK | SELA__REFOCLK; // selcect REFOCLK 32.768kHz

测量二、时钟设置:

//P2SELx = 10 set at pin 1.7 pinFunction to XIN P2SEL1 |= BIT7; //1 MSB P2SEL0 &=~ BIT7; //0 LSB // 1b = XT1 sources externally from pin (0_UsersGuide_MSP430FR4xx_and_MSP430FR2xx.pdf S.120) CSCTL6 |= XT1BYPASS; // must be done before asking if everthing is ok of course! do{ // waiting for OFIFG is a must, otherwise REFCLK is selected as fall back CLOCK! // the reason: FLL can only be disabled after OFIFG is Low CSCTL7 &= ~(XT1OFFG | DCOFFG); // Clear XT1 and DCO fault flag SFRIFG1 &= ~OFIFG; }while (SFRIFG1 & OFIFG); // Test oscillator fault flag __bis_SR_register(SCG0); //disable FLL CSCTL4 |= SELMS__XT1CLK | SELA__XT1CLK; // selcect external CLK source (RTC) for MCLK | selcect external CLK source (RTC) for ACLK CSCTL3 |= SELREF__XT1CLK;e2e.ti.com/.../configure


请为您提供帮助。

此致、
阿奇·A·阿奇

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

    您好!

    客户是否 在 CSCTL3中设置 REFOLP?

    此致、

    Evan

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

    您好 Evan:

    对客户刚从节假日回来后的反应表示歉意。

    他们 担心 MCU MSP430FR2111。

    CSCTL3寄存器中的 REFOLP 位仅在具有增强型时钟系统的 MSP430中可用 MSP430FR2111具有基本 CS。

    他们还尝试在设置为1时 REFOLP 位保持为0。 因此 、我们的目标不是使用低功耗 REFO、而是使用外部时钟并禁用内部 REFO、就像我在原问题中所说的那样。

    按照用户指南中的说明、这是可能的。

    来自"用户指南 MSP430FR4xx 和 MSP430FR2xx 系列"的"3.2.3内部修整低频基准振荡器(REFO)"的屏幕截图

    谢谢你。

    73、
    阿奇·A·阿奇

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

    您好、Archie。

    第二个代码片段看起来应该是禁用 REF0、但是我确实注意到客户正在尝试使用代码将 SELREF 设置为0:

    CSCTL3 |= SELREF__XT1CLK

    但是、该字段的值为0、无法通过按位或实现。 尝试:

    CSCTL3 &= ~SELREF__XT1CLK

    由于 SELREF 的复位值已经为0、我不确定这是否就是问题所在。  

    上面共享的代码缺少格式、因此我很难阅读。 如果无法解决客户的问题、请让他们分享一个代码示例、我可以直接使用该代码示例进行复制。

    此致、

    Evan

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

    您好 Evan:

    我们 终于找到了重新进行电流消耗测试的时间:它起作用了!
    错误"CSCTL3 |= SELREF_XT1CLK;"
    使用"CSCTL3 &=~SELREF_XT1CLK;"修复了该问题、但未修复。 CSCTL3寄存器中的 SELREF__XT1CLK 位‘在此行"0"之前。
    但我在上面的一行中犯了同样的错误。

    减价前:
    CSCTL4 |= SELMS_XT1CLK | SELM__XT1CLK;

    固定:
    CSCTL4 |= SELMS_XT1CLK;
    CSCTL4 &&~(BIT8 | BIT9); //选择 SELA __XT1CLK BIT8=0;BIT9=0


    测试:

    1. 测试是否存在泄漏电流:
       MSP430在3.3V 时的电流消耗、LPM4.5 = 32.9nA ->无泄漏电流[OK!]
    2. 测试内部 REFO:
      MSP430在3.3V 时的电流消耗= 72.29uA ->[OK]
    3. 测试外部32.765kHz 推挽 XIN 时钟输入:
      MSP430在3.3V 时的电流消耗= 58.3uA ->预期为57.71uA -> [OK!]

    非常感谢您的帮助。

    此致、
    阿奇·A·阿奇