Трофуненко А.Н. – Индивидуальное задание. Устройство формирования сигнала управления на микросхеме DS1302

Тема магистерской работы: "Разработка и исследование протокола управления для линии переработки ресурсов".
Руководитель: доц. Мальчева Р.В.


Мотивация: практически одновременно возникла необходимость в разработке 2х устройств которые бы работали в зависимости от времени. В одном случае было необходимо формировать импульс сигнала сброса для устройства связи которое регулярно "подвисало", в другом случае было нужно включать двигатель на инкубаторе в заданное время. Наболее подходящей для этих целей микросхемой на тот момент оказалась DS1302. Ее основные достоинства: дешивизна, малое количество выводов необходимых для управления Ее недостатки: необходимость в подключении внешнего кварцевого резонатора, не достаточно ясная техническая документация. Данная работа надеюсь поможет всем, кто при проектировании устройств планирует использовать микросхему DS1302.

Функциональные возможности:

Описание работы устройства: основой данного устройства является микроконтроллер фирмы "Atmel" – AT90S2313 (рис 1.). Функции часов реального времени обеспечивает микросхема DS1302 фирмы "Dallas". Данная микросхема работает в диапазоне от 2.0V до 5.0V и является ТТЛ совместимой. Она содержит: 7 регистров, в которых находятся данные о времени, 31 байт статической памяти. Часовой таймер связывается с контроллером по последовательному 3–Ware интерфейсу. Временные регистры содержат данные о секундах, минутах, часах, дате, месяце и годе. В конце месяца дата корректируется, если в месяце менее 31 дня, также производиться коррекция даты с учетом високосного года. Таймер может работать либо в 12 либо в 24 часовом формате. Три контакта микросхемы DS1302 предназначены для связи микроконтроллером: RST – линия сброса, SCLK – линия синхронизации, I/O – линия данных. К контактам X1, X2 подключается кварцевый резонатор частотой 32,768 kHz. Нагрузочная емкость резонатора должна составлять 6pF. Необходимо заметить, что неправильно подобранный резонатор приведет к неточному подсчету времени. Вариантом решения этой проблемы будет подключение параллельно к резонатору построечной емкости 3–10 pF.

К входу Vcc2 подключается основной источник питания, а к входу Vcc1 резервный. Микросхема DS1302 питается от источника с большим напряжением. Когда Vcc2 больше чем Vcc1 + 0.2V, микросхема запитывается от Vcc2. Когда Vcc2 становиться меньше Vcc1, микросхема питается от Vcc1. Максимальная частота SCLK – 2MHz при 5V, а при 2V составляет 0,5MHz.

Обмен с контроллером производиться одиночными байтами или блоками объемом до 31 байта. Сначала передается адрес команды (командный байт), определяющий к какому из сорока байтов происходит доступ, этот байт также определяет цикл, который будет произведен - цикл чтения или записи.

Любая передача данных начинается с установки входа RST в высокий уровень. Вход RST выполняет 2 функции, во–первых, он включает внутреннюю логику таймера, во–вторых, он предоставляет метод окончания передачи данных при одиночном или пакетном обмене. При записи в DS1302, данные должны быть подготовлены к нарастающему фронту сигнала SCLK и по спадающему фронту они запишутся в таймер. Если на вход RST подан низкий уровень, то контакт I/O переходит в высокоимпендансное состояние. При переключении входа RST в высокий уровень на SCLK должен быть логический ноль. Передача командного байта и данных всегда начинается с бита 0. Прием данных также начинается с бита 0.

ЗАПИСЬ ОДНОГО БАЙТА В ТАЙМЕР
  1. Подать на RST логическую 1.
  2. Выставить на контакте I/O бит для записи.
  3. Сформировать импульс на SCLK.
  4. Повторить операции 2, 3 для записи командного байта и байта данных.
  5. Перевести контакт RST в низкий уровень.







ЧТЕНИЕ ОДНОГО БАЙТА ИЗ ТАЙМЕРА
  1. Подать на RST логическую 1.
  2. Выставить на контакте I/O бит для записи.
  3. Сформировать импульс на SCLK.
  4. Повторять операции 2, 3 для записи командного байта (после записи последнего бита командного байта по спадающему фронту SCLK сразу будет выставлен бит из таймера).
  5. Перевести контакт контроллера который поключен к SCLK в Z состояние.
  6. Считать бит данных.
  7. Сформировать импульс на SCLK.
  8. Повторить 6,7 для считывания остальных бит.
  9. Перевести контакт RST в низкий уровень.

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

Внешний вид устройства

Файлы для загрузки


Литература
  1. Описание микроконтроллера AT90S2313 на русском языке. Перевод с английского: Ю. Андриенко
  2. www.atmel.ru
  3. www.maxim-ic.com
  4. Crystal Considerations with Dallas Real-Time Clocks
  5. Using Maxim RTCs with 3-Wire Interface
  6. Микроэлектронные проекты. Леонид Иванович Ридико. Автомобильные часы-термометр-вольтметр