| ??? 10/24/07 20:28 Read: times |
#146155 - don't use the internal brownout of this derivative Responding to: ???'s previous message |
Although the P89V51RD2 is my favourite '51 derivative, I'd never use the builtin brownout detection/interrupt, as it is 1. badly documented, 2. from documentation it follows that it triggers far far below the minimum operational voltage, where it is not guaranteed to work correctly. Besides, it apparently incorporates also some kind of powerup reset circuit, which is not documented at all (that's why I always recommend a proper reset IC with this derivative, too).
Better use an external early voltage drop detector. You can then connect it BEFORE the voltage regulator, so the voltage drop can be detected (and EEPROM written) while the 5V supply is still completely OK. I'd also recommend you to CALCULATE how long will it take from the voltage drop detection to the moment when 5V will actually start to fall (you might want to prevent discharge of the input source voltage into the already disconnected wall-wart or transformer etc., routing it via a series diode (maybe schottky for decreased voltage drop)), and make sure the EEPROM can be fully written within this time span. If this time is short, you might consider using a FRAM rather than EEPROM (although it's not too cheap). You might want to have a look at some better reset IC which incorporate a comparator - with one end connected to a precise internal voltage reference, exactly intended for early power failure warning - such as the '707 (try MAX707 for beginning but it is multiple-sourced), or the even more feature-packed '69x series, although I admit they are relatively far from being cheap, either. JW PS. <shameless self-advertisement> Some of it is described in my wannabe reset document, which I did not update since ages, and the end seems to be lost in the mist...</shameless self-advertisement> |
| Topic | Author | Date |
| need help P89V51RD2 Brown-out interrupt execution | 01/01/70 00:00 | |
| how do you know ... | 01/01/70 00:00 | |
| don't use the internal brownout of this derivative | 01/01/70 00:00 | |
| SDCC interrupt pitfall | 01/01/70 00:00 | |
SDCC interrupt | 01/01/70 00:00 |



