Интерфейсы АСОИУ. Курс лекций. Писарев А.П. - 48 стр.

UptoLike

Составители: 

100 Кбит/с, быстрый — Fast Mode (F) — со скоростью 0-400 Кбит/с, и высокоскоростной
High speed (Hs) — со скоростью до 3,4 Мбит/с. Режимы F и S логически работают
одинаково, и для них используют обобщенное обозначение F/S. Интерфейс I
2
C использует
две сигнальные линии: данных SDA (Serial Data) и синхронизации SCL (Serial Clock). В
обменах участвуют два устройстваведущее (master) и ведомое (slave). Ведущее и ведомое
устройства могут выступать в роли и передатчика, и приемника данных. Протокол допускает
наличие на шине нескольких ведущих устройств и имеет простой механизм арбитража
(разрешения коллизий).
Протокол обмена для обычных устройств F/S
иллюстрирует рис. 1. Обе сигнальные
линии имеют нагрузочные резисторы, «подтягивающие» их уровень к напряжению питания.
На устройстве к каждой линии подключен приемник и передатчик типа «открытый
коллектор» («открытый сток»), у ведомого устройства передатчик на линии SCL не
обязателен. Все одноименные передатчики соединяются по схеме «Монтажное И»: уровень в
линии будет высоким, если все
передатчики пассивны, и низким, если хоть у одного
передатчика выходной транзистор открыт. В покое (Idle, исходное состояние шины) все
передатчики пассивны. Синхронизацию задает ведущее устройство, но ведомое, если оно не
имеет достаточного быстродействия, может замедлять обмен данными.
Рис. 1. Протокол передачи данных I
2
C.
Начало любой передачиусловие Start — инициируется ведущим устройством,
убедившимся в том, что шина свободна (высокий уровень сигналов SCL и SDA). Условие
Start (на диаграммах обозначается как S) — перевод сигнала SDA из высокого в низкий при
высоком уровне SCL Завершается операция переводом сигнала SDA из низкого уровня в
высокий при высоком уровне SCL — условие Stop (обозначается как
Р), также вводящееся
ведущим устройством. При передаче данных состояние линии SDA может изменяться только
при низком уровне SCL, биты данных считаются действительными во время высокого
уровня SCL Ведущее устройство может начать очередную передачу вслед за текущей, не
вводя условие Stop, — это называется repeated Start (повторный старт, обозначающийся Sr).
В протоколе условия S и Sr почти равнозначны. Каждая посылка
данных состоит из 8 бит
данных, формируемых передатчиком, после чего передатчик на один такт освобождает
линию данных для получена подтверждения. Приемник во время девятого такта формирует
бит подтверждения Ack, по которому передатчик убеждается, что передача прошла успешно.
100 Кбит/с, быстрый — Fast Mode (F) — со скоростью 0-400 Кбит/с, и высокоскоростной
— High speed (Hs) — со скоростью до 3,4 Мбит/с. Режимы F и S логически работают
одинаково, и для них используют обобщенное обозначение F/S. Интерфейс I2C использует
две сигнальные линии: данных SDA (Serial Data) и синхронизации SCL (Serial Clock). В
обменах участвуют два устройства — ведущее (master) и ведомое (slave). Ведущее и ведомое
устройства могут выступать в роли и передатчика, и приемника данных. Протокол допускает
наличие на шине нескольких ведущих устройств и имеет простой механизм арбитража
(разрешения коллизий).
      Протокол обмена для обычных устройств F/S иллюстрирует рис. 1. Обе сигнальные
линии имеют нагрузочные резисторы, «подтягивающие» их уровень к напряжению питания.
На устройстве к каждой линии подключен приемник и передатчик типа «открытый
коллектор» («открытый сток»), у ведомого устройства передатчик на линии SCL не
обязателен. Все одноименные передатчики соединяются по схеме «Монтажное И»: уровень в
линии будет высоким, если все передатчики пассивны, и низким, если хоть у одного
передатчика выходной транзистор открыт. В покое (Idle, исходное состояние шины) все
передатчики пассивны. Синхронизацию задает ведущее устройство, но ведомое, если оно не
имеет достаточного быстродействия, может замедлять обмен данными.




Рис. 1. Протокол передачи данных I2C.

      Начало любой передачи — условие Start — инициируется ведущим устройством,
убедившимся в том, что шина свободна (высокий уровень сигналов SCL и SDA). Условие
Start (на диаграммах обозначается как S) — перевод сигнала SDA из высокого в низкий при
высоком уровне SCL Завершается операция переводом сигнала SDA из низкого уровня в
высокий при высоком уровне SCL — условие Stop (обозначается как Р), также вводящееся
ведущим устройством. При передаче данных состояние линии SDA может изменяться только
при низком уровне SCL, биты данных считаются действительными во время высокого
уровня SCL Ведущее устройство может начать очередную передачу вслед за текущей, не
вводя условие Stop, — это называется repeated Start (повторный старт, обозначающийся Sr).
В протоколе условия S и Sr почти равнозначны. Каждая посылка данных состоит из 8 бит
данных, формируемых передатчиком, после чего передатчик на один такт освобождает
линию данных для получена подтверждения. Приемник во время девятого такта формирует
бит подтверждения Ack, по которому передатчик убеждается, что передача прошла успешно.