Cześć,
Koledzy dziś proszę Was o pomoc z EEPROMem ponieważ mam pewną zagwozdkę
Mam urządzenie, w którym wykorzystuję Atmegę32A, zegar stabilizowany kwarcem 8MHz. Zasilanie z przetwornicy ATB-PWR3 5V. Atmega podczas normalnej pracy steruje diodami LED. W momencie odłączenia zasilania potrzebuję dokonać zapisu do EEPROM-u. Przetwornik ADC przez cały czas monitoruje napięcie zasilania, jeśli napięcie spadnie poniżej 4,8V robiony jest zapis do EEPROM-u (zapisywane jest pięć zmiennych 4-bajtowych). Po odłączeniu zapięcia od przetwornic napięcie "leci w dół" bardzo szybko. Aby ten proces nieco zwolnić dodałem w szynie zasilającej mikrokotroler kondensator 4700uF. Generalnie wszystko działa zgodnie z moim założeniem, zastanawia mnie tylko czy nie działam na skraju parametrów granicznych mikrokontrolera...
Zasadnicze pytanie jest, ile trwa zapis do EEPROM-u? Czy jest on zależny od częstotliwości taktowania? W ds na str 30 znalazłem taką informację:
"The calibrated Oscillator
is used to time EEPROM and Flash access. If EEPR
OM or Flash is written, do not calibrate to
more than 10% above the nominal frequency. Otherwise, the EEPROM or Flash write may fail."
To znaczy, że do zapisu EEPROM-u wykorzystuje się taktowanie z wewnętrznego oscylatora?
W ds na stronie 20 jest tabelka, w której pisze że czas zapisu wynosi około 8,5ms przy taktowaniu 1MHz. Ale nie podano czy chodzi o jeden bajt czy kilkanaście bajtów, jakiś bank.
Atmega32A ma zakres napięcia zasilania 2,7.....5V, w moim przypadku podczas zapisu do EEPROM-u napięcie spada w ciągu zapisu, zastanawia mnie czy to nie spowoduje, że czasem zostaną zapisane głupoty.....
Będę wdzięczny za każdą podpowiedź, na temat czy moja koncepcja jest poprawna?