8(495)909-90-01
8(964)644-46-00
pro@sio.su
Главная
Системы видеонаблюдения
Охранная сигнализация
Пожарная сигнализация
Система пожаротушения
Система контроля удаленного доступа
Оповещение и эвакуация
Контроль периметра
Система домофонии
Парковочные системы
Проектирование слаботочных сетей
Аварийный
контроль
Раздел: Документация

0 ... 140 141 142 143 144 145 146 ... 195

Блок контроля адреса (Address Match Unit)

Блок контроля адреса проверяет принятый адрес на соответствие значению, находящемуся в старших семи битах регистра адреса TWAR. Также он проверяет наличие общих вызовов, если разрешено их распознавание. При обнаружении корректного адреса он информирует об этом блок управления, который формирует или не формирует подтверждение получения адресного пакета. Контроль адресных пакетов осуществляется блоком даже при нахождении микроконтроллера в «спящем» режиме, что позволяет перевести микроконтроллер в рабочий режим в случае адресации его ведущим устройством.

Формат регистра TWAR показан на Рис. 11.10, а описание его битов приведено в Табл. 11.4.

7

6

5

4

3

2

1

0

TWA6

TWA5

TWA4

TWA3

TWA2

TWA1

TWA0

TWGCE

Чтение(Н)/Запись(\ЛО R/W R/W R/W R/W R/W R/W R/W R/W Начальное значение 11111110

Рис. 11.10. Формат регистра TWAR

Таблица 11.4. Биты регистра адреса TWAR

Бит

Название

Описание

7...1

TWA6...TWA0

Адрес устройства. В этих битах содержится адрес, на который устройство будет отзываться при работе в режиме ведомого. При работе устройства в режиме ведущего содержимое этих битов безразлично

0

TWGCE

Разрешение распознавания общих вызовов. Если этот бит установлен в 1, устройство будет отзываться на общие вызовы (пакеты с адресом $00) так же, как и на вызовы с адресом, находящимся в битах TWA6...0 регистра. Если бит сброшен в 0, распознавание общих вызовов запрещено

В моделях ATmega48x/88x/168x, ATmegaI64x/324x/644x, ATmega640x и ATmega 1280х/1281х/2560х/2561х помимо регистра адреса TWAR имеется дополнительный регистр маски адреса. При установке какого-либо бита регистра TWAMR в 1 он будет маскировать (аннулировать) значение соответствующего бита регистра адреса TWAR. Другими словами, если бит регистра маски установлен в 1, то сравнение между соответствующими битами содержимого регистра TWAR и принятого адреса не производится. Формат регистра TWAMR приведен на Рис. 11.11, а упрощенная структурная схема блока контроля адреса рассматриваемых моделей приведена на Рис. 11.12.


7 6 5 4 3 2 1 О

TWAM6

TWAM5

TWAM4

TWAM3

TWAM2

TWAM1

TWAMO

-

Чтением/Запись) R/W R/W R/W R/W R/W R/W R/WR

Начальное значение 00000000

Рис. 11.11. Формат регистра TWAMR

TWAR0

Адрес, бит О

TWARO

в-

Компаратор 0-го бита адреса

«Совпадение адреса»

I Компаратор л-го бита адреса J-i

Рис. 11.12. Структурная схема блока контроля адреса

Блок управления (Control Unit)

Этот блок осуществляет управление всем модулем TWI в соответствии с установками регистра управления TWCR и информацией, поступающей ему от остальных блоков модуля. При наступлении определенных событий, указанных ниже, блок управления формирует в регистре состояния TWSR код статуса, соответствующий событию, и устанавливает флаг запроса на прерывание TWINT регистра TWCR. До момента сброса этого флага на линии SCL удерживается НИЗКИЙ уровень, приостанавливая тем самым передачу данных по шине.

Формирование запроса на прерывание осуществляется при возникновении следующих событий:

•окончание формирования состояния СТАРТ/ПОВСТАРТ;

•окончание передачи адресного пакета (SLA+R/W);

•окончание передачи байта адреса;

•потеря устройством приоритета;

•адресация устройства или наличие общего вызова;

•окончание приема байта данных;

•возникновение ошибок на шине, обусловленных недопустимыми условиями формирования состояний СТАРТ/СТОП.


Формат регистра TWCR показан на Рис. 11.13, а описание его битов приведено в Табл. 11.5. Формат регистра TWSR показан на Рис. 11.14, а описание его битов приведено в Табл. 11.6.

7

6

5

4

3

2

1

0

TWINT

TWEA

TWSTA

TWSTO

TWWC

TWEN

-

TWIE

Чтением/Запись) R/W R/W R/W R/WRR/WRR/W

Начальное значение 00000000

Рис 11.13. Формат регистра TWCR

Таблица 11.5. Биты регистра управления TWCR

Бит

Название

Описание

7

TWINT

Флаг прерывания от модуля TWI. Этот флаг устанавливается аппаратно после выполнения очередной операции, когда модуль ожидает отклика со стороны программы. Если установлены флаги I регистра SREG и TWIE регистра TWCR, генерируется прерывание и осуществляется вызов соответствующего обработчика. Пока флаг TWINT установлен, на линии SCL удерживается сигнал НИЗКОГО уровня. Сброс флага может быть осуществлен только записью в него лог. 1

6

TWEA

Разрешение бита подтверждения. Бит TWEA управляет формированием бита подтверждения. Если этот бит установлен в 1, то устройство формирует сигнал подтверждения, когда это необходимо. При сбросе бита в 0, устройство виртуально отключается от шины TWI, т. е. бит подтверждения не формируется

5

TWSTA

Флаг состояния СТАРТ. При записи в бит TWSTA лог. 1 модуль проверяет состояние шины TWI и, если шина свободна, формирует состояние СТАРТ Если шина занята, модуль TWI ожидает появления состояния СТОП и только после этого формирует состояние СТАРТ. Флаг должен сбрасываться программно по окончании формирования состояния СТАРТ

4

TWSTO

Флаг состояния СТОП. В режиме ведущего установка флага TWSTO в 1 приводит к формированию на шине состояния СТОП. Флаг сбрасывается аппаратно по окончании формирования состояния СТОП. Установка флага TWSTO в режиме ведомого может использоваться для выхода из ошибочных ситуаций. После записи в этот бит лог. 1 модуль TWI возвращается в режим неадресованного ведомого, а выводы SCL и SDA устанавливаются в третье состояние. Состояние СТОП, естественно, не формируется

3

TWWC

Флаг конфликта записи. Флаг устанавливается в 1 при попытке записи в регистр TWDR, когда флаг прерывания TWINT сброшен. Флаг сбрасывается при записи в регистр TWDR, когда флаг прерывания TWINT установлен

2

TWEN

Разрешение работы модуля TWI. Бит TWEN управляет работой модуля TWI. При записи в этот бит лог. 1 модуль TWI включается и берет на себя управление контактами ввода/вывода микроконтроллера, соответствующих выводам SCL и SDA. При сбросе бита TWEN в 0 модуль TWI выключается

1

-

Зарезервирован, читается как 0

0

TWIE

Разрешение прерывания от модуля TWI. Если в этом бите записана лог. 1 и флаг I регистра SREG также установлен в 1, то прерывание от модуля TWI разрешено



0 ... 140 141 142 143 144 145 146 ... 195