??? 03/03/07 00:32 Modified: 03/03/07 00:34 Read: times |
#134173 - Erik ... That proves nothing! Responding to: ???'s previous message |
What's been observed in a few failures doesn't prove anything except that these failures can occur. The fact that adding a supervisor seems to help may be encouraging, but it is by no means a proven solution to the problem, since the problem itself is not clearly defined. It's too bad none of the chip makers are willing to publish what they know about this. They probably have a large-enough set of statistics, or, at least, SHOULD have, to make it more understandable.
I've never denied that these events occur. I do have doubts that these all-too-popular solutions touted by the manufacturers' people are the true "fix." For one thing, I believe that there's a larger risk that the FLASH can be corrupted during power-down than during power-up. Clearly, it can also be clobbered by a runaway MCU as well as by defective code. When the power drops, the Vpp charge pump is presumably fully operational. During power-up, all bets are off. I'm thinking that the negative-going reset on the MAX1232 can serve to gate-off/stop the external oscillator that drives the MCU. Here's one way in which this can be accomplished without feeding the MCU "runt" pulses, which could drive it "nuts." Consider the 74HC113 ... it's a JK flipflop with asynchronous clear but no set input. If you put an XOR in feedback across it, i.e, with the clock xor'd with the Q output, and the flipflop clocked by the XOR output, you'll get a pulse out of the XOR that's long enough to avoid violating setup and hold time of the flipflop. The Q output will toggle at the same rate as the clock feeding the XOR. If the negative-going output of the MAX1232 is fed to the J and K inputs of the flipflop, it will simply stop toggling. When J and K are allowed to go positive again, it will simply start again, right where it left off, in the same phase, and at the same rate. If you use the other JK with its J input driven by the MAX1232's nRESET and and K driven by its RESET output, then those controls will be synchronized with the clock, thereby avoiding the occasionally metastabile result. That should deal with the power-up transient situation and the occasional "brownout." Maybe it will remedy the power-down transient problem as well, but I'm not betting on that. There are probably loose-ends that have to be worked out, but you get the sense of what I'm thinking. I'll have to wait for MAX1232 samples to arrive, as Kai has told me that the DS1232's that I have in house are probably rubbish. All of this implies that, for those using the really cheap MCU's, the reset and oscillator circuitry costs more than the MCU. I don't know how well that will sell. RE |