Протокол интерфейса
Настройка и управление Tibbit #64-1 выполняются через несколько регистров. Общие регистры влияют на работу Tibbit в целом, а регистры каналов влияют только на соответствующие каналы.
Общие регистры
| Имя регистра | Адрес регистра | Размер (байт) | R/W | Описание |
| I2C_ADDR | 0x00 | 1 | R/WP | Адрес периферии I²C Tibbit, по умолчанию 0xB0. Регистр хранится в энергонезависимой памяти Tibbit и защищён от записи. |
| ID | 0x01 (MSB) 0x02 (LSB) | 1 | R/WP | Идентификатор Tibbit, который можно изменить на любое значение, по умолчанию 0x641. Регистр хранится в энергонезависимой памяти Tibbit и защищён от записи. |
| LOCK | 0x03 | 1 | R/W | Определяет, заблокированы ли регистры, защищённые от записи. Если значение регистра 0x00, регистры, защищённые от записи (WP), изменить нельзя. Чтобы разрешить запись в защищённые регистры, измените значение на 0xAA. Регистр хранится в ОЗУ Tibbit. Сброс или перезапуск питания модуля очищает этот регистр и блокирует все защищённые от записи регистры. |
| FW_VERSION | 0x04 (MSB) 0x05 (LSB) | 2 | R | Версия прошивки Tibbit, которая начинается с 64. |
| SIGNATURE | 0x06 (MSB) 0x07 (LSB) | 2 | R/W | Используется как сигнатура для проверки обмена данными. Её значение 0xAA55. |
| FRQ_RNG | 0x08 | 1 | R/W | Определяет диапазон частот выхода всех каналов. Доступные варианты:
Если этот регистр содержит значение, отличное от этих трёх, диапазон будет установлен 5кГц ~ 20кГц. Примечание: запись в этот регистр сбрасывает частоту каждого канала до значения по умолчанию и отключает все выходы. |
| RESERVED | 0x09 | 1 | R/W | Зарезервировано для будущего использования. |
| RESERVED | 0x0A | 1 | R/W | Зарезервировано для будущего использования. |
R = только чтение, R/W = чтение и запись, R/WP = чтение и запись с защитой (для записи регистр LOCK нужно изменить на 0xAA)
Регистры каналов
| Имя регистра | Адрес регистра | Размер (байт) | R/W | Описание |
| CH1_FRQ | 0x0B (MSB) 0x0C (LSB) | 2 | R/W | Частота канала 1. Допустимые значения: целые числа от 1 до 5 000, а также значения от 5 000 до 20 000, кратные 100. Запись значения больше 20 000 или целого числа от 5 000 до 20 000, не кратного 100, переводит канал в состояние неисправности. Значение по умолчанию зависит от диапазона частот:
Запись 0 в этот регистр постоянно отключает выход канала. Это эквивалентно коэффициенту заполнения 0% и постоянно выключенному выходу. |
| CH1_DUTY_CYCLE | 0x0D | 1 | R/W | Коэффициент заполнения канала 1. Значение по умолчанию - 50. Допустимые значения: целые числа от 0 до 100. Запись 0 в этот регистр отключает выход канала, даже если он был включён. Запись значения больше 100 отключает выход канала и вызывает неисправность. |
| CH1_ENABLE | 0x0E | 1 | R/W | Определяет, включён ли выход канала 1. Значение по умолчанию 0x00 - канал отключён. Запись любого значения, отличного от 0, включает канал. Запись 0x00 в этот регистр перекрывает любые другие функции, например установку частоты в 0. |
| CH1_FAULT | 0x0F | 1 | R | Регистр неисправности канала 1. Значение по умолчанию 0x00 - неисправности нет. Если регистр содержит 0x01, для канала задана частота вне допустимого диапазона. Например, если частота канала 1 установлена вне диапазона, заданного FRQ_RNG. Это же значение возвращается, если указана частота выше 5кГц, не кратная 100. Если регистр содержит 0x02, регистры частоты этого канала были записаны в неправильном порядке. Если регистр содержит 0x03, коэффициент заполнения, заданный для канала, выходит за допустимый диапазон (0% ~ 100%). При неисправности Tibbit отключает выход канала и ожидает исправления ошибки конфигурации. Когда все проблемы устранены, значение регистра возвращается к 0x00. |
| CH2_FRQ | 0x10 (MSB) 0x11 (LSB) | 2 | R/W | Частота канала 2. Допустимые значения: целые числа от 1 до 5 000, а также значения от 5 000 до 20 000, кратные 100. Запись значения больше 20 000 или целого числа от 5 000 до 20 000, не кратного 100, переводит канал в состояние неисправности. Значение по умолчанию зависит от диапазона частот:
Запись 0 в этот регистр постоянно отключает выход канала. Это эквивалентно коэффициенту заполнения 0% и постоянно выключенному выходу. |
| CH2_DUTY_CYCLE | 0x12 | 1 | R/W | Коэффициент заполнения канала 2. Значение по умолчанию - 50. Допустимые значения: целые числа от 0 до 100. Запись 0 в этот регистр отключает выход канала, даже если он был включён. Запись значения больше 100 отключает выход канала и вызывает неисправность. |
| CH2_ENABLE | 0x13 | 1 | R/W | Определяет, включён ли выход канала 2. Значение по умолчанию 0x00 - канал отключён. Запись любого значения, отличного от 0, включает канал. Запись 0x00 в этот регистр перекрывает любые другие функции, например установку частоты в 0. |
| CH2_FAULT | 0x14 | 1 | R | Регистр неисправности канала 2. Значение по умолчанию 0x00 - неисправности нет. Если регистр содержит 0x01, для канала задана частота вне допустимого диапазона. Например, если частота канала 2 установлена вне диапазона, заданного FRQ_RNG. Это же значение возвращается, если указана частота выше 5кГц, не кратная 100. Если регистр содержит 0x02, регистры частоты этого канала были записаны в неправильном порядке. Если регистр содержит 0x03, коэффициент заполнения, заданный для канала, выходит за допустимый диапазон (0% ~ 100%). При неисправности Tibbit отключает выход канала и ожидает исправления ошибки конфигурации. Когда все проблемы устранены, значение регистра возвращается к 0x00. |
| CH3_FRQ | 0x15 (MSB) 0x16 (LSB) | 2 | R/W | Частота канала 3. Допустимые значения: целые числа от 1 до 5 000, а также значения от 5 000 до 20 000, кратные 100. Запись значения больше 20 000 или целого числа от 5 000 до 20 000, не кратного 100, переводит канал в состояние неисправности. Значение по умолчанию зависит от диапазона частот:
Запись 0 в этот регистр постоянно отключает выход канала. Это эквивалентно коэффициенту заполнения 0% и постоянно выключенному выходу. |
| CH3_DUTY_CYCLE | 0x17 | 1 | R/W | Коэффициент заполнения канала 3. Значение по умолчанию - 50. Допустимые значения: целые числа от 0 до 100. Запись 0 в этот регистр отключает выход канала, даже если он был включён. Запись значения больше 100 отключает выход канала и вызывает неисправность. |
| CH3_ENABLE | 0x18 | 1 | R/W | Определяет, включён ли выход канала 3. Значение по умолчанию 0x00 - канал отключён. Запись любого значения, отличного от 0, включает канал. Запись 0x00 в этот регистр перекрывает любые другие функции, например установку частоты в 0. |
| CH3_FAULT | 0x19 | 1 | R | Регистр неисправности канала 3. Значение по умолчанию 0x00 - неисправности нет. Если регистр содержит 0x01, для канала задана частота вне допустимого диапазона. Например, если частота канала 1 установлена вне диапазона, заданного FRQ_RNG. Это же значение возвращается, если указана частота выше 5кГц, не кратная 100. Если регистр содержит 0x02, регистры частоты этого канала были записаны в неправильном порядке. Если регистр содержит 0x03, коэффициент заполнения, заданный для канала, выходит за допустимый диапазон (0% ~ 100%). При неисправности Tibbit отключает выход канала и ожидает исправления ошибки конфигурации. Когда все проблемы устранены, значение регистра возвращается к 0x00. |
R = только чтение, R/W = чтение и запись