Раздел: Документация
0 ... 140 141 142 143 144 145 146 ... 195 Блок контроля адреса (Address Match Unit) Блок контроля адреса проверяет принятый адрес на соответствие значению, находящемуся в старших семи битах регистра адреса TWAR. Также он проверяет наличие общих вызовов, если разрешено их распознавание. При обнаружении корректного адреса он информирует об этом блок управления, который формирует или не формирует подтверждение получения адресного пакета. Контроль адресных пакетов осуществляется блоком даже при нахождении микроконтроллера в «спящем» режиме, что позволяет перевести микроконтроллер в рабочий режим в случае адресации его ведущим устройством. Формат регистра TWAR показан на Рис. 11.10, а описание его битов приведено в Табл. 11.4.
Чтение(Н)/Запись(\ЛО R/W R/W R/W R/W R/W R/W R/W R/W Начальное значение 11111110 Рис. 11.10. Формат регистра TWAR Таблица 11.4. Биты регистра адреса TWAR
В моделях 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 О
Чтением/Запись) 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.
Чтением/Запись) R/W R/W R/W R/WRR/WRR/W Начальное значение 00000000 Рис 11.13. Формат регистра TWCR Таблица 11.5. Биты регистра управления TWCR
0 ... 140 141 142 143 144 145 146 ... 195
|