19. Двухпроводной интерфейс TWI
19.1. Отличительные особенности
- Состоит из двух полностью независимых ведущего и подчиненного модулей
- Может работать в роли ведущего (мастера) или подчиненного узла шины, а также с мультимастерными шинами
- Совместимость с интерфейсом I2C (Phillips)
- Совместимость с SMBus
- Поддержка частот синхронизации 100 кГц и 400 кГц при низкочастотной системной синхронизации
- Выходные драйверы с ограниченной скоростью фронтов импульсов
- Входной фильтр обеспечивает подавления шума
- Аппаратное распознавание 7-битного адреса, а также команды общего вызова
- Регистр маски адреса для маскирования адреса или для обнаружения совпадения двух адресов
- Поддержка 10-битной адресации
- Опциональное программное распознавание адреса обеспечивает неограниченное количество подчиненных адресов
- Подчиненный узел может работать в экономичных режимах МК, в т.ч. POWER DOWN
- Арбитраж между передачами условия START (или REPEATED START) и бит данных (SMBus)
- Поддержка протокола разрешения адресов (ARP) в ходе арбитража подчиненных устройств (SMBus)
19.2. Обзор
Двухпроводной интерфейс (TWI) - двунаправленная двухпроводная последовательная шина передачи данных, совместимая со стандартными шинами I2C и SMBus.
Устройство, подключенное к шине, должно быть либо ведущим, либо подчиненным. Ведущее устройство инициирует передачу данных путем передачи адреса подчиненного устройства и типа передачи: чтение или запись. Если к шине подключено несколько ведущих устройств и некоторая их часть одновременно инициировала передачу, применяется механизм арбитража, который учитывает приоритет этих устройств.
Модуль TWI микроконтроллеров XMEGA может работать и в роли ведущего, и в роли подчиненного устройства. Ведущая и подчиненная работа полностью отделены друг от друга и предусматривают отдельное управление включением/отключением. Для этих функций также предусмотрены отдельные регистры управления и статуса, а также векторы прерываний. Потеря арбитража, ошибки, коллизии и удержание линии синхронизации обнаруживаются на аппаратном уровне и индицируются отдельными флагами статуса для ведущего и подчиненного режимов.
Ведущий модуль содержит программируемый генератор скорости связи. Даже при синхронизации системы низкими частотами, поддерживается возможность работы шины на частоте 100 и 400 кГц. При необходимости автоматического выполнения операций и снижения сложности программы могут быть разрешены команды QUICK и режим SMART.
В подчиненном модуле на аппаратном уровне реализована возможность распознавания 7-битного адреса и адреса общего вызова. Также поддерживается 10-битная адресация. Предусмотренный регистр маски адреса может выступать в роли второго регистра сравнения, если требуется обнаружение двух подчиненных адресов, или регистра маски, если требуется обнаружение адресов, принадлежащих заданному диапазону.
Логика подчиненного модуля продолжает работать во всех экономичных режимах работы МК, в т.ч. POWER DOWN. Благодаря этому, подчиненный модуль способен возобновить активную работу МК при обнаружении совпадения адреса. При необходимости программного слежения за адресами, аппаратную функцию обнаружения совпадения адреса можно отключить. Потребность в этом может возникнуть, когда необходимо обнаруживать несколько различных адресов и реагировать на них. При необходимости автоматического выполнения действий и снижения сложности программы можно задействовать режим SMART.
Модуль TWI содержит логику контроля состояния шины, которая накапливает информацию для обнаружения условий START и STOP, коллизий и ошибок шины. С её помощью можно определить состояние шины в ведущем режиме (IDLE, OWNER, BUSY или UNKNOWN). Логика контроля состояния шины продолжает работать даже в экономичных режимах МК, в т.ч. POWER DOWN.
При необходимости подключения к внешнему драйверу шины по 4-проводному интерфейсу, внутренние драйверы модуля TWI можно отключить.
|