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



Teraz jest 27 lip 2024, o 13:54


Strefa czasowa: UTC + 1





Utwórz nowy wątek Odpowiedz w wątku  [ Posty: 6 ] 
Autor Wiadomość
PostNapisane: 28 lut 2024, o 19:49 
Offline
Użytkownik
Avatar użytkownika

Dołączył(a): 22 paź 2013
Posty: 1962
Lokalizacja: Lipsko
Pomógł: 125

Taka ciekawa sytuacja i nie wiem co jest grane... Testuje sobie właśnie RTC PCF8563T na Mirkowej bibliotece - co prawda tam jest 8583 lecz wydaje mi się (może faktycznie tylko WYDAJE mi się ;) ), że to nie powinno mieć większego znaczenia, bo po podaniu właściwego adresu (0xA2) niby działa, ale przedziwny jest odczyt godzin. Dokładnie za każdym razem w 40 sekundzie do godziny dodawany jest jakiś składnik (1 na bit6), który z kolei odejmowany jest gdy sekundy się zerują. Mogę go zamaskować, ale czy tak to powinno wyglądać.
Na filmie doskonale to widać. Dolna linia LCD to surowe dziesiętne dane z bufora RTC przed konwersją bcd.

_________________
http://www.sylwekkuna.com



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 29 lut 2024, o 07:39 
Offline
Użytkownik

Dołączył(a): 13 lut 2012
Posty: 171
Pomógł: 10

Może to jakaś pechowa seria. NXP wycofał się z jej produkcji.
Popatrz na drugą stonę:
https://www.mouser.pl/datasheet/2/302/P ... 139707.pdf
"Not recommended for new designs"
Fabryczne oznaczenie jest PCF8563T/F4.

Do prześledzenia w twoim kodzie jest też sugestia producenta (str. 14):

As a consequence of this method, it is very important to make a read or write access in
one go, that is, setting or reading seconds through to years should be made in one single
access. Failing to comply with this method could result in the time becoming corrupted.
As an example, if the time (seconds through to hours) is set in one access and then in a
second access the date is set, it is possible that the time may increment between the two
accesses. A similar problem exists when reading. A roll over may occur between reads
thus giving the minutes from one moment and the hours from the next.
Recommended method for reading the time:
1. Send a START condition and the slave address for write (A2h).
2. Set the address pointer to 2 (VL_seconds) by sending 02h.
3. Send a RESTART condition or STOP followed by START.
4. Send the slave address for read (A3h).
5. Read VL_seconds.
6. Read Minutes.
7. Read Hours.
8. Read Days.
9. Read Weekdays.
10. Read Century_months.
11. Read Years.
12. Send a STOP condition.


Autor postu otrzymał pochwałę


Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 29 lut 2024, o 11:09 
Offline
Użytkownik

Dołączył(a): 13 lut 2012
Posty: 171
Pomógł: 10

Funkcja EI2C_read_buf (....) z Bluebooka raczej jest inaczej skonstruowana niż ta rekomendacja NXP.

------------------------ [ Dodano po: 49 minutach ]

Można spróbować skorzystać z biblioteki na tym forum:
post140157.html?hilit=PCF8563#p140157



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 29 lut 2024, o 13:44 
Offline
Moderator
Avatar użytkownika

Dołączył(a): 03 paź 2011
Posty: 27293
Lokalizacja: Szczecin
Pomógł: 1041

SylwekK napisał(a):
... Testuje sobie właśnie RTC PCF8563T

a ja z ciekawości zapytam dlaczego nie korzystasz z nowych i super scalaczków DS1337 - po tysiąkroć lepsze od PCF'ów

------------------------ [ Dodano po: 2 minutach ]

a przy okazji nie ma na świecie jednej uniwersalnej biblioteki do i2c - przecież różne scalaki i2c mają różne wymogi i po to w Bluebooku pokazuję 2 różne przykłady czyli jakiś RTC i EEPROM żeby podać przykład - że trzeba śledzić noty a nie próbować dopasowywać jedną bibliotekę do wszystkiego niestety. Jeśli więc staruszek PCF8563 ma jakieś specjalne wymogi to trzeba je sobie wprowadzić do libsa - ew nowego napisać specjalnie pod tego scalaka

_________________
zapraszam na blog: http://www.mirekk36.blogspot.com (mój nick Skype: mirekk36 ) [ obejrzyj Kurs EAGLE ] [ mój kanał YT TV www.youtube.com/mirekk36 ]



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 29 lut 2024, o 17:02 
Offline
Użytkownik
Avatar użytkownika

Dołączył(a): 22 paź 2013
Posty: 1962
Lokalizacja: Lipsko
Pomógł: 125

JarekK napisał(a):
"Not recommended for new designs"

Ciekawa sprawa, chyba sami stwierdzili, że to lipny układ :) W moim pdf ani słowa o tym nie ma natomiast procedura odczytu jest dla mnie oczywista.

mirekk36 napisał(a):
a ja z ciekawości zapytam dlaczego nie korzystasz z nowych i super scalaczków DS1337 - po tysiąkroć lepsze od PCF'ów

Absolutnie nie zaprzeczam, że jest tak jak mówisz, ale grzebiąc ostatnio w szufladkach znalazłem 3 nówki sztuki tych PCF i sobie przypomniałem, że kupiłem toto z 5-6 lat temu i tak leżały, no to żeby nie leżały postanowiłem się nimi pobawić. Zależało mi na obsłudze kilku urządzeń po i2c na tej samej linii, bo nie miałem okazji wcześniej poćwiczyć takich manewrów po prostu :) Zresztą do odczytu samego czasu co więcej potrzeba :)

mirekk36 napisał(a):
a przy okazji nie ma na świecie jednej uniwersalnej biblioteki do i2c... Jeśli więc staruszek PCF8563 ma jakieś specjalne wymogi to trzeba je sobie wprowadzić do libsa - ew nowego napisać specjalnie pod tego scalaka

Zgadam się w 100% i jeśli chodzi o mnie dobrze wiesz, że nie trzeba mi tego powtarzać, bo sam przerabiam często (czasem wręcz drastycznie) do swoich potrzeb różne libsy :) Przykłady w BB wg mnie są wyczerpujące i chyba tylko ktoś komu się zupełnie nie chce będzie marudził, że to ZA MAŁO. Odczyt czasu oczywiście u mnie działa jak należy, nieszczęsnego 6 bita, który pojawiał się nie wiadomo skąd i po co po prostu zamaskowałem przed konwersją (o czym już wspominałem) i jest ok. Wrodzona ciekawość mnie tylko zmusiła do założenia tego tematu, bo przekartkowałem całego pdf z myślą, że natknę się na jakieś info o tym bicie, ale nic nie znalazłem.

_________________
http://www.sylwekkuna.com



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 29 lut 2024, o 22:05 
Offline
Użytkownik
Avatar użytkownika

Dołączył(a): 17 mar 2014
Posty: 332
Lokalizacja: Rybnik
Pomógł: 55

Często używałem tego układu, bo leżały mi spore zapasy na półce, PCF8563 ma inną organizację pamięci niż PCF8583, zwróć uwagę na niewykorzystane bity:
Obrazek

Ja od zawsze stosowałem w programie maskowanie tych bitów i nigdy nie miałem problemów z tym RTC.

Tu jakiś stary przykład
Składnia: [ Pobierz ] [ Ukryj ]
język c
Musisz się zalogować, aby zobaczyć kod źródłowy. Tylko zalogowani użytkownicy mogą widzieć kod.


W rozszerzonym manualu mamy z resztą też zapis:
Cytuj:
Bit positions labelled as x are not implemented. When setting a register, also a value must be written for the ‘x’ bit positions.
When these are read back, the read back values may differ from what was previously written


Na nasze:
Cytuj:
Pozycje bitów oznaczone jako x nie są zaimplementowane. Podczas ustawiania rejestru należy również zapisać wartość dla pozycji bitów „x”.
Kiedy są one odczytywane, wartości odczytane mogą różnić się od wcześniej zapisanych.


Autor postu otrzymał pochwałę

_________________
Amatorska stacje meteorologiczna



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: 6 ] 

Strefa czasowa: UTC + 1


Kto przegląda forum

Użytkownicy przeglądający ten dział: Majestic-12 [Bot] i 1 gość


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