Характеристики
- часы реального времени (RTC) отсчитывают секунды, минуты, часы, дату месяца, месяц, день недели и год с компенсацией високосного года, действительной до 2100 года;
- 56-байтовое энергонезависимое ОЗУ с питанием от батареи для хранения пользовательских данных;
- двухпроводной последовательный интерфейс;
- программируемый выходной сигнал с прямоугольными импульсами (для тактирования внешних устройств);
- автоматическое обнаружение падения напряжение и схема переключения на батарею;
- потребление менее 500 нА в режиме батарейной поддержки при работающем тактовом генераторе;
- промышленный диапазон температур: от - 40 °C до + 85 °C;
- микросхема производится в 8-выводных корпусах DIP и SOIC.
Классификация
DS1307 - 8-выводный DIP (300 миллидюймов - 7.62 мм)
DS1307Z - 8-выводный SOIC (150 миллидюймов - 3.81 мм)
DS1307N - 8-выводный DIP (промышленный)
DS1307ZN - 8-выводный SOIC (промышленный)
Расположение выводов
DS1307 8-выводный DIP (300 миллидюймов)
DS1307 8-выводный SOIC (150 милидюймов)
Назначение выводов
VCC - первичный источник питания;
X1, X2 - подключение 32.768 кГц кварцевого резонатора;
VBAT - вход батареи +3 В;
GND - общий минус;
SDA - последовательные данные;
SCL - последовательные синхроимпульсы;
SQW/OUT - выходной сигнал с прямоугольными импульсами.
Описание
Часы реального времени с последовательным интерфейсом DS1307 - это малопотребляющие полные двоично-десятичные часы-календарь, включающие 56 байтов энергонезависимой статической ОЗУ. Адреса и данные передаются последовательно по двухпроводной двунаправленной шине. Часы-календарь отсчитывают секунды, минуты, часы, день, дату, месяц и год. Последняя дата месяца автоматически корректируется для месяцев с количеством дней меньше 31, включая коррекцию високосного года. Часы работают как в 24-часовом, так и в 12-часовом режимах с индикатором AM/PM. DS1307 имеет встроенную схему наблюдения за питанием, которая обнаруживает перебои питания и автоматически переключается на питание от батареи.
Типовая схема включения
Работа
DS1307 на последовательной шине работает как ведомое устройство. Доступ к нему достигается установкой условия START и передачей устройству идентификационного кода, за которым следует адрес регистра. К следующим за ним регистрам доступ осуществляется последовательно, пока не будет выполнено условие STOP.
Если VCC падает ниже 1.25 * VBAT, DS1307 прерывает процесс доступа и сбрасывает счётчик адреса, причем в это время внешние сигналы не воспринимаются (чтобы предотвратить запись ошибочных данных).
Если VCC падает ниже VBAT, DS1307 переключается в низкоточный режим батарейной поддержки.
При включении питания DS1307 переключается от батареи к Vcc, когда значение Vcc превышает VBAT + 0.2 В. Входящие сигналы начинают восприниматься тогда, когда Vcc превышает 1.25 * VBAT.
Блок-схема на Рис. 1 показывает основные элементы RTC с последовательным интерфейсом.
Рис. 1. Блок-схема DS1307
Описание выводов
VCC, GND - на эти выводы подается питание.
VCC - это вход +5 В. Когда питающее напряжение выше 1.25 * VBAT, устройство полностью доступно, и можно выполнять чтение и запись данных. Когда к устройству подключена батарея на 3 В, и VCC ниже, чем 1.25 * VBAT, чтение и запись запрещены, однако функция отсчёта времени продолжает работать. Как только VCC падает ниже VBAT, ОЗУ и RTC переключаются на батарейное питание VBAT.
VBAT - вход для любой стандартной трёхвольтовой литиевой батареи или другого источника энергии. Для нормальной работы DS1307 необходимо, чтобы напряжение батареи было в диапазоне 2.0 ... 3.5 В. Литиевая батарея с ёмкостью 48 мА/ч или более при отсутствии питания будет поддерживать DS1307 в течение более 10 лет при температуре 25°C.
SCL (Serial Clock Input - вход последовательных синхроимпульсов) - используется для синхронизации данных по последовательному интерфейсу.
SDA (Serial Data Input/Output - вход/выход последовательных данных) - вывод входа/выхода для двухпроводного последовательного интерфейса. Вывод SDA - с открытым стоком и требует внешнего подтягивающего резистора.
SQW/OUT (Square Wave/Output Driver - сигнал с прямоугольными импульсами) - когда включен, т.е. бит SQWE установлен в 1, вывод SQW/OUT выдаёт прямоугольные импульсы с одной из четырёх частот (1 Гц, 4 кГц, 8 кГц, 32 кГц). Вывод SQW/OUT - с открытым стоком и требует внешнего подтягивающего резистора. SQW/OUT будет работать как при питании от VCC, так и при питании от VBAT.
X1, X2 - выводы для стандартного кварцевого резонатора с частотой 32.768 кГц. Схема внутреннего тактового генератора разработана для работы с кварцевым резонатором, имеющим входную ёмкость 12.5 пФ.
Более детальную информацию по выбору и расположению кварцевого резонатора вы сможете найти в примере применения № 58 "Рассмотрение кварцевого резонатора для часов реального времени от Dallas" (Application Note 58, "Crystal Considerations with Dallas Real-Time Clocks"). DS1307 также может тактироваться внешним тактовым генератором с частотой 32.768 кГц. В этом случае вывод X1 подключается к сигналу внешнего тактового генератора, а вывод X2 остаётся неподключенным.
Рекомендуемое расположение кварцевого резонатора
Точность часов
Точность часов зависит от точности кварцевого резонатора и точности соответствия между ёмкостной нагрузкой схемы тактового генератора и внутренней ёмкостью кварцевого резонатора. Дополнительная погрешность будет вноситься дрейфом частоты кварцевого резонатора, происходящим из-за температурных перепадов. Помехи и шум внешней схемы могут привести к убыстрению синхронизации.
Более подробную информацию смотрите в примере применения № 58 " Рассмотрение кварцевого резонатора для часов реального времени от Dallas" (Application Note 58, "Crystal Considerations with Dallas Real-Time Clocks"). Дополнительную информацию вы можете посмотреть в примере применения № 95 "Сопряжение DS1307 с 8051-совместимым микроконтроллером" (Application Note 95, "Interfacing the DS1307 with a 8051-Compatible Microcontroller").
RTC и карта адресации памяти
Карта адресов для RTC и регистров ОЗУ представлена на Рис. 2. Регистры RTC расположены в ячейках адресов от 00h до 07h. Регистры ОЗУ расположены в ячейках адресов от 08h до 3Fh. В процессе многобайтного доступа, когда адресный указатель достигает 3Fh (конец пространства ОЗУ), он перемещается на ячейку 00h - начало пространства RTC.
Рис. 2. Карта адресов DS1307
Часы и календарь
Информация от часов и календаря получается чтением соответствующих байтов регистра. Регистры RTC показаны на Рис. 3. Время и календарь устанавливаются или инициализируются записью соответствующих байтов регистра. Содержимое регистров времени и календаря имеет двоично-десятичный формат. Бит 7 регистра 0 - это бит останова часов (clock halt - CH). Когда этот бит установлен в 1, тактовый генератор выключен. Когда сброшен в 0, - тактовый генератор включен.
Имейте в виду, что при включении питания начальное состояние всех регистров не определено. Поэтому необходимо принудительно включать тактовый генератор (бит CH = 0) во время начальной инициализации.
DS1307 может работать и в 12-часовом, и в 24-часовом режимах. Бит 6 регистра часов отвечает за выбор 12- или 24-часового режима. Когда он установлен в 1, выбран 12-часовой режим. В этом режиме бит 5 - это бит AM/PM, при этом высокий логический уровень означает PM. В 24-часовом режиме бит 5 - это бит второго десятка часов (20 - 23 часа).
При появлении на двухпроводной шине условия START, текущее время копируется во второй набор регистров. Информация о времени читается из этих вспомогательных регистров, в то время как часы могут продолжать работать. Это устраняет необходимость перечитывать регистры DS1307 в случае обновления их содержимого во время чтения.
Рис. 3. Регистры хронометра DS1307
Управляющий регистр
Управляющий регистр используется для управления работой вывода SQW/OUT.
БИТ 7 |
БИТ 6 |
БИТ 5 |
БИТ 4 |
БИТ 3 |
БИТ 2 |
БИТ 1 |
БИТ 0 |
OUT |
0 |
0 |
SQWE |
0 |
0 |
RS1 |
RS0 |
OUT (Output control - управление выходом) - этот бит управляет логическим уровнем на выводе SQW/OUT, когда выход сигнала с прямоугольными импульсами отключен. Если SQWE = 0, то логический уровень на выводе SQW/OUT равен 1, если OUT = 1, и 0, если OUT = 0.
SQWE (Square Wave Enable - включение сигнала с прямоугольными импульсами) - когда этот бит установлен в 1, включается генерация прямоугольных импульсов. Их частота зависит от значения битов RS0 и RS1. (Если частота выходного сигнала установлена в 1Гц, регистры часов обновляются по заднему фронту этих импульсов).
RS (Rate Select - выбор частоты) - эти биты управляют частотой прямоугольных импульсов, когда бит SQWE=1. В Таблице 1 приведены частоты, которые можно выбрать с помощью битов RS.
Таблица 1. Частота выхода SQW
RS1 |
RS0 |
Частота |
0 |
0 |
1 Гц |
0 |
1 |
4.096 кГц |
1 |
0 |
8.192 кГц |
1 |
1 |
32.768 кГц |
Двухпроводная последовательная шина данных
DS1307 поддерживает обмен данными по протоколу I2C по двухпроводной двунаправленной шине. Устройство, которое передаёт данные на шину, является передатчиком, а устройство, принимающее данные, - приёмником. Устройство, управляющее передачей данных, называется ведущим. Устройство, которым управляет ведущий, называется ведомым. Ведущее устройство генерирует синхроимпульсы (serial clock - SCL), управляет доступом к шине и генерирует условия START и STOP. DS1307 работает на шине как ведомое устройство. Типовая конфигурация шины с использованием протокола I2C показана на Рис. 4.
Рис. 4. Типовая конфигурация двухпроводной шины
На Рис. 5, 6 и 7 подробно показан процесс передачи данных по двухпроводной шине.
Основные принципы передачи данных по шине I2C:
1) Передача данных может быть инициирована только когда шина свободна.
2) Во время передачи данные на линии SDA могут меняться только когда на линии SCL низкий уровень, в противном случае изменение данных будет интерпретироваться как управляющий сигнал.
Таким образом, возможны следующие состояния шины:
- Шина не занята - на линиях SDA и SCL сохраняется высокий уровень.
- Начало передачи данных (условие START) - изменение состояния линии SDA с высокого на низкий, в то время как на линии SCL высокий уровень.
- Окончание передачи данных (условие STOP) - изменение состояния линии SDA с низкого на высокий, в то время как на линии SCL высокий уровень.
- Корректные данные - состояние линии SDA представляет корректные данные, если после условия START состояние линии SDA не меняется в течение высокого уровня тактового сигнала. Данные на линии должны меняться в течение периода низкого уровня тактового сигнала. На один бит данных приходится один тактовый импульс.
Каждая передача данных инициируется условием START и завершается условием STOP. Число байтов данных, передаваемых между условиями START и STOP, не ограничено и определяется ведущим устройством. Информация передаётся побайтово, и каждый байт приёмник подтверждает девятым битом (бит подтверждения - ACK). В спецификации двухпроводного интерфейса определены обычный режим (с тактовой частотой 100 кГц) и быстрый режим (с тактовой частотой 400 кГц). DS1307 работает только в обычном режиме (100 кГц).
- Подтверждение - каждое принимающее устройство, когда является адресуемым, обязано генерировать подтверждение после приёма каждого байта. Ведущее устройство должно генерировать дополнительный тактовый импульс, который предназначен для бита подтверждения.
Подтверждающее устройство должно подтянуть к низкому уровню линию SDA во время тактового импульса подтверждения таким образом, чтобы на линии SDA оставался стабильный низкий уровень в течение периода высокого уровня тактового импульса, относящегося к подтверждению. Конечно, настройка и времена удержания должны быть приняты во внимание. Ведущий должен сигнализировать ведомому окончание данных, не генерируя бит подтверждения на последнем байте, который был получен от ведомого. В этом случае ведомый должен оставить линию данных в состоянии высокого уровня, чтобы позволить ведущему сгенерировать условие STOP.
* - бит чтения/записи или бит направления
Рис. 5. Передача данных по двухпроводной последовательной шине
В зависимости от состояния бита возможны два типа передачи данных:
1) Передача данных от ведущего передатчика ведомому приёмнику.
Первый байт, передаваемый ведущим, - это адрес ведомого. Далее следует некоторое количество байтов данных. Ведомый возвращает подтверждающий бит после каждого принятого байта. Данные передаются, начиная со старшего бита (most significant bit - MSB).
2) Данные передаются от ведомого передатчика ведущему приёмнику.
Первый байт (адрес ведомого) передаётся ведущим. Ведомый возвращает подтверждающий бит. За ним следует передаваемое ведомым некоторое количество байтов данных. Ведущий возвращает подтверждающий бит после всех принимаемых байтов кроме последнего байта. В конце последнего принятого байта возвращается "неподтверждение". Ведущее устройство генерирует все последовательные синхроимпульсы, а также условия START и STOP. Передача заканчивается условием STOP или повтором условия START. Поскольку повторение условия START также является и началом следующей последовательной передачи, шина не освобождается. Данные передаются, начиная со старшего бита.
DS1307 может работать в следующих двух режимах:
1) Режим ведомого приёмника (режим записи DS1307).
Последовательные данные принимаются по SDA и синхронизируются по SCL. После каждого принятого байта передаётся бит подтверждения. Условия START и STOP распознаются как начало и конец последовательной передачи. Распознавание адреса выполняется аппаратно после приёма адреса ведомого и бита направления (см. Рис. 6).
Байт адреса - это первый байт, принятый после генерации ведущим условия начала. Он содержит 7 битов адреса DS1307, который имеет значение 1101000, и следующий за ним бит направления (), который для записи равен 0. После приёма и декодирования адресного байта DS1307 выдаёт на линию SDA подтверждение, после чего ведущий передаёт в устройство адрес регистра. Это установит регистровый указатель. Затем ведущий начинает передачу байтов данных, каждый из которых будет подтверждаться DS1307. Чтобы завершить запись данных, ведущий генерирует условие окончания.
Рис. 6. Запись данных - режим ведомого приёмника
2) Режим ведомого передатчика (режим чтения DS1307).
Первый байт принимается и обрабатывается так же, как и в режиме ведомого приёмника. Однако в этом режиме бит направления будет указывать, что направление передачи инвертировано. DS1307 передаёт последовательные данные по линии SDA пока на линию SCL поступают последовательные синхроимпульсы. Условия START и STOP распознаются в начале и в конце последовательной передачи (см. Рис. 7).
Байт адреса - первый байт, принимаемый после стартового условия, генерируется ведущим. Байт адреса состоит из 7-битного адреса DS1307, который равен 1101000, и следующего за ним бита направления передачи (), который для чтения равен 1. После приёма и декодирования байта адреса, устройство выдаёт подтверждение на линию SDA. Затем DS1307 начинает передавать данные, начиная с указанного адреса, находящегося в регистровом указателе. Если перед началом чтения указатель регистра не записан, то первый читаемый адрес - это адрес, который был сохранён в нём последним. DS1307 должен принять "неподтверждение" для окончания чтения.
Рис. 7. Чтение данных - режим ведомого передатчика
Абсолютные максимальные значения*
Напряжение на любом выводе относительно земли: от -0.5 В до +7.0 В.
Температура хранения: от -55 °C до +125 °C.
Температура паяния: 260 °C для DIP при 10 секундном воздействии.
Для устройств поверхностного монтажа смотрите JPC/JEDEC стандарт J-STD-020A.
Диапазон |
Температура |
VCC |
Коммерческий |
от 0°C до +70°C |
от 4.5 В до 5.5 В VCC1 |
Промышленный |
от -40°C до +85°C |
от 4.5 В до 5.5 В VCC1 |
*Это только предельные значения, и функционирование устройства при этих или любых более жёстких условиях, чем эти, указанные в разделах работы этого технического описания, не подразумевается. Эксплуатация в условиях абсолютных максимальных значений в течение длительного периода времени может повлиять на надёжность работы устройства.
Рекомендуемые рабочие условия постоянного тока
(Выше рабочего диапазона*)
Параметр |
Обозначение |
Значение |
Единицы
измерения |
Мин. |
Типовое |
Макс. |
Напряжение питания |
VCC |
4.5 |
5.0 |
5.5 |
В |
Логическая 1 |
VIH |
2.2 |
|
VCC + 0.3 |
В |
Логический 0 |
VIL |
– 0.5 |
|
+0.8 |
В |
Напряжении батареи |
VBAT |
2.0 |
|
3.5 |
В
|
*Если не оговорено иначе
Статические электрические характеристики
(Выше рабочего диапазона*)
Параметр |
Обозн-е |
Значение |
Единицы
измерения |
Примеч. |
Мин. |
Типовое |
Макс. |
Ток утечки на входе (SCL) |
ILI |
|
|
1 |
мкА |
|
Ток утечки входа/выхода (SDA и SQW/OUT) |
ILO |
|
|
1 |
мкА |
|
Выход логического 0 (IOL = 5 мА) |
VOL |
|
|
0.4 |
В |
|
Ток активного питания |
ICCA |
|
|
1.5 |
мА |
7 |
Ток в режиме хранения |
ICCS |
|
|
200 |
мкА |
1 |
Ток батареи (OSC вкл.); SQW/OUT выкл. |
IBAT1 |
|
300 |
500 |
нА |
2 |
Ток батареи (OSC вкл.); SQW/OUT вкл. (32 кГц) |
IBAT2 |
|
480 |
800 |
нА |
|
Напряжение сбоя в цепи питания |
VPF |
1.216 x VBAT |
1.25 x VBAT |
1.284 x VBAT |
В |
8 |
*Если не оговорено иначе
Примечания:
1. ICCS указывается при VCC=5.0 В и SDA, SCL = 5.0 В.
2. VCC = 0 В, VBAT = 3 В.
3. После этого периода генерируется первый синхроимпульс.
4. Устройство внутренне должно обеспечивать время удержания по крайней мере 300 нс для сигнала SDA (учитывая параметр VIHMIN сигнала SCL), для того чтобы преодолеть неопределённую область заднего фронта SCL.
5. Максимальное значение tHD:DAT должно появляться только если устройство не растягивает период низкого уровня (tLOW) сигнала SCL.
6. CB – полное ёмкостное сопротивление линии шины в пФ.
7. ICCA – синхронизация SCL на максимальной частоте (100 кГц).
8. VPF измерено при VBAT = 3.0 В.
Рис. 8. Временная диаграмма
|