Раздел: Документация
0 ... 139 140 141 142 143 144 145 ... 195
Блок шинного интерфейса Контроллер состояний СТАРТ/СТОП Контроллер арбитража Сдвиговый регистр адреса/данных (TWDR) АСК Блок контроля адреса Регистр адреса (TWAR) Регистр маски адреса (TWAMR) Компаратор адреса Контроллер скорости передачи Предделитель Регистр скорости передачи (TWBR) Блок управления Регистр состояния (TWSR) Регистр управления (TWCR) Рис. 11.9. Структурная схема модуля TWI Таблица 11.2. Регистры ввода/вывода модуля TWI
Рассмотрим подробнее составные части модуля TWI. Выводы SCL и SDA Используются для подключения модуля к одноименным линиям шины TWI. В соответствии со спецификацией интерфейса TWI выходные каскады, подключенные к выводам, содержат ограничители скорости нарастания сигнала, а входные каскады содержат фильтр, подавляющий паразитные импульсы длительностью менее 50 не. Оба вывода являются линиями портов ввода/вывода микроконтроллеров (Табл. 11.3). Таблица 11.3. Выводы микроконтроллеров, используемые модулем TWI
При использовании указанных выводов микроконтроллера модулем TWI к ним, как и при обычном их использовании, можно подключить внутренние подтягивающие резисторы. Это позволит в ряде случаев обойтись без внешних подтягивающих резисторов, требуемых спецификацией интерфейса TWI. Контроллер скорости передачи (Bit Rate Generator) Этот блок задает период следования импульсов на линии SCL при работе микроконтроллера в режиме ведущего. Для управления скоростью передачи (частотой сигнала SCL) используется регистр TWBR совместно с двумя младшими битами (TWPS1:TWPS0) регистра TWSR. Соответственно, частота формируемого сигнала SCL определяется выражением г /clk 16 + 2- TWBR-А1*™ где/clk — тактовая частота процессора; TWBR — значение, записанное в регистре TWBR; TWPS - значение битов TWPS1:TWPS0 регистра TWSR. И регистр TWBR, и биты TWPS1:TWPS0 регистра TWSR доступны как для чтения, так и для записи в любой момент времени. Для обеспечения корректной работы модуля в качестве ведущего содержимое регистра TWBR в этом режиме должно быть больше 10. При работе в режиме ведомого содержимое указанных битов безразлично, однако тактовая частота микроконтроллера в этом режиме должна быть, как минимум, в 16 раз выше частоты сигнала SCL. Напоминаю, что любое устройство, подключенное к шине TWI, може увеличивать длительность паузы между тактовыми импульсами, снижая, таким образом, скорость передачи данных по шине. Блок шинного интерфейса (Bus Interface Unit) В состав этого блока входят два узла: •контроллер состояний СТАРТ/СТОП — формирует и обнаруживает состояния СТАРТ, ПОВСТАРТ и СТОП. Мониторинг состояния шины ведется даже при нахождении микроконтроллера в «спящем» режиме. Благодаря этому обеспечивается, при необходимости, выход микроконтроллера из «спящего» режима при адресации его каким-либо ведущим; •контроллер арбитража — определяет наличие конфликтов на шине при работе микроконтроллера в режиме ведущего. В случае потери устройством приоритета контроллер информирует об этом блок управления, который производит необходимые действия и формирует соответствующие коды состояния. Кроме того, в состав блока входит сдвиговый регистр адреса/данных TWDR, который содержит данные передаваемого или принимаемого пакета. Одновременно с выдвиганием содержимого регистра на шину данные с нее вдвигаются в этот регистр. Таким образом, почти всегда, за исключением момента выхода микроконтроллера из «спящего» режима, в регистре TWDR содержится последний байт, имевшийся на шине. При включении питания все биты этого регистра устанавливаются в 1. При этом инициализация регистра пользователем может быть осуществлена только после генерации первого прерывания. Помимо регистра TWDR в составе блока имеется специальный регистр, один из битов которого содержит значение переданного или принятого бита подтверждения. При приеме состояние этого бита задается одним из битов регистра управления TWCR, а при передаче состояние полученного бита подтверждения может быть определено по коду, находящемуся в регистре состояния TWSR. 0 ... 139 140 141 142 143 144 145 ... 195
|