stringtranslate.com

Часы реального времени

Часы реального времени Dallas Semiconductor DS1287, 1988 года выпуска.
Типы модулей RTC для любителей, коммерчески доступных в Китае

Часы реального времени ( RTC ) — это электронное устройство (чаще всего в виде интегральной схемы ), измеряющее течение времени.

Хотя этот термин часто относится к устройствам в персональных компьютерах , серверах и встроенных системах , часы реального времени присутствуют практически в любом электронном устройстве, которому необходимо отслеживать точное время суток .

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

Термин «часы реального времени» используется, чтобы избежать путаницы с обычными аппаратными часами , которые представляют собой всего лишь сигналы , управляющие цифровой электроникой , и не считают время в человеческих единицах. RTC не следует путать с вычислениями в реальном времени , которые имеют свою трехбуквенную аббревиатуру , но не связаны напрямую со временем суток.

Цель

Хотя отслеживание времени можно осуществлять и без RTC, [1] его использование имеет свои преимущества:

Приемник GPS может сократить время запуска, сравнивая текущее время, согласно его RTC, со временем, когда он в последний раз имел действительный сигнал. [3] Если прошло меньше нескольких часов, предыдущие эфемериды все еще можно использовать.

Некоторые материнские платы изготавливаются без часов реального времени. RTC может быть опущен из желания сэкономить деньги или уменьшить возможные источники сбоев оборудования.

Источник питания

Литиевая батарея внутри микросхемы часов реального времени

RTC часто имеют альтернативный источник питания, поэтому они могут продолжать отслеживать время, пока основной источник питания выключен или недоступен. Альтернативным источником питания в старых системах обычно является литиевая батарея , но в некоторых новых системах используются суперконденсаторы , [4] [5] , поскольку они перезаряжаемые и могут быть припаяны . Альтернативный источник питания также может снабжать питанием ОЗУ с батарейным питанием . [6]

Тайминг

Большинство часов реального времени используют кварцевый генератор , [7] [8] , но некоторые имеют возможность использовать частоту сети электропитания . [9] Частота кристалла обычно составляет 32,768 кГц, [7] та же частота, которая используется в кварцевых часах . Со скоростью ровно 215 циклов в секунду ее удобно использовать с простыми схемами двоичных счетчиков. Низкая частота экономит электроэнергию, оставаясь при этом выше диапазона человеческого слуха . Кварцевый камертон этих кристаллов не сильно меняет размер от температуры, поэтому температура не сильно меняет его частоту.

Некоторые RTC используют микромеханический резонатор на кремниевом чипе RTC. Это уменьшает размер и стоимость RTC за счет уменьшения количества его деталей. Микромеханические резонаторы гораздо более чувствительны к температуре, чем кварцевые резонаторы. Итак, они компенсируют изменения температуры с помощью электронного термометра и электронной логики. [10]

Типичные характеристики точности кристалла RTC составляют от ±100 до ±20 частей на миллион (от 8,6 до 1,7 секунды в день), но доступны микросхемы RTC с температурной компенсацией с точностью менее 5 частей на миллион. [11] [12] С практической точки зрения этого достаточно для выполнения астрономической навигации , классической задачи хронометра . В 2011 году стали доступны атомные часы в масштабе чипа . Хотя они намного дороже и потребляют больше энергии (120 мВт против <1 мкВт), они сохраняют время в пределах 50 частей на триллион (5 × 10-11 ) . [13]

Примеры

Часы реального времени Dallas Semiconductor (DS1387) от старого ПК. Эта версия также содержит SRAM с батарейным питанием.
Чип Dallas DS1307 RTC в корпусе DIP-8

Многие производители интегральных схем производят RTC, в том числе Epson , Intersil , IDT , Maxim , NXP Semiconductors , Texas Instruments , STMicroelectronics и Ricoh . Распространенным RTC, используемым в одноплатных компьютерах, является Maxim Integrated DS1307.

RTC был представлен на компьютерах, совместимых с ПК, компанией IBM PC/AT в 1984 году, в которой использовался RTC Motorola MC146818. [14] [15] Позже компания Dallas Semiconductor выпустила совместимые часы реального времени, которые часто использовались в старых персональных компьютерах и их легко найти на материнских платах из-за их характерной черной крышки батарейного отсека и логотипа, нанесенного шелкографией . Для ПК RTC доступен стандартный интерфейс CMOS. [16]

В новых компьютерных системах RTC интегрирован в чип южного моста . [17] [18]

Некоторые микроконтроллеры имеют встроенные часы реального времени, обычно только те, которые имеют множество других функций и периферийных устройств .

Радио-RTC

Некоторые современные компьютеры получают информацию о часах по цифровому радио и используют ее для продвижения стандартов времени. Существует два распространенных метода: Большинство протоколов сотовых телефонов (например, LTE ) напрямую предоставляют текущее местное время. Если доступно интернет-радио, компьютер может использовать протокол сетевого времени . Компьютеры, используемые в качестве локальных серверов времени, иногда используют GPS [19] или сверхнизкочастотные радиопередачи, транслируемые национальной организацией по стандартизации (например, радиочасы [ 20] ).

Программные RTC

Следующая система хорошо известна программистам встраиваемых систем , которым иногда приходится создавать RTC в системах, в которых они отсутствуют. Большинство компьютеров имеют один или несколько аппаратных таймеров, которые используют сигналы синхронизации от кварцевых кристаллов или керамических резонаторов . Они имеют неточную абсолютную синхронизацию (более 100 частей на миллион), но при этом очень повторяемую (часто менее 1 ppm). Программное обеспечение может выполнить математические вычисления и превратить их в точные часы реального времени. Аппаратный таймер может создавать периодические прерывания, например, 50  Гц , для имитации исторического RTC (см. ниже). Тем не менее, он использует математические методы для настройки временной цепи для обеспечения точности:

время = время + скорость.

Когда переменная «время» превышает константу, обычно степень двойки, номинальное рассчитанное время часов (скажем, для 1/50 секунды) вычитается из «времени», и для этого вызывается программное обеспечение цепочки синхронизации часов. считать доли секунды, секунды и т. д. При использовании 32- битных переменных времени и скорости математическое разрешение «скорости» может превышать одну миллиардную долю. Часы остаются точными, поскольку время от времени они пропускают долю секунды или увеличиваются на две доли. Крошечный пропуск (« дрожание ») незаметен практически во всех реальных случаях использования RTC.

Сложность этой системы заключается в определении мгновенного скорректированного значения переменной «ставка». Самая простая система отслеживает время RTC и эталонное время между двумя настройками часов и делит эталонное время на время RTC, чтобы найти «скорость». Время в Интернете часто имеет точность менее 20 миллисекунд, поэтому 8000 или более секунд (2,2 или более часов) между настройками обычно могут разделить сорок миллисекунд (или меньше) ошибки на менее чем 5 частей на миллион, чтобы получить хронометрический результат. точность. Основная сложность этой системы — преобразование даты и времени в секунды, но методы хорошо известны. [21]

Если часы реального времени работают, когда устройство выключено, обычно часы реального времени работают с двумя скоростями: одна — когда устройство включено, а другая — когда оно выключено. Это связано с тем, что температура и напряжение питания в каждом состоянии одинаковы. Чтобы скорректировать эти состояния, программное обеспечение рассчитывает два показателя. Во-первых, программное обеспечение записывает время RTC, опорное время, секунды включения и секунды выключения для двух интервалов между тремя последними моментами установки часов. Используя это, он может измерить точность двух интервалов, причем каждый интервал имеет различное распределение секунд включения и выключения. Математика ставок решает два линейных уравнения для расчета двух ставок: одной для включения, а другой для выключения.

Другой подход измеряет температуру генератора с помощью электронного термометра (например, термистора и аналого-цифрового преобразователя ) и использует полином для расчета «скорости» примерно раз в минуту. Для этого требуется калибровка, которая измеряет частоту при нескольких температурах, а затем линейная регрессия для нахождения уравнения температуры. Наиболее распространенными кристаллами кварца в системе являются кристаллы SC-огранки, и скорость их изменения температуры можно охарактеризовать полиномом 3-й степени. Итак, для их калибровки частота измеряется при четырех температурах. Обычные кристаллы камертонного типа, используемые в часах, и многие компоненты RTC имеют параболические уравнения температуры (2-й степени) и могут быть откалиброваны с помощью всего трех измерений. МЭМС- генераторы различаются полиномами от 3-й до 5-й степени, в зависимости от их механической конструкции, и поэтому требуют от четырех до шести калибровочных измерений. Нечто подобное можно было бы использовать в коммерческих микросхемах RTC, но реальные методы эффективного высокоскоростного производства являются запатентованными.

Исторические РТЦ

В некоторых компьютерных конструкциях, таких как меньшие IBM System/360 , [22] PDP-8 [23] и Novas , использовались часы реального времени, которые были точными, простыми и недорогими. В Европе, Северной Америке и некоторых других сетях частота сети переменного тока корректируется с учетом долгосрочной точности частоты национальных стандартов. В этих сетях часы, работающие от сети переменного тока, могут показывать точное время без каких-либо корректировок. Такие часы непрактичны для портативных компьютеров или сетей (например, в Южной Азии), которые не регулируют частоту сети переменного тока.

В источниках питания этих компьютеров используется трансформатор или резисторный делитель для формирования синусоидальной волны при логическом напряжении. Этот сигнал обрабатывается детектором перехода через ноль, использующим либо линейный усилитель , либо триггер Шмитта . В результате получается прямоугольная волна с одиночными быстрыми фронтами на частоте сети. Этот логический сигнал запускает прерывание. Программное обеспечение обработчика прерываний обычно считает циклы, секунды и т. д. Таким образом, оно может предоставить полные часы и календарь. В IBM 360 прерывание обновляет 64-битное количество микросекунд, используемое стандартизированным системным программным обеспечением. Ошибка джиттера часов уменьшается вдвое, если часы прерываются при каждом пересечении нуля, а не при каждом цикле.

Часы также обычно составляли основу программных цепей синхронизации компьютеров; например, обычно это был таймер, используемый для переключения задач в операционной системе. Счетные таймеры, используемые в современных компьютерах, предоставляют аналогичные функции с меньшей точностью и могут соответствовать их требованиям к часам этого типа. (Например, в PDP-8 сначала появились сетевые часы, модель DK8EA, а затем последовали кварцевые часы, DK8EC.)

Программные часы необходимо настраивать каждый раз при включении компьютера. Первоначально этим занимались операторы компьютеров. Когда Интернет стал обычным явлением, для автоматической установки часов этого типа стали использоваться сетевые протоколы времени .

Смотрите также

Рекомендации

  1. ^ Ала-Паавола, Яакко (16 января 2000 г.). «Проект исходного кода часов реального времени на основе программных прерываний для микроконтроллера PIC». Архивировано из оригинала 17 июля 2007 г. Проверено 23 августа 2007 г.
  2. ^ Включение функции хронометража и продление срока службы батареи в системах малой мощности, NXP Semiconductors, 2011 г.
  3. ^ US 5893044  Часы реального времени для быстрого сбора сигналов GPS.
  4. ^ Новые часы реального времени PCF2123 устанавливают новый рекорд энергоэффективности, будущее
  5. ^ Примечание по применению 3816, Maxim/Dallas Semiconductor, 2006 г.
  6. Торрес, Габриэль (24 ноября 2004 г.). «Введение и литиевая батарея». Замена батареи материнской платы . hardwaresecrets.com. Архивировано из оригинала 24 декабря 2013 года . Проверено 20 июня 2013 г.
  7. ^ ab Примечание по применению 10337 , ST Microelectronics, 2004, стр. 2
  8. ^ Примечание по применению U-502, Texas Instruments, 2004, стр. 13
  9. ^ Примечание по применению 1994 г., Maxim/Dallas Semiconductor, 2003 г.
  10. ^ «Максим ДС3231м» (PDF) . ООО «Максим» . Проверено 26 марта 2019 г.
  11. ^ «Высокоточные часы реального времени». Максим Полупроводники . Проверено 20 октября 2017 г.
  12. Драун, Дэн (3 февраля 2017 г.). «RTC-сравнение».
  13. ^ "Атомные часы в масштабе чипа" . Микросеми . Проверено 20 октября 2017 г.
  14. ^ «Часы реального времени/информация о дополнительной ОЗУ металлооксид-полупроводник (RT/CMOS)» . Технический справочник IBM PC AT (PDF) . Международная корпорация бизнес-машин. 1984. с. Системная плата 1–45.
  15. ^ MC146818A ЧАСЫ РЕАЛЬНОГО ВРЕМЕНИ ПЛЮС ОЗУ (RTC) (PDF) . Моторола Инк., 1984 г.
  16. ^ «CMOS RTC — часы реального времени и память (порты 70h и 71h) :: HelpPC 2.10 — краткий справочник :: NetCore2K.net» . helppc.netcore2k.net .
  17. ^ «Технические характеристики южного моста ULi M1573» . AMDboard.com . Проверено 23 августа 2007 г.
  18. ^ 82430FX Набор данных PCISET
  19. ^ «Синхронизация часов GPS» . Оролия. 9 декабря 2020 г. Проверено 6 января 2021 г.
  20. ^ «Продукт: USB-радиочасы» . Мейнбург . Проверено 20 октября 2017 г.
  21. ^ «Календарные приложения». Военно-морская обсерватория США . ВМС США. Архивировано из оригинала 4 апреля 2016 г. Проверено 7 ноября 2019 г.
  22. ^ IBM (сентябрь 1968 г.), Принципы работы IBM System/360 (PDF) , восьмое издание, A22-6821-7Пересмотрено IBM (12 мая 1970 г.), там же. , ГН22-0354и IBM (8 июня 1970 г.), там же. , ГН22-0361
  23. ^ Digital Equipment Corp. «Справочник по малому компьютеру PDP-8/E, 19» (PDF) . Исследования Гибсона. стр. 7–25, DK8EA . Проверено 12 ноября 2016 г.

Внешние ссылки