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.
Hi
When MSP430F5x wakes up from LPM0/1, tWAKU-UP-FAST and tWAKE-UP-SLOW are applicable as same as wake-up from LPM2/3/4 ?
I guess YES, but Data Sheet and User’s Guide only mention wake-up time from LPM2/3/4.
Why?
Example: Table from User's guide (slau208o)
Table from data sheet
Thanks and regards,
KoT
As shown by the footnotes in the datasheet, the LPM2/3/4 wakeup times depend mostly on the voltage regulator stabilizing.
In LPM0/1, the regulator stays in high-current mode (see section 2.2.1 of the User's Guide), so there is no such delay. Re-enabling MCLK has a very small delay if the clock source is the DCO, or if it is a crystal that was still running because it is sourcing SMCLK.
I'd guess that the author of this table was not aware how the F5xx LDO operating modes map to LPMs; "high-performance mode" means the high-current mode, so 5 µs applies to LPM0/1, and 150 µs applies to LPM2/3/4.
Do you mean wakeup time from LPM0/1 are ALWAYS ~5us regardless PMM configuration(OFF, Normal or full-performance) ?
Thanks and regards,
KoT
Oops, I confused the LDO and the SV*L performance modes. The mapping of low-power modes to performance modes is shown in section 2.2.9.1 of the User's Guide, and also depends on how the SVS/SVM are configured.
KoT,
the datatsheet does not specify them in such a case I recommend to trust the data in the migration guide.
Best regards,
Dietmar
Hi Dietmar,
I am afraid customer is not satisfied with this answer.
They wants clear answer from TI.
Could you confirm wakeup from LPM0/1 are really imapcted by PMM configuration or not ?
Thanks and regards,
KoT
In LPM0/1, the voltage regulator always is in high-current mode, so there are no large voltage/current changes to which the voltage monitors/supervisors would need to respond. Therefore, the wake-up is always fast, and the PMM configuration does not matter.
In LPM2/3/4, the voltage regulator needs to switch its mode, so the wake-up time depends on the configured response time of the voltage monitors/supervisors. The wake-up time is tWAKE-UP-SLOW if the new SVS/SVM state is "normal", or tWAKE-UP-FAST if the new SVS/SVM state is "full performance" or "off", as shown in section 2.2.9.1.
Gents,
please take a look to the F5438A datasheet for examples it explains the wake-up time behavior in LPM0/1 in the notes. So the fast wake up times can be achieved when SVSL or SVSM is in full performance mode or disabled.
If you operate in normal mode (low current mode) you will see the slower wake-up times.
Best regards,
Dietmar
Hi Dietmar,
I roughly measured wakeup time from LPM0/1 and 4 with/without full-performance mode.
The code is attached. MSP430F5438A.
/* --COPYRIGHT--,BSD_EX * Copyright (c) 2012, Texas Instruments Incorporated * All rights reserved. * * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions * are met: * * * Redistributions of source code must retain the above copyright * notice, this list of conditions and the following disclaimer. * * * Redistributions in binary form must reproduce the above copyright * notice, this list of conditions and the following disclaimer in the * documentation and/or other materials provided with the distribution. * * * Neither the name of Texas Instruments Incorporated nor the names of * its contributors may be used to endorse or promote products derived * from this software without specific prior written permission. * * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, * THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; * OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, * WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR * OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, * EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. * ******************************************************************************* * * MSP430 CODE EXAMPLE DISCLAIMER * * MSP430 code examples are self-contained low-level programs that typically * demonstrate a single peripheral function or device feature in a highly * concise manner. For this the code may rely on the device's power-on default * register values and settings such as the clock configuration and care must * be taken when combining code from several examples to avoid potential side * effects. Also see www.ti.com/grace for a GUI- and www.ti.com/msp430ware * for an API functional library-approach to peripheral configuration. * * --/COPYRIGHT--*/ //****************************************************************************** // MSP430F543xA Demo - Software Port Interrupt Service on P1.4 from LPM4 with // Internal Pull-up Resistance Enabled // // Description: A hi "TO" low transition on P1.4 will trigger P1_ISR which, // toggles P1.0. P1.4 is internally enabled to pull-up. Normal mode is // LPM4 ~ 0.1uA. LPM4 current can be measured with the LED removed, all // unused Px.x configured as output or inputs pulled high or low. // ACLK = n/a, MCLK = SMCLK = default DCO // // MSP430F5438A // ----------------- // /|\| XIN|- // | | | // --|RST XOUT|- // /|\ | | // --o--|P1.4 P1.0|-->LED // \|/ // // M. Morales // Texas Instruments Inc. // June 2009 // Built with CCE Version: 3.2.2 and IAR Embedded Workbench Version: 4.11B //****************************************************************************** #include <msp430.h> # define slow 0 int main(void) { WDTCTL = WDTPW + WDTHOLD; // Stop watchdog timer P1DIR |= 0x01; // Set P1.0 to output direction P1REN |= 0x10; // Enable P1.4 internal resistance P1OUT |= 0x10; // Set P1.4 as pull-Up resistance P1IE |= 0x10; // P1.4 interrupt enabled P1IES |= 0x10; // P1.4 Hi/Lo edge P1IFG &= ~0x10; // P1.4 IFG cleared P5DIR |= 0x01; // Set P5.0 to output direction P5OUT = 0x01; // P5.0 = hi // PMM configuration // Open PMM registers for write access PMMCTL0_H = 0xA5; #if slow // wakeup slow SVSMLCTL |= (SVSLE | SVMLE); SVSMLCTL &= (~SVSLMD & ~SVSMLACE & ~SVMLFP); #else // wakeup fast SVSMLCTL |= (SVSLMD | SVSLE | SVMLE | SVMLFP | SVSLFP); SVSMLCTL &= ~SVSMLACE; #endif PMMCTL0_H = 0x00; // Lock PMM registers for write access __bis_SR_register(LPM0_bits + GIE); // Enter LPM1 w/interrupt // __bis_SR_register(LPM1_bits + GIE); // Enter LPM1 w/interrupt // __bis_SR_register(LPM4_bits + GIE); // Enter LPM4 w/interrupt __no_operation(); // For debugger } // Port 1 interrupt service routine #if defined(__TI_COMPILER_VERSION__) || defined(__IAR_SYSTEMS_ICC__) #pragma vector=PORT1_VECTOR __interrupt void Port_1(void) #elif defined(__GNUC__) void __attribute__ ((interrupt(PORT1_VECTOR))) Port_1 (void) #else #error Compiler not supported! #endif { P1OUT ^= 0x01; // P1.0 = toggle P1IFG &= ~0x010; // P1.4 IFG cleared P5OUT ^= 0x01; // P5.0 = toggle }
All,
we did some testing using the code you attached and switched MCLK to output to measure wake up time.
Below you see the fast wake and slow up time from LPM3 when measuring from wake-up event to first active clock edge using a ~1 MHz clock.
Wake-Up from LPM3 slow = 4.2 us
Wake-Up from LPM3 slow = 143.6 us
We did this for LPM0 and LPM1 as well but here no differences can be seen between slow and fast.
The wake up time is always around 1us.
This means for LPM0 and LPM1 wake up there seems to be no difference between normal and full performance mode of the SVS.
So I agree the datasheet is not 100% clear on this but these parameters are not specified at all.
Is this ok for you KoT or do you need somehting else?
Best regards,
Dietmar
Hi Dietmar,
Thanks for checking them on board!
>So I agree the datasheet is not 100% clear on this but these parameters are not specified at all.
Is it possible to add this information somewhere in datasheet ?
I understood specifying these values would be difficult, but just adding note saying something like below will be ok;
“Wakeup times from LPM0 and LPM1 are about 1us, but not specified. The wakeup times are not impacted by SVSL, SVML configuration.”
I guess below sentence includes this meaning, but this is not clear enough and misleading.
“Fastest wake-up times are possible with SVSL and SVML in full performance mode or disabled when operating in AM, LPM0, and LPM1.”
Thanks and regards,
KoT
KoT,
I can try to trigger it but cannot promise that it will realized quickly because this would mean to update ALL 5xx/6xx datasheets.
In the end as you also noted it is somehow mentioned in the datasheet even if not 100% clear but I hope it will help to get the case with your customer closed.
Best regards,
Dietmar
Dietmar,
Yes. I will try to close this item with my customer.
Please try to put this information in datasheet.
I put this item closed for now.
Thanks and regards,
KoT
**Attention** This is a public forum