Wykorzystanie układu DS1307 tylko jako pamieci RAM

To forum jest dla wszystkich pasjonatów mikrokontrolerów AVR Atmela. Wymiana doświadczeń i pomoc dla początkujących w pisaniu programów zarówno w C, Asemblerze jak i BASCOM. Zapraszam znawców tematu, aby pomogli wszystkim początkującym!
ODPOWIEDZ
slawek55
Użytkownik
Posty: 475
Rejestracja: 16 sie 2005, 11:47
Lokalizacja: Szczecin

Wykorzystanie układu DS1307 tylko jako pamieci RAM

Post autor: slawek55 » 06 wrz 2013, 7:29

Musze dość często pamiętać kilka zmiennych po wyłączeniu zasilania.
Pomyślałem o wykorzystaniu do tego pamięci RAM z układu np. DS1307.
Nie potrzebny mi jest w nim RTC tylko sama pamięć RAM podtrzymywana baterią.

I tu mam pytania.
1. Czy układ DS1307 może nie mieć podłączonego kwarcu tylko samą baterię?
2. Czy konieczne jest jakieś ustawianie rejestrów zegara skoro ich nie wykorzystuję?
3. A może znacie sam układ pamięci RAM. Potrzebuje zaledwie 20 bajtów.
4. Poczciwe '51 miały możliwość podtrzymania wewnętrznej RAM poprzez zasilanie wejścia reset, ale AVRy chyba takiej możliwości nie mają, bo nie znalazłem w nocie takiej informacji

Awatar użytkownika
mr_x
Użytkownik
Posty: 385
Rejestracja: 12 gru 2010, 19:05
Lokalizacja: /bin/bash
Kontakt:

Post autor: mr_x » 06 wrz 2013, 12:42

Myślę, że kwarc nie jest potrzebny. Jeśli nie używasz zegara, możesz nie przejmować się jego rejestrami, bo służą wyłącznie do obsługi jego funkcji.

RAM z możliwością podtrzymywania bateryjnego jest np. w TME, ale dostępne o znacznie większych pojemnościach od tego, co potrzebujesz:
http://www.tme.eu/pl/katalog/?cleanPara ... 3A86000%3B

A co do tego zasilania '51 przez RESET... Gdzie o tym słyszałeś?

slawek55
Użytkownik
Posty: 475
Rejestracja: 16 sie 2005, 11:47
Lokalizacja: Szczecin

Post autor: slawek55 » 06 wrz 2013, 13:03

Też tak podejrzewałem. Spróbuję w ogóle nie dawać kwarcu, tylko samą baterię i w ogóle nie używać rejestrów konfiguracyjnych. Po prostu pominąć te adresy. Zastanawiam się tylko czy jak przy zasileniu do rej. konfiguracyjnych wpiszą się jakieś głupoty czy to nie spowoduje błędów w działaniu?

W karcie katalogowej kiedyś tak było, jak jeszcze się nimi bawiłem. Dajesz +5V na reset (bo dopiero 12V powoduje kasowanie FLASH) i dane z RAMU pozostają nie naruszone, chyba że podczas resetu procesora sam je zmieniasz

jakubzz
-
Posty: 11
Rejestracja: 30 wrz 2006, 11:02

Post autor: jakubzz » 06 wrz 2013, 14:27

A nie lepiej wykorzystać wewnętrzny EEPROM?

slawek55
Użytkownik
Posty: 475
Rejestracja: 16 sie 2005, 11:47
Lokalizacja: Szczecin

Post autor: slawek55 » 06 wrz 2013, 16:50

Nie bo za często dokonywane są zapisy.

Awatar użytkownika
mr_x
Użytkownik
Posty: 385
Rejestracja: 12 gru 2010, 19:05
Lokalizacja: /bin/bash
Kontakt:

Post autor: mr_x » 06 wrz 2013, 16:56

Nie powinno być błędu przy zapisie do rejestrów zegara. Swoją drogą, domyślnie po włączeniu DS1307, oscylator i tak nie pracuje (ustawiony jest bit CH w rejestrze pod adresem 0h).

slawek55
Użytkownik
Posty: 475
Rejestracja: 16 sie 2005, 11:47
Lokalizacja: Szczecin

Post autor: slawek55 » 06 wrz 2013, 18:49

A czy można pozostawić obwód oscylatora bez połączenia? Czy może należy jedną z kocówek zewrzeć do masy. Tylko którą?

Awatar użytkownika
mr_x
Użytkownik
Posty: 385
Rejestracja: 12 gru 2010, 19:05
Lokalizacja: /bin/bash
Kontakt:

Post autor: mr_x » 07 wrz 2013, 11:26

To nie powinno mieć znaczenia (dla działania samego układu), ale możesz wejście zewrzeć do masy (nóżka nr 1).

ODPOWIEDZ