stringtranslate.com

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

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

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

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

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

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

Цель

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

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

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

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

Литиевая батарея внутри ИС часов реального времени

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

Сроки

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

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

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

Примеры

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

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

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

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

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

Радио RTC

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

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

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

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

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

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

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

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

Исторические RTC

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

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

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

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

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

Ссылки

  1. ^ Ала-Паавола, Яакко (2000-01-16). "Проект исходного кода часов реального времени на основе программного прерывания для микроконтроллера PIC". Архивировано из оригинала 2007-07-17 . Получено 2007-08-23 .
  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 Application Note 10337 , ST Microelectronics, 2004, стр. 2
  8. ^ Замечание по применению U-502, Texas Instruments, 2004, стр. 13
  9. ^ Замечание по применению 1994 г., Maxim/Dallas Semiconductor, 2003 г.
  10. ^ "Maxim DS3231m" (PDF) . Maxim Inc . Получено 26 марта 2019 .
  11. ^ "Highly Accurate Real-Time Clocks". Maxim Semiconductors . Получено 20 октября 2017 г.
  12. Drown, Dan (3 февраля 2017 г.). «Сравнение RTC».
  13. ^ "Chip Scale Atomic Clock". Microsemi . Получено 20 октября 2017 г. .
  14. ^ "Real-time Clock/Complementary Metal Oxide Semiconductor (RT/CMOS) RAM Information". IBM PC AT Technical Reference (PDF) . International Business Machines Corporation. 1984. стр. Системная плата 1–45.
  15. ^ MC146818A ЧАСЫ РЕАЛЬНОГО ВРЕМЕНИ ПЛЮС ОЗУ (RTC) (PDF) . Motorola Inc. 1984.
  16. ^ "CMOS RTC - Часы реального времени и память (порты 70h и 71h) :: HelpPC 2.10 - Утилита быстрого доступа :: NetCore2K.net". helppc.netcore2k.net .
  17. ^ "Характеристики южного моста ULi M1573". AMDboard.com . Получено 2007-08-23 .
  18. ^ Набор данных 82430FX PCISET
  19. ^ "Синхронизация часов GPS". Safran (ранее Orolia). 9 декабря 2020 г. Получено 6 января 2021 г.
  20. ^ "Продукт: USB Radio Clock". Meinburg . Получено 20 октября 2017 г.
  21. ^ "Calendrical Applications". Военно-морская обсерватория США . ВМС США. Архивировано из оригинала 2016-04-04 . Получено 7 ноября 2019 .
  22. ^ IBM (сентябрь 1968 г.), IBM System/360 Principles of Operation (PDF) , восьмое издание, A22-6821-7Пересмотрено IBM (12 мая 1970 г.), там же , GN22-0354и IBM (8 июня 1970 г.), там же , GN22-0361
  23. ^ Digital Equipment Corp. "PDP-8/E Small Computer Handbook, 19" (PDF) . Gibson Research. стр. 7–25, DK8EA . Получено 12 ноября 2016 г. .

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