![]() |
Главная Случайная страница Контакты | Мы поможем в написании вашей работы! | |
|
Синхронизация.
Все ведущие устройства, передавая данные по шине I2C, генерируют собственные синхроимпульсы на выводе SCL. Данные истинны и воспринимаются только течение полупериода синхросигнала, имеющего высокий уровень (HIGH). Поэтому для выполнения побитовой процедуры арбитража необходим определенный синхросигнал.
Синхронизация на шине происходит после выполнения арбитража по отношению к сигналу SCL. При переходе сигнала SCL с высокого уровня в низкий, все заинтересованные устройства начинают отсчитывать длительность низкого уровня. Затем устройства начинают переводить уровень SCL из низкого в высокий согласно требуемой скорости передачи данных. После перехода уровня из низкого в высокое состояние, заинтересованные устройства отсчитывают длительность высокого уровня. Первое устройство, которое переведет сигнал SCL в низкий уровень, определяет параметры тактового сигнала.
Таким образом синхронизированный синхросигнал SCL генерируется с длительностью полупериода LOW, определяемой устройством с самым длинным полупериодом LOW своего синхросигнала, и длительностью полупериода HIGH, определяемой устройством с самым коротким полупериодом HIGH своего синхросигнала.
Арбитраж.
Ведущее устройство может начать передачу только в случае, если шина свободна. При этом два или более ведущих устройств могут сгенерировать условие START в пределах минимального времени захвата условия START, что приводит к возникновению условия START в шине.
Арбитраж выполняется на линии SDA при высоком уровне линии SCL. Устройство, которое формирует на линии SDA высокий уровень когда другое передает низкий, теряет право брать «Master» и должно перейти в режим «Slave». «Master», потерявший инициативу на шине, может формировать тактовые импульсы до конца байта, в котором потерял свойства ведущего.
Рис. 5.7. Процедура арбитража двух ведущих устройств
В I2C не существует ни какого-либо центрального ведущего устройства, ни какого-нибудь порядка очередности доступа к шине.
Арбитраж недопустим между следующими сигналами:
· повтор условия START и бит данных;
· условие STOP и бит данных;
· повтор условия START и условие STOP.
Дата публикования: 2015-02-03; Прочитано: 308 | Нарушение авторского права страницы | Мы поможем в написании вашей работы!