James R Albers wrote: > > > I have included other software routines to notify the user of a power > failure, and other problems, but I am looking for one more thing that I > might add in order to give me or the user a clue that "Something" has > happened. > > I'm using a 16F628 that has brown out detect. But I am already using a > MCP120 that resets the PIC at 4.5 Volts (I've got other TTL logic on the > board, also). Hi Jim, I have always been interested in temporary failure modes in CPUs. The static memory, like the registers (ram) and of course the program counter which is one of those registers are of the flip-flop dual semi type. Static stability relies on one transistor (or cmos fet) being on and the other off. So it is stable in each position. But a weird occurence like power spike, a spike through an IO port, or even the much-argued "cosmic rays" can cause an upset making one or more of these register bits change state. Most common results are obviously changes in ram contents and program runaway (jumping to unknown position in code). These can become quite frequent when the device may be operated in an electrically noisy environment. Runaway code is easier to detect but detecting changes in ram contents is harder. If the chip has data eeprom internally this is much more "mechanical" than the ram registers, so maybe you could use some eeprom stored value to checksum the registers. Interesting stuff, hope i'm not raving on. :o) -Roman -- http://www.piclist.com hint: To leave the PICList mailto:piclist-unsubscribe-request@mitvma.mit.edu