Hodiny reálneho času

náhľad|RTC obvod Dallas DS1287 so zabudovanou lítiovou batériou
náhľad|Batéria vo vnútri obvodu
náhľad|RTC modul s vymeniteľnou gombíkovou batériou a obvodom DS1302
[náhľad|Makrofotografia [SMD RTC obvodu S35390 na doštičke prenosného glukomeru]]

**Hodiny reálneho času** alebo (ak majú podobu integrovaného obvodu aj) **obvod reálneho času** či **hodinový obvod** (angl. *real-time clock*, skr. **RTC**) sú hardvérové alebo menej často softvérové hodiny, merajúce fyzikálny čas. Používajú sa najmä v počítačoch, ale napríklad aj vo videorekordéroch, domácich spotrebičoch a iných vstavaných systémoch.

Ide zvyčajne o integrovaný obvod, napájaný samostatnou zálohovacou batériou, obsahujúci kryštálom stabilizovaný oscilátor s nízkym odberom, často teplotne kompenzovaný; kaskádu čítačov, počítajúcich kmity oscilátoru a komunikačné rozhranie (paralelné alebo sériové – I²C, SPI a pod.), umožňujúce nadradenému systému čítať/modifikovať stav čítačov a konfigurovať obvod. Navyše k samotnému meraniu času integrujú RTC obvody často aj nízkoobjemovú pamäť SRAM, rovnako zálohovanú batériou, do ktorej si môže nadradený systém ukladať konfiguračné údaje. Bežný je tiež výstup, umožňujúci vyvolať prerušenie resp. preberať nadradený systém z pohotovostného (stand-by) režimu – vo vopred nastavený čas, prípadne periodicky.

V prípade počítačov, načíta operačný systém pri zavádzaní po zapnutí reálny čas z obvodu. Bez tohoto zariadenia by bolo potrebné (pri nedostupnosti iného zdroja, napr. prostredníctvom sieťovej konektivity) nastavovať reálny čas a dátum manuálne pri každom zapnutí počítača. V prípade osobných počítačov IBM PC, bol obvod RTC štandardnou súčasťou od modelu PC/AT (286) z roku 1984, do starších modelov bolo možné funkčnosť doplniť vo forme rozširujúcej karty.

## Princíp činnosti
Obvody RTC pracujú obvykle s 32,768 kHz kryštálom, podobne ako elektronické hodinky. Oscilátor je teda relatívne pomalobežný (v porovnaní napr. s oscilátormi pre taktovanie mikroprocesorov), čo je výhodné ako z hľadiska presnosti kryštálu, tak aj nízkej spotreby oscilátoru a deličiek. Odber obvodu RTC, vyrobeného technológiou CMOS je pri napájaní zo zálohovacej batérie obvykle v ráde jednotiek μA. Kvalitná lítiová gombíková batéria CR2032 s kapacitou ~200 mAh tak môže obvod napájať rádovo jednotky až desiatky rokov.

Frekvencia oscilátora umožňuje po vydelení 15-stupňovou binárnou deličkou (215 = 32 768) získať 1 Hz signál – s periódou 1 sekunda. Ten je vedený do kaskádovo radených čítačov do 60 pre sekundy a minúty, do 24 pre hodiny a následne do komplexnejšieho sekvenčného obvodu pre počítanie dní, mesiacov a rokov podľa gregoriánskeho kalendára, vrátane logiky pre priestupné roky. Obsah čítačov je cez registre obvodu sprístupnený pre nadradený systém, ktorý tak môže čítať/zapisovať kompletný aktuálny dátum a čas.

## Implementácia v mikrokontroléroch
Mnohé mikrokontroléry (MCU) majú integrovaný samostatný 32,768 kHz RTC oscilátor, umožňujúci v kombinácii s niektorým integrovaným čítačom vytvoriť úspornú softvérovú implementáciu hodín reálneho času. MCU môže byť uvedený do režimu spánku s nízkou spotrebou, z ktorého je periodicky (napr. každú sekundu) preberaný prerušením časovača, inkrementovaného RTC oscilátorom. Obslužná rutina prerušenia inkrementuje premenné, buď priamo evidujúce jednotlivé zložky reálneho dátumu a času, alebo prostý lineárny počet sekúnd od nejakého referenčného okamihu, čo je v prípade potreby dodatočne softvérovo prevediteľné na reálny čas a dátum. Následne sa MCU znova vráti do režimu spánku.

Obdobné riešenie je, hoci zvyčajne s vyššími nárokmi na spotrebu, možné aj bez dedikovaného oscilátora, s využitím hlavného zdroja taktu MCU, pokiaľ je dostatočne stabilný.

## Iné alternatívy
Alternatívou k batériou zálohovaným obvodom RTC môžu byť moduly rádiových prijímačov časového signálu (v Európe DCF77), GPS moduly, dekódujúce časové údaje zo signálov navigačných družíc, prípadne synchronizácia času pomocou internetových protokolov (NTP).

## Referencie

## Iné projekty

Kategória:Hardvér
Kategória:Hodiny
Kategória:Integrované obvody
Kategória:Meranie času