Hodiny reálneho času
Predmet |
|
---|---|
Konfigurovateľné mikroprocesorové systémy | |
Tématická časť: | |
Sériové komunikačné zbernice |
Obsah
Hodiny reálneho času - RTC
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 (t.j. nie logický) čas. Používajú sa najmä v počítačoch, ale napríklad aj vo videorekordéroch, domácich spotrebičoch a podobne. Väčšinou ide o hardvér, konkrétne integrovaný obvod. Najbežnejšie sú hodiny reálneho času na matičnej doske: Je to zariadenie, ktoré sleduje skutočný čas a udržiava čas aj pri vypnutom počítači. Obvod je spravidla napájaný samostatnou zálohovacou batériou. Po zapnutí počítača načíta operačný systém skutočný - reálny čas z obvodu. Bez tohto zariadenia by sme museli nastavovať reálny čas a dátum po každom vypnutí počítača.[1]
Real-time clock (RTC), sú počítačové hodiny (najčastejšie vo forme integrovaného obvodu), ktorý sleduje aktuálny čas. Hoci sa tento termín často odvoláva na zariadenia osobných počítačov, serverov a rôznych iných systémov, RTC sú prítomné takmer vo všetkých elektronických zariadeniach, ktoré potrebujú pre svoju činnosť presný čas.
![]() |
Polovodičový DALLAS RTC použitý na staršom PC.Táto verzia obsahuje SRAM zálohovanú batériou. |
Terminológia
RTC nie sú ako hardvérové hodiny, ktoré na svoju činnosť používajú signály, ktorými sa riadi chod digitálnej elektroniky a nepočítajú čas v ľudských jednotkách. RTC by sa nemali zamieňať s (Real-time computing) operačným reálnym časom, ktorý zdieľa jeho skratku RTC a pritom nesúvisí s dennou dobou.
Účel
Vedenie je možné urobiť aj bez použitia RTC, ale s ním má tieto výhody:
- nízka spotreba energie
- odľahčuje hlavný systém od časovo-kritických úloh
- niekedy je presnejší ako ostatné metódy
Prijímač GPS je schopný skrátiť čas jeho spustenia porovnaním s aktuálnym časom jeho RTC, v okamihu, keď mal naposledy platný signál.
Napájanie
RTC majú často alternatívny zdroj energie, aby mohli naďalej udržiavať čas s primárnym zdrojom pokiaľ je vypnutý, alebo nedostupný. Alternatívny zdroj energie je zvyčajne v starších systémoch lítiová batéria, ale niektoré novšie systémy používajú superkondenzátor, pretože sú nabíjacie a môžu sa pripájať. Alternatívny zdroj energie sa môže tiež použiť ako napájanie pre RAM.
Časovanie
Väčšina RTC používa kryštálový oscilátor, ale niektoré tiež používajú vedenie frekvencie. V mnohých prípadoch je na oscilátore frekvencia 32,768 kHz. Jedná sa o rovnakú frekvenciu, ako sa používa pri kryštálových hodinách a hodinkách a z rovnakých dôvodov má frekvencia presne 215 cyklov. Preto je ho výhodné použiť s jednoduchým čítačom binárnych obvodov.
Príklady
Mnoho výrobcov integrovaných obvodov, ktorý používajú RTC, ako sú: INTERSIL, Maxim, Philips, Texas Instruments a STMicroelectronics. Prvé kompatibilné RTC na PC bolo použité v IBM PC / AT v roku 1984 na modeli MC146818 RTC. Neskôr Dallas použil RTC v starších osobných počítačoch a ľahko dostupných základných doskách, pretože mali charakteristicky netradičné batérie. V novších systémoch sa už RTC vyskytoval na južnom moste čipu. Niektoré Mikroprocesory majú hodiny reálneho času postavené spolu s mnohými ďalšími funkciami a perifériami.[2]
![]() |
ODIN, generický ekvivalent k DALLAS RTC |
Rozdelenie:
Sériové RTC
Väčšina sériových RTC má k sebe začlenené prepojenie batérie z dôvodu ochrany obvodu, ale tiež mnoho mikroprocesorov obsahuje kontrolné funkcie, ako sú Power-On, Reset a Watchdog. Pre aplikácie, ktoré nevyžadujú zálohu, alebo potrebujú len krátku dobu zálohy pomocou kondenzátora, je možné požiť dva sériové RTC v M41T0 a M41T80.[3]
![]() |
Sériové hodiny reálneho času |
Paralelné RTC s CPU
Bq4845 RTC je periférny mikroprocesor s nízkou energiou, ktorý má integrovaný 24-hodinový časovač s kalendárom pre najbližších 100 rokov a prepínanie CPU pomocou 28-pinov SOIC, alebo DIP. Bq4845 je ideálny pre FAXY, kopírky, priemyselné riadiace systémy, pokladničné terminály, dátové zapisovače a počítače. Bq4845 je napojený priamo na 32,768 kHz kremíkové a 3V záložné batérie. Pomocou podmieneného čipu umožňuje výstup CE/OUT a výstupné napätie batérie na kolíkoch a preto sa dajú využiť pri permanentných externých SRAM. Záložné bunky majú právomoc riadiť RC a tým udržiavajú informácie v SRAM aj keď nie je k nemu pripojené napätie. Bq4845 obsahuje referenčné teplotné kondenzátory a porovnávacie obvody, ktoré monitorujú stav jeho napätia. Ak Bq4845 deteguje stav výstupnej tolerancie, tak vygeneruje prerušenie, vyhodí varovanie a následne RESET. RESET zostáva aktívny po dobu 200 ms, pričom tolerancia VCC stúpa a aby bolo možné ďalšie pripojenie napájania k procesoru a tým ho stabilizovať. Bq4845 má tiež vstavaný časovač strážcu pre sledovanie procesora. Ak mikroprocesor nemusí prepínať strážcov vstup (WDI) v rámci naprogramovaného konečného obdobia, tak WDI nezávisle zakáže časovač strážcu. Bq4845 môže generovať ďalšie prerušovacie stavy pre budík, alebo pravidelné nastavovanie. Alarm prerušenia je možné nastaviť tak, aby sa aktivoval hoci raz za sekundu, alebo tiež raz za mesiac. Alarm môže byť aktívny aj v režime záložnej batérie v systéme. Pre prerušene hodnoty raz za sekundu, je možné periodicky naprogramovať dobu od 30,5 µs do 500 ms.
Periférny mikroprocesor RTC Bq4845 |
Funkcie
RTC počíta sekundy až roky vo formáte BCD na vysielacom čipovom obvode so záložnou batériou a s permanentnou kontrolou SRAM. Ak je použitých menej ako 500 nA z hodiny prevádzky prúdu v zálohovacom režime, tak nastane RESET mikroprocesora (VCC=VSS) nezávislým strážnym časovačom, ktorý programovateľným časom v období energetického zlyhania vyhodí varovanie. Tiež ho vyhodí pri programovateľnom budíku v režime záložnej batérie a programovateľného prerušenia pri slabej batérii.[4]
Tabuľka parametrov CMOS
Reálny čas
00 h - Sekundy reálnych hodín
01 h - Sekundy budíku
02 h - Minúty reálneho času
03 h - Minúty budíku
04 h - Hodiny reálneho času
05 h - Hodiny budíku
06 h - Deň reálneho času v týždňov (1=Nedeľa)
07 h - Deň reálneho času v mesiaci
08 h - Mesiac reálneho času
09 h - Rok reálneho času
0A h - Stavový register A hodín reálneho času
10100110B ||-||--| | | |---> Deliaci činiteľ (0110) pre delič kmitočtu generátora | | impulzov (0110 určuje frekvenciu 1024 kHz a prerušovaný | | čas 976,562 mikrosekúnd. | | | |-------> 22-stupňová delička (010) nastavuje základnú frekvenciu | čítača hodín reálneho času (010 je 32,768 kHz základná) | |----------> Interné blokovania (0=povolený prístup k hodinám)
0B h - Stavový register B hodín reálneho času
00000110B |||||||| ||||||||---> Zmena na letný čas (počiatočné nastavenie 0=štandardný ||||||| čas - bez zmeny na letný čas, 1=prechod na letný čas - ||||||| posledná nedeľa v Apríli dôjde k posunu času z 1:59 na ||||||| 3:00 a poslednú nedeľu v Októbri prejde čas z 1:59 na 1:00) ||||||| |||||||----> 12-hodinový alebo 24-hodinový cyklus (počiatočné |||||| nastavenie je 1=24hod.cyklus) |||||| ||||||-----> BCD kód (počiatočné nastavenie 1=BCD) ||||| |||||------> Generátor impulzov (počiatočné nastavenie 0=vypnuto) |||| ||||-------> Generovanie prerušení pri zápisu aktualizovaného ||| času (počiatočné nastavenie 0=vypnuto) ||| |||--------> Prerušenie od budíka (počiatočné nastavenie 0=vypnuto) || ||---------> Periodické prerušenie (počiatočné nastavenie 0=vypnuto), | frekvencia prerušenia je nastaviteľná v registri A, bity.0-3 | |----------> Interné blokovanie (počiatočné nastavenie 0=povolený prístup k hodnotám)
0C h - Stavový register C hodín reálneho času
00000000B |---||-| | |---> Nevyužitý | |------> Jednotlivá návesť pre prerušenie (IRQF - prerušenie povolené, PF-prerušenie od čítača, AF-prerušenie od budíka, UF-prerušenie po modifikácie)
0D h - Stavový register D hodín reálneho času
10000000B ||-----| | |---> Nevyužitý | |----------> Informácia RTC je platná ak(stav 1), stav 0 indikuje poruchu v napájaní RTC
Konfiguračné informácie
0E h - POST (Power On Self Test) diagnostická informácia
00000000B ||||||-| |||||| |---> Nevyužitý |||||| ||||||-----> POST kontrola generátora reálneho času: ||||| 0 - Reálny čas je platný ||||| 1 - Reálny čas je neplatný ||||| |||||------> Kontrola inicializácie pevného disku: |||| 0 - Inicializácia prebehla správne |||| 1 - Inicializácia neprebehla správne |||| ||||-------> Zmena veľkosti pamäti pri POST: ||| 0 - veľkosť pamäte súhlasí s nastavenou hodnotou ||| 1 - veľkosť pamäte nesúhlasí s nastavenou hodnotou ||| |||--------> Platnosť nastavenia konfigurácie: || 0 - POST prebehol správne || 1 - POST neprebehol správne || ||---------> Kontrolný súčet CMOS RAM: | 0 - kontrolný súčet je platný | 1 - kontrolný súčet je neplatný | |----------> Kontrola napájania RTC: 0 - RTC je napájaný 1 - výpadok napájania RTC
0F h - Diagnostika pre Reset (ShutDown), jednotlivé informačné bity
tvoria hodnotu, ktorá definuje dôvod reštartu a následnú činnosť: 0 - Teplý reštart systému (Ctrl-Alt-Del), POST sa nepodarí 1 - Reštart po definovaní veľkosti pamäti 2 - Reštart po prevedení testu pamäti 3 - Reštart po chybe parity (parita 1 nebo 2) 4 - Reštart s požiadavkom štartu Loaderu 5 - Reštart s internou kontrolou a dlhým skokom na adr. 0467h 6,7,8 - Reštart po prevedení testu chráneného režimu procesoru 9 - Reštart po prevedení blokového prenosu z Extended pamäti, resp. do Extended pamäti 10 - Reštart po návrate z chráneného režimu, priamy dlhý skok na adresu 0467h[5]
Odkazy a literatúra
- ↑ http://sk.wikipedia.org/wiki/Hodiny_re%C3%A1lneho_%C4%8Dasu
- ↑ http://en.wikipedia.org/wiki/Real-time_clock
- ↑ http://www.st.com/stonline/products/families/clock_and_timing_circuits/real-time_clocks/rc_s1.htm
- ↑ http://www.eetasia.com/DATASHEET/DETAIL/ADS1218-1000044153.HTM
- ↑ http://www.medo.cz/zdenek.jr/assembler/__pc_hw.html