Преимущество RTC в том, что контроллер нужен только для отправки данных на индикатор, весь счет времени идет внутри RTC, а нам остается только считывать время из ячеек, эти микросхемы также имеют таймер, будильник и вырабатывают прерывание для внешних устройств.
Существует множество микросхем RTC. Это такие как DS1994 и DS1904 выпускаемые фирмой Dallas Semiconductor. Их отличительной особенностью является способ представления времени. Сами часы выполнены как двоичный счётчик с разрешением 1/256 с. Минуты, часы, дни, годы вычисляются из числа секунд, прошедших от условно выбранной даты.
Также есть RTC компании ST, содержащие минимум необходимого для непрерывной выдачи в систему реального времени. К таким устройствам относятся микросхемы M41T0 и M41T80. Они содержат полный набор счетчиков времени и учитывают особенности високосных лет. К дополнительным возможностям этих устройств относятся программируемый сигнал аварии с функцией обработки прерываний, программируемый выходной меандр и отдельный вывод сигнала с частотой 32 кГц, используемый как эталонный входной сигнал для тактовых генераторов других микросхем. Имея такие возможности, данные микросхемы покрывают потребности приложений в значительной части потребительского рынка.
Мы же с своей работе выбираем RTC фирмы Dallas Semiconductor, упомянутой ранее, DS1307.
Характеристики
часы реального времени (RTC) отсчитывают секунды, минуты, часы, дату месяца, месяц, день недели и год с компенсацией високосного года, действительной до 2100 года;
56-байтовое энергонезависимое ОЗУ с питанием от батареи для хранения пользовательских данных;
двухпроводной последовательный интерфейс;
программируемый выходной сигнал с прямоугольными импульсами (для тактирования внешних устройств);
автоматическое обнаружение падения напряжение и схема переключения на батарею;
потребление менее 500 нА в режиме батарейной поддержки при работающем тактовом генераторе;
промышленный диапазон температур: от - 40 °C до + 85 °C;
микросхема производится в 8-выводных корпусах DIP и SOIC.
Классификация- 8-выводный DIP (300 миллидюймов - 7.62 мм)Z - 8-выводный SOIC (150 миллидюймов - 3.81 мм)N - 8-выводный DIP (промышленный)ZN - 8-выводный SOIC (промышленный)
Расположение выводов
DS1307 8-выводный DIP (300 миллидюймов)
DS1307 8-выводный SOIC (150 миллидюймов)
Назначение выводов- первичный источник питания;, X2 - подключение 32.768 кГц кварцевого резонатора;- вход батареи +3 В;- общий минус;- последовательные данные;- последовательные синхроимпульсы;/OUT - выходной сигнал с прямоугольными импульсами.
Описание
Часы реального времени с последовательным интерфейсом DS1307 - это малопотребляющие полные двоично-десятичные часы-календарь, включающие 56 байтов энергонезависимой статической ОЗУ. Адреса и данные передаются последовательно по двухпроводной двунаправленной шине. Часы-календарь отсчитывают секунды, минуты, часы, день, дату, месяц и год. Последняя дата месяца автоматически корректируется для месяцев с количеством дней меньше 31, включая коррекцию високосного года. Часы работают как в 24-часовом, так и в 12-часовом режимах с индикатором AM/PM. DS1307 имеет встроенную схему наблюдения за питанием, которая обнаруживает перебои питания и автоматически переключается на питание от батареи. Для измерения времени в качестве задающего генератора используется кварцевый резонатор частотой 32.768 кГц.
Типовая схема включения
Работана последовательной шине работает как ведомое устройство. Доступ к нему достигается установкой условия START и передачей устройству идентификационного кода, за которым следует адрес регистра. К следующим за ним регистрам доступ осуществляется последовательно, пока не будет выполнено условие STOP.
Если VCC падает ниже 1.25 * VBAT, DS1307 прерывает процесс доступа и сбрасывает счётчик адреса, причем в это время внешние сигналы не воспринимаются (чтобы предотвратить запись ошибочных данных).
Если VCC падает ниже VBAT, DS1307 переключается в низкоточный режим батарейной поддержки.
При включении питания DS1307 переключается от батареи к Vcc, когда значение Vcc превышает VBAT + 0.2 В. Входящие сигналы начинают восприниматься тогда, когда Vcc превышает 1.25 * VBAT.
Блок-схема на рисунке 8 показывает основные
элементы RTC с последовательным интерфейсом.
Рис. 8. Блок-схема DS1307
Описание выводов, GND - на эти выводы подается питание.- это вход +5 В. Когда питающее напряжение выше 1.25 * VBAT, устройство полностью доступно, и можно выполнять чтение и запись данных. Когда к устройству подключена батарея на 3 В, и VCC ниже, чем 1.25 * VBAT, чтение и запись запрещены, однако функция отсчёта времени продолжает работать. Как только VCC падает ниже VBAT, ОЗУ и RTC переключаются на батарейное питание VBAT.- вход для любой стандартной трёхвольтовой литиевой батареи или другого источника энергии. Для нормальной работы DS1307 необходимо, чтобы напряжение батареи было в диапазоне 2.0... 3.5 В. Литиевая батарея с ёмкостью 48 мА/ч или более при отсутствии питания будет поддерживать DS1307 в течение более 10 лет при температуре 25°C.(Serial Clock Input - вход последовательных синхроимпульсов) - используется для синхронизации данных по последовательному интерфейсу.(Serial Data Input/Output - вход/выход последовательных данных) - вывод входа/выхода для двухпроводного последовательного интерфейса. Вывод SDA - с открытым стоком и требует внешнего подтягивающего резистора./OUT (Square Wave/Output Driver - сигнал с прямоугольными импульсами) - когда включен, т.е. бит SQWE установлен в 1, вывод SQW/OUT выдаёт прямоугольные импульсы с одной из четырёх частот (1 Гц, 4 кГц, 8 кГц, 32 кГц). Вывод SQW/OUT - с открытым стоком и требует внешнего подтягивающего резистора. SQW/OUT будет работать как при питании от VCC, так и при питании от VBAT., X2 - выводы для стандартного кварцевого резонатора с частотой 32.768 кГц.и карта адресации памяти
Карта адресов для RTC и регистров ОЗУ
представлена на рисунке 9. Регистры RTC расположены в ячейках адресов от 00h до
07h. Регистры ОЗУ расположены в ячейках адресов от 08h до 3Fh. В процессе
многобайтного доступа, когда адресный указатель достигает 3Fh (конец
пространства ОЗУ), он перемещается на ячейку 00h - начало пространства RTC.
Рис. 9. Карта адресов DS1307
Часы и календарь
Информация от часов и календаря получается чтением соответствующих байтов регистра. Регистры RTC показаны на рисунке 10. Время и календарь устанавливаются или инициализируются записью соответствующих байтов регистра. Содержимое регистров времени и календаря имеет двоично-десятичный формат. Бит 7 регистра 0 - это бит останова часов (clock halt - CH). Когда этот бит установлен в 1, тактовый генератор выключен. Когда сброшен в 0, - тактовый генератор включен.
Имейте в виду, что при включении питания начальное состояние всех регистров не определено. Поэтому необходимо принудительно включать тактовый генератор (бит CH = 0) во время начальной инициализации.может работать и в 12-часовом, и в 24-часовом режимах. Бит 6 регистра часов отвечает за выбор 12- или 24-часового режима. Когда он установлен в 1, выбран 12-часовой режим. В этом режиме бит 5 - это бит AM/PM, при этом высокий логический уровень означает PM. В 24-часовом режиме бит 5 - это бит второго десятка часов (20 - 23 часа).
При появлении на двухпроводной шине условия START,
текущее время копируется во второй набор регистров. Информация о времени
читается из этих вспомогательных регистров, в то время как часы могут
продолжать работать. Это устраняет необходимость перечитывать регистры DS1307 в
случае обновления их содержимого во время чтения.
Рис. 10. Регистры хронометра DS1307
Управляющий регистр
Управляющий регистр используется для управления
работой вывода SQW/OUT. Биты управляющего регистра представлены в таблице 1.
Таблица 1. Биты управляющего регистра
|
БИТ 7 |
БИТ 6 |
БИТ 5 |
БИТ 4 |
БИТ 3 |
БИТ 2 |
БИТ 1 |
БИТ 0 |
|
OUT |
0 |
0 |
SQWE |
0 |
0 |
RS1 |
RS0 |
(Output control - управление выходом) - этот бит
управляет логическим уровнем на выводе SQW/OUT, когда выход сигнала с
прямоугольными импульсами отключен. Если SQWE = 0, то логический уровень на
выводе SQW/OUT равен 1, если OUT = 1, и 0, если OUT = 0.(Square Wave Enable -
включение сигнала с прямоугольными импульсами) - когда этот бит установлен в 1,
включается генерация прямоугольных импульсов. Их частота зависит от значения
битов RS0 и RS1. (Если частота выходного сигнала установлена в 1Гц, регистры
часов обновляются по заднему фронту этих импульсов).(Rate Select - выбор
частоты) - эти биты управляют частотой прямоугольных импульсов, когда бит
SQWE=1. В таблице 2 приведены частоты, которые можно выбрать с помощью битов
RS.
Таблица 2. Частота выхода SQW
|
RS1 |
RS0 |
Частота |
|
0 |
0 |
1 Гц |
|
0 |
1 |
4.096 кГц |
|
1 |
0 |
8.192 кГц |
|
1 |
1 |
32.768 кГц |
Приложение Б
ATmega8, ATmega8L
-разрядные микроконтроллеры с 8 Кбайтами внутрисистемно программируемой Flash памяти
Отличительные особенности:
-разрядный высокопроизводительный AVR микроконтроллер с малым потреблением
Прогрессивная RISC архитектура
высокопроизводительных команд, большинство команд выполняется за один тактовый цикл
8-разрядных рабочих регистра общего назначения Полностью статическая работа
Приближающаяся к 16 MIPS (при тактовой частоте 16 МГц) производительность
Встроенный 2-цикловый перемножитель
Энергонезависимая память программ и данных
8 Кбайт внутрисистемно программируемой Flash памяти (In-System Self-Programmable Flash)
Обеспечивает 1000 циклов стирания/записи
Дополнительный сектор загрузочных кодов с независимыми битами блокировки
Обеспечен режим одновременного чтения/записи (Read-While-Write)
байт EEPROM
Обеспечивает 100000 циклов стирания/записи
Кбайт встроенной SRAM
Программируемая блокировка, обеспечивающая защиту программных средств пользователя
Встроенная периферия
Два 8-разрядных таймера/счетчика с отдельным предварительным делителем, один с режимом сравнения
Один 16-разрядный таймер/счетчик с отдельным предварительным делителем и режимами захвата и сравнения
Счетчик реального времени с отдельным генератором
Три канала PWM
-канальный аналого-цифровой преобразователь (в корпусах TQFP и MLF)
каналов с 10-разрядной точностью
канала с 8-разрядной точностью
-канальный аналого-цифровой преобразователь (в корпусе PDIP)
канала с 10-разрядной точностью
канала с 8-разрядной точностью
Байт-ориентированный 2-проводный последовательный интерфейс
Программируемый последовательный USART
Последовательный интерфейс SPI (ведущий/ведомый)
Программируемый сторожевой таймер с отдельным встроенным генератором
Встроенный аналоговый компаратор
Специальные микроконтроллерные функции
Сброс по подаче питания и программируемый детектор кратковременного снижения напряжения питания
Встроенный калиброванный RC-генератор
Внутренние и внешние источники прерываний
Пять режимов пониженного потребления: Idle, Power-save, Power-down, Standby и снижения шумов ADC
Выводы I/O и корпуса
программируемые линии ввода/вывода
-выводной корпус PDIP, 32-выводной корпус TQFP и 32-выводной корпус MLF
Рабочие напряжения
,7 - 5,5 В (ATmega8L)
,5 - 5,5 В (ATmega8)
Рабочая частота
- 8 МГц (ATmega8L)
- 16 МГц (ATmega8)
Блок-схема:
Рис. 11. Блок-схема микроконтроллера AtMega8
Рис. 12. Расположение выводов в различных
корпусах МК AtMega8
Приложение В
Вам представлен RS-232(COM) программатор совместимый с PonyProg и имеющий 10 пиновый ICSP разъём STKxxx.
Характеристики:
Подключение к ПК через RS-232 (через переходники USB - RS-232 не работает!)
Не требует внешнего питания
Использует Atmel-овский 2x5 пиновый ICSP разъём
Габариты 45x30 мм (1.7x1.2") + 20 см (8") кабель
Программируемые микросхемы:S1200, AT90S2313, AT90S2323,S2343, AT90S4414, AT90S4434,S8515, AT90S8535, AT90S2323,S2343, AT90S2333, AT90S4433,S4434, AT90S8535, AT90S8534,, ATmega161, ATmega163,, ATmega128, ATmega8,, ATmega64, ATtiny12 and ATtiny15
Схема программатора
Рис. 13. Принципиальная схема внутрисхемного программатора
Рис. 14. Распиновка разъёма
программатора
Рис.15. Схема платы с панелькой для AtMega8