Searching \ for 'Fault tolerant & EMI-proof code - ideas?' in subject line. ()
Make payments with PayPal - it's fast, free and secure! Help us get a faster server
FAQ page: www.piclist.com/techref/index.htm?key=fault+tolerant+emi
Search entire site for: 'Fault tolerant & EMI-proof code - ideas?'.

Truncated match.
PICList Thread
'Fault tolerant & EMI-proof code - ideas?'
1995\09\26@102604 by Scott Stephens

flavicon
face
I'm interested in ways to protect my application from the effects of EMI,
power supply spikes, lightning, et. I am considering some of the following:

Using the WDT to generate resets; re-initializing registers, to prevent the
PIC from hanging in a loop in the event the PC is corrupted.

Spreading SLEEP instructions between called routines, and testing for
invalid resets or WDT timeouts to call a error handler or re-initialization
routine.

Loading a register with a unique number, according to the routine that the
code is executing, and testing for this number in other routines that rely
on the calling routines data.

Periodicaly generating and testing checksums in register and User EE Rom.

Any other idea's or comments? References to good books or application notes
from any manufacturer's?

Has anyone experienced problems that would justify going to this much trouble?
Thanks.

1995\09\27@000658 by Jim Scorse

picon face
Try Intel's appnote #125 for a start on the noise aspect

1995\09\27@023132 by divanov

flavicon
face
Scott Stephens wrote:

... snip snip ...
> Using the WDT to generate resets; re-initializing registers, to prevent the
> PIC from hanging in a loop in the event the PC is corrupted.
> Spreading SLEEP instructions between called routines, and testing for
> invalid resets or WDT timeouts to call a error handler or re-initialization
> routine.
> Loading a register with a unique number, according to the routine that the
> code is executing, and testing for this number in other routines that rely
> on the calling routines data.
> Periodicaly generating and testing checksums in register and User EE Rom.
> Any other idea's or comments? References to good books or application notes
> from any manufacturer's?
> Has anyone experienced problems that would justify going to this much trouble?

The only place I've seen a similar programming approach is the IBM AT
BIOS routines (8086 assembler). The routines start with testing the
stack, PUSHing all registers with unique values, then clearing them
and POPing them to see if the values were restored. It goes further
on checking regs, jumps, etc... If something fails, it falls into a
HALT trap with a JMP $-1 placed after it. Maybe this was justified in
the good old days of discrete logic, but I really doubt that you will
have to go to such extents with your project...

The BIOS routines are published in the IBM AT Technical Manual. Have
fun.

spam_OUTdivanovTakeThisOuTspamplessey.co.za

More... (looser matching)
- Last day of these posts
- In 1995 , 1996 only
- Today
- New search...