Jak ustawić tryb PowerDown w procesorze 89C2051 z wykrywaniem zasilania?
PD w 89c2051
From: irvingwashington_at_nospam_wp.pl (Lechu)
Subject: PD w 89c2051
Date: 19 Apr 2001 18:11:56 +0200
Witam.
Mam nastepujace pytanie: jak wprowadzic ww procesor w stan uspienia?
Chce go uspic w momencie wylaczenia zasilania. Wiem, ze trzeba ustawic
odpowiedni bit w SMOD, ale jak wykryc zanik napiecia? Komparatorem
(AIN1, AIN2)?
p.s.
W karcie katalogowej o trybie PowerDown jest napisane tylko tyle:
"P1.0 and P1.1 should be set to ’0’ if no external pullups are
used, or set to ’1’ if external pullups are used."
--
Pozdrawiam
Lechu mailto:irvingwashington_at_nospam_wp.pl
--
Archiwum grupy: http://niusy.onet.pl/pl.misc.elektronika
From: Milosz Skowyra <miloszek_at_nospam_fidonet.org.pl>
Subject: Re: PD w 89c2051
Date: Fri, 20 Apr 2001 01:08:59 +0200
Lechu wrote:
Witam.
Mam nastepujace pytanie: jak wprowadzic ww procesor w stan uspienia?
Chce go uspic w momencie wylaczenia zasilania. Wiem, ze trzeba ustawic
odpowiedni bit w SMOD, ale jak wykryc zanik napiecia? Komparatorem
(AIN1, AIN2)?
Tak latwo to nie bedzie... mozesz uzyc przystosowanych do takich celow
ukladow typu MAX 696, 697 one pare rzeczy ulatwiaja, tym bardziej ze aby
obudzic atmelka z uspienia musisz go zresetowac.
p.s.
W karcie katalogowej o trybie PowerDown jest napisane tylko tyle:
"P1.0 and P1.1 should be set to ’0’ if no external pullups are
used, or set to ’1’ if external pullups are used."
No coz.... w zasadzie nic wiecej nie trzeba pisac...
Robisz ORL albo ANL P1 a potem ORL PCON,#00000010b i masz.
--
Regards.
|-----------------------------------------------------|
| Milosz Skowyra |
| miloszek_at_nospam_fidonet.org.pl 2:484/2.47 on fidonet |
| GSM Mobile +48608888899 |
|-----------------------------------------------------|
Pozwol tesknic i snic, marzyc i zyc...
From: MiKe <4lanki_at_nospam_student.uci.agh.edu.pl>
Subject: Re: PD w 89c2051
Date: Fri, 20 Apr 2001 13:28:33 +0200
Lechu wrote:
Witam.
Mam nastepujace pytanie: jak wprowadzic ww procesor w stan uspienia?
Chce go uspic w momencie wylaczenia zasilania. Wiem, ze trzeba ustawic
odpowiedni bit w SMOD, ale jak wykryc zanik napiecia? Komparatorem
(AIN1, AIN2)?
Jezeli chodzi Ci o to, zeby RAM byl podtrzymywany z akumulatorka, a procesor
pobieral mikroampery to jest dosc proste rozwiazanie.
Zobacz schemat http://student.uci.agh.edu.pl/~lanki/skaner/synt31_s.gif.
Podczas normalnej pracy zasilacz (sieciowy...?) dostarcza pradu do procesora
przez jedna diode prostownicza (D2), a po wylaczeniu zasilany przez druga
diode (D1) z akumulatorka. Wystarczy teraz wykryc ze napiecie przed dioda
(D2) spadnie ponizej jakiejs tam wartosci (np 4.5V). Calkiem niezle
zachowuje sie rozwiazanie przedstawione na tym samym schemacie - po prostu
napiecie zasilania (przez rezystor R8) podane jest na wolne wyprowadzenie
portu. Jezeli zasilanie zostanie wylaczone i kondensatory filtrujace sie
rozladuja, napiecie zasilania spada do wystarczajaco malej wartosci, aby
mikrokontroler wykryl to jako stan 0. W tym momencie program testujacy ten
pin wykrywa stan 0, robi, co ma robic i wlacza power down. Po ponownym
wlaczeniu zasilania (z pewnym opoxnieniem, aby kondensator od resetu zdazyl
sie rozladowac) nastepuje reset, a RAM jest podtrzymany.
Powyzsze rozwiazanie nie jest calkowicie niezawodne, ale za to proste, bo
nie trzeba dodatkowych zewnetrznych ukladow.
p.s.
W karcie katalogowej o trybie PowerDown jest napisane tylko tyle:
"P1.0 and P1.1 should be set to ’0’ if no external pullups are
used, or set to ’1’ if external pullups are used."
O ile pamietam chodzi o to, aby nogi nie wisialy w powietrzu, co powoduje
podanie tam stanu 1. Wpisanie 0 zwiera te nogi do masy. Jest to tak samo jak
z wejsciem CMOSa - zbierajace sie ladunki i zaklocenia powoduja przewodzenie
obydwu tranzystorow bufora wyjsciowego, a w konsekwencji znaczne wiekszenie
pradu.
Pozostale nogi maja wewnetrzny pull-up, wiec tam nie ma takiego problemu i
lepiej jest wlasciwie dac 1, aby dodatkowo zmniejszyc straty na tych
"podciagaczach".
Jezeli cos namieszalem to sorki.
--
Michal Lankosz, SQ9FQQ
http://www.sq9fqq.prv.pl
e-mail: lanki_at_nospam_student.uci.agh.edu.pl
(z adresu zwrotnego usun cyferke 4 - to zabezpieczenie przed spamerami $#_at_nospam_!)
------------------------------------