Układ zasilania chroniący mikrokontroler przed utratą danych

r_99_17_1r_99_17_2
Czasami konieczne jest pobieranie danych przy włączaniu zasilania w taki sam sposób, jak przy ostatnim wyłączaniu, aby urządzenie budziło się w stanie, w jakim było przed wyłączeniem lub aby przeprowadzić pewien pomiar.

Jednym z podejść jest zapisywanie krytycznych zmiennych w pamięci EEPROM lub pamięci flash, gdy tylko nastąpi jakakolwiek zmiana.
To podejście ogólnie nie jest dobrym pomysłem, ponieważ pamięć flash jest zwykle ograniczona do 100 000 cykli zapisu, a pamięć EEPROM jest zwykle ograniczona do 1 miliona cykli.
Liczby cykli mogą wydawać się duże, ale produkt może łatwo do nich dotrzeć w ciągu ich żywotności.
Innym podejściem jest użycie baterii, aby utrzymać mikrokontroler w zestawie, aby nie stracił zawartości pamięci RAM.
Ten pomysł w prezentowanym projekcie, przedstawia alternatywną opcję: wykrycie wyłączenia zasilania i uruchomienie procedury przerwania, która zapisuje wszystkie parametry w pamięci EEPROM lub flash, zanim zasilanie mikrokontrolera spadnie poniżej progu działania.
Rysunek 1 przedstawia takie podejście do mikrokontrolera PIC-18F6720.
Jedną z wielu cech tego mikrokontrolera jest detekcja niskiego napięcia, która może wyzwolić przerwanie, gdy jego wejście LVD (Low Voltage Differential) spadnie poniżej progu.
Można ustawić próg od 2,06V do 4,64V.
Mikrokomputer PIC18 przestaje działać, gdy jego napięcie zasilające jest mniejsze niż 4,2V.
Ponieważ cykl zapisywania do pamięci EEPROM / flash jest dość czasochłonny, taktyka polega na monitorowaniu napięcia na wejściu regulatora 5V w celu wykrycia spadku mocy, zanim jeszcze zacznie spadać zasilanie mikrokomputera.
Wybrać wartość wyzwalania LVD w mikrokontrolerze PIC18F6720 na napiecie 1,22V i obliczyć wymaganą wartość R2/R1 za pomocą następującego równania:
w_1
gdzie VIN_THRESHOLD jest wartością wyzwalania, poniżej którego wyzwala się funkcja „zapisywania danych”.
Należy wybrać tę wartość wyzwalania, aby była jak najwyższa, ale nie zbyt wysoka, aby uniknąć wyzwalania tętnień i zakłóceń dla napięcia VIN.
Rys. 2 pokazuje przebiegi VIN i VCC, gdy nastąpi wyłączenie zasilania.
T oznacza czas przeznaczony na zapisanie danych, który rozpoczyna się, gdy obwód wykrywa spadek napięcia VIN, a kończy, gdy napięcie na mikrokontrolerze spadnie poniżej 4,2V, w którym to momencie przestaje działać.
Jeśli to samo napięcie 5V zasila inne urządzenia, dodać należy szeregowo diodę Schottky’ego, aby zapewnić wystarczające zasoby energii dla mikrokontrolera, aby zapisać dane.
Listing 1 (do pobrania) zawiera kod asemblera, który zapisuje dane po wyłączeniu zasilania i pobiera zapisane dane po włączeniu.
Autor: Stephan Roche

Komentarze z Facebooka

Komentarze obecnie - OFF.