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.

[参考译文] CCS/MSP430F5528:LPM3基准代码

Guru**** 2540720 points
Other Parts Discussed in Thread: MSP430F5528

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

https://e2e.ti.com/support/microcontrollers/msp-low-power-microcontrollers-group/msp430/f/msp-low-power-microcontroller-forum/602689/ccs-msp430f5528-lpm3-benchmark-code

器件型号:MSP430F5528
主题中讨论的其他器件: MSP430WARE

工具/软件:Code Composer Studio

您好!

我正在调整 MSP430f5528器件的电流。

拥有一个基准测试代码-只需全部关闭、然后转到 LPM3、这将是很酷的。 看门狗定时器应作为 周期定时器中断源运行。  

以下代码是否足以运行这样一个基准测试-或者、为了在1.9V 电压下实现额定1.9uA 电流、我是否应该考虑到任何其他因素来最大限度地减小电流?

目前我离这一电流远了,不幸的是。

非常感谢您的帮助!

此致

Mathias

void main(){ 
WDTCTL = WDTPW | WDTHOLD; // UCSCTL6|=XT2OFF; UCSCTL6|=XT1OFF; UCSCTL6|=SMCLKOFF; //这些设置结果对该基准测试中的低功耗性能没有任何影响。 * PADIR=0xFFFF;PAOUT=0x0000;//端口1和2 PBDIR=0xFFFF;PBOUT=0x0000;//端口3和4 PCDIR=0xFFFF;PCOUT=0x0000;//端口5和6 PJDIR=0xFFFF;PJOUT=0x0000;// JTAG 端口 _LOW_POWER_MODE_3(); }

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

    您好、Mathias、
    对于我们的所有器件、您可以在我们的产品页面上找到许多示例代码。 只需转至 MSP430f5528 页面并单击"Software"选项卡即可。 在此 zip 文件中、您将找到进入 LPM3的以下代码:

    int main (void)
    {
    WDTCTL = WDTPW + WDTHOLD; //停止看门狗定时器
    UCSCTL4 = SEL_1; // ACLK = VLO
    
    //端口配置
    P1OUT = 0x00;P2OUT = 0x00;P3OUT = 0x00;P4OUT = 0x00;P5OUT = 0x00;P6OUT = 0x00;
    P7OUT = 0x00;P8OUT = 0x00;PJDIR = 0x00;
    P1DIR = 0xFF;P2DIR = 0xFF;P3DIR = 0x5FF;PDIR
    = 0x5DIR = 0x5DIR = 0xFF;PFF;PDIR = 0x4DIR = 0x5DIR = 0x5DIR = 0xFF;PFF;P= 0x5DIR = 0x5DIR = 0x5DIR = 0x5DIR = 0x5DIR
    
    //禁用 VUSB LDO 和 SLDO
    USBKEYPID = 0x9628; //将 USB KEYandPID 设置为0x9628
    //访问启用的 USB 配置寄存器
    USBPWRCTL &=~(SLDOEN + VUSBEN); //禁用 VUSB LDO 和 SLDO
    USBKEYPID = 0x9600; //禁用对 USB 配置寄存器的访问
    
    _bis_SR_register (LPM3_bits); //输入 LPM3
    __NO_OPERAT();
    } 

    正如您可能已经意识到的、USB 模块在您的代码中未关闭。 此外、您还可以切换 SVS、以防您不需要它。 用于使 SVS 变为的代码为:

    //禁用 SVS
    PMMCTL0_H = PMMPW_H; // PMM Password
    SVSMHCTL &=~(SVMHE+SVSHE); //禁用高侧 SVS
    SVSMLCTL &=~(SVMLE+SVSLE); //禁用低侧 SVS 

    此致、
    托比亚斯

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    您好、Mathias、
    您可以在 CCS 或 dev.ti.com 中转到我们的产品页面或 Resource Explorer。 在 Resource Explorer 中、打开 Software、在 MSP430Ware 的 Devices 下向下钻取您的器件。 这里有几个 LPM3示例。

    我不确定它是否可以正常工作、但登录时尝试此链接: dev.ti.com/.../
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    看起来像托比亚斯打败了我!
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    非常感谢! 我将使用此功能、希望看到真正的低功耗!

    关于它的优点-我通读了 UCS 数据表-非常有趣。

    刚刚尝试通过向 UCSCTL8写入0x0000来禁用自动请求机制。 结果只有2uA 更好... 好的、我将单独研究 USB 模块的属性。

    您的示例/一般情况下的一个问题:我看不到 JTAG 端口 J 的定义。 是否有明确定义的必要? 可能是因为默认情况下定义得很好。

    无论如何-感谢你们提供了极好和建设性的答案-现在我有一个要点要深入探讨!

    此致
    Mathias
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    很棒! 1.59uA -不禁用 SVS。 谢谢!!!!!