ATNEL tech-forum
https://forum.atnel.pl/

Czas zapisu EEPROM-u
https://forum.atnel.pl/topic20622.html
Strona 1 z 1

Autor:  Jarecki [ 20 kwi 2018, o 11:49 ]
Tytuł:  Czas zapisu EEPROM-u

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?

Autor:  mirekk36 [ 20 kwi 2018, o 12:18 ]
Tytuł:  Re: Czas zapisu EEPROM-u

Jarecki napisał(a):
Aby ten proces nieco zwolnić dodałem w szynie zasilającej mikrokotroler kondensator 4700uF.

wystarczy pewnie 100uF ale nie na szynie zasilania tylko za diodą shottky i na zasilaniu procka. No i warto zrobić badanie braku zasilania przed diodą albo najlepiej przed stabilizatorem - za pomocą jakiegoś przerwania zewnętrznego.

Autor:  Jarecki [ 20 kwi 2018, o 14:06 ]
Tytuł:  Re: Czas zapisu EEPROM-u

mirekk36 napisał(a):
Jarecki napisał(a):
Aby ten proces nieco zwolnić dodałem w szynie zasilającej mikrokotroler kondensator 4700uF.

wystarczy pewnie 100uF ale nie na szynie zasilania tylko za diodą shottky i na zasilaniu procka. No i warto zrobić badanie braku zasilania przed diodą albo najlepiej przed stabilizatorem - za pomocą jakiegoś przerwania zewnętrznego.


Dzięki Mirku, pomysł z diodą bardzo dobry :)

Autor:  jony15 [ 21 kwi 2018, o 08:37 ]
Tytuł:  Re: Czas zapisu EEPROM-u

Co do czasu zapisu ( niedługo czeka mnie to samo ) może po prostu zmierzyć czas zapisu za pomocą np timera, tj przed zapisem start timer po zapisie stop i odczytać ile timer zliczył impulsów.

Przepraszam za edytowanie postu.

Atmega32 16MHz zapis jednego bajtu wychodzi mi 8,5ms, po przestawieniu zegara na 8MHz ( wewnętrzny )
wynik jest ten sam 8,5ms, zegar 4MHz - to samo. Nie ma też znaczenia czy zapisujemy/naspisujemy, czas jest ten sam ( chyba że coś poknociłem w programie )
kod
Składnia: [ Pobierz ] [ Ukryj ]
język c
Musisz się zalogować, aby zobaczyć kod źródłowy. Tylko zalogowani użytkownicy mogą widzieć kod.

Strona 1 z 1 Strefa czasowa: UTC + 1
Powered by phpBB® Forum Software © phpBB Group
https://www.phpbb.com/