=?ISO-8859-2?Q?Trwa=B3o=B6=E6_pami=EAci_EEPROM?=



Masz problem? Zapytaj na forum elektroda.pl

Poprzedni Następny
Wiadomość
Spis treści
From: scx <szczupxTEGOtuNIEma_at_nospam_wp.pl>
Subject: =?ISO-8859-2?Q?Trwa=B3o=B6=E6_pami=EAci_EEPROM?=
Date: Sat, 15 Oct 2005 20:34:41 +0200


Witam

Ostatnio sporo bawię się uC, i odkryłem jak zachowywać dane po wyłączeniu
zasilania. Kluczem do zagadni jest słówko eeprom.
Wyczytałem ostatnio w Bardzo Mądrej Księdze, że tego typu pamięci mają
ograniczoną żywotność (coś z kilkoma zerami liczby zapisów).
Teraz pytanie zasadnicze: czy technika eepromów się już udoskonaliła, a
jeśli nie to jak sobie poradzić jeśli uC ma przeżyć parę lat kiedy np co
sekunda zapisuje wartość do eepromu?
--
scx

Poprzedni Następny
Wiadomość
Spis treści
From: =?ISO-8859-2?Q?=22Mi=B3osz_K=2E=22?= <news_at_nospam_miklobit.WYTNIJTO.com>
Subject: Re: =?ISO-8859-2?Q?Trwa=B3o=B6=E6_pami=EAci_EEPROM?=
Date: Sat, 15 Oct 2005 21:58:41 +0200


scx napisał(a):
Witam

Ostatnio sporo bawię się uC, i odkryłem jak zachowywać dane po wyłączeniu
zasilania. Kluczem do zagadni jest słówko eeprom.
Wyczytałem ostatnio w Bardzo Mądrej Księdze, że tego typu pamięci mają
ograniczoną żywotność (coś z kilkoma zerami liczby zapisów).
Teraz pytanie zasadnicze: czy technika eepromów się już udoskonaliła, a
jeśli nie to jak sobie poradzić jeśli uC ma przeżyć parę lat kiedy np co
sekunda zapisuje wartość do eepromu?

Ta trwałość sie tyczy zapisu do pojedynczej komórki
( albo czasem strony ) pamięci.
Jeśli zapisujesz jakieś dane co sek. do kolejnych adresów
to trwałośc pamięci nie będzie ograniczeniem.

--
Miłosz Kłosowicz

------------------------------------------------
AVR : ISP,JTAG,moduły prototypowe (USB,CAN)
TYPO3: projekty, webhosting, sklepy internetowe
-> http://www.miklobit.com
------------------------------------------------

Poprzedni Następny
Wiadomość
Spis treści
From: scx <szczupxTEGOtuNIEma_at_nospam_wp.pl>
Subject: Re: =?ISO-8859-2?Q?Trwa=B3o=B6=E6_pami=EAci_EEPROM?=
Date: Sat, 15 Oct 2005 23:22:39 +0200


"Miłosz K." się wziął i wyklepał:

Ta trwałość sie tyczy zapisu do pojedynczej komórki
( albo czasem strony ) pamięci.
Jeśli zapisujesz jakieś dane co sek. do kolejnych adresów
to trwałośc pamięci nie będzie ograniczeniem.

Zapisuję właśnie do pojedyńczej komórki - powiedzmy że jest to licznik
"ostatniej pozycji"
Po prostu cyklicznie zapisuję sobie wartość do komórki, także w momencie
kiedy zasilanie padnie na pewno mam zapisaną właściwą liczbę. Wtedy podczas
rozruchu i pierwszego odczytu kontynuujemy od miejsca w którym skończyliśmy

--
scx

Poprzedni Następny
Wiadomość
Spis treści
From: Adam Dybkowski <adybkows123_at_nospam_amwaw.edu.pl>
Subject: Re: =?ISO-8859-2?Q?Trwa=B3o=B6=E6_pami=EAci_EEPROM?=
Date: Sat, 15 Oct 2005 23:56:13 +0200


scx wrote:

Ta trwałość sie tyczy zapisu do pojedynczej komórki
( albo czasem strony ) pamięci.
Jeśli zapisujesz jakieś dane co sek. do kolejnych adresów
to trwałośc pamięci nie będzie ograniczeniem.

Zapisuję właśnie do pojedyńczej komórki - powiedzmy że jest to licznik
"ostatniej pozycji"
Po prostu cyklicznie zapisuję sobie wartość do komórki, także w momencie
kiedy zasilanie padnie na pewno mam zapisaną właściwą liczbę. Wtedy podczas
rozruchu i pierwszego odczytu kontynuujemy od miejsca w którym skończyliśmy

To przemyśl algorytm zapisywania tak aby rozłożyć zużycie pamięci
równomiernie po całym dostępnym obszarze. Czyli jeżeli potrzebujesz
zapamiętać tylko jeden bajt a pamięć ma 1 kilobajt, zapisuj swoją daną
najpierw w komórce o adresie 0, potem pod adresem 1, potem pod adresem 2
itd. Skomplikuje się conajwyżej algorytm wyszukiwania ostatnio używanej
komórki - ale to nie problem jeżeli zapisujesz licznik, który rośnie
monotonicznie. W innym przypadku też da się zrobić zapisując oprócz
właściwej danej również np. licznik kolejnych zapisów (1,2,3 itd).

Tak że jeżeli masz np. pamięć, którą można programować wg producenta 10
tys razy - to zapisując bajt w kolejnych komórkach zamiast ciągle w tej
samej, dostajesz 10 mln dopuszczalnych zapisów.

--
Adam Dybkowski
http://www.amwaw.edu.pl/~adybkows/

Uwaga: przed wysłaniem do mnie maila usuń "123" z adresu.

Poprzedni Następny
Wiadomość
Spis treści
From: Adam Dybkowski <adybkows123_at_nospam_amwaw.edu.pl>
Subject: Re: =?ISO-8859-2?Q?Trwa=B3o=B6=E6_pami=EAci_EEPROM?=
Date: Sun, 16 Oct 2005 00:02:06 +0200


Adam Dybkowski wrote:

Tak że jeżeli masz np. pamięć, którą można programować wg producenta 10
tys razy - to zapisując bajt w kolejnych komórkach zamiast ciągle w tej
samej, dostajesz 10 mln dopuszczalnych zapisów.

Dobry przykład tej metody podaje w nocie aplikacyjnej Atmel:
"AVR101: High Endurance EEPROM Storage"
http://atmel.com/dyn/resources/prod_documents/doc2526.pdf
http://atmel.com/dyn/resources/prod_documents/AVR101.zip

--
Adam Dybkowski
http://www.amwaw.edu.pl/~adybkows/

Uwaga: przed wysłaniem do mnie maila usuń "123" z adresu.

Poprzedni Następny
Wiadomość
Spis treści
From: scx <szczupxTEGOtuNIEma_at_nospam_wp.pl>
Subject: Re: =?ISO-8859-2?Q?Trwa=B3o=B6=E6_pami=EAci_EEPROM?=
Date: Sun, 16 Oct 2005 00:38:23 +0200


Adam Dybkowski się wziął i wyklepał:

Tak że jeżeli masz np. pamięć, którą można programować wg producenta 10
tys razy - to zapisując bajt w kolejnych komórkach zamiast ciągle w tej
samej, dostajesz 10 mln dopuszczalnych zapisów.

Co daje mi 4 miesiące pracy...
Zresztą EOT, urządzenie pozostaje w sferze "byćmożekiedyś" a pytanie było w
sumie teoretyczne :)
W każdym razie dzięki za oświetlenie tematu


--
scx

Poprzedni Następny
Wiadomość
Spis treści
From: Tomasz Piasecki <mtbrider_at_nospam__-nospam-_.poczta.onet.pl>
Subject: Re: =?ISO-8859-2?Q?Trwa=B3o=B6=E6_pami=EAci_EEPROM?=
Date: Sun, 16 Oct 2005 00:51:52 +0200


scx wrote:
Co daje mi 4 miesiące pracy...
W takim razie musisz zastosować inny rodzaj pamięci nieulotnej. NVRAM
albo FRAM. Niestety zewnętrznej, zatem dodatkowy scalak i troszkę kodu
do obsługi, ale problem rozwiązany na długi czas (życie bateryjki w
NVRAM albo 10^10 zapisów we FRAM)

TP.

--
| _ _ _ |
| _____ _| |_| | __ (o) | | __ __ _at_nospam_poczta.onet.pl |
| | \ | | |o \| \| |/o |/ _\| \ |
| |_|_|_| \_| |__/|_| |_|\__|\__||_| Tomasz Piasecki |

Poprzedni Następny
Wiadomość
Spis treści
From: =?ISO-8859-2?Q?=22Mi=B3osz_K=2E=22?= <news_at_nospam_miklobit.WYTNIJTO.com>
Subject: Re: =?ISO-8859-2?Q?Trwa=B3o=B6=E6_pami=EAci_EEPROM?=
Date: Sun, 16 Oct 2005 02:34:47 +0200


Tomasz Piasecki napisał(a):


W takim razie musisz zastosować inny rodzaj pamięci nieulotnej. NVRAM
albo FRAM. Niestety zewnętrznej, zatem dodatkowy scalak i troszkę kodu
do obsługi, ale problem rozwiązany na długi czas (życie bateryjki w
NVRAM albo 10^10 zapisów we FRAM)

Albo najzwyklejszy ram i jakiś MAX695 + bateria.
Tak się to robiło jak nie było NVRAM'ów z bateryjkami w środku albo FRAM'ów.

--
Miłosz Kłosowicz

------------------------------------------------
AVR : ISP,JTAG,moduły prototypowe (USB,CAN)
TYPO3: projekty, webhosting, sklepy internetowe
-> http://www.miklobit.com
------------------------------------------------

Poprzedni Następny
Wiadomość
Spis treści
From: Lukasz Spychalski <luspych_at_nospam_spamfe.polbox.com>
Subject: Re: =?ISO-8859-2?Q?Trwa=B3o=B6=E6_pami=EAci_EEPROM?=
Date: Sun, 16 Oct 2005 02:40:48 +0200


"Miłosz K." wrote:

Albo najzwyklejszy ram i jakiś MAX695 + bateria.
Tak się to robiło jak nie było NVRAM'ów z bateryjkami w środku albo
FRAM'ów.

Dokladnie. Np. drukarki Epsona FX1050 i DFX8000 mialy w srodku 6264LP i
baterie litowa rozmiaru ciut wiekszego, niz AA.

--
pozdrawiam,
Lukasz Spychalski

Poprzedni Następny
Wiadomość
Spis treści
From: "Albatros" <albatros_at_nospam_wolny.ptak.w.pl>
Subject: =?iso-8859-2?Q?Re:_Trwa=B3o=B6=E6_pami=EAci_EEPROM?=
Date: Tue, 18 Oct 2005 23:09:23 +0200



Użytkownik "Lukasz Spychalski":
Albo najzwyklejszy ram i jakiś MAX695 + bateria.
Tak się to robiło jak nie było NVRAM'ów z bateryjkami w środku albo
FRAM'ów.

Dokladnie. Np. drukarki Epsona FX1050 i DFX8000 mialy w srodku 6264LP i
baterie litowa rozmiaru ciut wiekszego, niz AA.

Czy moze ktos podac kawalek przykladowego (sprawdzonego!) schematu z
pamiecia RAM podtrzymywana bateryjnie, ale w taki sposob, ze nie wystepuja
losowe zapisy w momencie wlaczania\wylaczania (stany nieustalone na
magistralach danych, adresowych i sterujacych) ?

Pozd
Albatros


Poprzedni Następny
Wiadomość
Spis treści
From: "Marek Dzwonnik" <mdz_at_nospam_WIADOMO_PO_CO_TO.message.pl>
Subject: =?iso-8859-2?Q?Re:_Trwa=B3o=B6=E6_pami=EAci_EEPROM?=
Date: Tue, 18 Oct 2005 23:24:55 +0200


Użytkownik "Albatros" <albatros_at_nospam_wolny.ptak.w.pl> napisał w wiadomości
news:dj3oae$bf8$1_at_nospam_atlantis.news.tpi.pl

Czy moze ktos podac kawalek przykladowego (sprawdzonego!) schematu z
pamiecia RAM podtrzymywana bateryjnie, ale w taki sposob, ze nie
wystepuja losowe zapisy w momencie wlaczania\wylaczania (stany
nieustalone na magistralach danych, adresowych i sterujacych) ?

Własnie MAX691 itp.
http://boss.iele.polsl.gliwice.pl/pdf/Maxim/max690-max695.pdf
http://alfa.iele.polsl.gliwice.pl/elenota/Maxim/max691a-max800m.pdf

Oprócz tego, że nadzorują napięcie zasilania i generują RESEST to jeszcze,
wstawione między uP a RAM, odcinają sygnał CE\.


--
Marek Dzwonnik, GG: #2061027 - zwykle jako 'niewidoczny'
(Uwaga Gadu-Gadulcowicze: Nie odpowiadam na anonimy.)


Poprzedni Następny
Wiadomość
Spis treści
From: =?ISO-8859-2?Q?=22Mi=B3osz_K=2E=22?= <news_at_nospam_miklobit.WYTNIJTO.com>
Subject: Re: =?ISO-8859-2?Q?Trwa=B3o=B6=E6_pami=EAci_EEPROM?=
Date: Wed, 19 Oct 2005 00:55:17 +0200


Albatros napisał(a):


Czy moze ktos podac kawalek przykladowego (sprawdzonego!) schematu z
pamiecia RAM podtrzymywana bateryjnie, ale w taki sposob, ze nie
wystepuja losowe zapisy w momencie wlaczania\wylaczania (stany
nieustalone na magistralach danych, adresowych i sterujacych) ?


https://www.miklobit.com/uploads/tx_mklproducts/datasheet/MB128USBCAN_MAX_rev.A_sch.pdf

--
Miłosz Kłosowicz

------------------------------------------------
AVR : ISP,JTAG,moduły prototypowe (USB,CAN)
TYPO3: projekty, webhosting, sklepy internetowe
-> http://www.miklobit.com
------------------------------------------------

Poprzedni Następny
Wiadomość
Spis treści
From: Adam Dybkowski <adybkows123_at_nospam_amwaw.edu.pl>
Subject: Re: =?ISO-8859-2?Q?Trwa=B3o=B6=E6_pami=EAci_EEPROM?=
Date: Sun, 16 Oct 2005 21:21:26 +0200


scx wrote:

Tak że jeżeli masz np. pamięć, którą można programować wg producenta 10
tys razy - to zapisując bajt w kolejnych komórkach zamiast ciągle w tej
samej, dostajesz 10 mln dopuszczalnych zapisów.

Co daje mi 4 miesiące pracy...

No to doczep dowolny RTC z pamięcią RAM (taki jak np. DS1306).
Dostaniesz 96 bajtów pamięci RAM podtrzymywanej baterią (np. CR2032) a
do tego gratis RTC ;-) który też się może przydać. Czas podtrzymania:
kilka lat. Dłużej przy zastosowaniu większej baterii litowej, np. SAFT
rozmiaru R12 (kilkanaście Ah).

--
Adam Dybkowski
http://www.amwaw.edu.pl/~adybkows/

Uwaga: przed wysłaniem do mnie maila usuń "123" z adresu.

Poprzedni Następny
Wiadomość
Spis treści
From: "szlovak" <adamkxBEZx_at_nospam_o2.pl>
Subject: Re: =?iso-8859-2?Q?Trwa=B3o=B6=E6_pami=EAci?= EEPROM
Date: Sun, 16 Oct 2005 10:24:31 +0000 (UTC)


Adam Dybkowski napisał(a):

ale to nie problem jeżeli zapisujesz licznik, który rośnie
monotonicznie. W innym przypadku też da się zrobić zapisując oprócz
właściwej danej również np. licznik kolejnych zapisów (1,2,3 itd).

no nie da rady tak, nie można robić licznika bo ta komórka się zużyje.
jedynie powiedzmy zapis po kolei i sprawdzanie np. ostatniej zajętej
pozycji oczywiście przyjmując jakiś stan za zerowy. Po przekroczeniu
tablicy zerowanie komórek i zapis w pierwszej

jedna komórka eeprom o wytrzymałości 10mln zapis/kasowanie da możliwość
zapisu co sekundę przez 115 dni mniej więcej.

--
Pozdrawiam
Adam

Poprzedni Następny
Wiadomość
Spis treści
From: =?iso-8859-2?Q?Piotr_Ga=B3ka?= <piotr.galka_at_nospam_CUTTHISmicromade.pl>
Subject: =?iso-8859-2?Q?Re:_Trwa=B3o=B6=E6_pami=EAci_EEPROM?=
Date: Mon, 17 Oct 2005 09:16:44 +0200



Użytkownik "scx" <szczupxTEGOtuNIEma_at_nospam_wp.pl> napisał w wiadomości
news:dirrtv$nhh$2_at_nospam_news.onet.pl...
Zapisuję właśnie do pojedyńczej komórki - powiedzmy że jest to licznik
"ostatniej pozycji"
Po prostu cyklicznie zapisuję sobie wartość do komórki, także w momencie
kiedy zasilanie padnie na pewno mam zapisaną właściwą liczbę.

Jesteś tak całkiem pewien, że wszystkie bity zdążyły się zapisać gdy
zanikało zasilanie (proces zapisu EEPROMu trochę jednak trwa i mogło w niego
trafić).
Jeśli licznik jest więcej niż jednobajtowy to: jesteś całkiem pewien, że
zapis nie został przerwany między bajtami.
Miałeś stan hi=1, lo=255, zapisujesz hi=2, lo=0. Zależnie od kolejności
zapisu przy zaniku zasilania może się okazać, że zapisane zostało 1,0, albo
2,255
P.G.


Poprzedni Następny
Wiadomość
Spis treści
From: "mokule" <moki1.WYTNIJ_at_nospam_gazeta.pl>
Subject: =?ISO-8859-2?Q?Re:_Trwa=B3o=B6=E6_pami=EAci_EEPROM?=
Date: Sat, 15 Oct 2005 20:05:43 +0000 (UTC)


Teraz pytanie zasadnicze: czy technika eepromów się już udoskonaliła

Trudno powiedzieć, bo nie napisałeś ile tam było zer.
W każdym razie wciąż jest to ilość skończona.
Jeśli to Ci przeszkadza to musisz poznać nowe słowo kluczowe FRAM.
http://www.ramtron.com/doc/Products/overview.asp


--
Wysłano z serwisu Usenet w portalu Gazeta.pl -> http://www.gazeta.pl/usenet/

Poprzedni Następny
Wiadomość
Spis treści
From: scx <szczupxTEGOtuNIEma_at_nospam_wp.pl>
Subject: Re: =?ISO-8859-2?Q?Trwa=B3o=B6=E6_pami=EAci_EEPROM?=
Date: Sat, 15 Oct 2005 23:23:16 +0200


mokule się wziął i wyklepał:

Teraz pytanie zasadnicze: czy technika eepromów się już udoskonaliła

Trudno powiedzieć, bo nie napisałeś ile tam było zer.
Coś mi się kojarzy że 3, ale może 4

W każdym razie wciąż jest to ilość skończona.
Jeśli to Ci przeszkadza to musisz poznać nowe słowo kluczowe FRAM.
http://www.ramtron.com/doc/Products/overview.asp
Biorę się za lekturę.

--
scx

Poprzedni Następny
Wiadomość
Spis treści
From: scx <szczupxTEGOtuNIEma_at_nospam_wp.pl>
Subject: Re: =?ISO-8859-2?Q?Trwa=B3o=B6=E6_pami=EAci_EEPROM?=
Date: Sat, 15 Oct 2005 23:29:12 +0200


Jeśli to Ci przeszkadza to musisz poznać nowe słowo kluczowe FRAM.

Hmmm, no fajnie, wszystko super, ale:
Zamiast prostej definicji zmiennej jako eeprom mam teraz troszkę roboty z
2wire, no i 4k pamięci kosztuje 10zł
Mi się nie da dogodzić :P

--
scx

Poprzedni Następny
Wiadomość
Spis treści
From: "Art" <To_at_nospam_zly.adres.poczty.pl>
Subject: Re: Trwałość pamięci EEPROM
Date: Sun, 16 Oct 2005 14:37:09 +0200



Witam..
A nie lepiej dorobic uklad z wiekszym kondensatorem na zasilaniu procesora i
dioda wykrywajaca zanik napiecia na jakies przerwanie,a na przerwaniu zrobic
zapis do pamieci - energii w kondensatorze wystarczy procesorowi na zapis do
eeproma i wtedy masz po klopocie. Ewentualnie w drugiej komorce robisz jakis
zapis kontrolny co 100/1000 przekrecen licznika - napisz czego to ma byc
licznik - tzn. jaki jest czas impulsu itp. bo jak to bedzie licznik otwarc
drzwi albo impulsow w KHz to beda to roznice - chodzi mi o to czy faktycznie
apis co sekunde jest potrzebny i bardzo krytyczna jest zapisana tam wartosc
Pozdr
ART



Poprzedni Następny
Wiadomość
Spis treści
From: "mw158979" <newbie_at_nospam_gazeta.pl.dowidzenia>
Subject: Re: Trwałość pamięci EEPROM
Date: Tue, 18 Oct 2005 17:01:19 +0200


BTW: co sie dzieje ze zuzytym flashem? Jest tu jakas regula?

hej



Poprzedni Następny
Wiadomość
Spis treści
From: Adam Dybkowski <adybkows123_at_nospam_amwaw.edu.pl>
Subject: Re: =?ISO-8859-2?Q?Trwa=B3o=B6=E6_pami=EAci_EEPROM?=
Date: Tue, 18 Oct 2005 21:01:18 +0200


mw158979 wrote:

BTW: co sie dzieje ze zuzytym flashem? Jest tu jakas regula?

Ja kiedyś spotkałem taki, w którym kasowanie działało nie do końca.
Czyli po skasowaniu prawie wszystkie bajty miały wartość 0xff ale
kilkanaście bitów pozostawało zerowych.

--
Adam Dybkowski
http://www.amwaw.edu.pl/~adybkows/

Uwaga: przed wysłaniem do mnie maila usuń "123" z adresu.