Zkratka RTC znamená Real Time Clock neboli hodiny reálného času. Tento název se používá u výpočetní techniky. Obvod RTC 72421A je v 18vývodovém pouzdru DIP a obsahuje kompletní časovač sekund, minut, hodin, dní, měsíců, roků a dnů v týdnu. Navíc má obvod výstup pro generaci přerušení po určitém časovém intervalu (64 Hz, sec, min a hodiny). Obvod je zajímavý tím, že má v sobě i krystal a pro jeho činnost stačí pouze napájecí napětí, které je možné zálohovat baterií. Tento obvod jsem koupil snadno, mají ho v KTE i v GM , ale nesnadně jsem zjišťoval, jak vlastně pracuje a jak se má ovládat.
      Postavil jsem si tedy jednoduché zapojeni na jeho vyzkoušení. Později se mi podařilo sehnat i podklady od tohoto obvodu a tak pro ty, kteří budou mít stejné trampoty, jsem napsal následující řádky. Na obr. 1 je schéma zapojení ručního přípravku pro ověřeni funkce obvodu RTC72421A. Na schématu není prakticky nic složitého a podobnými "přípravky" zkouším skoro všechny nové obvody. Přepínače umožňují nastavit čtyři bity adresy registru, ze kterého se bude číst nebo do kterého se bude zapisovat a čtyři bity dat pro zápis. Diody LED indikují čtená data jedna stav výstupu STD.P. Jedno tlačítko generuje povel pro zápis a druhé pro čtení. Obvod pro čtení je zajímavý, protože když se z obvodu čte pouze nulou, zůstávají ty bity (například sekund), které dosáhly jedničky, v jedničce, protože obvod má na výstupu registr, který je každým novým čtením nulován. Vyrobil jsem si úzké impulsy a ty pak pouštím do vstupu čtení při stlačeném tlačítku - pak se i staticky čtou data dobře. Při připojení k mikroprocesoru, například 80C51, je samozřejmě čtení vždy jako impuls a nejsou problémy a signál RD spojíme rovnou s příslušným signálem procesoru.


Obr.1 Přípravek na vyzkoušení RTC


Zapojeni vývodů 72421A - 18 pin DIP pouzdro
Pin čísloNázevFunkce
1STD,Ppřerušení nebo impulsy, aktivní nula, otevřený kolektor, nutný rezistor na +Ucc
2CS0 (non)chip select, aktivní nula
3ALEbuď na +Ucc a nebo u multiplexní sběrnice na ALE (umí zapamatovat adresy, takže u 8048, 51 atd. je možné spojit 4 adresy a 4 data na ADO až AD3 procesoru a zapojí se ALE
4A0adresa registrů
5A1adresa registrů
6A2adresa registrů
7A3adresa registrů
8RD (non)čtení
9GNDzem
10WR (non)zápis
11D3obousměrná sběrnice pro čtení a zápis
12D2obousměrná sběrnice pro čtení a zápis
13D1obousměrná sběrnice pro čtení a zápis
14D0obousměrná sběrnice pro čtení a zápis
15CS1speciální CS zamykající obvod do režimu STBY, 1 = 4/5 Ucc a 0 = 1/5 Ucc-připojí se přes rezistor na +
16Volnýnezapojovat
17Volnýnezapojovat
18Ucc(normálně 5V, STBY=min. 2V)


Formát dat

ČASMĚSÍCDATUMROKDEN V TÝDNU
23:59:591231807

Poznámka: Jedná se o čip OKI MSM6242, zapouzdřený s krystalem do pouzdra DIP 18 pinů.

Tabulka bitů registrů

Číslo registruNázevData 3Data 2Data 1Data 0Rozsah hodnotFunkce
0S1S8S4S2S10 až 9jednotky sekund
1S10-S40S20S100 až 5desítky sekund
2Mi1Mi8Mi4Mi2Mi10 až 9jednotky minut
3Mi10-Mi40Mi20Mi100 až 5desítky minut
4H1H8H4H2H10 až 9jednotky hodin
5H10-PM/AMH20H100 až 2 nebo 0 až 1desítky hodin
6D1D8D4D2D10 až 9jednotky dnů
7D10--D20D100 až 2desítky dnů
8Mě1M8M4M2M10 až 9jednotky měsíců
9Mě10---M100 až 1desítky měsíců
AR1R8R4R2R10 až 9jednotky roků
BR10R80R40R20R100 až 9desítky roků
CDvT-W4W2W10 až 6den v týdnu


a tři řídící a stavové registry


 D3D2D1D0
D30 sec.IRQ flagBUSYHOLD
ET1T0INT/STDMASK
FTEST24/12STOPRESET


Význam bitů registrů

Registr D: D3 = 1 je 30 s adjust
 D2 = IRQ FLAG (přerušení nebo stav výstupu)
 D1 = BUSY
 D0 = HOLD (žádost o přístup)
 
Registr E:E3 = T1 dva bity určují výst. kmitočet STD-P a rytmus přerušení na tomto vývodu
 E2 = T0 = 0 t.j. 64 Hz,= 1 t.j. sekundy, = 2 t.j. minuty, = 3 t.j. hodiny
 E1 = nastaven = výstup je INTERRUPT,nulován = PULSY
 E0 = nastaven = MASKován výstup STD-P (vývod č. 1 obvodu),nulován = MASK = O povol výstup
 
Registr F:F2 = nastaven = 24, nulován = 12 hod. režim
 F1 = nastaven = STOP
 F0 = nastaven = RESET


     Do obvodu se mají zapisovat jen reálná čísla v daném rozsahu. Ona tam totiž jdou zapsat i čísla mimo rozsah, ale pak se čtou nuly na místech pomlček v tabulce, obvod však může špatně počítat. Všechny registry jsou pozitivní, to znamená je-li S8, S4, S2, S1 = 1001 je to 9. Všechny registry času jsou v kódu BCD.

A nyní následuje podrobnější popis významu jednotlivých registrů:

PM/AM, H20, H10
     V módu 24 hodin je bit PM/AM ignorován. V módu 12 hodin však může být bit H20 nastaven. Neboli čtení PM/AM (v módu 24 hodin) zajišťuje, že se trvale čte nula. Čtení bitu H20 ve 12hodinovém módu je takové, že byla-li do něj zapsána nula, čte se trvale nula, dokud do něj někdo omylem nezapíše jedničku 8-)).

Registry roků R1 a R10
     Obvod je schopen identifikovat přestupný rok automaticky. Výsledek nastavení neexistujícího dne v měsíci je možno vysvětlit příkladem: Jestliže nastavíme 29. února nebo 31. listopadu 1985, změní toto nastavení obvod automaticky na 1. březen nebo 1. prosinec a to v čase, kdy nastane přenosový impuls (carry) z registru hodin pro jednotky dnů.

Registr dnů v týdnu DvT
      Data jsou limitována na 0 až 6. Nula je neděle a šestka je sobota.


Registr D
HOLD bit D0
     Nastavení tohoto bitu do jedničky inhibituje hodiny 1 Hz do čítače S1 jednotek sekund. Teprve po nastavení bitu HOLD může být čten status BUSY. Je-li BUSY = 0, mohou být čteny nebo zapisovány registry S1 až DvT. Je-li během této doby generován přenos pro čítač S1, pak je S1 inkrementován až tehdy, když vrátíme HOLD do nuly. Tyto podmínky jsou však garantovány pouze tehdy, pokud stav HOLD = 1 netrvá déle než 1 sekundu. Je-li CS1 = 0, pak je HOLD = 0 za všech podmínek.

BUSY bit D1
     Stavový bit, který ukazuje na stav rozhraní mezi RTG obvodem a mikroprocesorem. Existuji čtyři metody čtení nazývané:

metoda HOLD
metoda dvojího čtení
metoda IRQ FLAG
metoda externího přerušení

IRQ FLAG bit D2
     Tento stavový bit odpovídá výstupní úrovni na výstupu STD/P. Je-li STD/P = 0, pak je IRQ FLAG = 1, je-li STD/P = 1, pak je IRQ FLAG = 0. IRQ FLAG indikuje, zda je žádost o přerušení pro mikroprocesor. Je-li D0 registru E, bit MASK = 0, pak se může měnit výstup STD/P do nuly i IRQ FLAG do jedničky. Je-li INTRPT/STD (D1 reg. E) = 1 neboli mód přerušení, zůstane výstup STD/P po přerušení v nule tak dlouho, dokud není nastaven IRQ FLAG na nulu. Je-li INT FLAG = 1 a nastanou podmínky pro nové přerušení, je toto přerušení ignorováno, protože vlastně již existuje od minule.
      Je-li INTRPT/STD = O (Standard Pulse Output mode), výstup po dosažení navoleného intervalu (T1 a T0) přejde do nuly a setrvá v nule buď na 7,8125 ms a nebo na kratší dobu, je-li vynulován IRQ FLAG.

± 30s ADJ. bit D3
     Nastavení bitu do jedničky způsobí vnitrni činnost RTC na dobu 125 mikrosekund a pak tento bit sám ,,spadne". Proto je možné použít dvě metody nastavení: nastavit a počkat 125 mikrosekund, nastavit a potom tento bit číst dokud "nespadne" do nuly.Každopádně je obvod 125 mikrosekund k ničemu a osobně mne nenapadá žádné rozumné využití

Registr E
MASK bit D0
     Tento bit maskuje výstup STD/P. Tento výstup má otevřený kolektor a může přejít do nuly pouze tehdy, je-li MASK = 0. Zde je třeba dbát na to, že MASK přímo hradluje výstup, takže přejde-li MASK na jedničku, přejde výstup, byl-li v nule, také na jedničku. Současné však MASK hradluje nastavení výstupního klopného obvodu pro výstup STD/P, takže byl-li MASK v jedničce po čas přenosu (z sekund, minut, hodin podle t1 a tO), nedojde k reakci na tento přenos, to znamená nevznikne impuls ani se nenastaví příslušné přerušení.

INTRPT/STD bit D1
= 0 pulsy na výstupu, nula 7,8 ms, kmitočet podle T1 a TO
= 1 přerušení, aktivní nula, nulování posláním nuly do IRQ FLAG.

T1 a T0 bit D3 a D2
Perioda výstupních impulsů, nebo perioda přerušení.
T1T0PeriodaStřída při INTRPT/STD = 0, nula ku jedničce
001/64 sekundy1/2
011 sekunda1/128
101 minuta1/7680
111 hodina1/460880


Registr F
TEST bit D3
     Tento se nesmí nastavit na jedničku. Je určen pro tovární test obvodu. Při testu dostane sekundový čítač hodiny (místo 1 Hz) 5,4163 kHz.


     Po zapnutí napájení (cold start) se musí (není myšlen přechod z úsporného režimu) postupovat podle tohoto vývojového diagramu.

RESET bit D0
     Zastavuje vnitřní předdělič po dobu jedničky. Čítač je odblokován až po vrácení RESET na nulu.

STOP bit D1
     Stop pouze inhibituje přenos z děličky s mezifrekvencí 8192 Hz. Zde může nastat vnitřní zpožděni až 122 mikrosekund, než se START nebo STOP této děličky provede. STOP zastavuje generování pulsů na výstupu STD/P.

24/12 bit D2
Nastavení módu jen v této sekvenci:
RESET = 1
Zvolit 24 = 1 nebo 12 = 0
RESET = 0


     Tak to by bylo všechno, co jsem zjistil. Samozřejmé neručím za chyby, neboť jsem tyto údaje pracně zjišťoval a v samotných katalogových listech mnoha firem bývají nejasnosti i chyby.

Parametry obvodu RTC72421A EPSON

Napájeni:4,5 až 5,5 V
Zálohováni:2V / 5 mikroampér
Normální odběr:5V / 50 mikroampér
Čas přístupu od RD:120 ns
Stabilita( -10až +70 °C):+10 až -120ppm
Tolerance kmitočtu:( -10až +70 °C):±10ppm

Pozn.: ppm je jedna částice z miliónu, neboli deset na minus šestou.

Seznam součástek:
 I01 MOS40106
 I02 RTC72421A
 I03 74HC244
 I04 74HC04
 D2 až D5 LED
 C1 10 nF keramický
 C2 100 nF keramický
 Př1 5ti násobný přepínač DIL
 S1 a S2 tlačítka
 D3 1N4148
 Rezistory 100k 11ks
   680R 5ks
   4k7 1ks
   10k 1ks
   1k 1ks




Dále se můžete podívat na příklad s připojením RTC k MCU 8051 i s částí zdrojového kódu.

Vytisknout stránku

Zpátky Zpátky
© DH servis 2002 -