Интерфейсы периферийных устройств. Ключев А.О - 188 стр.

UptoLike

187
3.10.3.3 Принцип работы шины I
2
C
Вследствие различных технологий микросхем (КМОП, НМОП,
биполярная), которые могут быть подключены к шине, уровни логического «0»
(НИЗКИЙ) и логической «1» (ВЫСОКИЙ) не фиксированы и зависят от
соответствующего уровня Vdd. Один синхроимпульс генерируется на каждый
пересылаемый бит.
Данные на линии SDA должны быть стабильными в течение ВЫСОКОГО
периода синхроимпульса. ВЫСОКОЕ или НИЗКОЕ состояние линии данных
должно меняться, только если линия синхронизации в состоянии НИЗКОЕ.
Рис. 108. Пересылка бита по шине I²C.
Данные по линии SDA передаются байтами, при этом каждый байт должен
оканчиваться битом подтверждения. Количество байт, передаваемых за один
сеанс связи, не ограничено. Данные передаются, начиная со старшего бита.
Если приёмник не может принять еще один целый байт, пока он не выполнит
какую-либо другую функцию (например, обслужит внутреннее прерывание), он
может
удерживать линию SCL в НИЗКОМ состоянии, переводя передатчик в
состояние ожидания. Пересылка данных продолжается, когда приёмник будет
готов к следующему байту и отпустит линию SCL (опять срабатывает правило
монтажного И).
Рис. 109. Пересылка данных по шине I²C.