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.

MSP430F5419A: PMM erratasheet code exemple?

Part Number: MSP430F5419A

Hello,

I am using the msp430F5419A at 16MHz (Vcore(2)) and LPM3 and LPM0. The microcontroller exit LPM3 after timer, spi and uart irq. I put the microcontroller in LPM0 when a DMA transfer is active and in LPM3 otherwise.

I need to use the Full performance mode to decrease the current consumption.

I saw all these PMM erratasheet informations and I am a little bit confused and worried. Is it possible to use the MSP430F5419A with LPM3 and full performance mode or do I need to find another microcontroller?

Is there any C code exemple from TI which permits to use LPM3 and Full Performance mode?

Best regards

Michel

  • Hi Michel,

    It is possible to use LPM3 and Full-performance mode. You will have to be careful of the Errata's to make sure you are implementing Wake-Up events correctly. PMM9, PMM 11, PMM14 and PMM20 are the errata's that involve full-performance in some way. Though this will also depend on your whole system if these are actually relevant. The wake up errata and switching LPM's are probably the ones you will need to implement the workaround for. You can view all the errata's here, MSP430F5419A Errata Sheet.

    We don't have any example code that specifically uses LPM3 and Full Performance mode.

    Regards,

    Luke

  • could be good to have something from TI for a tricky issue due to TI....

  • Hi Michel,

    We do have a lot of errata for this device concerning the PMM, but a lot of it is addressed when you use the Driver Library. Even if you don't use DriverLib for anything else, it is highly recommended for the PMM related aspects as they address the erratas fixes. 

    The DriverLib Api can be accessed here, DriverLib Api. and DriverLib can be downloaded here, DriverLib.

    The erratas are very situational and we provide workarounds for all of them. We provide explanations on what causes these erratas and why it happens for contextual sake and to help user's decide if it applies to them. Most of the errata workarounds are simple changes like "Use XT2 as the SMCLK oscillator source instead of the DCO". Or just increasing the wait/wakeup time. The workarounds are always listed after the errata, but in a text format instead of code form. A lot of the workarounds, also have reasoning behind them as to why this workaround fixes it so user's have a reason for the change and why it works.

    Regards,

    Luke

  • Hi Like,

    I follow your advice and I used the pmm_ex2_fastWakeup.c exemple of the DriverLib.

    It works correctly.

    I am only worried about PMM18 wich indicates to set SVSMHCTL.SVSMHACE to 1 while the driverlib exemple resets it to 0 for full performance mode.

    Is there a workaround which correct all cases?

    Best regards

    Michel

  • Hi Michel,

    Reading the errata, if the OVP feature of SVM high side is enabled going into LPM2/3/4 the SVM would trigger at lower than expected voltages. In the example they have SVM disabled, if you want to use SVM then you would want to use automatic control mode for high side SVS and SVM, but the SVM high side is inactive when you are in LPM2/3/4. 

    So the change would be to set that SVM mode as described in the workaround, which they don't in the example because they disable both SVM sides.

    Regards,

    Luke

  • Hi Luke,

    My question was not if "I want to use SVM" but what I need to do to have something working for all cases.

    Best regards

    Miche

  • Hi Michel,

    You can't really have an example that works for all cases because, some cases are mutually exclusive. You can't have an example where the SVM is disabled and the same example that the SVM is enabled, because if its disabled then it can't be enabled. We also create our code examples as just that, examples of what you can do. It isn't an exhaustive list of every possible combination of settings, but usually the most common use case or a simple example demonstrating a single function or mode of the device.

    That being said I have a potential solution (it is untested though so use it at your own discretion). For using the SVM with that fastWakeUp.c example.

    On line 106 change PMM_disableSvmH() to PMM_enableSvmH();

    Then on line 113 add PMM_enableSvmHInLPMFullPref();

    Regards,

    Luke

**Attention** This is a public forum