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.

MSPM0L1306-Q1: Wake up function in four conditions

Part Number: MSPM0L1306-Q1

Hi Team,

We would like to have a research on MSPM0L130x-Q1 for our backup battery platform.

There is one requirement relate to the wake up from sleep mode, please kindly comment if M0 MCU can achieve this fucntion.

The input wakeup signal can be these four kinds of status when MCU is in sleep mode:

  1. Status 1:  A duty cycle=50% square wave, cycle=1±0.05s, the MCU should keep sleep at this condition.
  2. Status 2:  A duty cycle=50% square wave, cycle=60±1ms, the MCU should keep sleep at this condition.
  3. Status 3:  A duty cycle=50% square wave, cycle=20±1ms, the MCU should be wake up at this condition.
  4. Status 4:  A duty cycle=50% square wave, cycle=10±1ms, the MCU should be wake up at this condition.

Can M0L130x-Q1 family achieve the above wake up function based on the cycle/frequency of the square wave? How does it achieve?

And what is the quiescent current when using this kind of wake up logic?

Many thanks!

Best,

Frank

  • Hello Frank:

    1. About the "Sleep Mode":

    You can configurate the "Low Power Policy" of "Power & Systems Configuration" on Syscfg—SYSCTL. You can select "Sleep 0", "Sleep 1" and "Sleep 2" according to your requirement. The Difference of SLEEP mode can be found in "Table 2-1. MSPM0Lxx Supported Functionality by Operation Mode" of MSPM0 L-Series Technical Reference Manual.

    And then you can use the "_WFI();" instruction in your main function. The device will be in sleep mode until an external interrupt generated.

    2. About the "wake up":

    We have example code about input signal capturing which can detect the duty cycle and period of input PWM. You can find the "timx_timer_mode_capture_duty_and period" project in our SDK on Ti.com.

    When the device detects the Status 1 signal and Status 2 signal in the interrupt handling function, you can set the CPU to sleep mode again. And when the device detects the Status 3 signal and Status 3 signal in the interrupt handling function, you can wake up the CPU. 

    For example, you can use a flag in the while loop in main function. When the device detects the Status 1 signal and Status 2 signal, the flag is set to false, and when the device detects the Status 3 signal and Status 4 signal, the flag is set to true. 

    while (1) {

             while (flag==false) {

                      _WFI( );

            }

          your own application code.

    }

    3. About the current of sleep mode: