Кіріспе

Компьютерде дәл уақытты сақтайтын тізбек.

Нақты уақыт сағаты (RTC) – уақыттың өтуін өлшейтін электрондық құрылғы (көбінесе интегралды схема түрінде). Бұл термин көбінесе жеке компьютерлерде, серверлерде және кіріктірілген жүйелерде қолданылса да, RTC күннің дәл уақытын сақтау қажеттілігі туындайтын кез келген электрондық құрылғыда кездеседі.

Терминология

Нақты уақыт сағаты термині, уақытты адамдар түсінетін бірліктермен есептемей, тек цифрлық электрониканы басқаратын сигналдар ғана болатын қарапайым аппараттық сағаттармен шатасуды болдырмау үшін қолданылады. RTC-ні, үш әріпті аббревиатурасы ортақ болғанымен, күннің уақытына тікелей қатысы жоқ нақты уақытты есептеумен шатастыруға болмайды.

Қуат көзі

RTC-лерде көбінесе қосымша қуат көзі болады, сондықтан негізгі қуат көзі өшірілген не қолжетімді болмаған кезде уақытты сақтап тұру мүмкін. Бұл қосымша қуат көзі әдетте ескі жүйелерде литий батареясы болса, жаңа жүйелерде суперконденсатор қолданылады, себебі оларды қайта зарядтауға болады және тікелей пайдандыруға да мүмкіндік бар. Қосымша қуат көзі батареямен сақталатын жадқа (RAM) да қуат беруге қабілетті.

Уақыт

Көптеген RTC-лер кристалл осцилляторын қолданады, бірақ кейбіреулерінде қуат желісінің жиілігін пайдалану мүмкіндігі бар. Кристалл жиілігі әдетте 32,768 кГц құрайды. Типтік кристалл RTC-нің дәлдік сипаттамалары ±100-ден ±20 миллион бөлікке дейін (күнде 8,6 - 1,7 секунд) ауытқуды құрайды, бірақ температураға түзетілген RTC интегралдық схемалары 5 миллион бөлікке дейін дәлдікпен жұмыс істей алады. Іс жүзінде, бұл аспандық навигацияны жүзеге асыру үшін жеткілікті, бұл хронометрдің дәстүрлі міндеті. 2011 жылы чиптік өлшемдегі атомдық сағаттар қолжетімді болды. Олар әлдеқайда қымбатқа түсетін және көп қуатты қажет ететін болса да (120 мВт-қа қарсы <1 мкВт), уақытты 50 триллион бөлікке дейін сақтайды (5).

Мысалдар

Көптеген интегралдық схема өндірушілері RTC-лерді шығарады, оның ішінде Epson, Intersil, IDT, Maxim, NXP Semiconductors, Texas Instruments, STMicroelectronics және Ricoh. Бір тақталы компьютерлерде жиі қолданылатын RTC – Maxim Integrated DS1307. RTC 1984 жылы IBM PC/AT моделі арқылы дербес компьютерлерге енгізілді, ол Motorola MC146818 RTC-ні пайдаланды. Кейіннен Dallas Semiconductor компаниясы осыған үйлесімді RTC-лерді жасады, олар көне дербес компьютерлерде көп қолданылды және ерекше қара батарея қақпағы мен жібек басылған логотипі болғандықтан аналық платаларда оңай табады. Дербес компьютерлердегі RTC үшін стандартты CMOS интерфейсі қолжетімді. Жаңа компьютер жүйелерінде RTC оңтүстік көпір чипіне енгізілген. Кейбір микроконтроллерлерде кіріктірілген нақты уақыт сағаты болады, әдетте көптеген басқа мүмкіндіктері мен перифериялық құрылғылары бар модельдерде ғана.

Радиоға негізделген RTC

Кейбір заманауи компьютерлер сағат туралы ақпаратты цифрлық радио арқылы алады және оны уақыт стандарттарын сақтау үшін пайдаланады. Екі кең таралған әдіс бар: Көптеген ұялы телефон протоколдары (мысалы, LTE) тікелей ағымдағы жергілікті уақытты ұсынады. Егер интернет радиосы қолжетімді болса, компьютер желілік уақыт протоколын пайдалана алады. Жергілікті уақыт серверлері ретінде қолданылатын компьютерлер кейде GPS немесе ұлттық стандарттау ұйымы таратып отыратын өте төмен жиілікті радиосигналдарды (яғни радиосағатты) пайдаланады.

Бағдарламалық негіздегі RTC

Келесі жүйе кіріктірілген жүйелер бағдарламашыларына жақсы танымал, олар кейде RTC-ді ондай жетіспейтін жүйелерде құрастыруы керек. Көптеген компьютерлерде кварц кристалдарынан немесе керамикалық резонаторлардан келетін уақыт сигналдарын пайдаланатын бір немесе бірнеше аппараттық таймерлер бар. Бұл абсолютті уақыт белгісі дәл емес (миллионға 100 бөліктен артық), бірақ өте қайталанатын (көбінесе 1 ppm-ден аз). Бағдарламалық жасақтама оларды дәл RTC-ге айналдыра алады. Жабдықты таймер тарихи RTC-ді еліктейтін, мысалы, 50 Гц-ті кезеңдік үзіліс шығара алады (төменде қараңыз). Алайда, ол математиканы уақыт тізбегін дәлдікке реттеу үшін қолданады: уақыт = уақыт + жылдамдық. "Уақыт" айнымалысы тұрақтыдан, әдетте екіден артық болған кезде, номиналды, есептелген сағаттық уақыт (мысалы, секундының 1/50-і үшін) "уақыттан" алынып тасталады және сағаттың уақыт тізбегі бағдарламалық жасақтамасы секундтың, секундтың және т.б. есебін жүргізеді. Уақыт пен жылдамдық үшін 32 биттік айнымалылар бар, "жылдамдық" математикалық ажыратылуы миллиардқа бір бөліктен асып түседі. Сағат дәлдікті сақтайды, өйткені ол кез-келген уақытта секундының үлес бөлігін өткізіп жібереді немесе екі үлес бөлігін қосады. Шағын секіру ("життер") RTC-нің барлық нақты қолданулары үшін байқалмайды. Бұл жүйенің күрделілігі "жылдамдық" айнымалысының бірден түзетілген мәнін анықтау. Ең қарапайым жүйе сағаттың екі параметрінің арасындағы RTC уақытын және анықтама уақытын қадағалайды және "жылдамдықты" табу үшін анықтама уақытын RTC уақытына бөледі. Интернет уақыты көбінесе 20 миллисекундтан кем емес, сондықтан 8000 немесе одан да көп секунд (2,2 немесе одан да көп сағат) арақашықтықты орнату әдетте қырық миллисекундты (немесе одан да аз) қателікті хронометр сияқты дәлдікті алу үшін миллионға 5 бөлікке дейін бөлуге болады. Бұл жүйенің негізгі күрделілігі - күнді және уақытты секундтар санына аудару, бірақ әдістері жақсы белгілі. Егер RTC бірлік сөндірілген кезде жұмыс істесе, әдетте RTC екі жылдамдықпен жұмыс істейді, бірі бірлік қосылғанда, екіншісі сөндірілгенде. Себебі температура мен электр қуатының кернеуі әр мемлекетте бірдей. Осы жағдайларды реттеу үшін бағдарламалық қамтамасыз ету екі жылдамдықты есептейді. Біріншіден, бағдарламалық қамтамасыз ету сағаттың соңғы үш рет орнатылған аралықтағы екі аралық үшін RTC уақытын, анықтама уақытын, қосылған және сөндірілген секундтарды тіркейді. Осыны пайдаланып, ол екі интервалдың дәлдігін өлшеуі мүмкін, әр интервалдың қосылу және сөндіру секундтарының әртүрлі үлестірілуі бар. Жылдамдық есебі екі сызықтық теңдеуді екі жылдамдықты есептеу үшін шешеді, бірі қосылу үшін, екіншісі сөндіру үшін. Басқа тәсіл осциллятордың температурасын электрондық термометрмен (мысалы, терморезистор және аналогты-цифрлық түрлендіргіш) өлшейді және "жылдамдықты" минутқа бір рет есептеу үшін полиномиалды қолданады. Бұларға жиілікті бірнеше температурада өлшейтін калибрлеуді, содан кейін температура теңдеуін табу үшін сызықтық регрессияны қажет етеді. Жүйедегі ең көп таралған кварц кристалдары SC кесінді кристалдары болып табылады, ал олардың температурадағы жылдамдығы 3-ші дәрежелі полиномиямен сипатталуы мүмкін. Осыларды калибрлеу үшін жиілік төрт температурада өлшенеді. Сағаттарда және көптеген RTC компоненттерінде қолданылатын жалпы дифференциалдық стильдегі кристаллдар температураның параболалық (2-дәрежелі) теңдеулеріне ие және оларды тек 3 өлшеммен калибрлеуге болады. МЭМС осцилляторлары механикалық құрылымына байланысты 3-ші және 5-ші дәрежелі полиномиалдардан өзгереді, сондықтан төрт-алты калибрлеу өлшемін қажет етеді. Мұндай тәсіл коммерциялық RTC интегралдық схемаларында қолданылуы мүмкін, бірақ тиімді жоғары жылдамдықты өндірудің нақты әдістері құпия болып табылады.