??? 07/27/07 17:40 Read: times |
#142467 - It all depends ... Responding to: ???'s previous message |
Lynn Reed said:
I am constrained to design 8051s that are drop-in replacements for existing chips. So if I make a better reset, it still has to work in old applications. Since the flaw in the original 805x has been propagated throughout the entire 805x market until recent years, any fixes you provide will invariably cause your parts to fail in some applications. In an effort to determine how much I can get away with before I start to affect existing applications, I would like to pose the following questions:
1. I can put an N-bit (4096?) counter on the oscillator to insure that it has started and stabilized before I release internal reset. That would potentially delay system startup by a few milliseconds. Is that a problem? Do you expect the processor to start executing immediately after reset is removed? Dallas did that with their DS89C4x0 series, i.e. they have an internal oscillator that starts up "immediately" and waits for 64K counts of the external oscillator before transferring control to it. That doesn't seem to bother anyone, BTW, but I suspect that an actively driven external reset suffers in the case where the DS89C4x0 drives RESET in the case of a watchdog timeout or brownout-detection. I can think of no circumstance in a resonable system design wherein a delay of less than a tenth of a second would cause a problem. 2. I can put a voltage detector that will force a hard reset at Vdd = 4.25 (or whatever). On the downside, this might force the processor into reset under noisy conditions (such as whenever the motor turns on) (or worse, whenever the flash is programmed!). To compensate, I could require the detector to have a low voltage signal for 3 (or N) clocks before activating reset. Still, would anyone here authorize a second source for an existing design with that level of reset change? Do you trust your older systems to have a clean supply? My "old" systems tend to have powerful linear supplies with <10 mV of power-gnd noise and ripple. It's the new ones with switchers that introduce noise, and weak wall-wart supplies, that have the noise and ripple problems. 3. I can make a configuration bit set the polarity of the reset pin. I suppose that the bit should also change the pulldown resistor into a pullup resistor. That would mainly be for new designs (I can always hope). So would you use an active low reset if it was available? If you were to make a part that had the performance of the Maxim/Dallas 89C4x0 parts or better, and possibly the memory addressing features, particularly the external memory cycle extension features, used a negative-going RESET and a watchdog timer that one could actually read, I'd recommend it for ALL new designs, so long as it was plug-compatible in every other respect, i.e. package, voltage, etc. I wouldn't require the "reprogrammable" sense of RESET at all. The one thing I would require is that the internal workings stop dead while RESET is asserted and the FLASH charge-pump totally discharged within 1/2 oscillator cycle of the leading edge of RESET. You wouldn't be required to stop the oscillator, but you would have to gate it off in order to stop runaway processes. I suspect a depletion-mode MOSFET is all you'd need to do those things. The positive-going RESET is the cause of several problems involving runaway logic in the 805x, and it's a design flaw dating back to the very first one. Perhaps, rather than expending a lot of energy on cloning and fixing a badly designed hareware core, one with a really good instruction set, you could expend a bit of effort on designing a truly functional supervisor that works properly and doesn't allow the flash or memory corruption problems so frequently encountered. If such a device were to gate off the oscillator to the MCU core, yet allow it to keep running, and if such a device were to cut power to the MCU core within an oscillator cycle, it would mitigate those problems. Use of such a device might require an adapter or a minor PCB change. Having an efftively "hard" reset rather than the "soft" one now available would be well worth it! RE |
Topic | Author | Date |
Open questions on reset improvements | 01/01/70 00:00 | |
do you have fuses? | 01/01/70 00:00 | |
level | 01/01/70 00:00 | |
SiLabs | 01/01/70 00:00 | |
opinions | 01/01/70 00:00 | |
RTP? | 01/01/70 00:00 | |
RTP = Erik\'s place (look at his \"signature\") | 01/01/70 00:00 | |
Geography | 01/01/70 00:00 | |
Research Triangle Park | 01/01/70 00:00 | |
Missing clock | 01/01/70 00:00 | |
also in \'51\'s | 01/01/70 00:00 | |
(some?) SILabs '51s has that one | 01/01/70 00:00 | |
It all depends ... | 01/01/70 00:00 |