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

KURS HOME ASSISTANT

Chcesz zautomatyzować swój dom bez skomplikowanego kodowania?
Zastanawiasz się nad wyborem sprzętu, oprogramowania i aplikacji?
Od czego zacząć przygodę z HA w 2025? Co będzie najlepsze na start?

Nasz kurs Home Assistant nauczy Cię krok po kroku, jak łatwo zautomatyzować swój dom i oszczędzić na rachunkach za prąd i ogrzewanie. Bez chmur, bez zbędnych abonamentów. Twoja przygoda z Home Assistant zaczyna się tutaj!

↓↓↓

    Szanujemy Twoją prywatność. Możesz wypisać się w dowolnym momencie.




    Teraz jest 3 kwi 2025, o 16:35


    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: 1968
    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: 174
    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: 174
    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: 27366
    Lokalizacja: Szczecin
    Pomógł: 1043

    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: 1968
    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: 334
    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ł: Brak zidentyfikowanych użytkowników i 3 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