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.

MSP430F6779A: RST/NMI BOR and PMMSWBOR reset all registers and make MCU guarantee recover to normal state or not?

Part Number: MSP430F6779A

RST/NMI BOR and PMMSWBOR reset all registers and make MCU guarantee recover to normal state or not?

As i have issue related to the PMM module (not found exactly root cause yet).

So, i would like to confirm that RST/NMI BOR and PMMSWBOR reset all registers and make MCU recover to normal state?

More details steps following.
Steps:
1) Supply DVCC to 3.3 V
2) Setting Vcore = 3 and then set MCU Clock from 1 Mhz to 25 Mhz.
3) Drop voltage to 2.2 V (below recommend operating voltage).
4) Something abnormal occur due to MCU running out of operating range
5) Increase voltage 2.2 V back to 3.3 V
6) Source code make PMMSWBOR

Does PMMSWBOR and make MCU recover to normal state.

I think the BOR may not guarantee all thing recover right?
(it only the power cycle of DVCC to 0 V and then resupply DVCC)

  • Hi Tink,

    A BOR will set the device to an initial state where the pins and peripherals are in the default state, the program counter will go to the boot code address and the device will enter the boot process.

    The PMMSWBOR will create a BOR.

    A power cycle will be an even larger reset where the internal voltages would need to ramp as well, but generally a BOR will recover the device state.

    Regards,
    Luke

  • Hi,

    thank you for information.

    Fullscreen
    1
    2
    PMMCTL0_H = PMMPW_H; // unlock
    PMMCTL0_L |= PMMSWBOR; // Request S/W reset
    XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX

    Does the code activate the BOR (PMMSWBOR) immediately?

    Or we need add some prevent code to make sure the BOR will be activated without execute code after line 2?

    e.g.

    Fullscreen
    1
    2
    3
    4
    5
    6
    7
    8
    PMMCTL0_H = PMMPW_H; // unlock
    PMMCTL0_L |= PMMSWBOR; // Request S/W reset
    while(1)
    {
    PMMCTL0_L |= PMMSWBOR; // Make sure Request S/W reset
    }
    }
    XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX

    Are there possible cases that the PMMSWBOR not be activated completely?

  • Hi TinK,

    Here is the reset circuit for the device.

    Once PMMSWBOR gets set, it will trigger the BOR. There is a slight delay but for device functionality you shouldn't notice it. You can set a GPIO toggle right after the PMMSWBOR and see if it changes state.

    The BOR will always activate as long as the PMMSWBOR bit gets set, make sure the PMMPW (power management module password) gets set so you can write to the registers.

    Regards,
    Luke

  • Hi Luke,

    Thank you.

    I try to set the GPIO after the PMMSWBOR, result no GPIO set detected by oscilloscope

    It means the delay is very short than the BIS.B instruction (less than 5 cycles) right?

  • Hi TinK,

    I would agree with that observation, you'll enter the reset process before the next instruction can be executed.

    Regards,
    Luke

  • Hi,

    I have another check regarding the duration of the reset process. It's 1.42 milliseconds.

    Could an error occur if the voltage drops during the reset process?

  • Hi TinK,

    If you lose power during the reset process, the device should hold the RST state until VCORE is powered up properly.

    Regards,

    Luke

**Attention** This is a public forum