Ремонт принтеров, сканнеров, факсов и остальной офисной техники


назад Оглавление вперед




[88]

Условия «СТАРТ» и «СТОП», показанные на рис. 15-3, генерируются ведущим устройством. Под условием «СТАРТ» понимается переход с высокого уровня линии SDA на низкий при высоком уровне на SCL. Под условием «СТОП» понимается переход с низкого уровня на линии SDA на высокий при высоком уровне на SCL. Бит занятости I2CBB устанавливается после условия «СТАРТ» и сбрасывается после условия «СТОП».

Данные на SDA должны быть неизменны в течение периода высокого уровня SCL, как показано на рис. 15-4. Высокий и низкий уровень SDA может изменяться только тогда, когда SCL имеет низкий уровень, в противном случае будет сгенерировано условие «СТАРТ» или «СТОП».

Линия данных , данные , не изменяются

Изменение данных разрешено

Рис. 15-4. Передача бита на шине I2C

15.2.3. Режимы адресации I2C

Модуль I2C поддерживает 7-разрядный и 10-разрядный режимы адресации. 7-разрядная адресация

В 7-разрядном адресном формате, показанном на рис. 15-5, первый байт - это 7-разрядный адрес ведомого и бит R/nonW. Бит ACK посылается приемником после каждого байта.

МГ 7 1 I I 1 Г-8-1 1 Г 8 1 М11

S Адрес ведомого rwACK Данные ACK Данные ACKP

Рис. 15-5. 7-разрядный формат адресации модуля I2C

10-разрядная адресация

В 10-разрядном адресном формате, показанном на рис. 15-6, первый байт содержит 11110b плюс два старших бита 10-разрядного адреса ведомого и бит R/nonW. Бит ACK посылается приемником после каждого байта. Следующий


байт состоит из 8 битов 10-разрядного адреса ведомого, за которым следует бит ACK и 8-разрядные данные.

Ml 7 1 1 I 1 Г 8 1 1 Г 8 1 1 Ml

S 1-ый байт адреса ведомого R/W ACK 12-ой байт адреса ведомого ACKДанные ACK P

1 1 1 1 0 X X

Рис. 15-6. 10-разрядный формат адресации модуля I2C

Повторные условия «СТАРТ»

Направление потока данных на SDA может быть изменено ведущим без первоначального останова переноса, что приведет к повторению условия «СТАРТ». Это вызовет «РЕСТАРТ». После выполнения «РЕСТАРТА» адрес ведомого отправляется снова, но уже с новым направлением данных, заданным битом R/nonW. Условие «РЕСТАРТ» показано на рис. 15-7.

Mr-7-1 1 I1 I-8- 1 Mr-7-1 1 I1 Г-8-1 Ч1!

S Адрес ведомого R/WACK Данные ACK S Адрес ведомого R/W ACK Data ACKP]

U-1-4«- -J l<-1-J<--J

Любое числоЛюбое число

Рис. 15-7. Формат адресации модуля I2C с повторным условием «СТАРТ»

152.4. Режимы работы модуля I2C

Модуль I2C работает в режимах ведущий передатчик, ведущий приемник, ведомый передатчик или ведомый приемник.

Режим ведущего

В режиме ведущего выполнение передачи и приема управляется с помощью битов I2CRM, I2CSTT и I2CSTP, как описано в таблице 15-1. Режимы ведущего передатчика и ведущего приемника показаны на рис. 15-8 и рис. 15-9. Когда после приема или передачи байта необходимо вмешательство ЦПУ, линия SCL удерживается в состоянии низкого уровня.

Таблица 15-1. Функционирование ведущего

Состояние или активность шины

Модуль I2C находится в режиме ведущего, но свободен. Условия «СТАРТ» и «СТОП» не генерируются.

Активность инициируется установкой I2CSTT. I2CNDAT используется для определения длины передачи. Условие «СТОП» автоматически не генерируется после перемещения байт, количество которых задано в I2CNDAT. Программное обеспечение должно установить I2CSTP для генерации условия «СТОП» в конце передачи. Это используется для условия «РЕСТАРТ».


Таблица 15-1. (Окончание)

Состояние или активность шины

I2CNDAT используется для установки длины передачи. Установка I2CSTT инициирует активность. Условие «СТОП» автоматически генерируется после передачи количества байт, заданного в I2CNDAT.

I2CNDAT не используется для установки длины передачи. Длиной передачи должно управлять программное обеспечение. Установка бита I2CSTT инициирует активность. Для инициирования условия «СТОП» или останова активности программное обеспечение должно установить бит I2CSTP. Этот режим используется, если необходимо передать более 255 байт.

Установка бита I2CSTP генерирует условие «СТОП» на шине после отправки количества байт, заданного в I2CNDAT или немедленно, если уже было передано то количество байт, которое заданное в I2CNDAT.

Установка бита I2CSTP генерирует условие «СТОП» на шине после завершения текущей передачи или немедленно, если текущая передача не выполняется.

Зарезервировано, шина неактивна.

Арбитраж

Если два или более передатчика одновременно начинают передачу на шине, запускается процедура арбитража. На рис. 15-10 поясняется процедура арбитража между двумя устройствами. Процедура арбитража использует данные, представленные на SDA конкурирующими передатчиками. Первый ведущий передатчик, генерирующий логическую единицу, отвергается противостоящим ведущим, генерирующим логический сигнал низкого уровня. Процедура арбитража дает приоритет устройству, которое передает поток последовательных данных с наименьшим двоичным значением. Ведущий передатчик, потерявший арбитраж, переключается в ведомый режим приема и устанавливает флаг потери арбитража ALIFG. Если два или более устройства посылают одинаковые первые байты, арбитраж продолжается на последующих байтах.

Если выполняется процедура арбитража, когда на SDA повторяются условия «СТАРТ» или «СТОП», ведущие передатчики, вовлеченные в арбитраж, должны послать повторные условия «СТАРТ» или «СТОП» в том же самом месте в формате фрэйма. Арбитраж не разрешается между:

•Повторным условием «СТАРТ» и битом данных

•Условием «СТОП» и битом данных

•Повторным условием «СТАРТ» и условием «СТОП»



[стр.Начало] [стр.1] [стр.2] [стр.3] [стр.4] [стр.5] [стр.6] [стр.7] [стр.8] [стр.9] [стр.10] [стр.11] [стр.12] [стр.13] [стр.14] [стр.15] [стр.16] [стр.17] [стр.18] [стр.19] [стр.20] [стр.21] [стр.22] [стр.23] [стр.24] [стр.25] [стр.26] [стр.27] [стр.28] [стр.29] [стр.30] [стр.31] [стр.32] [стр.33] [стр.34] [стр.35] [стр.36] [стр.37] [стр.38] [стр.39] [стр.40] [стр.41] [стр.42] [стр.43] [стр.44] [стр.45] [стр.46] [стр.47] [стр.48] [стр.49] [стр.50] [стр.51] [стр.52] [стр.53] [стр.54] [стр.55] [стр.56] [стр.57] [стр.58] [стр.59] [стр.60] [стр.61] [стр.62] [стр.63] [стр.64] [стр.65] [стр.66] [стр.67] [стр.68] [стр.69] [стр.70] [стр.71] [стр.72] [стр.73] [стр.74] [стр.75] [стр.76] [стр.77] [стр.78] [стр.79] [стр.80] [стр.81] [стр.82] [стр.83] [стр.84] [стр.85] [стр.86] [стр.87] [стр.88] [стр.89] [стр.90] [стр.91] [стр.92] [стр.93] [стр.94] [стр.95] [стр.96] [стр.97] [стр.98] [стр.99] [стр.100] [стр.101] [стр.102] [стр.103] [стр.104] [стр.105] [стр.106] [стр.107] [стр.108] [стр.109] [стр.110] [стр.111] [стр.112] [стр.113] [стр.114] [стр.115] [стр.116] [стр.117] [стр.118] [стр.119] [стр.120]