RTC — часы реального времени
Часы реального времени — модуль, который отсчитывает время, пока микроконтроллер спит. Он тактируется от медленного и экономичного генератора — обычно часового кварца 32768 Гц — и периодически будит процессор или хранит дату и время.
Обновлено Редакция GAW
RTC (real-time clock, часы реального времени) — модуль микроконтроллера, который отсчитывает время независимо от процессора и продолжает работать в режимах сна. Его тактируют от медленного экономичного генератора — обычно часового кварца 32768 Гц. Число выбрано не случайно: 32768 = 215, и пятнадцатиразрядный двоичный делитель даёт ровно один импульс в секунду. Конденсаторы для такого кварца подбирает калькулятор нагрузочных конденсаторов.
Встречаются два вида RTC. Пример — MSP430 по документации TI:
| Модуль | Что умеет | Пример |
|---|---|---|
| Счётчик RTC | 16-битный счётчик с регистром модуля и предделителем ÷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 мкА.
Источники
- 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; прерывание при совпадении
- Texas Instruments. MSP430FR596x, MSP430FR594x Mixed-Signal Microcontrollers (SLAS704G, revised August 2018) — RTC с календарём и будильником; LPM3.5 с RTC — 0,25 мкА типично при кварце 3,7 пФ
- Texas Instruments. MSP430FR2433 Mixed-Signal Microcontroller (SLASE59F, revised December 2019) — 16-битный счётчик RTC; LPM3 с RTC — 1,13 мкА при 25 °C и 3 В, LPM3.5 с RTC и кварцем — 0,73 мкА
Нашли ошибку?