Перейти к содержанию

RTC — часы реального времени

Часы реального времени — модуль, который отсчитывает время, пока микроконтроллер спит. Он тактируется от медленного и экономичного генератора — обычно часового кварца 32768 Гц — и периодически будит процессор или хранит дату и время.

Обновлено Редакция GAW

RTC (real-time clock, часы реального времени) — модуль микроконтроллера, который отсчитывает время независимо от процессора и продолжает работать в режимах сна. Его тактируют от медленного экономичного генератора — обычно часового кварца 32768 Гц. Число выбрано не случайно: 32768 = 215, и пятнадцатиразрядный двоичный делитель даёт ровно один импульс в секунду. Конденсаторы для такого кварца подбирает калькулятор нагрузочных конденсаторов.

Встречаются два вида RTC. Пример — MSP430 по документации TI:

МодульЧто умеетПример
Счётчик RTC16-битный счётчик с регистром модуля и предделителем ÷1…÷1024; прерывание через заданное число тиковMSP430FR2433 (SLAU445, гл. 15)
RTC с календарёмсекунды, минуты, часы, дата и будильник аппаратноRTC_B в MSP430FR5969

Счётчик RTC MSP430 по SLAU445 может тактироваться от кварца XT1 (около 32 кГц), от внутреннего генератора VLO (около 10 кГц) или от системных тактов SMCLK и ACLK. Он работает во всех режимах, кроме LPM4.5, а в экономичном режиме LPM3.5 — только от XT1 или VLO. Такой режим — типичный сценарий батарейного датчика: микроконтроллер спит, RTC раз в несколько секунд будит его на измерение. По даташиту MSP430FR2433 потребление в LPM3.5 с RTC и кварцем — 0,73 мкА.

Внешние микросхемы RTC с собственной батарейкой ставят, когда время нужно хранить при полностью выключенном устройстве. Режимы LPM3.5 и LPM4.5 описаны на странице «MSP430 с FRAM».

Частые вопросы

Зачем часам реального времени кварц 32768 Гц?

Потому что 32768 = 2^15: пятнадцатиразрядный двоичный делитель превращает частоту кварца ровно в один импульс в секунду, а сам кварц на этой частоте потребляет очень мало. У MSP430 источником счётчика RTC может быть и внутренний генератор VLO около 10 кГц — без кварца, но заметно менее точно.

Чем счётчик RTC отличается от RTC с календарём?

Счётчик RTC в MSP430FR2433 по SLAU445 — 16-битный счётчик с регистром модуля: он вызывает прерывание через заданное число тиков, а время программа считает сама. RTC_B в MSP430FR5969 ведёт календарь и будильник аппаратно — секунды, минуты, часы, даты — и тоже работает в режиме сна.

Работает ли RTC в режиме сна?

Для этого он и нужен. Счётчик RTC MSP430 по SLAU445 работает во всех режимах, кроме LPM4.5, а в LPM3.5 — от кварца XT1 или генератора VLO. По даташиту MSP430FR2433 в LPM3.5 с RTC и кварцем потребление — 0,73 мкА.

Источники

  1. Texas Instruments. MSP430FR4xx and MSP430FR2xx Family User's Guide (SLAU445I, revised March 2019) — гл. 15 — счётчик RTC: 16-битный счётчик с регистром модуля, работает во всех режимах кроме LPM4.5; источники XT1CLK (около 32 кГц), VLOCLK (около 10 кГц), SMCLK или ACLK; в LPM3.5 — только XT1CLK или VLOCLK; предделитель ÷1, 10, 100, 1000, 16, 64, 256, 1024; прерывание при совпадении
  2. Texas Instruments. MSP430FR596x, MSP430FR594x Mixed-Signal Microcontrollers (SLAS704G, revised August 2018) — RTC с календарём и будильником; LPM3.5 с RTC — 0,25 мкА типично при кварце 3,7 пФ
  3. Texas Instruments. MSP430FR2433 Mixed-Signal Microcontroller (SLASE59F, revised December 2019) — 16-битный счётчик RTC; LPM3 с RTC — 1,13 мкА при 25 °C и 3 В, LPM3.5 с RTC и кварцем — 0,73 мкА

Нашли ошибку?