Files
IoTManager/lib/iarduino_RTC/extras/RX8025.txt

197 lines
27 KiB
Plaintext
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
Модуль часов реального времени 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 ДАЖЕ ЕСЛИ ЭТО НЕ ИМЕЕТ ЭФФЕКТА.