Podtrzymanie pamieci...



Masz problem? Zapytaj na forum elektroda.pl

Poprzedni Następny
Wiadomo¶ć
Spis tre¶ci
From: "Michal Kowalski" <mike_at_nospam_sonyx.eu.org>
Subject: Podtrzymanie pamieci...
Date: Wed, 3 Apr 2002 23:09:43 +0200


Witam
Mam takie male pytanko (zaczynam zabawe z uC - 89C51 i pojawiaja sie
pierwsze problemy)

Chodzi o to, ze chcialbym miec mozliwosc zachowania paru zmiennych programu
tak aby ich wartosci nie zostaly stracone po wylaczeniu zasilania.
Chcialbym wiedziec jak to sie robi "fachowo"..

Przychodzi mi do glowy pare rozwiazan, ale nie wiem ktore jest wlasciwe:



Bylbym wdzieczny gdybyscie doradzili mi w tej kwestii i np podali konkretne
typy pamieci ktore by sie tu nadawaly. Mikrokontroler to Atmel 89c51, a tych
danych ktore chcialbym zachowac jest naprawde niewiele - pewnie
wystarczyloby kilka/kilkanascie bajtow.

pozdrawiam
Mike



Poprzedni Następny
Wiadomo¶ć
Spis tre¶ci
From: "Marek Dzwonnik" <mdz_at_nospam_message.pl>
Subject: Re: Podtrzymanie pamieci...
Date: Thu, 4 Apr 2002 01:44:05 +0200


Użytkownik "Michal Kowalski" <mike_at_nospam_sonyx.eu.org> napisał w wiadomo¶ci
news:a8fra9$m64$1_at_nospam_news.tpi.pl...
Chodzi o to, ze chcialbym miec mozliwosc zachowania paru zmiennych
programu
tak aby ich wartosci nie zostaly stracone po wylaczeniu zasilania.
Chcialbym wiedziec jak to sie robi "fachowo"..

- zewnetrzna pamiec Ram podtrzymywana bateryjne

- EEprom - hmm....

Bylbym wdzieczny gdybyscie doradzili mi w tej kwestii i np podali
konkretne
typy pamieci ktore by sie tu nadawaly. Mikrokontroler to Atmel 89c51, a
tych
danych ktore chcialbym zachowac jest naprawde niewiele - pewnie
wystarczyloby kilka/kilkanascie bajtow.

Przy kilku bajtach danych konfiguracyjnych nie ma sensu bawic się z
podtrzymaniem bateryjnym (choć oczywi¶cie można, patrz np. MAX690 do nazdoru
zasilania na www.maximic.com lub pamięci ZeroPower RAM na www.st.com )

Najsensowniej będzie zastosować eeprom. Musisz tylko pamiętać, że zapis do
eepromu jest czasochłonny (rzędu 10ms) i musisz sprawdzać czy operacja
zapisu została zakończona zanim zainicjujesz następną.

Najpro¶ciej (choć nie najtaniej) - zamiast 89C51 wstawić 89S8252 - zyskujesz
m.in. 256B wewnętrznego eepromu i minimum wysiłku związanego z obsługą -
dostęp przez dwa rejestry SFR a także możliwo¶ć załadowania zawarto¶ci z
programatora ISP. No i oczywi¶cie jest to 52-ka a nie 51-ka.

Jeżeli masz dwie (lub trzy) wolne linie portu to możesz dostawić z zewnątrz
jakikolwiek EEPROM szeregowy
http://www.atmel.com/atmel/products/prod162.htm

Np. po i2c: czyli 24C02, ...04, ...08, ...16.
http://www.atmel.com/atmel/acrobat/doc0180.pdf
wtedy obsługę prostego I2C w trybie master bez wysiłku robi się programowo
http://www.atmel.com/atmel/acrobat/doc0507.pdf

lub po uWire: 93C...
http://www.atmel.com/atmel/acrobat/doc0172.pdf
ale tego akurat nie uzywałem (uWire):
http://www.atmel.com/atmel/acrobat/doc0172.pdf


--
Marek Dzwonnik mdz_at_nospam_message.pl
GG: #2061027 (zwykle jako 'dostępny-niewidoczny')




Poprzedni Następny
Wiadomo¶ć
Spis tre¶ci
From: "Michal Kowalski" <mike_at_nospam_sonyx.eu.org>
Subject: Re: Podtrzymanie pamieci...
Date: Thu, 4 Apr 2002 10:20:44 +0200


Najsensowniej będzie zastosować eeprom. Musisz tylko pamiętać, że zapis do
eepromu jest czasochłonny (rzędu 10ms) i musisz sprawdzać czy operacja
zapisu została zakończona zanim zainicjujesz następną.

DZieki wielkie za porady, chyba taktez zrobie (EEprom). Zniechecala mnie na
poczatku notka o zywotnosci tych pamieci (gdzies przeczytalem ze 1000
zapisaan) ale w katalogach atmela podaja liczbe z szescioma zerami wiec
jestem spokojny.

W miedzyczasie kombinowalem tez z trybem "POWER DOWN" procka.... Mimo
wszystko zrobie to na eepromach.
Ale z tym power down to ziwna sprawa:
wg atmelowskich datasheet w trybie powerdown procek nie kasuje zawatosci
RAM, przeprowadzilem wiec proby ("usypialem" programowo, budzilem dajac high
na RST, ale za kazdym razem liczba zapisana w komorke pamieci instrukcjami
POKE, Peek (Bascom) zostala tracona i uzyski walem po resecie 0 :(

pozdrawiam
Mike



Poprzedni Następny
Wiadomo¶ć
Spis tre¶ci
From: "Andy" <anok_at_nospam_ceti.pl>
Subject: Re: Podtrzymanie pamieci...
Date: Thu, 4 Apr 2002 10:40:37 +0200


"Michal Kowalski" <mike_at_nospam_sonyx.eu.org> wrote in message news:a8h2kh$2rp$1_at_nospam_news.tpi.pl...
...
Ale z tym power down to ziwna sprawa:
wg atmelowskich datasheet w trybie powerdown procek nie kasuje zawatosci
RAM, przeprowadzilem wiec proby ("usypialem" programowo, budzilem dajac high
na RST, ale za kazdym razem liczba zapisana w komorke pamieci instrukcjami
POKE, Peek (Bascom) zostala tracona i uzyski walem po resecie 0 :(
...

pewnie bascom przy starcie zanim zacznie wykonywac program uzytkownika
zaczyna od wyzerowania pamieci

Andrzej





Poprzedni Następny
Wiadomo¶ć
Spis tre¶ci
From: =?iso-8859-2?Q?Micha=B3_Lankosz?= <nie_at_nospam_lubie.spamu>
Subject: Re: Podtrzymanie pamieci...
Date: Thu, 4 Apr 2002 20:50:47 +0200


pewnie bascom przy starcie zanim zacznie wykonywac program uzytkownika
zaczyna od wyzerowania pamieci
Ja pisałem w asm i bez problemu można zachowywać dane w wewn RAM. Przej¶cie
do power down wykonuję w przerwaniu w chwili wykrycia braku napięcia
zasilania. Oczywi¶cie wymagane podtrzymanie zasilania procka z akumulatora.
Przykładowy schemat połączeń tu:
http://student.uci.agh.edu.pl/~lanki/skaner/synt31_s.gif


--

Michał, SQ9FQQ http://sq9fqq.prv.pl/
GG:374157 http://free.ngo.pl/~sp9zcj/
e-mail: mike2001 (małpa) tlen.pl



Poprzedni Następny
Wiadomo¶ć
Spis tre¶ci
From: Badworm <kwormerSYF_at_nospam_wp.pl>
Subject: Re: Podtrzymanie pamieci...
Date: Fri, 05 Apr 2002 00:02:41 +0200


Marek Dzwonnik wrote:
Najpro¶ciej (choć nie najtaniej) - zamiast 89C51 wstawić 89S8252 - zyskujesz
m.in. 256B wewnętrznego eepromu i minimum wysiłku związanego z obsługą -
Mała poprawka: 89S8252 ma 2kB EEPROM danych, a 256B to ma RAMu. Do
tego 8kB EEPROM pamięć programu.

--
Pozdrawiam Bad Worm __ _
http://www.gusnet.prv.pl<_ / |_>
Tnijcie cytaty! <_ //\|\
Usuń SYF z mojego adresu/remove SYF from my adress

Poprzedni Następny
Wiadomo¶ć
Spis tre¶ci
From: Marek Lewandowski <REMOVE_locust_REMOVE_at_nospam_poczta.onet.pl>
Subject: Re: Podtrzymanie pamieci...
Date: Wed, 03 Apr 2002 23:50:18 GMT


Michal Kowalski wygenerował manualnie w wiadomo¶ci
<a8fra9$m64$1_at_nospam_news.tpi.pl> udostępnionej publicznie dnia Wed, 3 Apr
2002 23:09:43 +0200 co następuje:

Witam
Mam takie male pytanko (zaczynam zabawe z uC - 89C51 i pojawiaja sie
pierwsze problemy)

Chodzi o to, ze chcialbym miec mozliwosc zachowania paru zmiennych programu
tak aby ich wartosci nie zostaly stracone po wylaczeniu zasilania.
Chcialbym wiedziec jak to sie robi "fachowo"..

podłącza się pamięć EEPROM po I2C, na dwóch liniach, np. taką 24C02 (8
nóżek)...

--
Marek Lewandowski ICQ# 10139051
REMOVElocustREMOVE_at_nospam_poczta.onet.pl
http://locust.republika.pl
UWAGA! w emailu wycinać REMOVE z adresu!

Poprzedni Następny
Wiadomo¶ć
Spis tre¶ci
From: <grzegorzzmuda_at_nospam_poczta.onet.pl>
Subject: Re: Podtrzymanie pamieci...
Date: 4 Apr 2002 10:54:36 +0200


Witam
Mam takie male pytanko (zaczynam zabawe z uC - 89C51 i pojawiaja sie
pierwsze problemy)

Chodzi o to, ze chcialbym miec mozliwosc zachowania paru zmiennych programu
tak aby ich wartosci nie zostaly stracone po wylaczeniu zasilania.
Chcialbym wiedziec jak to sie robi "fachowo"..

Przychodzi mi do glowy pare rozwiazan, ale nie wiem ktore jest wlasciwe:

- zewnetrzna pamiec Ram podtrzymywana bateryjne

- EEprom - hmm....

Bylbym wdzieczny gdybyscie doradzili mi w tej kwestii i np podali konkretne
typy pamieci ktore by sie tu nadawaly. Mikrokontroler to Atmel 89c51, a tych
danych ktore chcialbym zachowac jest naprawde niewiele - pewnie
wystarczyloby kilka/kilkanascie bajtow.

pozdrawiam
Mike


Najlepszym rozwiązaniem będzie założenie kostki PCF8583 tj. zegar + RAM.
Obsługiwany jest po I2C ale potrzebuje bateryjki 3V.
Natomiast Maxim - Dallas produkuje pamięć RAM 32kB z zegarem i z wbudowaną
baterią
Powodzenia

--
Wysłano z serwisu OnetNiusy: http://niusy.onet.pl