Kanał - ATNEL tech-forum
Wszystkie działy
Najnowsze wątki



Teraz jest 26 gru 2024, o 06:47


Strefa czasowa: UTC + 1





Utwórz nowy wątek Odpowiedz w wątku  [ Posty: 11 ] 
Autor Wiadomość
PostNapisane: 28 gru 2013, o 21:39 
Offline
Użytkownik

Dołączył(a): 17 mar 2013
Posty: 143
Lokalizacja: Bydgoszcz
Pomógł: 2

Witam.

Mam problem z EEPROMEM AT24C164. Podłączam go do Atmegi razem z RTC.
Ustawiam godzinę na RTC. Zegar chodzi normalnie mogę odczytać godzinę itd.
W pewnym momencie EEPROM się uszkadza i robi jakieś zakłócenia tak, że jak odczytuję godzinę to odczytuje się ta godzina, która została ustawiona na początku tak jakby to EEPROM ją zapamiętał. Jak tylko wyciągnę uszkodzony EEPROM z płytki to z rtc idzie odczytać prawidłową godzinę.
EEPROM jest do wyrzucenia. Wkładam następny i znowu działa jakiś czas. Czy ktoś spotkał się z takim problemem ?


Obrazek



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 28 gru 2013, o 21:53 
Offline
Użytkownik

Dołączył(a): 25 lip 2013
Posty: 2590
Pomógł: 128

A ile czasu potrzeba na uszkodzenie?
Skąd masz pewnosc, że się uszkadza? Sprawdzales niezależnym programatorem? Lub zapisz ten 'uszkodzony' samymi 0xFF lub 0x00.Może sie czymś przeprogramowuje a np. błąd w sofcie powoduje błędne działanie odczytu RTC.

P.s.schematu na komórce niestety nie moge obejrzeć :(

Sent from my mobile.



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 28 gru 2013, o 21:54 
Offline
Użytkownik
Avatar użytkownika

Dołączył(a): 04 paź 2011
Posty: 8589
Pomógł: 337

wiesz że pamięci eeprom mają skończoną ilość cykli R/W (read/write) zwykle ok 100000 razy deklarowany przez producenta
wiec jak często dokonujesz zapisu np kilkanaście razy w ciągu sek ... to nie dziwne że po jakimś czasie eeprom się kończy
ten rodzaj pamięci nie nadaje się do częstego zapisu.

_________________
Zbuduj swój system [url=https://helion.pl/ksiazki/w-labiryncie-iot-budowanie-urzadzen-z-wykorzystaniem-ukladow-esp8266-i-esp32-andrzej-gromczynski,wlablo.htm#format/d]IOT[/url]



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 28 gru 2013, o 21:57 
Offline
Użytkownik

Dołączył(a): 25 lip 2013
Posty: 2590
Pomógł: 128

SunRiver ma rację - dlatego np. w pamieciach w radioodbiornikach samochodowych ostatnio sluchana stacja byla zapisywana dopiero po kilkunastu sekundach po ustawieniu danej częstotliwości.

Sent from my mobile.



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 28 gru 2013, o 23:36 
Offline
Użytkownik

Dołączył(a): 07 gru 2013
Posty: 90
Pomógł: 6

Według mnie ( bardziej strzelam ) rezystory R5 i R6 mają za małą wartość, na schemacie masz 470 a większość źródeł podaje aby stosować 4,7k. A jak jest zasilane całe urządzenie może pamięć uszkadza się poprzez jakieś zakłócenia itp.



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 29 gru 2013, o 11:13 
Offline
Użytkownik

Dołączył(a): 17 mar 2013
Posty: 143
Lokalizacja: Bydgoszcz
Pomógł: 2

Do EEPROMU narazie nic nie zapisuję. Oczywiście jak testowałem to zapis działa do czasu zepsucia. Na 100% nie przekraczam ilości cykli zapisu W sofcie wykluczam błąd. Więc jak narazie jedynym tropem mogą być za słabe rezystory.

Jeżeli chodzi o czas zepsucia to nie ma reguły. Czasami jest to kilka minut a czasami kilka godzin. Dodam jeszcze, że uC jest podłączony do programatora USBASP za pomocą złącza KANDA i przez MAX232 do RS w komputerze. Są to jednak standardowe połączenia i nie powinny mieć wpływu na działanie EEPROMU. A może mają ?

Dodane po czasie:

Wymieniłem rezystory i stała się ciekawa rzecz. Teraz po zapisie godziny do RTC wszystko psuje się od razu. EEPROM jakby miał ten sam adres co RTC chociaż na nóżkach ma ustawiony inny. Jak wsadzę sam uszkodzony eeprom to odczytuję z niego godzinę, którą ustawiłem w RTC. Jak wsadzę sam RTC to zegar chodzi normalnie. Wsadzenie jednego i drugiego powoduje, że godzina jest odczytywana z EEPROMU więc zegar nie chodzi a czas jest równy czasowi ustawionemu na początku.



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 29 gru 2013, o 15:32 
Offline
Użytkownik

Dołączył(a): 25 lip 2013
Posty: 2590
Pomógł: 128

Sprawdz dokładnie adresowanie w pdf scalaczkow. Czasami literka na koncu symbolu ma duze znaczenie

Sent from my mobile.



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 29 gru 2013, o 15:42 
Offline
Użytkownik
Avatar użytkownika

Dołączył(a): 04 paź 2011
Posty: 8589
Pomógł: 337

t__d napisał(a):
Wymieniłem rezystory i stała się ciekawa rzecz. Teraz po zapisie godziny do RTC wszystko psuje się od razu. EEPROM jakby miał ten sam adres co RTC chociaż na nóżkach ma ustawiony inny. Jak wsadzę sam uszkodzony eeprom to odczytuję z niego godzinę, którą ustawiłem w RTC. Jak wsadzę sam RTC to zegar chodzi normalnie.


zerknij w nocie na adresy obu urządzeń ... zapewne masz konflikt na szynie i żaden eeprom się nie uszkodził

pull-upy powinny byc 4K7 ale to tak oczywista oczywistość iż nie pisałem o tym ... kiedyś ktoś juz się pogniewał ze wytykam takie rzeczy
a sie zwyczajnie na schemacie pomylił ...

_________________
Zbuduj swój system [url=https://helion.pl/ksiazki/w-labiryncie-iot-budowanie-urzadzen-z-wykorzystaniem-ukladow-esp8266-i-esp32-andrzej-gromczynski,wlablo.htm#format/d]IOT[/url]



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 29 gru 2013, o 17:29 
Offline
Użytkownik

Dołączył(a): 17 mar 2013
Posty: 143
Lokalizacja: Bydgoszcz
Pomógł: 2

SunRiver napisał(a):
zerknij w nocie na adresy obu urządzeń ... zapewne masz konflikt na szynie i żaden eeprom się nie uszkodził


Zgodnie z notą wszystko powinno się zgadzać. Z EEPROMEM na pewno coś się złego dzieje bo jak wkładam 'świeży' to działa on zupełnie inaczej.
Ale dla pewności przeczytam noty jeszcze raz.


SunRiver napisał(a):
pull-upy powinny byc 4K7 ale to tak oczywista oczywistość iż nie pisałem o tym ... kiedyś ktoś juz się pogniewał ze wytykam takie rzeczy
a sie zwyczajnie na schemacie pomylił ...


Ja bym się nie pogniewał. W niebieskiej książce jest nawet schemat z 4.7K. Nie wiem dlaczego dałem 470. Tak czy inaczej z 4.7K też nie działa.



Po przemyśleniach wydaje mi się, że popełniłem błąd w adresowaniu. RTC adres $A2 a EEPROM adres $A0. Wpisując wiec coś do $A2 wpisuje się też do EEPROMU bo 4 pierwsze bity określają w nim blok pamięci. Ale jeszcze muszę to sprawdzić.



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 29 gru 2013, o 22:26 
Offline
Użytkownik

Dołączył(a): 07 gru 2013
Posty: 90
Pomógł: 6

Spróbuj jeszcze zmienić adres pamięci np A0-A2 do Vcc adres zaczyna się od 0xF



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 29 gru 2013, o 23:47 
Offline
Użytkownik
Avatar użytkownika

Dołączył(a): 04 paź 2011
Posty: 8589
Pomógł: 337

pamiętaj ze masz kilka stron pamięci w eepromie pod różnymi adresami R/W i po prostu koliduje ci z którąś z nich

_________________
Zbuduj swój system [url=https://helion.pl/ksiazki/w-labiryncie-iot-budowanie-urzadzen-z-wykorzystaniem-ukladow-esp8266-i-esp32-andrzej-gromczynski,wlablo.htm#format/d]IOT[/url]



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
Wyświetl posty nie starsze niż:  Sortuj wg  
Utwórz nowy wątek Odpowiedz w wątku  [ Posty: 11 ] 

Strefa czasowa: UTC + 1


Kto przegląda forum

Użytkownicy przeglądający ten dział: Brak zidentyfikowanych użytkowników i 0 gości


Nie możesz rozpoczynać nowych wątków
Nie możesz odpowiadać w wątkach
Nie możesz edytować swoich postów
Nie możesz usuwać swoich postów
Nie możesz dodawać załączników

Szukaj:
Skocz do:  
cron
Sitemap
Technologię dostarcza phpBB® Forum Software © phpBB Group phpBB3.PL
phpBB SEO