Модуль часов реального времени RX-8025 SA/NB: НАЗНАЧЕНИЕ ВЫВОДОВ: +-------+-----+----------------------------------------------------------------------------------------------------------------------------------------------+ | Вывод | I/O | Назначение: | +-------+-----+----------------------------------------------------------------------------------------------------------------------------------------------+ | SCL | I | Линия тактирования шины I2C. | | SDA | I/O | Линия данных шины I2C. | +-------+-----+----------------------------------------------------------------------------------------------------------------------------------------------+ | FOUT | O | Выход тактового сигнала (32,768 кГц), работает при наличии 1 на выводе FOE. Если на FOE уровень 0 или OPEN, то FOUT=0. | | FOE | I | Вход управления выводом FOUT. Если FOE=1 то FOUT=32.768кГц. Если FOE=0 то FOUT=0. Вывод FOE толерантен к 5.5В, он внутрисхемно прижат к GND. | +-------+-----+----------------------------------------------------------------------------------------------------------------------------------------------+ | /INTA | O | N-канальный выходом с открытым стоком, предназначен для вывода прерываний будильника Alarm_D и периодических прерываний. | | /INTB | O | N-канальный выходом с открытым стоком, предназначен для вывода прерываний будильника Alarm_W. | +-------+-----+----------------------------------------------------------------------------------------------------------------------------------------------+ | TEST | − | Вывод используется производителем для тестирования. Обязательно подключите к Vcc. | | VDD | − | Vcc от +1.7В до +5.5В, номинально 3.0В. | | GND | − | GND. | | N.C. | − | На чипе RX-8025NB контакты N.C. соеденены друг с другом. Оставьте их неподключёнными или подключите все к Vcc или все к GND. | +-------+-----+----------------------------------------------------------------------------------------------------------------------------------------------+ ЛОГИЧЕСКИЕ УРОВНИ: Vin 0 = 0В...0,2Vcc Vin 1 = 0,8Vcc...5,5В ФУНКЦИИ МОДУЛЯ: 1) ТЕКУЩЕЕ ВРЕМЯ: Модуль позволяет устанавливать, синхронизировать и отображать данные, включая год (последние две цифры), месяц, дату, день, час, минуту и ​​секунду. Любой (двузначный) год, кратный 4, считается високосным и рассчитывается автоматически до 2099 года. 2) ФУНКЦИЯ РЕГУЛИРОВКИ ТОЧНОСТИ ЧАСОВ: Точность часов можно отрегулировать вперед или назад изменив частоту с кварца 32,768 кГц с шагом ±3,05 × 10^–6. Для регулировки требуется записать в регистр Digital Offset знаковое значение в 7-битном двоичном коде (от −62 до +63). На предделитель часов поступит частота = 32768 Гц - DigitalOffset * 3,05 × 10^–6. Примечание: Можно настроить только точность часов. Настройки не влияют на выходной сигнал 32,768 кГц с вывода FOUT. 3) ФУНКЦИЯ ПЕРИОДИЧЕСКОГО ПРЕРЫВАНИЯ: В дополнение к функции будильника Alarm_D через вывод /INTA могут выводиться периодические прерывания. Периодическое прерывание настраивается битами CT2-CT0 регистра Control-1. При срабатывании прерывания устанавливается флаг CTFG регистра Control-2, а на выводе /INTA устанавливается уровень логического 0. Сброс флага CTFG освобождает вывод /INTA до следующего прерывания. Биты CT2-CT0 позволяют выбрать частоту прерываний: 2 Гц (пол секунды), 1 Гц (ежесекундно), 1/60 Гц (ежеминутно), ежечасно или ежемесячно. 4) ФУНКЦИИ БУДИЛЬНИКА: Модуль оснащен двумя будильниками (Alarm_D и Alarm_W), которые выводят сигнал прерывания (на выводы /INTA, /INTB) при совпадении времени. • Будильник Alarm_W на основе дня недели, часа и минут, выводит сигнал прерывания через вывод /INTB. Будильник позволяет выбрать несколько деней недели. Будильник срабатывает если он включён битом WALE регистра Control-1, при совпадении времени будильника с текущим временем. При срабатывании будильника устанавливается флаг WAFG регистра Control-2, а на выводе /INTB устанавливается уровень логического 0. Сброс флага WAFG освобождает вывод /INTB до следующего прерывания. Если для будильника установить текущее время, то он сработает не немедленно, а при следующем совпадении времени. Для установки нового времени будильника рекомендуется его отключить WALE=0, установить время будильника Alarm_W Minute/Hour/Day, сбросить прерывание будильника WAFG=0, включить будильник WALE=1. • Будильник Alarm_D использует только часы и минуты, выводит сигнал прерывания через вывод /INTA. Будильник срабатывает если он включён битом DALE регистра Control-1, при совпадении времени будильника с текущим временем. При срабатывании будильника устанавливается флаг DAFG регистра Control-2, в на выводе /INTA устанавливается уровень логического 0. Сброс флага DAFG освобождает вывод /INTA до следующего прерывания. Если для будильника установить текущее время, то он сработает не немедленно, а при следующем совпадении времени. Для установки нового времени будильника рекомендуется его отключить DALE=0, установить время будильника Alarm_D Minute/Hour, сбросить прерывание будильника DAFG=0, включить будильник DALE=1. 5) ФУНКЦИЯ ОБНАРУЖЕНИЯ ОСТАНОВКИ КОЛЕБАНИЙ: При обнаружении остановки колебаний устанавливается флаг /XST регистра Control-2 (активный уровень 0) и остаётся в таком состоянии до его сброва в 1 по шине I2C. Это позволяет определить, что данные часов стали некорректными. 6) ФУНКЦИЯ ОБНАРУЖЕНИЯ ПАДЕНИЯ МОЩНОСТИ (КОНТРОЛЬ НАПРЯЖЕНИЯ): При снижении Vcc ниже порогового уровня, устанавливается флаг VDET регистра Control-2 и остаётся в таком состоянии до его перезаписи в 0 по шине I2C. Выборка напряжения выполняется один раз в секунду. Пороговый уровень выбирается битом VDSL регистра Control-2, доступны значения 1.3В и 2.1 В. 7) ФУНКЦИЯ ОБНАРУЖЕНИЯ СБРОСА ПРИ ВКЛЮЧЕНИИ ПИТАНИЯ: При подаче питания происходит сброс регистров в значение по умолчанию и установка флага PON регистра Control-2 в значение 1, это значение остается до его перезаписи в 0 по шине I2C. Пока флаг PON установлен в 1, все биты регистров Digital-Offset, Control-1 и Control-2 (кроме PON и /XST) сбрасываются в «0». Это также приводит к остановке прерываний на выводах /INTA и /INTB. Для начала работы необходимо сбросить флаг PON в 0, что перезапустит функцию обнаружения сброса при включении питания. 8) ТАКТОВЫЙ ВЫХОД 32,768 кГц Тактовая частота 32,768 кГц (с точностью, равной точности встроенного кварцевого генератора) может выводиться через вывод с открытым стоком FOUT. Вывод FOUT включается подачей 1 на вход FOE. Если на вход FOE подать 0, то и на выходе FOUT будет 0. 9) ИНТЕРФЕЙС Данные считываются и записываются через интерфейс шины I2C. Максимальная тактовая частота 400 кГц (при Vcc ≥ 1,7 В). КАРТА РЕГИСТРОВ: +-------+-------------------+---------------------------------------------------------------------------------------------------+ |Address| Function | 7 6 5 4 3 2 1 0 | +-------+-------------------+---------------------------------------------------------------------------------------------------+ | 0 | Seconds | (0) S40 S20 S10 S8 S4 S2 S1 | | 1 | Minutes | (0) M40 M20 M10 M8 M4 M2 M1 | | 2 | Hours | (0) (0) H20 P,/A H10 H8 H4 H2 H1 | | 3 | Days | (0) (0) (0) (0) (0) W4 W2 W1 | Так написано в datasheet | | | (0) Сб Пт Чт Ср Вт Пн Вс | А так на самом деле. И модуль не определяет день недели, а тупо его увеличивает после 23:59:59 | 4 | Days | (0) (0) D20 D10 D8 D4 D2 D1 | | 5 | Months | «0» (0) (0) MO10 MO8 MO4 MO2 MO1 | | 6 | Years | Y80 Y40 Y20 Y10 Y8 Y4 Y2 Y1 | +-------+-------------------+---------------------------------------------------------------------------------------------------+ | 7 | Digital Offset | «0» F6 F5 F4 F3 F2 F1 F0 | Значения по умолчанию (с момента установки бита PON) 00000000 +-------+-------------------+---------------------------------------------------------------------------------------------------+ | 8 | Alarm_W Minute | (0) WM40 WM20 WM10 WM8 WM4 WM2 WM1 | | 9 | Alarm_W Hour | (0) (0) WH20 WP,/A WH10 WH8 WH4 WH2 WH1 | | A | Alarm_W Day | (0) WW6 WW5 WW4 WW3 WW2 WW1 WW0 | | B | Alarm_D Minute | (0) DM40 DM20 DM10 DM8 DM4 DM2 DM1 | | C | Alarm_D Hour | (0) (0) DH20 DP,/A DH10 DH8 DH4 DH2 DH1 | +-------+-------------------+---------------------------------------------------------------------------------------------------+ | D | Reserved | - - - - - - - - | +-------+-------------------+---------------------------------------------------------------------------------------------------+ | E | Control-1 | WALE DALE /12,24 • TEST CT2 CT1 CT0 | Значения по умолчанию (с момента установки бита PON) 00000000 | F | Control-2 | VDSL VDET /XST PON • CTFG WAFG DAFG | Значения по умолчанию (с момента установки бита PON) 00?10000 +-------+-------------------+---------------------------------------------------------------------------------------------------+ Осторожно: Бит PON Является битом флага сброса при включении питания. Устанавливается в 1, когда происходит сброс, например, при первоначальном включении питания или при восстановлении после падения напряжения питания. При этом все биты в регистрах Control-1 и Control-2, кроме битов PON и /XST, сбрасываются в 0. Примечание: Пока бит PON не установится в 1 все остальные значения регистров не определены, поэтому обязательно выполните сброс перед использованием модуля. Кроме того, избегайте ввода неверных данных о дате и времени, так как работа часов не гарантируется, если данные о времени неверны. Бит TEST Используется производителем для тестирования. Убедитесь, что для этого бита установлено значение «0». Reserved Регистр с адресом D используется для заводских настроек. Не читайте и не записывайте в этот регистр. Биты «0» Должны быть установлены в 0 при записи. Их значение при чтении будет 0. Биты (0) Доступны только для чтения. Их значение при чтении всегда равно 0. Биты • Являются битами ОЗУ, которые могут содержать любое значение и доступны для чтения/записи. Однако эти биты сбрасываются в 0, когда значение бита PON равно 1. 0) Seconds Регистр счётчика секунд в двоично-десятичном формате (0b X101 1001 = 59сек). 1) Minutes Регистр счётчика минут в двоично-десятичном формате (0b X101 1001 = 59мин). 2) Hours Регистр счётчика часов в двоично-десятичном формате (0b XX01 1001 = 19час). H20 P,/A В 24-часовом формате бит функционирует как H20 В 12-часовом формате бит функционирует как P,/A (0-AM, 1-PM). Формат часов задаёт бит /12,24 регистра Control-1. 3) Days Регистр счётчика дней недели (1-Пн, 6-Сб, 0-Вс). Значение 7-недопустимо. Так написано в datasheet, типа у регистра активны только 3 младших бита формирующих число от 0 до 6. А на самом деле регистр хранит 7 значащих бит. Установленный бит указывает на день недели: 0-бит Вс, 1-бит Пн, 2-бит Вт, ... 6-бит Сб, 7-бит всегда 0. 4) Days Регистр счётчика дней в двоично-десятичном формате (0b XX11 0001 = 31день). 5) Months Регистр счётчика месяцев в двоично-десятичном формате (0b XXX1 0010 = 12мес = декабрь). 6) Years Регистр счётчика лет в двоично-десятичном формате (0b 1001 1001 = 99год). 7) Digital Offset Регистр регулировки точности часов. Хранит знаковое значение в 7-битном двоичном коде (от −62 = 0bX1000010, до +63 = 0bX0111111) Частота поступающая на предделитель = 32768 Гц - DigitalOffset * 3,05 × 10^–6. (32768Гц−62*3,05×10^–6 = 32768Гц+189.1×10^–6) Функция цифрового смещения корректирует количество тактовых импульсов каждые 20 сек. (в 00сек, 20сек и 40сек каждой минуты) Частота на выходе FOUT не изменяется. 8) Alarm_W Minute Регистр минут будильника Alarm_W. Формат хранения данных аналогичен регистру Minutes. 9) Alarm_W Hour Регистр часов будильника Alarm_W. Формат хранения данных аналогичен регистру Hours. WH20 WP,/A В 24-часовом формате бит функционирует как WH20 В 12-часовом формате бит функционирует как WP,/A (0-AM, 1-PM). Формат часов задаёт бит /12,24 регистра Control-1. A) Alarm_W Day Регистр дней недели будильника Alarm_W. Позволяет выбрать 1 до 7 дней недели. WW6-WW0 WW1-Пн, WW2-Вт, WW3-ср, WW4-Чт, WW5-Пт, WW6-Сб, WW0-Вс. Если все биты установлены в 0, то будильник Alarm_W выключен. B) Alarm_D Minute Регистр минут будильника Alarm_D. Формат хранения данных аналогичен регистру Minutes. C) Alarm_D Hour Регистр часов будильника Alarm_D. Формат хранения данных аналогичен регистру Hours. DH20 DP,/A В 24-часовом формате бит функционирует как DH20 В 12-часовом формате бит функционирует как DP,/A (0-AM, 1-PM). Формат часов задаёт бит /12,24 регистра Control-1. E) Control-1 Регистр управления 1 WALE Бит разрешения работы будильника Alarm_W. 0 - будильник Alarm_W отключён. 1 - будильник Alarm_W включён, при совпадении времени на выводе /INTB появляется прерывание. DALE Бит разрешения работы будильника Alarm_D. 0 - будильник Alarm_D отключён. 1 - будильник Alarm_D включён, при совпадении времени на выводе /INTA появляется прерывание. /12,24 Бит выбора формата часов текущего времени и будильников. 0 - Часы текущего времени и будильников хранятся в 12-часовом формате. 1 - Часы текущего времени и будильников хранятся в 24-часовом формате. • TEST CT2-CT0 Биты настройки периодического прерывания на выводе /INTA. 000 − Периодическое прерывание отключено, вывод /INTA отключён. 001 − Периодическое прерывание отключено, на выволе /INTA уровень 0. 010 - Периодическое прерывание работает на частоте 2 Гц с коэффициентом заполнения 50%. 011 - Периодическое прерывание работает на частоте 1 Гц с коэффициентом заполнения 50%. 100 - Периодическое прерывание срабатывает в начале каждой секунды. 101 - Периодическое прерывание срабатывает в начале 00 секунды каждой минуты. 110 - Периодическое прерывание срабатывает в начале 00 секунды, 00 минуты каждого часа. 111 - Периодическое прерывание срабатывает в начале 00 секунды, 00 минуты 00 часа каждого первого числа месяца. F) Control-2 Регистр управления 2 VDSL Выбор порогового значения напряжения для функции обнаружения падения мощности. 0 - 2,1 В в качестве порога функции обнаружения падения мощности. 1 - 1,3 В в качестве порога функции обнаружения падения мощности. VDET Флаг функции обнаружения падения мощности. Устанавливается в 1 после падения Vcc ниже порога. Чтение: 0 - Падение мощности не обнаружено. 1 - Обнаружено падение Vcc ниже порогового. Флаг остаётся 1 до его перезаписи в 0 по шине I2C. Запись: 0 - Сброс флага в 0 и перезапуск функции обнаружения падения мощности. 1 - ЗАПРЕЩЕНО! НЕ ЗАПИСЫВАЙТЕ 1 ДАЖЕ ЕСЛИ ЭТО НЕ ИМЕЕТ ЭФФЕКТА. /XST Флаг функции обнаружения остановки колебаний. Чтение: 0 - Обнаружена остановка колебаний. Флаг остаётся 0 до его перезаписи в 1 по шине I2C. 1 - Остановка колебаний не обнаружено. Запись: 0 - ЗАПРЕЩЕНО! НЕ ЗАПИСЫВАЙТЕ 0 ДАЖЕ ЕСЛИ ЭТО НЕ ИМЕЕТ ЭФФЕКТА. 1 - Сброс флага в 1 и перезапуск функции обнаружения остановки колебаний. PON Флаг функции обнаружения сброса при включении питания. Чтение: 0 - Сброс при включении питания не обнаружен. 1 - Обнаружен сброс при включении питания. Флаг остаётся 1 до его перезаписи в 0 по шине I2C. Пока флаг установлен в 1, все биты регистров Digital-Offset, Control-1 и Control-2 (кроме PON и /XST) сбрасываются в «0». Это также приводит к остановке прерываний на выводах /INTA и /INTB. Запись: 0 - Сброс флага в 0 и перезапуск функции обнаружения сброса при включении питания. 1 - ЗАПРЕЩЕНО! НЕ ЗАПИСЫВАЙТЕ 1 ДАЖЕ ЕСЛИ ЭТО НЕ ИМЕЕТ ЭФФЕКТА. • Бит является битом ОЗУ, он может содержать любое значение и доступен для чтения/записи. Бит сбрасывается в 0 если обнаружен сброс при включении питания (PON=1). CTFG Флаг наличия периодического прерывания на выводе /INTA. Чтение: 0 - На выходе /INTA нет сигнала периодического прерывания. 1 - На выходе /INTA установлен сигнал периодического прерывания. Запись: 0 - Сброс флага в 0 и освобождение /INTA до следующего прерывания. Сброс возможен если не поступает очередное прерывание и не срабатывает будильник Alarm_D. 1 - ЗАПРЕЩЕНО! НЕ ЗАПИСЫВАЙТЕ 1 ДАЖЕ ЕСЛИ ЭТО НЕ ИМЕЕТ ЭФФЕКТА. WAFG Флаг будильника Alarm_W. Значение флага актуально если бит WALE регистра Control-1 равен 1. Чтение: 0 - Будильник Alarm_W не сработал или бит WALE регистра Control-1 равен 0. 1 - Сработал будильник Alarm_W. Флаг остаётся 1 до его перезаписи в 0 по шине I2C. Запись: 0 - Сброс флага в 0 и отключение прерывания на выводе /INTB. 1 - ЗАПРЕЩЕНО! НЕ ЗАПИСЫВАЙТЕ 1 ДАЖЕ ЕСЛИ ЭТО НЕ ИМЕЕТ ЭФФЕКТА. DAFG Флаг будильника Alarm_D. Значение флага актуально если бит DALE регистра Control-1 равен 1. Чтение: 0 - Будильник Alarm_D не сработал или бит DALE регистра Control-1 равен 0. 1 - Сработал будильник Alarm_D. Флаг остаётся 1 до его перезаписи в 0 по шине I2C. Запись: 0 - Сброс флага в 0 и отключение прерывания на выводе /INTA. 1 - ЗАПРЕЩЕНО! НЕ ЗАПИСЫВАЙТЕ 1 ДАЖЕ ЕСЛИ ЭТО НЕ ИМЕЕТ ЭФФЕКТА.