-
Path: news-archive.icm.edu.pl!news.gazeta.pl!not-for-mail
From: Konop <k...@g...pl>
Newsgroups: pl.misc.elektronika
Subject: Re: Jak to jest z bezpieczeństwem danych w EEPROM w ATmega?
Date: Thu, 11 Feb 2010 10:47:29 +0100
Organization: "Portal Gazeta.pl -> http://www.gazeta.pl"
Lines: 63
Message-ID: <hl0jnf$ljl$1@inews.gazeta.pl>
References: <hkupko$7ha$1@atlantis.news.neostrada.pl>
NNTP-Posting-Host: hmk226.internetdsl.tpnet.pl
Mime-Version: 1.0
Content-Type: text/plain; charset=ISO-8859-2; format=flowed
Content-Transfer-Encoding: 8bit
X-Trace: inews.gazeta.pl 1265881647 22133 79.188.62.226 (11 Feb 2010 09:47:27 GMT)
X-Complaints-To: u...@a...pl
NNTP-Posting-Date: Thu, 11 Feb 2010 09:47:27 +0000 (UTC)
X-User: konoppo
X-Antivirus: avast! (VPS 100210-0, 2010-02-10), Outbound message
In-Reply-To: <hkupko$7ha$1@atlantis.news.neostrada.pl>
X-Antivirus-Status: Clean
User-Agent: Thunderbird 2.0.0.23 (Windows/20090812)
Xref: news-archive.icm.edu.pl pl.misc.elektronika:581891
[ ukryj nagłówki ]> Od zdaje się 5-6 lat dostarczam producentowi
> maszyn sterownik oparty na Atmel AVR ATmega32.
> Czasem też robiłem coś na ATmega8.
> Dawno to już było, gdy tworzyłem oprogramowanie.
> Jednak pamiętam, ze działy sie wtedy dziwne rzeczy
> z danymi zapisanymi w pamięci EEPROM.
> Gdzieś wyczytałem, że pierwsza komórka EEPROM
> w ATmega8 czasem zmieniała swoją wartość.
> Mogło być coś w tym, bo pamiętam, że jedno
> z urządzeń, które miało jakiś bajt konfiguracyjny
> pod zerowym adresem EEPROM w ATmega8
> potrafiło podawać inną wartość tej komórki, niż
> początkowo zapisana.
> Z kolei w ATmega32 wykorzystywałem kilkadziesiąt
> komórek pamięci. Pamiętam, że urządzenie też
> potrafiło zmienić parametry.
> Z tego względu zrobiłem tak, że każda wartość
> była zapisywana nawet w 10 miejscach pamięci.
> Następnie odczytywałem je wszystkie, a jako
> wartość właściwą brałem tę, która występowała
> więcej niż w połowie komórek; komórki o błędnych
> wartościach nadpisywałem tą właściwą.
> Teraz mam potrzebę skorzystać z większej
> ilości pamięci EEPROM i przydałoby się zrezygnować
> z kopii parametrów.
> Jak obecnie wygląda sprawa z pamięcią EEPROM
> w ATmega? Czy można na niej polegać?
Nie mam większego praktycznego doświadczenia w tej kwestii... wiadomo,
że pamięć może ulec przekłamaniu, ale w normalnych warunkach raczej nie
"sama z siebie"... problem pojawia się w przypadku zapisu do pamięci i
zaniku zasilania.... Problem z zerową komórką też na tym polegał i jeśli
ten 1B nie stanowi dla Ciebie problemu, zostaw tę komórkę wolną (choć w
dokumentacji i erratach do nowszych układów już o tym błędzie nie
piszą). Poza tym - sam musisz przeanalizować co się stanie w czasie
zapisu do pamięci... musisz cały czas pamiętać, że zapisując daną
komórkę w czasie, w którym przyjdzie jakieś silne zakłócenie, przerwa w
zasilaniu itp, możesz zapisać w niej głupoty...
Poczytaj DataSheeta tak w ogóle... nie wiem, jak do ATmega32, ale
ostatnio czytałem na ten temat w dokumentacji ATmega168 i pisali po
prostu, że włączenie BOD lub zapewnienie czegoś podobnego dosyć
skutecznie chroni przed błędami...
Tak więc BOD + ochrona przed zakłóceniami i powinno jakoś działać ;)...
Drugie wyjście - możesz zrobić proste "księgowanie"... poświęcasz 4
bajty EEPROMa... przy każdym zapisie wpisujesz w te 4 bajty adres, nową
daną oraz CRC z 3 poprzednich bajtów. Następnie zapisujesz właściwą
komórkę i kasujesz "księgowanie" (choć to niekonieczne)... Po resecie
sprawdzasz taką "księgę". Jeśli CRC się nie zgadza, to znaczy, że dane w
niej są uszkodzone. To dobry znak. Skoro ten zapis się nie udał, to
zapewne nie uszkodziłeś właściwych danych, bo nie zacząłeś ich
zapisywać. Jeśli CRC się zgadza, sprawdzasz co jest we właściwych danych
i ewentualnie poprawiasz.... Powinno wystarczyć ;)...
No chyba, że Ty to w kosmos wysyłasz, to faktycznie będzie problem ;)...
Albo w warunkach silnego promieniowania elektromagnetycznego - w
takich sytuacjach dane mogą zostać uszkodzone "z zewnątrz" w dowolnej
chwili, nie tylko w czasie zapisu....
--
Pozdrawiam
Konop
Następne wpisy z tego wątku
- 11.02.10 10:07 Robbo
- 25.03.10 00:28 Wroobel
- 25.03.10 21:56 Robbo
- 26.03.10 13:37 Piotr Gałka
Najnowsze wątki z tej grupy
- Klip testowy, jak sie to używa
- Jak sie smazy elektronike z odleglosci kilkuset metrów?
- William Shockley, co-inventor of the transistor
- Gazowy kocioł CO regulacja cyklingu i regulacja pogodowa
- Zamek elektroniczny
- szablon do pasty DIY
- Głośnik potrzebny
- Silikonowy przewód ekranowany
- Wtyk bananowy ekranowany
- Co może być gorsze od pożaru elektryka?
- daltonizm
- Mały Linux
- Superkondensator. Czy to się uda?
- Stare filmy o technice
- Zasilanie własnych konstrukcji przez PoE
Najnowsze wątki
- 2025-11-13 Warszawa => APM/Observability Engineer (Presales Engineer) <=
- 2025-11-12 Strefa Schengen
- 2025-11-12 #Motodziennik 352 - STRACH SIĘ BAĆ - Zombi VS radio AM, prawo do naprawy i niemiecki pomysł...
- 2025-11-12 Aparatu szukam
- 2025-11-12 Azylant na Węgrzech donosi prokuraturze na ministra sprawiedliwości/prokuratora generalnego
- 2025-11-12 Wrocław => Specjalista ds. Marketingu Online (PPC) <=
- 2025-11-12 Gdańsk => Delphi Programmer <=
- 2025-11-12 Białystok => Generative AI Engineer <=
- 2025-11-12 Białystok => Gen AI Engineer <=
- 2025-11-12 Chrzanów => Spedytor Międzynarodowy (handel ładunkami/prowadzenie f
- 2025-11-12 Gdańsk => Programista Delphi <=
- 2025-11-12 => Senior Algorithm Developer (Java/Kotlin) <=
- 2025-11-12 Warszawa => Engineering Manager <=
- 2025-11-12 Białystok => Senior Microsoft Dynamics 365 Business Central Konsultan
- 2025-11-12 Większy zasięg w elektrykach nikomu nie jest potrzebny




Elektromobilność dojrzewa. Auta elektryczne kupujemy z rozsądku, nie dla idei