Составители:
189
состоянии. После этого ведущий может выдать сигнал СТОП для прерывания
пересылки данных. Если в пересылке участвует ведущий приёмник, то он
должен сообщить об окончании передачи ведомому передатчику путем не
подтверждения последнего байта. Ведомый передатчик должен освободить
линию данных для того, чтобы позволить ведущему выдать сигнал СТОП или
повторить сигнал СТАРТ
.
3.10.3.6 Синхронизация
При передаче посылок по шине I²C каждый ведущий генерирует свой
синхросигнал на линии SCL. Данные действительны только во время
ВЫСОКОГО состояния синхроимпульса [13, 81].
Синхронизация выполняется с использованием подключения к линии SCL
по правилу монтажного И. Это означает, что ведущий не имеет монопольного
права на управление переходом линии SCL из НИЗКОГО состояния в
ВЫСОКОЕ. В том случае
, когда ведомому необходимо дополнительное время
на обработку принятого бита, он имеет возможность удерживать линию SCL в
НИЗКОМ состоянии до момента готовности к приему следующего бита. Таким
образом, линия SCL будет находиться в НИЗКОМ состоянии на протяжении
самого длинного НИЗКОГО периода синхросигналов.
Устройства с более коротким НИЗКИМ периодом будут входить в
состояние ожидания
на время, пока не кончится длинный период. Когда у всех
задействованных устройств кончится НИЗКИЙ период синхросигнала, линия
SCL перейдет в ВЫСОКОЕ состояние. Все устройства начнут проходить
ВЫСОКИЙ период своих синхросигналов. Первое устройство, у которого
кончится этот период, снова установит линию SCL в НИЗКОЕ состояние. Таким
образом, НИЗКИЙ период синхролинии SCL определяется наидлиннейшим
периодом
синхронизации из всех задействованных устройств, а ВЫСОКИЙ
период определяется самым коротким периодом синхронизации устройств.
Механизм синхронизации может быть использован приемниками как
средство управления пересылкой данных на байтовом и битовом уровнях.
На уровне байта, если устройство может принимать байты данных с
большой скоростью, но требует определенного времени для сохранения
принятого байта или
подготовки к приему следующего, то оно может
удерживать линию SCL в НИЗКОМ состоянии после приема и подтверждения
байта, переводя таким образом передатчик в состояние ожидания.
На уровне битов устройство, такое как микроконтроллер без встроенных
аппаратных цепей I²C или с ограниченными цепями, может замедлить частоту
синхроимпульсов путем продления их НИЗКОГО периода. Таким образом
скорость передачи любого ведущего адаптируется к скорости медленного
устройства.
Страницы
- « первая
- ‹ предыдущая
- …
- 188
- 189
- 190
- 191
- 192
- …
- следующая ›
- последняя »
