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.

MSP430F552x LPM3 lockup issue

Genius 3020 points

I'm having an issue where it appears the processor (both 5525's and 5529's) locks up when in LPM3 and an interruptable line is toggled at a high rate.

My code does the following:

The watchdog timer is used in interval mode for the various timers. It is set to generate an interrupt once a second.

The unit goes into LPM3 for 3 seconds. While in LPM3, pulses come in on P2.4

The ISR for Port2, clears the interrupt flag, disables the interrupt (P2IE), sets a timer to re-enable the interrupt in 2 seconds.

After 3 seconds expires, the unit comes out of LPM3 and turns on an LED for 100ms and then starts the process over.

If I hook a function generator up to P2.4, that it generating a 2 uS pulse every 10 uS, the processor will go into a locked up state in about 10 seconds.  In this locked up state the unit draws about 140 to 170 uA instead of its normal 2 uA when in LPM3. No interrupts are processed and the only way to get the unit to come back is to cycle power.  If I try and duplicate it while connected to the debugger, it never happens.

Looking through the errata for the processor, the symptoms seem similar to PMM15, but I've tried disabling the interrupt and delaying before going into LPM3 but the issue still occurs. I've also run the PMM15_check function that the errata specifies and it returns that PMM15 should not be a problem.

Has anyone else experienced this? Is this an errata item that I'm just missing?

Thanks very much,

Barry

  • You talk about quite fast interrupt rate (10us), disabling/enabling/arming interrupts but do not specify ANY clock frequency. Maybe you just simply are getting deadlock - when your ISR code is not fast enough and in result you are getting unexpected state of your application/interrupt flow?

  • The processor is running at 8 Mhz, but after an interrupt is generated and the ISR is entered, the P2.4 interrupt is disabled for 2 seconds. So even though the input line is toggling at a high rate, an interrupt is only generated once every 2 seconds.  If I don't go into LPM3 (the processor stays in active mode) the lockup does not happen.

  • blb said:
    So even though the input line is toggling at a high rate, an interrupt is only generated once every 2 seconds.

    All I can say here - prove it. By providing essential to problem, code. It still could be some oversight from your side - who knows..

  • Did anyone find out what was going on here?
    We are seeing a similar issue, posted in e2e.ti.com/.../576693

**Attention** This is a public forum