Thank you for the reply. Do you have a link pointing to an authoritative document on what to do (or not to do) to protect the chip? -----Original Message----- From: David VanHorn [SMTP:dvanhorn@CEDAR.NET] Sent: Thursday, March 08, 2001 12:42 PM To: PICLIST@MITVMA.MIT.EDU Subject: Re: Why Noises Change Register Values? How to Protect the Program? >Now this is my question: Can someone explain to me why the noises can >change the value of the registers of the program? If it can change T0IE, >what else would it change? I can't monitor all the variables; the thought >that the noises can change values arbitrarily is very scary. It could be a >disaster. This is called Electromagnetic Upset. There are seveeral possibilities as to the exact mechanism, but the end is the same. During the read, enough energy was received on the bus to either corrupt the location being read (trying to read $0000, but read $0032 instead) or to corrupt the data ($0000 was $AA, but I got $25). The only cure is to prevent this energy from reaching the micro. PCB layout is a major factor. Also power supply decoupling. Shielding is also helpful, but do the rest first. There is a lot you can do, but without seeing your exact schematic and PCB, it's hard to say exactly. -- Dave's Engineering Page: http://www.dvanhorn.org Where's dave? http://www.findu.com/cgi-bin/find.cgi?kc6ete-9 -- http://www.piclist.com hint: PICList Posts must start with ONE topic: [PIC]:,[SX]:,[AVR]: ->uP ONLY! [EE]:,[OT]: ->Other [BUY]:,[AD]: ->Ads -- http://www.piclist.com hint: PICList Posts must start with ONE topic: [PIC]:,[SX]:,[AVR]: ->uP ONLY! [EE]:,[OT]: ->Other [BUY]:,[AD]: ->Ads