This discussion has been locked.
You can no longer post new replies to this discussion. If you have a question you can start a new discussion

non volatile memory

I am wondering how to save a variable's value in case of power reset.
I am creating a program to write to a display and I want to keep track
of the selection that the user made before the system power went
down and got reset. How can I do this?

Thanks for any help, Vida

Parents
  • The other thing to do is just store the value in EEPROM or Battery backed ram when it is changed. This saves the complications of implementing a power fail interrupt. On power up, just read the value(s) from the non-volatile device. If the device is an EEPROM or FLASH, just make sure there is enough capacity in the power supply to keep the VCC on long enough to complete the write operation.

Reply
  • The other thing to do is just store the value in EEPROM or Battery backed ram when it is changed. This saves the complications of implementing a power fail interrupt. On power up, just read the value(s) from the non-volatile device. If the device is an EEPROM or FLASH, just make sure there is enough capacity in the power supply to keep the VCC on long enough to complete the write operation.

Children
  • A disadvantage of EEPROM and FLASH are the limited number of write cycles. I have recently read about something called FRAM, which is available from http://www.ramtron.com

    They say, it will survive like 10^6 writecycles per second for 300 years. It also seems to be available in different sizes and should be fast enough to work with an ordinary 80c51.

    I have no experience in using it, though, but it was something that I have kept in my folder of interesting things.

    -cu
    Sven

  • FYI:

    We have been using FRAM for about 3 years and it works great. They have an 8k byte serial device that is SSC (SPI) compatible. You don't have to worry about erasing or programming them. Just write your data using their protocol designed to eliminate inadvertant write cycles.

    I also recently heard that Motorola is working on something using the same or similar technology in a parallel version with much larger densities that can be used to store program and data. They are debating if they should implement the technology in their micros only or if they should offer it in a stand-alone package also.

    -Walt