Полная версия

Главная arrow Информатика arrow Интерфейсы Периферийных Устройств arrow
Шина 12С

  • Увеличить шрифт
  • Уменьшить шрифт


<<   СОДЕРЖАНИЕ   >>

Что такое арбитраж на шине I2C . Принцип работы, назначение.

Арбитраж – процедура, гарантирующая, что только один «Master» управляет шиной

Функция нескольких ведущих (Multimaster) означает возможность подключения более одного МК к шине. При этом, если более чем один ведущий попытается начать пересылку в один и тот же момент времени, возможный хаос будет устранен из-за процедуры арбитража. Она основана на том, что все I2C-устройства подключаются к шине по правилу монтажного И.

Арбитраж происходит на шине SDA, в периоды, когда шина SCL находится в ВЫСОКОМ состоянии. Если один ведущий передает на линию данных НИЗКИЙ уровень, в то время как другой - ВЫСОКИЙ, то последний отключается от линии, так как состояние SDL (НИЗКОЕ) не соответствует ВЫСОКОМУ состоянию его внутренней линии данных.

Арбитраж может продолжаться на протяжении нескольких бит. Так как сначала передается адрес, а потом данные (см. Разделы 7-битная адресация и 10-битная адресация), то арбитраж может продолжаться до окончания адреса, а если ведущие адресуют одно и то же устройство, то в арбитраже будут участвовать и данные. Вследствие такой схемы арбитража при столкновении данные не теряются.

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

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

Особое внимание следует обратить на ситуацию, когда во время арбитражной процедуры на шину передается повторный сигнал СТАРТ или сигнал СТОП. Если существует возможность возникновения такой ситуации, то ведущие должны послать повторный сигнал СТАРТ или сигнал СТОП в одних и тех же позициях кадра. Другими словами, арбитраж запрещен между:

повторным сигналом СТАРТ и битом данных сигналом СТОП и битом данных повторным сигналом СТАРТ и сигналом СТОП

 
<<   СОДЕРЖАНИЕ   >>

Похожие темы