Elektroda.pl
Elektroda.pl
X
Proszę, dodaj wyjątek www.elektroda.pl do Adblock.
Dzięki temu, że oglądasz reklamy, wspierasz portal i użytkowników.

Układ scalony Zegara Czasu Rzeczywistego Philips - PCF8563

Adrian1995 23 Paź 2009 12:27 4411 23
  • #1 23 Paź 2009 12:27
    Adrian1995
    Poziom 14  

    Mam pewien problem. Nie umiem uruchomić generatora w podanym RTC.
    Mam w związku z tym pytania :
    1. Czy do jego pracy trzeba specjalnie dobierać kondensator na wejściu generatora bez którego nie może zadziałać ? A jeśli tak to mniej więcej jakiej pojemności powinien być ?
    2. Czy aby zaczął działać muszę koniecznie najpierw go zaprogramować z uC, czy powinien po podłączeniu zasilania od razu startować ?

    Rezonator kwarcowy ten typowy zegarkowy 32,768 kHz. PCF8563 jest nowy ze sklepu. Zasilanie jest i z bateryjki litowej 3 V i również standardowe napięcie 5 V z systemu uC (tam mam odpowiednie diody 1N4148). Mam częstotliwościomierz MC66, oscyloskop i multimetr uniwersalny. Dlatego z odpowiednimi pomiarami nie mam kłopotów, ale nie chce mi wystartować sam generator a powinien na nóżce 7 pokazać przebieg świadczący o pracy generatora. Mam kartę Philipsa ale nie znalazłem odpowiedzi na problem. Może ktoś uruchamiał ten układ i go zna w szczegółach ? Chodzi mi tylko o generator bo z resztą (programowaniem) sobie poradzę.

    0 23
  • #2 23 Paź 2009 14:22
    Quarz
    Poziom 43  

    Witam,
    zobacz, np. TAM do DataSheet tego układu, na stronie 21, na Figure 19 ..., podany jest schemat aplikacyjny.
    Nastawny kondensator - trymer - służy do dokładnego nastawienia wartości częstotliwości drgań kwarcowego oscylatora, aby zegar "chodził" dokładnie.
    Dla sprawdzenia - zmień egzemplarz rezonatora kwarcowego na inny i sprawdź czy generuje.

    Pozdrawiam

    0
  • #3 23 Paź 2009 14:52
    Adrian1995
    Poziom 14  

    To ja wiem, i zanim kupiłem ten układ RTC to analizowałem z pomocą właśnie karty katalogowej Philipsa. Ja pytam o to, że w ogóle mi nie startuje generator. Zdążyłem nawet jeszcze dwa inne kwarce podłączyć, kondensator zmieniałem na od 20 do 200 pF i efekt ten sam - brak startu generatora. Chcę najpierw generator uruchomić aby działał, później będę bawił się w dokładność zegara, jak napiszę program i go załaduję do uC-52'. Mimo wszystko dziękuję za chęć pomocy. Już sprawdziłem wszystko na płytce - nie ma zwarć, przerw czy coś podobnego. Podejrzewam, że może sam PCF jest uszkodzony (chociaż jest nowy), ale nie mam drugiego aby sprawdzić. Stąd moje pytania.

    0
  • #4 23 Paź 2009 15:03
    Quarz
    Poziom 43  

    Adrian1995 napisał:
    To ja wiem, i zanim kupiłem ten układ RTC to analizowałem z pomocą właśnie karty katalogowej Philipsa. Ja pytam o to, że w ogóle mi nie startuje generator. Zdążyłem nawet jeszcze dwa inne kwarce podłączyć, kondensator zmieniałem na od 20 do 200 pF i efekt ten sam - brak startu generatora. Chcę najpierw generator uruchomić aby działał, później będę bawił się w dokładność zegara, jak napiszę program i go załaduję do uC-52'. Mimo wszystko dziękuję za chęć pomocy. Już sprawdziłem wszystko na płytce - nie ma zwarć, przerw czy coś podobnego. Podejrzewam, że może sam PCF jest uszkodzony (chociaż jest nowy), ale nie mam drugiego aby sprawdzić. Stąd moje pytania.
    A było od powyższych informacji zacząć - jak nie sprawdzisz, to nie będziesz wiedzieć.

    0
  • #5 24 Paź 2009 14:00
    Adrian1995
    Poziom 14  

    Czy nikt nic nie wie na temat tego zegara ? I nie chodzi mi o schemat, kartę katalogową czy coś podobngo. Pytania są proste ! Ma działać generator (nóżka 7) po podłączeniu zasilania czy trzeba najpierw go zaprogramować ?

    0
  • Pomocny post
    #6 24 Paź 2009 14:27
    Tomasz.W
    Poziom 35  

    Adrian1995 napisał:
    .....I nie chodzi mi o schemat, kartę katalogową czy coś podobngo....
    A szkoda, bo tam jest właśnie wszystko dokładnie opisane.
    Adrian1995 napisał:
    .....Pytania są proste !....
    Odpowiedzi też są proste i dokładnie opisane w karcie katalogowej. Tak więc nie unoś się tylko zacznij czytać, dokładnie czytać.
    Adrian1995 napisał:
    .....Ma działać generator (nóżka 7) po podłączeniu zasilania czy trzeba najpierw go zaprogramować ?
    Trzeba go najpierw zaprogramować. Ustawia się to w rejestrze o adresie 0DH na bitach 0 , 1 , 7.
    Dokładne znaczenie poszczególnych bitów jest opisane w tabelach 23 i 24.

    0
  • #7 24 Paź 2009 14:35
    Adrian1995
    Poziom 14  

    Czyli dlatego mi sam generator nic nie pokazuje (ta 7 nóżka) bo muszę najpierw zaprogramować go z uC ? Mówię tylko o generatorze, a nie zegarze jako takim. Czy dobrze to zrozumiałem ? Podłącz układ i wyślij odpowiednie razkazy poprzez linie (z uC52') i generator wtedy będzie działał ? Proszę o potwierdzenie czy dobrze to zrozumiałem ?

    0
  • Pomocny post
    #8 24 Paź 2009 14:39
    Quarz
    Poziom 43  

    Adrian1995 napisał:
    Czyli dlatego mi sam generator nic nie pokazuje (ta 7 nóżka) bo muszę najpierw zaprogramować go z uC ? Mówię tylko o generatorze, a nie zegarze jako takim. Czy dobrze to zrozumiałem ? Podłącz układ i wyślij odpowiednie razkazy poprzez linie (z uC52') i generator wtedy będzie działał ? Proszę o potwierdzenie czy dobrze to zrozumiałem ?
    Tak, ale to już Tobie podpowiadałem i podałem linkę do DataSheet TAM - taką oczywistą, oczywistość, że go niezaprogramowałeś wcale nie brałem pod uwagę ... :idea: :cry:

    0
  • #9 24 Paź 2009 15:36
    Adrian1995
    Poziom 14  

    Aby generator w ogóle zaczął działać to mam go zaprogramować ? To dziwne ale dzięki wszystkim bo może ja źle myślałem. Może to takie coś czego nie brałem pod uwagę. Ja to sprawdzę ale potrwa pewnie jakiś czas bo to mój uC musi zrobić. System jest sprawny i na bramę P0 (a konkretnie na P0.3 i P0.7) to chcę podać. Może to trochę dziwne ale na całej bramie P0 chcę sterować wyświetlaczem LCD (16x4) i tym zegarem (P0.7 - ma być DATA 7 wyświetlacz i nastarszy bit wspólny dla zegara - SDA). Wszystko razem w trybie - wyświetlacz sterowany 4-ro bitowo i został mi jeden bit na uaktywnienie RTC (czyli RTC - na linii SCL). Dlatego miałem pytania. Sprawdzę i z pewnością poinformuję. Poniżej schemat jaki mam (a płytka gotowa i zmontowana wg Eagle).
    Układ scalony Zegara Czasu Rzeczywistego Philips - PCF8563
    Czy mam dalej pracować bo dobrze to zrozumiałem ?

    0
  • #10 24 Paź 2009 18:49
    Logi
    Poziom 19  

    Witam

    Generator prawdopodobnie działa dobrze. Problem jest tylko taki iż wyjście CLKOUT jak również pozostałe rejestry należy programowo poprawnie skonfigurować.
    Na liniach SCL SDA należy umieścić rezystory podciągające 10k do +5V (standard magistrali I2C).

    0
  • Pomocny post
    #11 24 Paź 2009 20:08
    janbernat
    Poziom 38  

    Generator pewnie chodzi- sprawdza się to oscyloskopem na nóżce 1 i 2.
    A CLOUT jak napisał Logi jest wyjściem z programowalnego rejestru.
    W dodatku open-drain- if enabled.
    Jak tam nie podczepisz jakiegoś opornika do zasilania to nic nie zmierzysz.
    A jak jest zaprogramowane disabled to też nic nie zmierzysz.
    A na nóżkę 8 daj jakiś kondensator do masy- niekoniecznie 1F ale 10uF wystarczy.
    Rezystancja dynamiczna diod w zasilaniu może być kłopotliwa.

    0
  • #12 24 Paź 2009 20:08
    Adrian1995
    Poziom 14  

    Ja prepraszam. Ja zadałem pytanie o sam oscylator (generator) a nie o programowanie. Ja dopiero mam zamiar oprogramować ten układ poprzez SCL, SDA tylko chcę wiedzieć czy sam wewnętrzny oscylator musi być wyzwolony programowo. Jak na razie mam odpowiedzi, że powinienem to zrobić więc muszę sprawdzić to. Pisać program nie wiedząc czy sam oscylator pracuje jest bezsensowne. Wpadnę w jeszcze większe kłopoty bo wtedy nie będę wiedział dlaczego coś nie działa. Ja chcę najpierw jedno a potem martwić się będę o magistrale, o program sterujący. Mętlik mam bo mnie chodzi aby tylko na początek uruchomić generator. Jak ten będzie działać to wtedy będę się martwił czy poradzę sobie. Dzisiaj dam sobie spokój i poczytam jeszce raz Datasheet jak mi sugerowano a trochę zajmie czasu. W ogóle to w poprzedniej wypowiedzi popełniłem fatalny błąd bo chodzi o Bramę P1 a nie P0. Na P0 mam RAM 64 kB itd. NA BRAMIE P1 MAM SWÓJ DOCELOWY UKŁAD a nie na P0. To błAd tylko schematowy a nie rzeczywisty bo mam to fizycznie na bramie P1. Dzisiaj muszę jednak popracować jeszcze raz nad DATASHEET. Wielkie dzięki wszystkim którzy dali swoje sugestie.

    0
  • Pomocny post
    #13 24 Paź 2009 20:12
    janbernat
    Poziom 38  

    A był taki programik napisany przez ś.p. Z.R.
    Napisał to dla 8051.
    Ja mam przerobiony na AVR- ale można przerobić na swoje potrzeby.

    Code:

    'I2C poszukiwanie
    $crystal = 16000000.

    $regfile = "m32def.dat"

    Config Portc = Output
    Config Lcd = 16 * 2

    Config Lcdpin = Pin , Db7 = Portc.2 , Db6 = Portc.3 , Db5 = Portc.4 , Db4 = Portc.5 , E = Portc.7 , Rs = Portc.6
    Config Scl = Portc.0
    Config Sda = Portc.1

    Config Lcd = 16 * 2
    Dim Adres As Byte
    Cls
    Lcd "start"
    Wait 2
    Cls
    For Adres = 60 To 170 Step 2
    I2cstart
    I2cwbyte Adres
    I2cstop
          If Err = 0 Then

             Cls
             Lcd "uklad pod:" ; Adres

          Else

             Cls
             Lcd "brak ukladu" ; Adres

          End If
    Wait 1
    Next Adres
    Cls
    Lcd "koniec"


    P.S.
    Rezystory podciągające 4.7K na szynie I2C.
    Na CLKOUT jaki jest na stole 1-100k.

    0
  • #14 24 Paź 2009 20:16
    Adrian1995
    Poziom 14  

    Dzięki JanBernat. To właśnie zaczynam analizować. Może do czegoś dojdę na końcu. Na razie na 8 mam tylko 100 nF (tradycyjny SMD 1206). Jeśli będzie potrzebny jakiś elektrolityczny to na pewno to sprawdzę. Myślę jednak że to ma mniejsze znaczenie na sam start generatora ale potem się zobaczy. Poprawiam post bo najważniejsze chyba będzie że jest open i wysłać rozkaz. Będę to sprawdzał.

    0
  • #15 24 Paź 2009 20:27
    janbernat
    Poziom 38  

    Na sam start generatora wyjmij baterię a diodę D1 zastąp drutem.
    Te C2 20pF chyba wyjmij.
    Sprawdź oscyloskopem na końcowce 1 i 2 czy chodzi generator a potem spróbuj znaleźć programem adres- zmieniając oczywiście zakres poszukiwań i konfigurację wyświetlacza (o typie procesora i kwarcu też pamiętając)

    0
  • #16 24 Paź 2009 20:28
    Adrian1995
    Poziom 14  

    Przepraszam wszystkich ale dzisiaj nie będę już odpowiadał bo taka jest ilość informacji, że muszę najpierw to wszystko teoretycznie zebrać i przeanalizować. Jutro będę chciał fizycznie sprawdzić na układzie. Na dzisiaj dziękuję, a jak ruszy mi, to powiem. Najważniejsze co do tej pory zdążyłem się dowiedzieć to 99% pewności, że sam PCF nie jest uszkodzony tylko popełniam jakiś błąd w myśleniu.

    0
  • #17 25 Paź 2009 02:33
    Adrian1995
    Poziom 14  

    Ja chyba jestem nienormalny. Wstępnie popatrzyłem i znalazłem pewne rzeczy. Prosił bym o odpowiedź czy dobrze myśle i analizuję. Jeżeli tak, to mam najpierw robotę z programowaniem a nie z samą płytką. :cry:
    Układ scalony Zegara Czasu Rzeczywistego Philips - PCF8563

    0
  • Pomocny post
    #18 25 Paź 2009 09:55
    Logi
    Poziom 19  

    Za ustawienia wyjścia CLKOUT (a właściwie licznika który jest przed tym wyjściem ale do tylko szczegół techniczny) odpowiedzialny jest rejestr 0DH a konkretnie trzy jego bity czyli FE (blokada wyjścia), FD0 i FD1 (wybór trybu pracy licznika czyli częstotliwości wyjściowej).
    Jeśli chodzi o samo fizyczne uruchomienie RTC to przyznam szczerze że nigdy do tego tak szczegółowo (czyli z oscyloskopem) nie podchodziłem. O ile elementy nie pochodzą z demobilu to układa zawsze działa poprawnie. Poskładałem blisko setkę urządzeń z tym RTC i o ile dobrze pamiętam to nigdy nie było kłopotu z uruchomieniem układu. Piszę to aby Cię uspokoić że sprzęt powinien być sprawny.

    0
  • #19 25 Paź 2009 10:20
    janbernat
    Poziom 38  

    Ten element i ten wyżej- bit FE.

    0
  • Pomocny post
    #20 25 Paź 2009 10:57
    Tomasz.W
    Poziom 35  

    :arrow: Adrian1995
    Napisz dokładnie o ci chodzi, bo teraz to już nic nie wiadomo. Najpierw jest mowa o pinie 7 czyli CLKOUT. Następnie temat schodzi na oscylator. Napiszę to w dwóch zdaniach.
    1) sposób działania (lub nie działania) pinu 7 czyli CLKOUT jest ustawiany programowo, w którym rejestrze to już napisałem. Fabrycznie ustawiony jest na wyłączony.
    2) oscylatora nie programujesz, startuje sam po włączeniu zasilania. Pod warunkiem oczywiście że sam układ i kwarc są sprawne.

    0
  • #21 25 Paź 2009 22:28
    Adrian1995
    Poziom 14  

    Na nóżce 1 mam ładną sinusoidę jak z obrazka w książce do matematyki. Wygląda na prawidłową częstotliwość bo T≈30 [us]. Amplituda dość mała i nie wiem czy to normalne. Wynosi niecałe 100 [mV] i to pik-pik. Czyli skuteczna wyjdzie trochę ponad 30 mV. Jeżeli to normalne napięcie to znaczy, że sam generator pracuje i działa z bateryjki (3V) i z systemu (5V), nie ma różnic w amplitudzie czy okresie. Nie wiem tylko dlaczego dopiero przy kolejnym kwarcu (czwartym) a wszystkie typowe 32,768 kHz. To jednak mniej ważne. Dalej sobie chyba poradzę o ile ta amplituda nie jest za mała, bo raczej zawsze była większa w układach cyfrowych. Będę teraz próbował programować PCF'a z uC-52. Mam na uwadze to programowanie wyjścia na nóżce 7, to będzie pierwsze bo tam powinienem chyba mieć prostokąt i większą amplitudę. Dzięki wszystkim za pomoc. :D

    0
  • #22 25 Paź 2009 22:39
    janbernat
    Poziom 38  

    Amplituda ma być mała- to prawidłowe.
    Jesteśmy w bezpiecznej przystani.
    A zaprogramowanie nóżki 7 i całej reszty rejestrów- to wypłynięcie na pełne morze.
    "navigare necesse est"

    0
  • #23 25 Paź 2009 22:45
    Adrian1995
    Poziom 14  

    No to mam robotę programistyczną. To pewnie trochę potrwa. Jeszcze raz dziękuję.

    0
  • #24 29 Paź 2009 13:03
    Adrian1995
    Poziom 14  

    :D Mam wstępny program w asemblerze do zapisu i odczytu wszystkich rejestrów. Amplituda na wyjściu CLKOUT jest 5V (jak zasilam z napięcia zewnętrznego 5V), prawie idealnie symetryczna a częstotliwość wg zadanej wartości w rejestrze sterującym. Na bateryjce nie "gubi" zawartości rejestrów. Na liniach SDA, SCL, CLKOUT i INT oporniki 10 kΩ do +5V zewnętrznego. Na Bramie P1 chcę programować procesor po wymianie na 89S8253 - uniknięcie zewnętrznego EEPROM'a i LCD (4x16). Inne są zajęte przez RAM - UM61512AK (64 kB - t=15 ns) P0, P2 i P3 (RS232, WR i RD) i nie chcę tracić przerwań INT0, INT1, T0 i T1. Mam w związku z tym pytanie o programowanie. Czy jeżeli w czasie programowania "ręcznie" będę trzymał RESET procesora to ISP (MISO, MOSI, SCK) - ten prościutki na 74LS244, zachowa się prawidłowo z programu Pony-Prog ? Ten system to przerobiony elektronicznie i programowo AVT2250, bo wyrzuciłem Eproma i "przykryłem" RAM'em od adresu 0000h do FFFFh. Mogę podzielić się doświadczeniami w tym zakresie. Pozwala mi to na dowolne eksperymenty z systemem. Liczę na pomoc i wskazówki Forumowiczów na moje pytanie. :idea:

    0