260 likes | 412 Views
RTC-Real Time Clock. Mentor: Prof. Zoran Mijanović Autor: Duković Aleksandar. RTC. Real Time Clock je kompjuterski časovnik koji vodi evidenciju o trenutnom vremenu.
E N D
RTC-Real Time Clock Mentor: Prof. Zoran Mijanović Autor: Duković Aleksandar
RTC • Real Time Clock je kompjuterski časovnik koji vodi evidenciju o trenutnom vremenu. • Prisutan je u personalnim računarima, mikrokontrolerskim sistemima, serverskim sistemima, tj. svakom elektronskom uređaju kome je potrebno da raspolaže sa tačnim vremenom.
MCB 2140 evaluation board for Philips LPC2148 • Mjeri vrijeme, odražava kalendar i sat ažuriranim. • Energetski jako malo zahtjevan da bi se mogao upotrebljavati sistemima sa baterijskim napajanjem. • Daje sekunde, minute, sate, dane u nedjelji, mjesec, godinu. • Ima dodijeljen 32kHz oscilator ili programabilni preskaler-VPB takt. • Takođe ima poseban pin za napajanje namijenjen da se na njega može pripojiti baterija ili eksterno napajanje od 3.3V.
Opis • RTC je set brojača za mjerenje vremena kada je napajanje mikrokontrolera uključeno. (opciono može biti i isključeno) Koristi jako malo malo energije kada se mikrokontroler nalazi u Power-down režimu. Na • LPC2141/2/4/6/8, RTC može biti taktovan od strane odvojenog 32.768 KHz oscilatora, ili od strane programabilnog preskalera baziranog na VPB taktu.
Opis Registara • RTC ima veliki broj registara razdvjenih u grupe. • Prva grupa-čine ih registri koji se tiču interapta, kontrolnih registara, registara za upravnje maskom alarma. • Druga grupa-grupa registara koji služe za mjerenje vremena. • Treća grupa-alarmni registri. • Zadnja grupa-registri za podešavanje dijeljenja takta.
RTC-Interapt • Generisanje interapta se kontroliše pomoću ILR (interapt location resgistra), Counter Increment Interrupt Register (CIIR), alarm registara i Alarm Mask Register-a (AMR). ILR • odvojeno omogućava CIIR and AMR interapte. Svaki bit CIIR interapta odgovara jednom od brojača. Ako je CIIR odobren za određeni brojač onda svaki put kada se brojač uveća interapt je generisan.Alarm registri dozvoljavaju korisniku da specificira tacan datum i vrijeme kada će se generisati interapt. AMR obezbjeđuje mehanizam za upoređivanje maski alarma. Ako svaki nemaskirani alarm registar se poklapa sa odgovarajućim vremenom koje izbroji brojač onda je interapt takođe generisan.
Registri-detaljan opis Interrupt Location Register (ILR - 0xE002 4000)
The Interrupt Location Register -2bitni registar koji specificira koji blok generiše interapt. Upisivanjem određenog bita briše se odgovarajući interapt. Upisivanje nule nema efekta.
Registri-detaljan opis • Clock Tick Counter Register (CTCR - 0xE002 4004)
Registri-detaljan opis • Clock Control Register (CCR - 0xE002 4008)
Registri-detaljan opis Counter Increment Interrupt Register (CIIR - 0xE002 400C) Omogućava generisanje interapta svaki put kada se brojač inkrementira.
Registri-detaljan opis Alarm Mask Register (AMR - 0xE002 4010) Omogućava korisniku da maskira bilo koji alarm registar. Za funkcionisanje alarma svaki nemaskirani alarm registar da se poklapa sa odgovarajućim vremenskim brojačem da bilo moguće generisati interrapt.
Registri-detaljan opis Consolidated Time register 0 (CTIME0 - 0xE002 4014) Sadrži:sekunde, minute, sate, dane u nedjelji.
Registri-detaljan opis Consolidated Time register 1 (CTIME1 - 0xE002 4018) Sadrži: mjesece i godine.
Prestupne Godine • RTC vrši prosto upoređivanje bita da vidi da li su dva najniža bita godine nula. Ako jesu onda RTC uzim da je to prestupna godina. RTC svaku godinu koja je djeljiva sa 4 kao prestupnu godinu. Ovaj algoritam odgovara za vrijeme od 1901 pa do 2099 godine. Međutim javlja se greška za 2100 koja nije prestupna godina.(važnost prestupne godine.zbog mjeseca februara)
Alarm registar grupa • Vrijednosti ovih registara se upoređuju sabrojačima vremena.
Preskaler • Djelitelj kloka poznat kao preskaler omogućava generisanje 32.768 kHz takta od strane bilo kog perifernog kloka većeg ili jednakog 65 536kHz (2*65 536 KHz).Ovo RTC-u daje mogućnost da uvijek radi na pravom taktu. Preskaler dijeli periferni takt sa vrijednosću koja ima i cijeli i decimalni dio. Rezultat nije kontinualan izlaz na konstantnoj frekvenciji, jer neke periode takta će biti duže od drugih, bilo kako bilo uvijek se može postići frekvencija od 32,768 odbiraka po sekundi. • Djelitelj takat se sastoji od 13 bitnog cjelobrojnog djelitelja i 15 bitnog decimalnog djelitelja.
Prescaler Integer register (PREINT - 0xE002 4080) • PREINT = int (PCLK / 32768) − 1 -vrijednost mora biti veća ili jednaka 1.
Prescaler Fraction register (PREFRAC - 0xE002 4084) • PREFRAC = PCLK − ((PREINT + 1) × 32768). • Primjer: PCLK=65537 kHz PREINT = int (PCLK / 32768) − 1 = 1 PREFRAC = PCLK - ([PREINT + 1] × 32768) = 1
Kristalni Oscilator • Cristalni oscilator je elektronsko oscilatorno kolo koje koristi mehaničku rezonansu vibrirajućeg kristala piezoelektričnog materijala da kreira električni signal vrlo precizne frekvencije. Koristi se kao takt signal za digitalna integrisana kola. Najčešće se koristi upotrebljava kristal kvarca.
Eksterni 32 KHz oscilator-kapacitet • U zavisnosti od kapaciteta kvarcnog kristala CL moraju se odabrati kapacitivnosti Cx1 i Cx2 prema sledećoj tabeli.
Napomena Pri instalaciji trebalo bi izabrati Keil NXP MCB2xxx Boards