Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
лекция 16.docx
Скачиваний:
3
Добавлен:
01.04.2025
Размер:
1 Мб
Скачать
☆
  1. Приборный интерфейс i2c

Этот раздел начинаем с изучения интерфейса Inter Integrated Circuit (I2C), что означает внутренние интегрирующие цепи. Интерфейс представляет собой следующее (см. рис.5). Два проводника, которые соединяют между собой несколько устройства. Эти устройства могут быть различными. Можно выделить, собственно, сам контроллер интерфейса, который находится внутри микропроцессора, память, которая подключается по этому интерфейсу, другие какие-то устройства. Эти устройства имеют выход типа открытый коллектор, или открытый исток.

Рис.5. - Приборный интерфейс I2C

Требуются подтягивающие резисторы, которые являются тем нагрузочным сопротивлением, которое необходимо для работы каскада с открытым истоком или коллектором. Две шины называются SDA (последовательно передаваемые данные) и SCL (последовательно передаваемые сигналы тактовой частоты). В последней версии стандарта на этот интерфейс заявлены довольно таки привлекательные его характеристики. Скорость передачи данных до 3,4 Мбит/с, напряжение сигналов может быть 5 или 3,3 В, количество узлов (устройств) до 1008, эквивалентная ёмкость входных или выходных устройств не должна превышать 4 пФ. Фактически означает, что мы можем подключить не более 10-20 устройств, т.к. любой вход-выход микросхемы имеет примерную эквивалентную ёмкость 10-20 пФ. Так что, хоть заявлено устройств больше, реально подключается устройств меньше. Но число адресуемых устройств – 1008.

Особенностью интерфейса является то, что он является полуасинхронным (см. рис. 6). Есть стартовые и стоповые биты, по которым устройства обнаруживают начало или окончание передач. Стандартным протоком обмена для этого интерфейса является адресный протокол. Первой посылкой, которая посылается после сигнала старт, является адрес того подчинённого устройства. Разрядность его адрес 7 бит, есть режим 10 бит. Дальше передаётся 1 бит, который определяет, какая операция выполняется, чтение или запись из ведомого устройства. Потому что это выдаёт ведущее устройства, которое выдаёт тактовые сигналы на интерфейсе. И выдаёт в начале каждого цикла адрес и операцию, которую необходимо выполнить. Обязательно после каждой посылки присутствует сигнал, который выдаёт ведомое устройство, acknowledge. Фактически, после передачи первых 8 бит посылки ведущее устройство ожидает появления сигнала подтверждения. Оно освобождает лини данных, но выдаёт синхросигнал. И если ведомое устройство изменит состояние линии от высокого уровня на низкий, то данные получены. После того, как это подтверждение получено, ведущий может передавать данные, если это операция записи, или принимать данные, если это операция чтения. Ведущее тогда передаёт только синхросигнал. Если сигнал в линии не переведён в состояние низкого уровня, значит данные никем не получены.

Рис.6. Временная диаграмма

Линия всегда находится в высоком состоянии. Если при отсутствии синхросигнала состояние линии данных перешло в 0 и начинает поступать синхросигнал, то это стартовое событие, и далее сообщается адрес. Признаком окончания обмена является при высоком уровне сигнала тактового переход сигнала данных от низкого к высокому.