Рис. 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 определяется устройством с самым коротким полупериодом высокого уровня.
Читайте также
Организация связи по оптическому кабелю магистрали Коченево-Мамонтово
Телекоммуникации
являются основой развития общества. Постоянно растущий спрос, как на обычные
телефонные, так и на новые виды услуг связи, включая услуги Интернет,
предъявляет новые тре ...
Поверка электронного вольтметра В7-26 по напряжению постоянного тока
Считается, что первый вольтметр изобрел М. Фарадей, причем в 1830
году, ещё за год до того, как он же открыл явление электромагнитной индукции,
на котором основано действие целого класса ...
Передаточная функция разомкнутой системы
1. Определить
передаточную функцию разомкнутой системы рис.1, представить её в канонической
.форме. Построить её логарифмические частотные характеристики.
2. Оценить
показатели к ...