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.

Problem Exiting LPM 4.5

Other Parts Discussed in Thread: MSP430F5510

hi everyone,

I've been working on a battery operated wireless device which have a msp430f5510.  when I configure it for lpm 4.5, I guess it successfully goes to lpm 4.5 as i can measure the core voltage going down to 0.00 from 1.47 V. The 5xx family user guide states that in lpm 4.5 mode device turns off cpu, all clocks, and cuts core regulator supply as well. Also it specifies that an exit from lpm 4.5 can be caused by RST/nmi, power cycle on via I/O pin  causing a BOR and hence starting the program execution from main(). But in my case; after sending the device into lpm 4.5 (core voltage goes to 0.00); when I press RST/NMI switch to wake it, I can see the core voltage changing form 0.00 to 1.41 but It doesn't start program execution from main. In fact it does nothing and I'm not sure at this point, in what state the controller would be.

what I require is when I press the RST switch my controller should wake up form lpm4.5 and program should start from main as stated by the 5xx family user guide. Kindly help if someone would have tried using lpm 4.5.

 

Thanks !!

  • Are you unlocking peripheral registers via LOCKLPM5=0?

  • hi,

     

    The user guide states that  LOCKLPM5 sets automatically upon entering into lpm x.5.     I tried clearing LOCKLPM5  (PM5CTL0 = 0) at starting of  main()  before initializing GPIOs but in that case my code is not at all running for even single time even if I recycle the power. If I comment the line my code work once on power up but once it goes to lpm 4.5 it doesn't responds to a reset  via RST/NMI pin. I'm unable to find out what I'm missing.

     


  • abhishek said:
    I tried clearing LOCKLPM5  (PM5CTL0 = 0) at starting of  main()  before initializing GPIOs but in that case my code is not at all running for even single time

    Write access to PM5CTL0 causes a reset if you don't unlock the PMM registers before by writing the proper password to PMMCTL0_H. This is to prevent unwanted access due to erroneous processor actions due to failing power or whatever.
    This mechanism is similar but different to the password protection of the watch dog controller or the flash controller, as it is an unlock/lock mechanism rather than a 'write data with password' mechanism and affects a whole set of registers.

  • Hi Micheal,

    Thanks alot for solving my problem. Actually I wasn't writing the PMMCTL0_H with the passward for Write access to PMM module registers before clearing LOCKLPM5 bits. Now my device is properly waking up from lpm 4.5 on RST/NMI event and properly initializing.

    Once again Thanks alot!!

**Attention** This is a public forum