• 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 » Information Memory Sector Erased after power recycled
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 >
  • Information Memory Sector Erased after power recycled

    Information Memory Sector Erased after power recycled

    This question is not answered
    Deepak Pathania
    Posted by Deepak Pathania
    on Jul 20 2012 02:16 AM

    Hello everybody

    I am using MSP430G2302 for a sensor application

    to store calibration data i am using information memory

    i am able to write to this memory and can see the contents on memory read from external tools. 

    but once i recycle the power (hard reset power Off/ON) the information memory section is lost 

    Clock speed at this moment is 16 MHz, reset cap is 1.5nF

    Changed the clock speed to 1MHz -> Same failuer

    Changed the memory location from 0x1000 to 0x1040 -> same failuer

    added startup delay after selecting the clock switch (16Mhz) -> improves the retention but it goes after 3 or 4 resets

    Added start up delay at the beaning of the code -> solves the problem

    I want to know how reliable is this solution?

    do i have to change the reset circuit?

    i wanted to enable brown out protection but could not find registers on this device to do that! but datasheet front page tell it has brown out!

    moreover is this memory dependable? ( application is not life saving or life threatening)  

    Seen other threads but they seems to have solved the problem using SVS(not present ) or external Reset circuitry

    Regards

    Deepak

     

    Report Abuse
    • Reply
    You have posted to a forum that requires a moderator to approve posts before they are publicly available.
    All Replies
    • Mo.
      Posted by Mo.
      on Jul 20 2012 06:56 AM
      Genius10085 points

      Hello Deepak,

      there are many different possibilities where the trouble can result from.

      Have you already checked the Understanding MSP430 Flash Data Retention  App Note?

      How do you wirte in to the Flash? Can you provide minimized sample code so for test purposes to see if this behaviour is reproducible?

      What is the Vcc supply voltage? Minimum processor frequency is defined by system clock. Flash program or erase operations on the G2302 device require a minimum VCC of 2.2 V. Please check the datasheet at page 17.

      Deepak Pathania
      ... to store calibration data i am using information memory

      Why storing Calibration data? As I can see it in the datasheet, Segment A already contains factory preprogrammed calibration data! Please check the datasheet. After reset, segment A is protected against programming and erasing. It can be unlocked, but care should be taken not to erase this segment if the device-specific calibration data is required.

      Deepak Pathania
      added startup delay after selecting the clock switch (16Mhz)

      Deepak Pathania
      Added start up delay at the beaning of the code -> solves the problem

      Deepak Pathania
      I want to know how reliable is this solution?

      This should be always considered , specially with slow rising Vcc supply at power-up.

      Deepak Pathania

      i wanted to enable brown out protection but could not find registers on this device to do that! but datasheet front page tell it has brown out!

      moreover is this memory dependable? ( application is not life saving or life threatening) 

      The G2302 includes a Brownout reset that is by default activated and will not let the MSP430 operate unless the voltage is acceptable. However, powering the MSP430 device with an unstable power supply could be also problematic. would also highly suggest that you ensure that the power rails are clean and that any noise is kept to a minimum.

      BR,

      Mo.

      Make The Switch to TI MCUs

      Report Abuse
      • Reply
      You have posted to a forum that requires a moderator to approve posts before they are publicly available.
    • Deepak Pathania
      Posted by Deepak Pathania
      on Jul 20 2012 07:28 AM
      Genius0 points

      Thanks Mo, for your early reply

      Erase and Write Code

      void write_EEPROM(unsigned char value, unsigned char Address)

      {
      char *Flash_ptr; // Flash pointer
      Flash_ptr = (char *)0x1000 + Address; // Initialize Flash pointer
      FCTL3 = FWKEY; // Clear Lock bit

      FCTL1 = FWKEY + WRT; // Set WRT bit for write operation
      *Flash_ptr = value; // Write value to flash
      FCTL1 = FWKEY; // Clear WRT bit
      FCTL3 = FWKEY + LOCK; // Set LOCK bit
      }

      void erase_EEPROM(unsigned char Address)
      {
      char *Flash_ptr; // Flash pointer
      Flash_ptr = (char *)0x1000 + Address; // Initialize Flash pointer
      FCTL3 = FWKEY; // Clear Lock bit
      FCTL1 = FWKEY + ERASE;// + EEI; // Set Erase bit, allow interrupts
      *Flash_ptr = 0; // Dummy write to erase Flash seg
      FCTL1 = FWKEY; // Clear WRT bit
      FCTL3 = FWKEY + LOCK; // Set LOCK bit

      }

      Calibration data of micro is not touched but we want to write calibration data for our sensor so we arite to these location 

      page containinig micro calibration data starts from 0x10C0 not 0x1000 so i am writing my own calibration values used in sensor at 0x1000

      data retention AN is good will read it again for better understanding but we are working at normal temperature 

      How do you define slow rising VCC? we have 10uF cap on supply for making supply rails smooth! is that causing trouble?

      do u suggest some other solution? say if i reduce 10uF cap to 1uF but this will introduce more noise(anticipated) and will not filter glitches in supply at startup and power down phases

      regards

      Deepak 

      Report Abuse
      • Reply
      You have posted to a forum that requires a moderator to approve posts before they are publicly available.
    • Mo.
      Posted by Mo.
      on Aug 09 2012 04:16 AM
      Genius10085 points

      Deepak Pathania

      Clock speed at this moment is 16 MHz, reset cap is 1.5nF

      Changed the clock speed to 1MHz -> Same failuer

      The fFTG timing might be the problem here.

      Can you please implement the below code just before writing/erasing to the Flash?

        DCOCTL = 0x0;
        BCSCTL1 = CALBC1_1MHZ;                    // Set DCO to 1MHz
        DCOCTL = CALDCO_1MHZ;
        FCTL2 = FWKEY + FSSEL0 + FN1;             // MCLK/3 for Flash Timing Generator

      BR,

      Mo.

      Make The Switch to TI MCUs

      Report Abuse
      • Reply
      You have posted to a forum that requires a moderator to approve posts before they are publicly available.
    • Jens-Michael Gross
      Posted by Jens-Michael Gross
      on Aug 09 2012 11:10 AM
      Guru139970 points

      Mo.
      Why storing Calibration data? As I can see it in the datasheet, Segment A already contains factory preprogrammed calibration data!

      There may be several reasons for own calibration data.
      The factory-stored data is only for certain temperatures and still has some tolerance. Adn it doesn't take external circuitry into account.
      If you have e.g. an external voltage divider, then tolerance of the individual resistors of the divider won't be covered by the factory calibration data. Same for offset voltages of an OpAmp that works as input impedance changer.
      Doing an own calibration run will eliminate all of this and maybe provide the 'calibration data' in a way it only has to be multiplied with the ADC reading. (simple formula to be executed at runtime).

      The factory-stored values are a good starting point to get the ADC functions running. But for the final applicaiton, own calibration might be necessary if you don't want to risk a rather large tolerance.

      _____________________________________
      Before posting bug reports or ask for help, do at least quick scan over this article. It applies to any kind of problem reporting. On any forum. And/or look here.
      If you cannot discuss your problem in the public, feel free to start a private conversation: click on my name and then 'start conversation'. But please do so only if you really cannot do it in a public thread, as I usually read all threads. And I prefer to answer where others can profit from it (or contribute to it) too.

      Report Abuse
      • Reply
      You have posted to a forum that requires a moderator to approve posts before they are publicly available.
    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