I am quite puzzled here. I hope someone can help.
Ok, first my environment:
- We are using the MC9S08GT32CFB mask 3L31R. It is powered at VDD=3.0 volts by a buck regulator which gets its power from 3XAA batteries.
- All errata (when applicable) for this IC have been applied, especially the one related to the reset pin which asks for an external 4.7K to 10K to VDD + 0,1uF cap. I have a 10K + 0.1uF cap.
- The GT32 uses stop mode 3 with internal ICG with KBI and IRQ as inputs pins and enabled for waking up on interrupts. BKGD and LVD functions are disabled.
- All unused pins are set as outputs (including the ones from the GT60 die not bounded to the GT32 package)
During normal operation, one out of every 10 ICs goes dead or hangs for no reason. When the IC dies, the reset pin voltage reads approx 1.6 volts (not 3V as it should) and power consumption increases. When this happens, I shut down all power to the board and re-apply it. After multiple attempts of cycling the power on and off, the IC finally reboots BUT the same problem remains, that is, the reset pin stays around 1.6 volts and system power consumption may go from 200uA to 3 mA (normal system consumption in stop 3 mode is 15uA). So obviously here, the board is very unstable as its reset pin seems floating. But even in this state, firmware may still be running fine. So far, the only way to fix this is to replace the IC completely.
It would seem the Reset input is in latch-up or is sinking my 10K pull-up ??!!
The board may run for several months before this behavior starts to show up. Operating temperature has no effect and the board which only runs at 4Mhz internally with no othe external buses or high speed lines is enclosed in a metallic cage so I doubt ESD or EMC interference could have an effect.
Any ideas ?