"When away at sea, never carry two chronometers. Carry one, or carry three." --ancient sailor's proverb The shuttle flies on triple, not dual, redundant systems. Andy "Parker, Kevin L" on 06/16/2000 12:45:07 PM Please respond to pic microcontroller discussion list To: PICLIST@MITVMA.MIT.EDU cc: (bcc: Andrew Kunz/TDI_NOTES) Subject: Q: Embedded firmware remedies to 'single event upsets' First, thank you to everyone who replied to my 'Q: firmware reliability for aerospace applications' posting. Based on those responses, I'm posting a clarified and expanded version of my original request. Has anyone here ever developed firmware that is resistant to malfunction caused by 'single event effects'? (A 'single event upset' is a spontaneous change in a RAM bit due to cosmic radiation; for more info, see 'Single Event Effects Primer' w3 page, http://www.aero.org/seet/primer/single_event_upset.html). Any suggestions about firmware techniques or references on how to protect against 'single event effect'-related failures in microcontrollers? To check for RAM variables corrupted by 'single event effects', I'm considering performing the same algorithm twice (through different program branches using duplicate variables) and comparing the results. If the results are different, then the algorithm assumes a single event upset must have occurred, and throws out the results. Another method would be to perform a calculation and then perform a reverse calculation to see if the original conditions can be derived correctly from the results. If the results of the reverse calculation don't match the initial conditions, then a single event upset is assumed and the results are thrown out. So there are some ideas. If you have others, please share them! Thanks! Kevin