logo elektroda
logo elektroda
X
logo elektroda
REKLAMA
REKLAMA
Adblock/uBlockOrigin/AdGuard mogą powodować znikanie niektórych postów z powodu nowej reguły.

Jak zapisać EEPROM w Atmega8 podczas wyłączania zasilania?

robiw 26 Paź 2012 06:35 6255 41
Najlepsze odpowiedzi

Jak wykryć zanik zasilania i zdążyć zapisać kilka bajtów do EEPROM w ATmega8 zanim napięcie spadnie za nisko?

Najprościej wykrywać spadek zasilania przez ADC, mierząc wewnętrzne VBG jako wejście pomiarowe przy referencji AVCC, a nie przez BOD, bo w ATmega8 BOD nie daje przerwania i służy tylko do utrzymania MCU w resecie [#11451814][#11451795][#11452052] Do tego trzeba zapewnić krótki czas podtrzymania zasilania MCU, np. diodą Schottky’ego i kondensatorem za nią, aby procesor miał czas wykonać zapis EEPROM po wykryciu spadku napięcia [#11454869][#11451814] W praktyce można uruchomić ADC w trybie free-running i w przerwaniu sprawdzać poziom zasilania co kilka ms; gdy spadnie poniżej progu, wykonać zapis danych do EEPROM [#11452184][#11454869] Sam zapis 4 bajtów udało się wykonać przy czasie rozładowania około 28 ms od 4,0 V do progu BOD 2,7 V, więc dla kilku zmiennych trzeba dobrać pojemność podtrzymania do realnego czasu zapisu [#11463569]
Wygenerowane przez model językowy.
REKLAMA

Podsumowanie tematu

✨ W dyskusji poruszono problem zapisu danych do pamięci EEPROM w mikrokontrolerze Atmega8 podczas wyłączania zasilania. Użytkownicy sugerowali różne metody detekcji spadku napięcia, w tym wykorzystanie komparatora lub przerwania od pinu IO. Zwrócono uwagę na możliwość użycia wewnętrznego przetwornika ADC do monitorowania napięcia odniesienia VBG oraz zastosowanie kondensatorów do podtrzymania zasilania, co pozwala na zapis danych przed całkowitym zanikiem napięcia. Wskazano również na ograniczenia związane z czasem zapisu EEPROM w Atmega8 oraz rozważano alternatywy, takie jak FRAM, które mogą oferować szybszy zapis. Użytkownicy podkreślili znaczenie odpowiedniego zarządzania czasem zapisu oraz detekcji zaniku zasilania, aby zapewnić integralność danych.
Wygenerowane przez model językowy.
REKLAMA