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

Рис. 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 

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

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

Проектирование передатчика телевизионной системы на печатной плате
Телевизионный передатчик: совокупность специализированных технических средств, применяемых в процессе телевещания (кроме источника сигнала и его тракта, источника электропитания и энерго ...

Поверка электронного вольтметра В7-26 по напряжению постоянного тока
Считается, что первый вольтметр изобрел М. Фарадей, причем в 1830 году, ещё за год до того, как он же открыл явление электромагнитной индукции, на котором основано действие целого класса ...

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

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