Конструкция часов реального времени (RTC Design) представляет собой микросхему, которая обеспечивает правильную дату и время даже при отключении питания. Это важный компонент для устройств IoT, промышленной автоматизации и других приложений, где точное отслеживание времени имеет решающее значение. С помощью стандартной технологии CMOS сложно разработать собственную конструкцию RTC, поскольку вся необходимая логика глубоко запрятана в стандартных библиотеках ячеек.
Даже при наличии готовых решений от сторонних поставщиков сложно найти конструкции, подходящие для ваших конкретных нужд, особенно если вы работаете с ограниченным бюджетом и хотите свести к минимуму количество внешних компонентов. Но не позволяйте этим трудностям помешать вам! В этой статье вы узнаете, как создать простой, но эффективный RTC, используя только общие компоненты и некоторые базовые навыки программирования.
Основы часов реального времени
Часы реального времени — это система, которая точно отслеживает дату и время, даже когда устройство выключено. RTC — это простой чип со встроенным генератором и несколькими регистрами памяти для хранения даты, времени и других связанных данных. Чип можно запрограммировать так, чтобы он отслеживал время даже при выключенном питании. Это важный компонент для устройств Интернета вещей, промышленной автоматизации и других приложений, где точное отслеживание времени имеет важное значение.
RTC — не новость: люди используют их в компьютерах с 1970-х годов. Но они по-прежнему актуальны сегодня, благодаря требованиям современных вычислений. Каждая компьютерная система имеет несколько часов, которые отслеживают различные вещи, такие как точная последовательность инструкций, количество выполненных инструкций и прохождение времени.
Что вам понадобится
— Микроконтроллер — для этой конструкции мы будем использовать простой 8-разрядный микроконтроллер, но вы также можете использовать 32-разрядный процессор. Вам понадобится микроконтроллер с генератором, точность которого составляет от 10 до 20 кГц.
— Кварцевый генератор — это устройство создает очень точный такт, который можно использовать в качестве главного тактового генератора для микроконтроллера.
— Микросхема RTC — мы выберем очень распространенную микросхему, которая имеет встроенный календарь (часы реального времени) и функцию будильника.
— Конденсатор — Конденсатор используется для выравнивания напряжения, подаваемого на RTC.
— Резистор — Резистор используется для ограничения тока, подаваемого на RTC.

Выбор микросхемы RTC
Чтобы создать часы реального времени, вам нужно найти микросхему RTC, которая соответствует требованиям вашего проекта. Лучший способ сделать это — составить таблицу со всей необходимой информацией из технических паспортов нескольких микросхем RTC. Вам нужно найти микросхему RTC со следующими характеристиками:
— Низкое напряжение питания — RTC будет питаться от того же напряжения (3 В или 5 В), что и ваш микроконтроллер. Напряжение питания должно быть от 2 до 5 вольт.
— Низкий ток питания — RTC должен потреблять как можно меньше тока от микроконтроллера. Это поможет продлить срок службы батареи в устройствах, питающихся от батареи. В идеале потребление тока должно быть менее 10 микроампер.
— Встроенный календарь — это сэкономит ваше время при создании кода для вашего проекта.
Проектирование RTC в коде
Если вы создаете новый проект RTC, вам нужно будет написать код, который инициализирует оборудование и настроит RTC. Даже если вы создаете проект на основе существующего, вам нужно будет добавить код, который считывает RTC и отображает время.
— Начните с аппаратного обеспечения: подключите кварцевый резонатор, конденсатор и RTC к микроконтроллеру. Также подключите правильный вывод прерывания к RTC.
— Настройте обработчик прерываний: обработчик прерываний — это код, который запускается, когда RTC посылает сигнал микроконтроллеру.
— Настройте RTC: вам нужно будет запрограммировать RTC с правильным временем и датой. RTC будет отслеживать эту информацию и отправлять эти данные микроконтроллеру один раз в секунду.

Добавление отображения часов реального времени
Самый простой способ отобразить время на вашем устройстве — добавить несколько светодиодов дисплея и код для их мигания. Для этого достаточно добавить один или два светодиода. Яркость светодиодов будет зависеть от используемого микроконтроллера и от того, насколько ярким вы хотите сделать дисплей.
Ограничивающие факторы в данной конструкции RTC
Эта конструкция имеет некоторые ограничения. Вот основные из них, о которых следует помнить:
— При первом включении RTC может быть немного неточным. Это нормально, и в течение первого дня точность постепенно улучшится. При создании проекта с RTC вы можете предоставить пользователю возможность установить время и дату для устройства.
— RTC будет отслеживать время только при включенном питании устройства. Это нормально и ожидаемо.
— RTC не предназначен для точного отслеживания даты. Он может отслеживать дату в течение нескольких дней, но после этого дата станет неверной.
Подведение итогов
Теперь, когда вы знаете основы проектирования RTC, можете приступить к разработке собственного проекта. Мы описали лучшие практики для создания RTC-проекта, который будет простым в реализации и точным. Помните, что хотя проектирование собственного RTC может показаться сложной задачей, это не невозможно! Найдите подходящую микросхему, выберите правильные компоненты, составьте схему и напишите код — и вы будете на пути к созданию собственного RTC-проекта.




