I started using 68HC705B16 in 2002.
In the first 6 month of production we were plagued by sudden and scattered changes in the EEPROM contents, where some cells varied with no apparent reason.
We spent hundreds of hours improving our routines, we introduced a second EEPROM area in which we copied our main data (we used only some 80 bytes on each bank on the main 255 bytes of EEPROM area) and we managed them with CRC and comparing the two banks. We stopped any action when the voltage before the main regulator was approaching a safe lower limit, but no success: EEPROM continued to fail randomly till eventually complete failure. We were able to reprogram EEPROM from scratch but some CPU were completely damaged and unrecoverable.
Some apparatus where plagued more than others in different places. We were desperate....
We came out from the tunnel when discovered that the problem appeared only at turn-off turn-on at a fast pace (short dips, perhaps 1 second off than on). We made an automatic mains relay switch driven by a 1Hz generator and discovered that after some ten to some hundreds switch, EEPROM weared always, no matter which routine we used to protect it.
Having found that, we introduced a hardware reset manager completely fixing our problems. We tested near istantaneous reset manager (MC33164) and delayed ones (MCP130) with identical results: after that we where able to test up to 10000+ on/off mains switching with no problems.
We continue using that design till now with utmost success and great reliability: we will be forced to redesign our controller in next months because Freescale announced last orders and production stop on next August....
We did not thougth to introduce an external voltage supervisor earlier on the design table because of the declared internal reset action of the 68HC705B family and because we already used other Motorola smaller CPUs with no EEPROM and no external reset supervisor with not any single problem.
Encoder