Author Topic: EEPROM data corruption after thermal shock - is it normal?  (Read 2652 times)

0 Members and 1 Guest are viewing this topic.

Offline MichalPLTopic starter

  • Contributor
  • Posts: 36
  • Country: pl
EEPROM data corruption after thermal shock - is it normal?
« on: July 12, 2016, 07:49:24 pm »
Hi, I wonder if this phenomenon is normal. I was testing my breadboard prototype, which contains an I2C thermometer, with a freezer spray. I've noticed that once I cooled the uC (Atmega 1284P) area to approx. -30 deg C, the data read from EEPROM stopped passing my CRC check routine. Is it a normal reaction to such a 'thermal shock', a faulty microcontroller, or maybe just these built-in EEPROMs are so unreliable? Have you encountered such behaviour? I consider using FRAM instead because I want the product to be 100% reliable. Does it sound like a good idea or an overkill to you? I just need to store two dozen bytes of config. variables. The system is running on stable 3.3V with BOD on and an external quartz of 10 MHz.
 

Offline Kjelt

  • Super Contributor
  • ***
  • Posts: 6460
  • Country: nl
Re: EEPROM data corruption after thermal shock - is it normal?
« Reply #1 on: July 12, 2016, 08:04:49 pm »
an external eeprom or the one inside the uC ?
I never heard of this. I do know about hackers that use clock and voltage glitching to make the uC jump or force into strange behaviour, perhaps the sudden temperature drop did something similar to the internal clock and programcounter registers and perhaps rewrite one cell?
Check the eeprom to see if it was only one bit that toggled or one byte or a whole page.
 

Offline MichalPLTopic starter

  • Contributor
  • Posts: 36
  • Country: pl
Re: EEPROM data corruption after thermal shock - is it normal?
« Reply #2 on: July 12, 2016, 08:12:40 pm »
Hi, I mean the built-in one. Maybe it has something to do with the fact that the crystal was cooled down as well (because everything is packed closely together) and it's not certified for temps lower than -20.
 

Offline bktemp

  • Super Contributor
  • ***
  • Posts: 1616
  • Country: de
Re: EEPROM data corruption after thermal shock - is it normal?
« Reply #3 on: July 12, 2016, 08:24:29 pm »
Maybe it is not the crystal itself but condensed water shorting pins and stopping the crystal oscillator. Despite being static, AVRs don't like rapid changes in clock frequency.
 

Offline Kjelt

  • Super Contributor
  • ***
  • Posts: 6460
  • Country: nl
Re: EEPROM data corruption after thermal shock - is it normal?
« Reply #4 on: July 12, 2016, 08:25:01 pm »
Still an interesting find esp. for hardware hackers, researchers i mean  ;)  :-+
Can you confirm your findings, with that I mean can you repeat the experiment more than one times and get the same results?
 

Offline MichalPLTopic starter

  • Contributor
  • Posts: 36
  • Country: pl
Re: EEPROM data corruption after thermal shock - is it normal?
« Reply #5 on: July 12, 2016, 08:45:01 pm »
Yes, it's repeatable and I guess condensation might be the issue, because a moment after freezing you can see a very tiny layer of ice on the uC.
 

Offline wraper

  • Supporter
  • ****
  • Posts: 16864
  • Country: lv
Re: EEPROM data corruption after thermal shock - is it normal?
« Reply #6 on: July 12, 2016, 08:52:55 pm »
Does it read properly once the chip reaches room temperature again? What is temperature grade of the MCU, is it consumer grade 0-70oC? Checked the datasheet, there is no consumer grade for this MCU. However industrial is not guaranteed to work below -40oC.
« Last Edit: July 12, 2016, 08:58:09 pm by wraper »
 

Offline MichalPLTopic starter

  • Contributor
  • Posts: 36
  • Country: pl
Re: EEPROM data corruption after thermal shock - is it normal?
« Reply #7 on: July 12, 2016, 08:57:00 pm »
Does it read properly once the chip reaches room temperature again? What is temperature grade of the MCU, is it consumer grade 0-70oC?

Yes, when it warms up, it works OK. The uC should work at -40.
 

Offline Kjelt

  • Super Contributor
  • ***
  • Posts: 6460
  • Country: nl
Re: EEPROM data corruption after thermal shock - is it normal?
« Reply #8 on: July 12, 2016, 09:00:34 pm »
Ah ok so the eeprom content is not modified but the checksum calculation goes wrong at extreme low temperature? Also when you keep the micrcontroller in reset cool it down and then let it run?
 

Offline wraper

  • Supporter
  • ****
  • Posts: 16864
  • Country: lv
Re: EEPROM data corruption after thermal shock - is it normal?
« Reply #9 on: July 12, 2016, 09:02:46 pm »
Does it read properly once the chip reaches room temperature again? What is temperature grade of the MCU, is it consumer grade 0-70oC?

Yes, when it warms up, it works OK. The uC should work at -40.
then you should check if your approx -30oC is a true figure and not something lower because most freezer sprays seem to claim ~-50oC
 

Online David Hess

  • Super Contributor
  • ***
  • Posts: 16616
  • Country: us
  • DavidH
Re: EEPROM data corruption after thermal shock - is it normal?
« Reply #10 on: July 12, 2016, 09:50:07 pm »
Floating gate transistor threshold voltage shifts with age and temperature which is why sometimes a failing EPROM can be read successfully by altering the supply voltage.  If the EEPROM was programmed incorrectly, then it may not have enough margin to read correctly over its entire operating temperature range.

Temperature will not cause the crystal to fail however the gain of the oscillator changes and may drop low enough to cause problems.
 

Offline MichalPLTopic starter

  • Contributor
  • Posts: 36
  • Country: pl
Re: EEPROM data corruption after thermal shock - is it normal?
« Reply #11 on: July 12, 2016, 09:55:17 pm »
Thank you. I'll start with checking whether it's the actual data that get corrupted or the CRC calculation because it sounds like a good suspect.
 

Offline MichalPLTopic starter

  • Contributor
  • Posts: 36
  • Country: pl
Re: EEPROM data corruption after thermal shock - is it normal?
« Reply #12 on: July 13, 2016, 05:25:05 pm »
Today I used a high quality crystal with industrial temperature range and the problem seems to be gone.
 


Share me

Digg  Facebook  SlashDot  Delicious  Technorati  Twitter  Google  Yahoo
Smf