2.3.1.5 Синхронизация При передаче посылок по шине I²C каждый ведущий генерирует свой
синхросигнал на линии SCL [7, 18]. Данные действительны только во время
ВЫСОКОГО состояния синхроимпульса.
Синхронизация выполняется с использованием подключения к линии SCL
по правилу монтажного И. Это означает, что ведущий не имеет монопольного
права на управление переходом линии SCL из НИЗКОГО состояния в
ВЫСОКОЕ. В том случае, когда ведомому необходимо дополнительное время
на обработку принятого бита, он имеет возможность удерживать линию SCL в
низком состоянии до момента готовности к приему следующего бита. Таким
образом, линия SCL будет находиться в НИЗКОМ состоянии на протяжении
самого длинного НИЗКОГО периода синхросигналов.
Устройства с более коротким НИЗКИМ периодом будут входить в
состояние ожидания на время, пока не кончится длинный период. Когда у всех
задействованных устройств кончится НИЗКИЙ период синхросигнала, линия
SCL перейдет в ВЫСОКОЕ состояние. Все устройства начнут проходить
ВЫСОКИЙ период своих синхросигналов. Первое устройство, у которого
кончится этот период, снова установит линию SCL в НИЗКОЕ состояние.
Таким образом, НИЗКИЙ период синхролинии SCL определяется
наидлиннейшим периодом синхронизации из всех задействованных устройств,
а ВЫСОКИЙ период определяется самым коротким периодом синхронизации
устройств.
Механизм синхронизации может быть использован приемниками как
средство управления пересылкой данных на байтовом и битовом уровнях.
На уровне байта, если устройство может принимать байты данных с
большой скоростью, но требует определенное время для сохранения принятого
байта или подготовки к приему следующего, то оно может удерживать линию
SCL в НИЗКОМ состоянии после приема и подтверждения байта, переводя
таким образом передатчик в состояние ожидания.
На уровне битов, устройство, такое как микроконтроллер без встроенных
аппаратных цепей I²C или с ограниченными цепями, может замедлить частоту
синхроимпульсов путем продления их НИЗКОГО периода. Таким образом
скорость передачи любого ведущего адаптируется к скорости медленного
устройства.