Выбор контроллера

Рис. 2.9 - Последовательность передачи данных ведущим и ведомым

Когда ведущий не желает освобождать шину (выставив STOP), он должен выставить повторный старт, который идентичен START (переход SDA из из высокого уровня в низкий при высоком уровне SCL), но выдается вслед за подтверждением, т.е. шина не освобождена. Это позволяет ведущему посылать команды ведомому и затем принимать запрошенную информацию или адресовать различные ведомые устройства. Подобный механизм показан на рисунке 2.10.

Рис. 2.10 - Работа при конкуренции

Протокол I2C допускает наличие больше одного ведущего в системе. Это называется конкуренцией. Когда два или больше ведущих пытаются передать данные одновременно, необходимы арбитраж и синхронизация.

Арбитраж. Арбитраж осуществляется на шине данных SDA, пока на SCL высокий уровень. Ведущий, который выдает высокий уровень, когда другой ведущий выдает низкий уровень, теряет арбитраж и отключает свою линию данных, но может продолжать выдавать тактовый сигнал до конца байта, при попытке передачи которого ведущий потерял арбитраж. Когда несколько ведущих обращаются к одному ведомому, арбитраж происходит при передачи данных.

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

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

Синхронизация тактовых сигналов.

Синхронизация тактовых сигналов начинается, когда устройства начинают арбитраж, и реализуется благодаря использованию "монтажного И" соединения с SCL.

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

Устройство с более коротким полупериодом выдают высокий уровень на SCL и переходят в состояние ожидания до тех пор, пока на SCL не появится высокий уровень. После этого все устройства начинают отсчет длительности высокого уровня. Устройства с самым коротким полупериодом высокого уровня по завершении его переведет SCL в низкий уровень. Длительность высокого уровня на SCL определяется устройством с самым коротким полупериодом высокого уровня.

Перейти на страницу: 1 2 3 4 

Читайте также

Особенности работы современного средства автоматической радиолокационной прокладки (САРП)
Устройство компьютерной индикации, совмещенное со средствами автоматической радиолокационной прокладки (САРП) и с электронной картографической системой, размещаемых в ходовой рубке судн ...

Разработка конструкции и технологии производства охранной сигнализации на 8 объектов
Цель курсового проекта - разработка конструкции и технологии изготовления охранной сигнализации на 8 объектов. Исходные данные для разработки: задание на курсовое проектирование, прин ...

Построение внутренней памяти процессорной системы, состоящей из ПЗУ и статического ОЗУ
Построить внутреннюю память процессорной системы, состоящую из ПЗУ и статического ОЗУ. Процессорная система работает в реальном режиме. Разрядность ША - 20, ШД - 8. ИСХОДНЫЕ ДАННЫЕ: ...

Основные разделы

Все права защищены! (с)2025 - www.generallytech.ru