Микросхемы часов реального времени RTC — назначение, виды и примеры использования

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

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

Что это такое

RTC (real time clock, рус. часы реального времени) — это вид микросхем, предназначенных для отсчета времени в «реальных» единицах (секунды, минуты, часы и т.д.).

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

Точность отсчета как раз и зависит от качества и точности настройки внутреннего генератора или внешнего кварцевого резонатора. При этом точность кварца и RTC соответственно, указывается не в герцах и не в процентах, а в «ppm», например ±12 ppm, ±50 ppm. Это расшифровывается, как Parts Per Million, т. е. количество миллионных частей от какой-то средней величины.

Часы реального времени могут быть реализованы на базе микроконтроллеров, однако, использование специальных чипов позволяет снизить энергопотребление, поскольку большинство микроконтроллеров даже в спящем режиме (или режиме пониженного энергопотребления) потребляют больше энергии чем специальные интегральные микросхемы (ИМС). RTC могут быть и встроенными в сам микроконтроллер (как в STM32).

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

Классификация

Классификация микросхем RTC может отличаться от производителя к производителю. Наиболее распространены часы реального времени таких производителей, как: Maxim Integrated и STMicroelectronics. На рынке есть микросхемы и других компаний:

  • Intersil Corporation (д.к. Renesas Electronics);

  • Cymbet (линейка EnerChip™ RTC, отличительная особенность — встроенная твердотельная батарея);

  • NXP (RTC с календарем, с поддержкой протоколов I2C или SPI)

  • Zilog;

  • Epson;

  • ON semiconductor.

Компания Maxim Integrated в качестве основного критерия для классификации микросхем RTC использует тип интерфейса управления, а именно:

1. Микросхемы RTC с последовательным интерфейсом управления: I2C, 3-wire, SPI.

2. С параллельным интерфейсом управления:

  • с мультиплексированной шиной «адрес/данные»;

  • с разделенными шинами адреса и данных;

  • с однопроводным интерфейсом 1-wire.

Можно классифицировать и по формату представления данных:

  • Календарный. В виде шаблона YY-MM-DD для даты и HH-MM-SS для времени время и другие их форматы;

  • Бинарный. В виде непрерывного двоичного счетчика единиц времени (секунд или их долей).

В зависимости от назначения микросхемы в схеме устройства и выбирается её тип, если ИМС с календарным представлением — она будет выполнять функцию обычных часов, а в случае с бинарным — для таких применений, как отчеты периодов времени, например срока действии лицензии, гарантийного срока или в устройства для учета чего-либо (например, электросчетчиках), например в каталоге Maxim Integrated они называются «Elapsed Time Counter» — счетчик прошедшего времени, пример такой ИМС — DS1683.

В других случаях микросхемы часов реального времени могут классифицироваться по функционалу или другим характеристикам:

  • Наличие встроенного генератора или необходимо использовать внешний генератор (кварцевый).

  • По наличию встроенного источника питания или возможности использования внешней батареи.

  • По типу и объёму внутренней памяти и протоколам связи с «внешним» миром (описывались выше).

  • По наличию фантомного (phantom) интерфейса для доступа к внутренним регистрам микросхемы (для настройки, установки режимов или считыванию значений).

  • Другие функции: сторожевой таймер (watchdog), будильника (alarm), секундный выход, контроль питания, возможность зарядки внешней батареи и пр.

И, наконец, многие производители классифицируют свои устройства по уровню энергопотребления, в среднем потребляемый ток лежит в пределах от 200 до 1500 нА, но может и выходить из этого диапазона в зависимости от конкретной ИМС и производителя.

Применение в радиолюбительской практике

Часы реального времени нередко используются в паре с такими популярными платформами для разработки и прототипирования, как семейство Arduino, и при разработке устройств на любых других микроконтроллерах, а также микрокомпьютерах семейства Raspberry Pi и подобные .

Сегодня промышленность выпускает модули с RTC, в виде отдельной печатной платы или шилда. Преимущество такого вида модулей состоит в том, что нет необходимости разводить плату и распаивать микросхему, обвязку, держатель батареи питания и прочее.

Их удобно использовать как для готовых устройств, так и в макетах — вы можете использовать перемычки со штекерами и разъёмами типа Dupont, если установить на модуль гребенку для их подключения, или припаять провода прям к пятакам на плате (смотрите — Советы по быстрой сборке схем на макетных платах ).

В среде ардуинщиков и современных самодельщиков наибольшее распространение получили микросхемы часов реального времени компании Maxim Integrated и модули на их базу, а именно:

  • DS1302;

  • DS1307;

  • DS3231.

Их отличия приведены в таблице ниже.

Как видите, все из них поддерживают связь с микроконтроллером по шине I2C, а DS1302 и по SPI, хотя в даташите сказано «простой 3-проводной последовательный интерфейс, подходящий для большинства микроконтроллеров». И может подключаться не только к 10-13 пинам Ардуино , на которых назначены выводы шишны SPI, но и к други, установленным в скетче, схемы будут ниже. Даташиты на эти ИМС со всеми техническими данными прилагаем к статье.

Даташиты на микросхемы реального времени:

Arduino UNO поддерживает оба этих протокола, что вы можете увидеть на схеме ниже (помечено фиолетовым и серым цветом для SPI и I2C соответственно).

Как и Raspberry pi.

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

Для того чтобы Arduino работала с RTC нужна библиотека, но так как её нет в стандартном пакете Arduino IDE, её нужно скачать. В сети есть библиотеки для каждой из рассмотренных ИМС, а есть и универсальные, что выбрать, и какая будет удобнее решать уже вам.

Универсальную библиотеку прилагаем — iarduino_rtc.zip . Отметим, что в ней задаётся вручную тип ИМС, а для DS1302 и выводы, к которым она подключена:

include // Подключаем библиотеку
iarduino_RTC time(RTC_DS3231); // Создаём объект time, для ИМС DS3231
iarduino_RTC time(RTC_DS1307); // ДЛЯ DS1307
iarduino_RTC time(RTC_DS1302, RST, CLK, DAT); // для DS1302.
// Вместо RST, CLK и DAT номера пинов ардуино,
// к которым подключены соответствующие пины модуля часов

Схема для DS1302, еще раз напомним, что выводы могут быть другими:

А вот линия данных DS1307 и DS3231 подключается только к пинам A5 и A4 Arduino UNO (для других ревизий и версий платы смотрите распиновку).

Заключение

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

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

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

admin

Share
Published by
admin

Recent Posts

Консоль удаленного рабочего стола(rdp console)

Клиент удаленного рабочего стола (rdp) предоставляет нам возможность войти на сервер терминалов через консоль. Что…

2 месяца ago

Настройка сети в VMware Workstation

В VMware Workstation есть несколько способов настройки сети гостевой машины: 1) Bridged networking 2) Network…

2 месяца ago

Логи брандмауэра Windows

Встроенный брандмауэр Windows может не только остановить нежелательный трафик на вашем пороге, но и может…

2 месяца ago

Правильный способ отключения IPv6

Вопреки распространенному мнению, отключить IPv6 в Windows Vista и Server 2008 это не просто снять…

2 месяца ago

Ключи реестра Windows, отвечающие за параметры экранной заставки

Параметры экранной заставки для текущего пользователя можно править из системного реестра, для чего: Запустите редактор…

2 месяца ago

Как управлять журналами событий из командной строки

В этой статье расскажу про возможность просмотра журналов событий из командной строки. Эти возможности можно…

2 месяца ago