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.

关于FR6972的SVS检电压例程

Hi team:

    在使用FR6972时,想用SVS 监测电源电压,想问下是否有相关例程,官网提供的例程中没有这部分程序。谢谢。

  • 想实现在不增加硬件的基础上做到产品的电池电压监测。
  • 您可以参考一下下面的程序

    /*
      This code shows a way to increase the DCO frequency to a frequency near
      6MHz while ensuring that Vcc has ramped to a safe level before doing so.
    
      The target device is MSP430FG439.  The datasheet indicates that 2.9V is
      safe for 6MHz operation (Vcc-min).
    
      The program first waits a fixed period for the ramp to exceed 1.8V.  On-chip
      components, including the CPU, are guaranteed to operate at 1.8V+, but could
      start operating before.  The fixed delay is necessary in case the CPU starts
      but the SVS is not yet properly powered.
    
      Then, the SVS can be used to ensure Vcc has reached Vcc-min for the given
      clock speed.  The program sets the SVS threshold value, then waits for SVSON
      to be set, per the '4xx User's Guide.  After this, it iteratively
      clears/checks SVSFG until it stays clear.  The DCO frequency can then be
      increased.
    
    
                    MSP430FG439
                 -----------------
             /|\|              XIN|-
              | |                 |
              --|RST          XOUT|-
                |                 |
         LED <--|P1.0         P1.1|--> MCLK out
    */
    
    
    #include <msp430x43x.h>
    
    void main(void)
    {
      unsigned int i;
    
      WDTCTL = WDTPW + WDTHOLD;                 // Stop watchdog timer
    
      P1DIR = 0x03;
      P1SEL = 0x02;                             // Allows probing P1.1 to see MCLK
    
      for(i=5000;i>0;i--);                      // Fixed delay ~20-40ms for Vcc to
                                                // rise >1.8V. This value should be
                                                // customized to the system's ramp
    
      // After the fixed delay, SVS is a secondary check of Vcc
      SVSCTL = 0x90;                            // Vcc-min=2.9V, safe for 6MHz
      while(!(SVSCTL&SVSON));                   // Wait for t-d(SVSon) and t-settle
      while(SVSCTL&SVSFG)                       // If Vcc<Vcc-min, SVSFG will
        SVSCTL &= ~SVSFG;                       // immediately be set again
    
      // Vcc has now arrived at the required level.  Increase DCO frequency.
      SCFQCTL = 91;                             // (90+1) x 32768 x 2 = 5.96MHz
      FLL_CTL0 |= DCOPLUS;                      // DCO+ set so freq= xtal x D x N+1
    
      // program code
      // .
      // .
      // .
    
      P1OUT = 0x01;                             // Shows ~6MHz execution has begun
      _BIS_SR(LPM4_bits);                       // Sleep
    }
    

  • 更多信息您可以看一下下面的文档

    www.ti.com/.../slaa294b.pdf

    以及

    www.ti.com.cn/.../slau367o.pdf

    的 Power Management Module (PMM) and Supply Voltage Supervisor (SVS)
  • 很高兴能帮到您!