Pozdrav svima.
Radim jedan uredjaj na kom treba da se detektuje nestanak napajanja i da se u tom slucaju podaci sacuvaju.
Podatke upisujem u EEPROM od mirkokontrolere i za to vreme sam mislio da se napajaju preko kondenzatora
posto na napajanju nema vise napona.
E sad koje kodenzatore da iskoristim?
Ili mozda ima neko bolji neki savet?
Hvala unapred.
Detekcija iskljucenog napajanja na PIC-u
Moderators: pedja089, stojke369, [eDo], trax
Re: Detekcija iskljucenog napajanja na PIC-u
Zar nije upravo zato Brown Out Reset ili BOR koji ima skoro svaki PIC???
Re: Detekcija iskljucenog napajanja na PIC-u
@Gurko, nije to to, kada ti se desi reset - gotovo je sa podacima.
Dakle, ja obično razdvojim grec i elektrolit još jednom diodom i na pulsirajućih 100Hz stavim optocoupler pa na pin PIC-a. Resetuje mi tajmer svakih 10ms a ako tajmet dostigne 14ms znam da nema struje. Brže ne može. Onda brzo u backup. Pokazalo mi se u praksi da je bolji spoljašnji EEPROM tipa 24Cxx jer ima blok-zapis, samo ušiftaš a on brine o ostalom. Tako ti nije bitno ako elektroliti i ne izdrže, ovi završavaju posao i pri malim naponima. Ako u PIC upisuješ bajt-po-bajt, obrao si bocke .
Stavi velike elektrolite (>4700) i napravi veći napon pre regulatora da nakupiš dovoljno energije. Nemoj nikako da koristiš gold-kondenzatore, nepouzdani su i imaju unutrašnji otpot ( >10 oma) pa kod nestanka struje imaš nagli pad koji bi mogao da te omete.
Dakle, ja obično razdvojim grec i elektrolit još jednom diodom i na pulsirajućih 100Hz stavim optocoupler pa na pin PIC-a. Resetuje mi tajmer svakih 10ms a ako tajmet dostigne 14ms znam da nema struje. Brže ne može. Onda brzo u backup. Pokazalo mi se u praksi da je bolji spoljašnji EEPROM tipa 24Cxx jer ima blok-zapis, samo ušiftaš a on brine o ostalom. Tako ti nije bitno ako elektroliti i ne izdrže, ovi završavaju posao i pri malim naponima. Ako u PIC upisuješ bajt-po-bajt, obrao si bocke .
Stavi velike elektrolite (>4700) i napravi veći napon pre regulatora da nakupiš dovoljno energije. Nemoj nikako da koristiš gold-kondenzatore, nepouzdani su i imaju unutrašnji otpot ( >10 oma) pa kod nestanka struje imaš nagli pad koji bi mogao da te omete.
Jaka stvar da LED blinka. Kada je nateraš da peva onda si car za elektroniku...
Re: Detekcija iskljucenog napajanja na PIC-u
... i još se setih...
taj backup zna da bude noćna mora, radio sam uređaje u kojima bi gubitak podataka mogao da znači gubitak licence. Kakav je značaj tvojih podataka? Mogao bih da ti dam koji savet i u tom pravcu...
taj backup zna da bude noćna mora, radio sam uređaje u kojima bi gubitak podataka mogao da znači gubitak licence. Kakav je značaj tvojih podataka? Mogao bih da ti dam koji savet i u tom pravcu...
Jaka stvar da LED blinka. Kada je nateraš da peva onda si car za elektroniku...
Re: Detekcija iskljucenog napajanja na PIC-u
Pa recimo isto da bi gubitak podataka mogao da znaci gubitik licence....
Nisam te skapirao oko greca i elektrolita...
Koristim izvor napajanja od 12V koji idem preko 7805 na PIC.
Nisam te skapirao oko greca i elektrolita...
Koristim izvor napajanja od 12V koji idem preko 7805 na PIC.
Re: Detekcija iskljucenog napajanja na PIC-u
Nisam nikada koristio BOR vec sam naletio citajuci spreadsheetove sta i kako ... u svakom slucaju, hvala na podijeljenom iskustvu. Kada budem morao sacuvati kakvu licencu, definitivno cu koristiti predlozeno rjesenje ..
Re: Detekcija iskljucenog napajanja na PIC-u
"Nacrtaj šta hoćeš da kažeš"... OK
http://i1231.photobucket.com/albums/ee5 ... ajanje.jpg" onclick="window.open(this.href);return false;
U principu... nikad ne možeš da garantuješ 100% da ćeš sačuvati podatke. Bar neka verovatnoća bude značajna.
Koristim 2 zapisa, original i kopiju. Mogu da budu na istom medijumu ali je bolje na 2, recimo u CPU i spoljni EEPROM. To znači da i pišem 2 puta iste podatke, u originalu i u kopiji. Zapis mora da ima kontrolni broj (prosta check-suma, XOR svih bajtova ili (najbolje)CRC). Upisujem original i čekam da završi upis (podrazumeva se da procedura za upis ima kontrolu da je i upisano to što treba). Onda upisujem kopiju. Lepo je ako sve završim, reset može da nastupi bilo kada.
RESET.
Sistem ponovo startuje. Učitavam original i proveravam ispravnost zapisa (check, XOR ili CRC). Ako je dobro - OK. Ako nije dobro znači da je negde u procesu upisa originala nastupio reset i da na te podatke ne mogu da računam (upis znači prvo brisanje (FFh) pa upis i zamisli reset pri brisanju i FFh umesto 00h na mestu najveće težine long varijable!!!) . To znači da do kopije nisam ni stigao, što je veoma retko, ali i da se desi, kopija mi daje prethodno stanje.
Naravno, sam program mora da povremeno upisuje značajne promene. Kod ovakve procedure, najgore što može da se desi je da izgubim poslednju transakciju. To će mi možda i oprostiti (a i događa se izuzetno retko). Zamisli da izgubim sve promene!!!
Postoje i varijante sa upisom u spoljašnji "nonvolatile RAM" ili RTC čip (npr DS1307) koji ima malo RAMA i svoju bateriju ali i to nosi svoje probleme. Prosto, kontrolni brojevi pod obavezno a sada i ti pusti malo mašti na volju. Ako smisliš nešto dobro... ti javi da i mi znamo...
http://i1231.photobucket.com/albums/ee5 ... ajanje.jpg" onclick="window.open(this.href);return false;
U principu... nikad ne možeš da garantuješ 100% da ćeš sačuvati podatke. Bar neka verovatnoća bude značajna.
Koristim 2 zapisa, original i kopiju. Mogu da budu na istom medijumu ali je bolje na 2, recimo u CPU i spoljni EEPROM. To znači da i pišem 2 puta iste podatke, u originalu i u kopiji. Zapis mora da ima kontrolni broj (prosta check-suma, XOR svih bajtova ili (najbolje)CRC). Upisujem original i čekam da završi upis (podrazumeva se da procedura za upis ima kontrolu da je i upisano to što treba). Onda upisujem kopiju. Lepo je ako sve završim, reset može da nastupi bilo kada.
RESET.
Sistem ponovo startuje. Učitavam original i proveravam ispravnost zapisa (check, XOR ili CRC). Ako je dobro - OK. Ako nije dobro znači da je negde u procesu upisa originala nastupio reset i da na te podatke ne mogu da računam (upis znači prvo brisanje (FFh) pa upis i zamisli reset pri brisanju i FFh umesto 00h na mestu najveće težine long varijable!!!) . To znači da do kopije nisam ni stigao, što je veoma retko, ali i da se desi, kopija mi daje prethodno stanje.
Naravno, sam program mora da povremeno upisuje značajne promene. Kod ovakve procedure, najgore što može da se desi je da izgubim poslednju transakciju. To će mi možda i oprostiti (a i događa se izuzetno retko). Zamisli da izgubim sve promene!!!
Postoje i varijante sa upisom u spoljašnji "nonvolatile RAM" ili RTC čip (npr DS1307) koji ima malo RAMA i svoju bateriju ali i to nosi svoje probleme. Prosto, kontrolni brojevi pod obavezno a sada i ti pusti malo mašti na volju. Ako smisliš nešto dobro... ti javi da i mi znamo...
Jaka stvar da LED blinka. Kada je nateraš da peva onda si car za elektroniku...
Re: Detekcija iskljucenog napajanja na PIC-u
OK, shvatio sam tvoje resenje...
Hvala ti na pomoci.
Hvala ti na pomoci.