Главная » 2015 » Август » 29 » Часы реального времени на DS3231
18:56
Часы реального времени на DS3231

Сверхточные RTC со встроенными I2C интерфейсом, TCXO и резонатором.

DS3231 - высокоточные часы реального времени (RTC) со встроенными I2C интерфейсом, термокомпенсированным кварцевым генератором (TCXO) и кварцевым резонатором. Прибор имеет вход для подключения резервного автономного источника питания, позволяющего осуществлять хронометрирование и измерение температуры даже при отключенном основном напряжении питания. Встроенный кварцевый резонатор повышает срок службы прибора и уменьшает необходимое количество внешних элементов. DS3231 доступен в модификациях с коммерчески и индустриальным рабочим температурным диапазоном и упакован в 300 mil 16 контактный SO корпус. Корпус достаточно крупный, но если учитывать что внутри уже имеется кварц, да еще и температурно компенсируемый, то с размерами тут все отлично.

RTC обеспечивает отсчет секунд, минут, часов, дней недели, дней месяца и года. Дата конца месяца определяется автоматически с учетом високосного года. Часы реального времени работают в 24 или 12- часовом формате с индикацией текущей половины суток (AM/PM). Прибор имеет два ежедневных будильника и два выхода - на 32 кГц (выход составляет 32.768 кГц) и программируемый выход от 1 Гц до 8.192 кГц. Имеется также вывод сброса - RST. Обмен данными с прибором ведется через встроенный последовательный I2C совместимый интерфейс.

Прецизионный термокомпенсированный источник опорного напряжения и схема сравнения отслеживают напряжение основного питания VCC и при его снижении ниже заданного порога формируют сигнал сброса и осуществляют перевод схемы на работу от резервного источника питания. Дополнительный вывод RST может использоваться для внешнего сброса.

Отличительные особенности:

    Точность ±2 ppm в диапазоне температур от 0°C до +40°C
    Точность ±3.5 ppm в диапазоне температур от-40°C до +85°C
    Вход для подключения автономного источника питания, позволяющего обеспечить непрерывную работу
    Рабочий температурный диапазон

        коммерческий: от 0°C до +70°C
        индустриальный: -от 40°C до +85°C

    Низкое потребление
    Часы реального времени, отсчитывающие секунды, минуты, часы, дни недели, дни месяца, месяц и год с коррекцией високосного года вплоть до 2100
    Два ежедневных будильника
    Выход прямоугольного сигнала с программируемой частотой
    Быстродействующие (400 кГц) I2C интерфейс
    3.3 В питание
    Цифровой температурный датчик с точностью измерения ±3°C
    Регистр, содержащий данные о необходимой подстройке
    Вход/выход сброса nonRST

Применение:

    Серверы, Электронные электросчетчики, Телематическая аппаратура,  GPS системы

Типовая схема включения DS3231

 

 

 

 

Расположение выводов DS3231

 

 

 

Документация на микросхему DS3231 от  Dallas и документация  на DS3231 от Maxim

Что важно знать при работе с такой микросхемой часов реального времени, так это как же извлечь из нее данные или записать их туда. Часы имеют интерфейс I2C. Для того чтобы осуществить запись данных (а это нужно и для того чтобы прочитать данные) нужно передать условие старта (эти команды осуществляются по средствам аппаратного или программного I2C для микроконтроллера), далее передать адрес микросхемы с битом записи, далее передать адрес регистра к которому будем обращаться и далее передать в этот регистр байт данных, если следом передать еще байт данных, он запишется в следующий регистр и так далее. По окончании нужно передать условие остановки. Графическое изображение выше сказанного на рисунке:

Запись данных необходима для первоначальной настройки, а также для настройки текущего времени. Далее нам нужно постоянно получать данные о текущем времени и даты. Для этого необходимо осуществлять чтение из регистров хранения этой информации. Чтение состоит из двух процедур - установить указатель на нужный регистр и прочитать его. Чтобы установить указатель на нужный регистр, нужно передать условие старта, потом передать адрес микросхемы с битом записи и байт с адресом регистра. Далее либо условие остановки и следом условие старта, либо просто рестарт. Теперь вторая процедура - непосредственно чтение из регистров. Старт передан, далее нужно отправить адрес микросхемы с битом чтения и далее считывать регистры в необходимом количестве, по окончании передать условие остановки. Если информация из регистра была прочитана, то указатель автоматически переходит на следующий за ним регистр без лишних действий со стороны микроконтроллера (мастер устройства). На рисунке проиллюстрировано все выше сказанное относительно чтения регистров по средствам I2C интерфейса:

 

 

 

 

 

RTC DS3231 имеются в продаже в виде модулей с необходимой обвязкой, к примеру модуль RTC с дополнительной микросхемой EEPROM AT24C32 (32Кб) и с установленной батарейкой CR2032.

 

 

 

 

 

 

Подключение часов реального времени к Ардуино.

SCL и SDA — это выводы интерфейса I2C. Их и нужно подключать к контроллеру.

SCL и SDA на разных платах расположены на разных выводах:

Uno, Nano A4 (SDA), A5 (SCL)
Mega2560 20 (SDA), 21 (SCL)
Leonardo 2 (SDA), 3 (SCL)

VCC и GND — +5 В и земля соответственно. Выводы 32К и SQW можно пока проигнорировать, в данной статье их назначение не рассматривается.

Работать с модулем часов реального времени удобней всего с помощью библиотеки. После скачивания, поместите содержимое архива в папку libraries, которая находится в папке со средой разработки Arduino. Запустите среду Arduino IDE и откройте стандартный пример библиотеки rtc_ds3231.

 Эта библиотека реализует следующие функции:

- Чтение / запись текущего времени, и обоих будильников.

- Чтение регистра температуры и регистров управления / состояния

После загрузки скетча в плату запустите монитор порта (Сервис->монитор порта).

С помощью команд выполненной в формате "TssmmhhWDDMMYYYY" (к примеру T355421613082015) можно установить текущее время. А по команде "C" можно получить текущую температуру микросхемы DS3231. Остальные команды прописаны в теле скетча и не должны вызвать затруднений.

 

 

 

 

 

Категория: Электроника | Просмотров: 4194 | Добавил: graftsv | Теги: RTC, DS3231
Всего комментариев: 0
avatar