• Join
  • Sign In with my.TI Login
Texas Instruments
  • Products
  • Applications
  • Tools & Software
  • Support & Community
  • Sample & Buy
  • About TI
Sample & Purchase Cart Sample & Purchase Cart
  • Search
  • Advanced
TI E2E™ Community
  • Support Forums
  • Blogs
  • Groups
  • Videos
  • 简体中文
  • More ...
TI Home » TI E2E Community » Support Forums » Microcontrollers » MSP430™ Microcontrollers » MSP430 Ultra-Low Power 16-bit Microcontroller Forum » MSP430 resets when exiting LPM0 triggered by a slow rise time interrupt signal.
Share
MSP430™ Microcontrollers
  • Forum
  • Announcements
  • E2E Wiki
Options
  • Subscribe via RSS
MSP430 Resources
  • MSP430 Product Folder
  • MSP-EXP430G2 - MSP430 LaunchPad Value Line Development kit
  • MSP430 Getting Started Guide
  • MSP430 Microcontroller Projects
  • More Resources >
  • MSP430 resets when exiting LPM0 triggered by a slow rise time interrupt signal.

    MSP430 resets when exiting LPM0 triggered by a slow rise time interrupt signal.

    This question is not answered
    Daniel Cross
    Posted by Daniel Cross
    on Feb 10 2012 08:22 AM
    Prodigy205 points
    PWR_ON_Reset.JPG

    The MSP430 (F5418A rev E) is in LPM0 from which it can be awakened by a rising edge on one of two signals. If either of those two signals has a very long rise time (on the order of 10 msec or so) the MSP430 gets a power-on reset before it can respond to the signal. If we speed up the input signals (to < 1msec rise time), the problem vanishes.

    One of the first actions should be to assert the PWR ON signal, but it does not occur on time due to the reset.

    Reset rise time LPM0 ioc
    Report Abuse
    • Reply
    You have posted to a forum that requires a moderator to approve posts before they are publicly available.
    All Replies
    • Roberto Romano
      Posted by Roberto Romano
      on Feb 10 2012 08:53 AM
      Mastermind6840 points

       Hi

      Daniel Cross
      One of the first actions should be to assert the PWR ON signal, but it does not occur on time due to the reset.

       Hi Daniel, did you checked this is not a problem due to WATCHDOG?

       If not anyway it is not a good practice to drive digital line with analog signals, the better solution is to use analog comparator to check signal passed threshold.

       Regards

       Roberto

       Regards

       Roberto


       Please login & click    Verify Answer    if this post answered your question.

      Report Abuse
      • Reply
      You have posted to a forum that requires a moderator to approve posts before they are publicly available.
    • Daniel Cross
      Posted by Daniel Cross
      on Feb 10 2012 09:32 AM
      Prodigy205 points

      There could be an issue with the watchdog timer expiring at the same time that the interrupt occurs. I would think that would be a rare occurrence, however.

      The analog comparator uses too much current. The point of LPM0 is to use as little as possible in standby.

      Thanks.

      Report Abuse
      • Reply
      You have posted to a forum that requires a moderator to approve posts before they are publicly available.
    • Jason Qian
      Posted by Jason Qian
      on Feb 10 2012 09:42 AM
      Intellectual940 points

      Hi Daniel,

      Please see below for comments from our factory expert. Could you please provide some scope shots of RESET, TEST, VCC and Vcore? Thanks.

       

      One thing that could explain part of the behavior is that the MSP430 has clamping diodes in GPIOs so it can actually get powered from them even when there’s no DVCC. Perhaps, the MSP430 is starting at some point of the ON_DET curve before DVCC is ready and that causes some problem with the circuitry? Perhaps that explains the drop in Vcc at the beginning since the MCU is getting powered before VCC is ready.

      Another thing to check is the VCC vs MCLK. As you know the maximum MCLK frequency depends on VCC, so is it possible that they are changing MCLK using DCO/FLL before the voltage has settled?

      If this is the behavior of their hardware, perhaps they can add a delay at the beginning and see if that makes the problem disappear.

      If the problem persists, I think it would help to get some o-scope shots of RESET, TEST, VCC, VCore and if setting PWR_ON is not the first thing they do in SW, can they toggle something right at the beginning of the code?

      Best regards,

      Jason Qian

      Report Abuse
      • Reply
      You have posted to a forum that requires a moderator to approve posts before they are publicly available.
    • Daniel Cross
      Posted by Daniel Cross
      on Feb 10 2012 12:00 PM
      Prodigy205 points
      Vcore_NoReset.JPG

      RESET tracks DVCC. Vcore looks different, but doesn't droop appreciably.

      First, the no reset case:

      Report Abuse
      • Reply
      You have posted to a forum that requires a moderator to approve posts before they are publicly available.
    • Daniel Cross
      Posted by Daniel Cross
      on Feb 10 2012 12:01 PM
      Prodigy205 points
      Vcore_Reset.JPG

      Then, the reset case:

      Report Abuse
      • Reply
      You have posted to a forum that requires a moderator to approve posts before they are publicly available.
    • Al Dorundo
      Posted by Al Dorundo
      on Feb 13 2012 12:33 PM
      Prodigy80 points

      For clarification, we are in LPM3 when we are awakened by an interrupt on the input.

      We are currently using the August 2010 release of the Core Libraries described in slaa448. I noticed there was an 11/11 release but I haven't updated to that release.

      All Vcore switching operations are performed using the core library function calls.

      We leave SVSx and SVMx enabled and are always in normal performance mode.

      The maximum MCLK frequency never goes above 8 MHz.

      Before entering LPM3, our state is:

      1. We are using an external 32 kHz clock. MCLK and SMCLK setup to 2^15*2^4 clock using the Init_FLL_Settle() function in the core library (32x multiplier, using DCOCLKDIV output). This works out to about 512kHz.
        Most modules are disabled and they are sourced using ACLK to prevent any other clock requests from being enabled.
      2. SVSx and SVMx are enabled. We always stay in normal performance mode, and never enter fast switching mode.
      3. We are in Vcore=PMMCOREV_0 while in LPM3.
      4. Most I/O are configured as GPIO and driven low. Several I/O are inputs and PERI as required (i.e. XT1 are peri to support external clock, PWR_ON is input with interrupt enabled to support wakeup).
      5. The WDT is set as an interval timer so we can awaken periodically.

      We are awakened from LPM3 by the assertion on PWR_ON. 

      1. The I/O are configured as required for the operation.
      2. VCore is set to PMMCOREV_1 and the clocks are re-configured:
        2a. We use an external clock input on XT2, (not an external clock). The frequency is safely under 8 MHz.
        2b. MCLK and SMCLK are sourced from XT2.
        2c. ACLK remains sourced from XT1.
      3. The required modules are re-initialized.
      4. The WDT is set back as a watchdog. Our timeout is 1 sec.

      I had one question about items in the device errata:

      1. I noticed that PMM17 is only relevant for some lot numbers. Is it OK to use the prolongation code in the snippet regardless of the rev and lot of the silicon?

      Report Abuse
      • Reply
      You have posted to a forum that requires a moderator to approve posts before they are publicly available.
    • Al Dorundo
      Posted by Al Dorundo
      on Feb 13 2012 13:45 PM
      Prodigy80 points

      Clarification:

      We wake up from LPM3 using ON_DET, and we assert PWR_ON almost immediately after receiving the ISR on ON_DET.

      Report Abuse
      • Reply
      You have posted to a forum that requires a moderator to approve posts before they are publicly available.
    • Jason Qian
      Posted by Jason Qian
      on Feb 13 2012 15:20 PM
      Intellectual940 points

      Al, can you post the scope shot for Vcc during the toggling of the external pin. The Sys16 on errata mentioned that if there is an abrupt ramp of Vcc which may also cause the device to reset. 

      Best regards,

      Jason Qian

      Report Abuse
      • Reply
      You have posted to a forum that requires a moderator to approve posts before they are publicly available.
    • Al Dorundo
      Posted by Al Dorundo
      on Feb 14 2012 06:45 AM
      Prodigy80 points

      The images above show Vcc rising.

      I'll see if we have any scope shots with a smaller time scale.

      However, as the attached scope probe shows, the same Vcc rise time with a fast ON_DET rise time doesn't seem to cause BOR.

      Al

      Report Abuse
      • Reply
      You have posted to a forum that requires a moderator to approve posts before they are publicly available.
    • Daniel Cross
      Posted by Daniel Cross
      on Feb 14 2012 08:25 AM
      Prodigy205 points
      NoReset closeup.JPG

      Here is a smaller timescale view of the no-reset case....

      Report Abuse
      • Reply
      You have posted to a forum that requires a moderator to approve posts before they are publicly available.
    • Luis RC
      Posted by Luis RC
      on Feb 14 2012 14:13 PM
      Expert6010 points

      Hi Daniel, Hi Al,

      We haven't seen this problem before and I would like to investigate it but whatever help you can give us to replicate the issue will be highly appreciated.

      Can you replicate the problem in a TI board (target board, experimenter's board)? Do you have a code snippet?

      Regards,

      Luis R

      5xx Reset
      Report Abuse
      • Reply
      You have posted to a forum that requires a moderator to approve posts before they are publicly available.
    • Luis RC
      Posted by Luis RC
      on Feb 14 2012 16:12 PM
      Expert6010 points

      Additionally,

      Can you check the reset reason (SYSRSTIV)?

      I tried to run some quick tests here using a GPIO with slow rise time to wake-up the MCU and couldn't replicate the problem. Any help you can provide will be very useful.

      Regards,

      Luis

      Report Abuse
      • Reply
      You have posted to a forum that requires a moderator to approve posts before they are publicly available.
    • Al Dorundo
      Posted by Al Dorundo
      on Feb 15 2012 06:57 AM
      Prodigy80 points

      Luis,

      I don't have an example that will run on the demo board at this time.

      The issue with easily getting SYSRSTIV is that if I run the board with the MSP430-FET, since it powers the device I do not see the resets.

      I've tried setting the Vcc output from the MSP430-FET to lower voltages (in low-power our voltage is about 2.5V) but either my communication between my debugger and my target device gets lost or I still do not see the reset.

      I could try saving SYSRSTIV to FLASH when inside _system_pre_init() and when the reset occurs use the debugger to peek the memory, but I haven't tried this yet.

      I'll let you know if I can develop a test case or if I can captuer SYSRSTIV.

      Al

      Report Abuse
      • Reply
      You have posted to a forum that requires a moderator to approve posts before they are publicly available.
    • Daniel Cross
      Posted by Daniel Cross
      on Feb 15 2012 08:50 AM
      Prodigy205 points

      Jason Qian

      The Sys16 on errata mentioned that if there is an abrupt ramp of Vcc which may also cause the device to reset. 

      Jason,

      Can you tell if this VCC ramp is big enough or fast enough to cause the reset mentioned in SYS16?

      Report Abuse
      • Reply
      You have posted to a forum that requires a moderator to approve posts before they are publicly available.
    • Jason Qian
      Posted by Jason Qian
      on Feb 15 2012 09:38 AM
      Intellectual940 points

      Daniel,

      The VCC ramp seems fine. As Luis mentioned, we need to reproduce the reset from our end to further investigate the issue.

      Best regards,

      Jason Qian

      Report Abuse
      • Reply
      You have posted to a forum that requires a moderator to approve posts before they are publicly available.
    123
    TI E2E™ Community
    • Support Forums
    • Blogs
    • Videos
    • Groups
    • Site Support & Feedback
    • Settings
    TI E2E™ Community Groups
    • TI University Program
    • Make the Switch
    • Microcontroller Projects
    • Motor Drive & Control
    Other Communities
    • Deyisupport
    • Designsomething.org
    • beagleboard.org
    • TI on Element 14
    • TI on TechXchangeSM
    Other Technical & Support Resources
    • WEBENCH® Design Center
    • Product Information Centers
    • Technical Documents
    • TI Design Network
    • TI Technical Articles
    • TI Training

    All content and materials on this site are provided "as is". TI and its respective suppliers and providers of content make no representations about the suitability of these materials for any purpose and disclaim all warranties and conditions with regard to these materials, including but not limited to all implied warranties and conditions of merchantability, fitness for a particular purpose, title and non-infringement of any third party intellectual property right. TI and its respective suppliers and providers of content make no representations about the suitability of these materials for any purpose and disclaim all warranties and conditions with respect to these materials. No license, either express or implied, by estoppel or otherwise, is granted by TI. Use of the information on this site may require a license from a third party, or a license from TI.

    Content on this site may contain or be subject to specific guidelines or limitations on use. All postings and use of the content on this site are subject to the Terms of Use of the site; third parties using this content agree to abide by any limitations or guidelines and to comply with the Terms of Use of this site. TI, its suppliers and providers of content reserve the right to make corrections, deletions, modifications, enhancements, improvements and other changes to the content and materials, its products, programs and services at any time or to move or discontinue any content, products, programs, or services without notice.

    Follow Us Texas Instruments on Facebook Texas Instruments on Twitter Texas Instruments on LinkedIn Texas Instruments on Google+
    TI Worldwide | Contact Us | my.TI Login | Site Map | Corporate Citizenship | mobile m.ti.com (Mobile Version)

    TI is a global semiconductor design and manufacturing company. Innovate with 100,000+ analog ICs and
    embedded processors, along with software, tools and the industry’s largest sales/support staff.

    © Copyright 1995-2013 Texas Instruments Incorporated. All rights reserved.
    Trademarks | Privacy Policy | Terms of Use