??? 08/10/07 18:54 Modified: 08/10/07 19:03 Read: times |
#143061 - It is a black box and you will never find out... Responding to: ???'s previous message |
...what's going on inside! So, you have to trust the manufacturers information. Ok? Can we both agree, that what the manufacturer recommends is the best to solve our problem? If not, we should stop the discussion right here.
1. Power-up problem: When we had RC-reset we found, that during slow or "stumbled" power-ups the micro hang and didn't work as expected. Either the code runs ill or the micro showed a lock-up and become abnormally hot. With flash code memory micros we even observed code corruptions. Cure: Increasing the RC time constant by increasing C, or the use of reset chip which could increase the reset active time due to the built-in undervolatge detection, cured the problem. Cause: This power-up problem is shown by all 8051 parts, not only the todays flash code memory micros, but also by the old EPROM parts. It's a plain power-up problem and had to do with an improper reset signal: If the power-up stumbles or shows a slow rise time the RC-reset is not capable to generate or maintain a proper reset signal up to the moment when Vcc reaches its nominal value. Increasing the reset active time solved the problem. Alternatives: Alternatively the power-up problem could also be cured by guaranteeing that the power-up time does not exceed a certain limit. This would also ease the start-up of Pierce oscillator due to the bigger dU/dt-kick of supply voltage. But this is hardly to achieve, when you imagine where the power-up delay comes from: Is it a battery powered application, then you must expect, that the operator can push the switch unsuitedly slowly or that the switch contact becomes old and shows some bouncing. With mains powered applications you must keep in mind the weak mains transformer and, of course, mains dips and fluctuations. Also, the plugging in can also cause some bouncing and a delayed power-up. Richard, it's easier to increase the C or to add a reset chip, than to build a special circuitry to guarantee a fast power-up. Not for a standard power-up, but when you take into consideration all the power-up eventualities (bouncing, dips, very slow rise times). 2. Supply voltage dips: This is the best way to invoke supply voltage related problems: Jiggle the power switch of a battery powered micro with RC reset and you will immediately observe hangings or lock-ups of micro. With a bit "luck" you can also observe a code memory corruption, means even with future proper resets, the micro will never do as before and the ISP-programmer will show code memory damages. Cure: The only cure is the use of a reset chip, because the RC reset is not able to deliver a proper reset pulse immediately after a fast supply voltage dip, because the capacitor is still relevantly charged, especially if a big C is used to cure the first problem (see above). Cause: It's not quite clear, what the cause is. Is it the lack of reset puls at the next power-up or is it the lack of reset signal during the power dip? Or is it the power dip itself? Equally what it is, when we used a reset chip, which reseted properly the micro during the dip then no trouble occured. Alternatives: Again, a special supply voltage controller could prevent a too fast power-up after a dip, could then provide a controlled power-up. Also, it could control the power-down. But why should we do this, when there's no information given by the manufacturer, that a controlled power-up or power-down would solve any of these problems?? More, why should we do this, when they at the same time recommend to use a reset chip providing a proper reset signal as a cure?? 3. Power-down: By power-down I mean a realy power-down, not a dip. If the power-down lasts a bit longer, malfunction of micro could be observed sometimes. Although it wouldn't harm in most cases, it should be avoided to not worry the customer. I cannot remember to have found a code moemory corruption due to an improper power-down, but we found some during power-dips. Cure: A RC reset cannot reset the micro during a power-down. That's impossible due to the design. Only a reset chip providing an undervolatge detection can do this. Cause: At under voltage the micro doesn't work properly and tends to run ill, by skipping certain instruction or similar. Reseting the micro stops the executing of code. Alternatives: A fast controlled power-down would also immediately stop the micro from executing code. But again, it's not simple to controll the supply voltage under all eventualities (bouncing, dips, very slow slew times). More, why fumbling arround with a supply voltage controller, when a reset chip can cure all the problems? What does the manufacturer recommend? In this apllication note the manufacturer ATMEL explains how and why to reset todays flash code memory micros: http://www.atmel.com/dyn/resou...oc4183.pdf You will find the following lines: Also: So, you can clearly see, that the manufacturer recommends the use of a properly generated reset signal to cure all these problems. No one word about the control of supply voltage slew times. Richard, it IS a power supply problem, but it is cured by a proper reset signal. Kai |