mirror of
https://github.com/IoTManagerProject/IoTManager.git
synced 2026-03-26 22:22:16 +03:00
197 lines
27 KiB
Plaintext
197 lines
27 KiB
Plaintext
Модуль часов реального времени 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 ДАЖЕ ЕСЛИ ЭТО НЕ ИМЕЕТ ЭФФЕКТА.
|
||
|