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.

官方程序的学习

Other Parts Discussed in Thread: MSP430F5529

在msp430F5529的官方程序中,在对主时钟设置为25M时为什么要采用这个程序呢?好像是提升内部电压,是为了防止程序跑飞吗?谢谢

那么430 主时钟设置为多少M时需要考虑用PMM模块?

 

void SetVcoreUp (unsigned int level)
{
                                                                             // Open PMM registers for write
  PMMCTL0_H = PMMPW_H;             
                                                                       // Set SVS/SVM high side new level
  SVSMHCTL = SVSHE + SVSHRVL0 * level + SVMHE + SVSMHRRL0 * level;
                                                                                // Set SVM low side to new level
  SVSMLCTL = SVSLE + SVMLE + SVSMLRRL0 * level;
                                                                                    // Wait till SVM is settled
  while ((PMMIFG & SVSMLDLYIFG) == 0);
                                                                         // Clear already set flags
  PMMIFG &= ~(SVMLVLRIFG + SVMLIFG);
                                                                         // Set VCore to new level
  PMMCTL0_L = PMMCOREV0 * level;
                                                                              // Wait till new level reached
  if ((PMMIFG & SVMLIFG))
    while ((PMMIFG & SVMLVLRIFG) == 0);
                                                                               // Set SVS/SVM low side to new level
  SVSMLCTL = SVSLE + SVSLRVL0 * level + SVMLE + SVSMLRRL0 * level;
                                                                                         // Lock PMM registers for write access
  PMMCTL0_H = 0x00;
}

  • MSP430在不同电压下,各支持最快的工作频率是不同的。这也是低功耗很重要的一个设计。

    可以根据系统的需要,可以降低工作频率,降低核电压,来达到低功耗的目的。

    提升内部电压,然后可以提升工作频率,当然如果内部电压低于要求,那么430可能会死机。

    PMM模块是一直使用到的,不同的工作频率,需要的最低工作电压也是不同的。

    建议你阅读下User's Guide中关于PMM和UCS这两个部分。