8.0 Форматы с 7-битным адресом
Посылки данных происходят в формате, показанном на рис. 11. После сигнала СТАРТ посылается адрес ведомого. После 7 бит адреса следует бит направления данных (R/W^), “ноль” означает передачу (запись), а “единица” - прием (чтение). Пересылка данных всегда заканчивается сигналом СТОП, генерируемым ведущим. Однако, если ведущий желает оставаться на шине дальше, он должен выдать повторный сигнал СТАРТ и затем адрес следующего устройства. При таком формате посылки возможны различные комбинации чтения/записи.
Возможные форматы:
- Ведущий-передатчик передает ведомому-приёмнику. Направление пересылки данных не изменяется
- Ведущий читает ведомого немедленно после пересылки первого байта (рис. 13). В момент первого подтверждения ведущий-передатчик становится ведущим-приёмником и ведомый-приёмник становится ведомым-передатчиком.
- Подтверждение тем не менее генерируется ведомым. Сигнал СТОП генерируется ведущим
- Комбинированный формат (рис. 14). При изменении направления пересылки данных повторяется сигнал СТАРТ и адрес ведомого, но бит направления данных инвертируется. Если ведущий-приёмник посылает повторный сигнал СТАРТ, он обязан предварительно послать сигнал неподтверждения.
Рисунок 12. Ведущий-передатчик адресует ведомого-приемника 7-битным адресом. Направление пересылки не изменяется
- От ведущего к ведомому
- От ведомого к ведущему
- Адрес ведомого
- Бит направления
- Данные
- Пересылаемые данные (n байт + подтверждение)
- А - Подтверждение
- Неподтверждение
- Сигнал СТАРТ
- Сигнал СТОП
Рисунок 13. Ведущий читает из ведомого непосредственно после первого байта
Рисунок 14. Комбинированный формат
- Адрес ведомого
- Чтение или запись
- n байтов + подтверждения
- Сигнал повторного СТАРТА
- Направление пересылки может измениться в этой точке
- Направление пересылки данных и битов подтверждения зависит от битов направления
ПРИМЕЧАНИЯ:
- Комбинированные форматы могут быть использованы, например, для управления последовательной памятью. Во время первого байта данных можно передавать адрес в памяти, который записывается во внутреннюю защелку. После повторения сигнала СТАРТа и адреса ведомого выдаются данные из памяти.
- Все решения об авто-инкременте или декременте адреса, к которому произошел предыдущий доступ, принимаются конструктором устройства
- Каждый байт завершается битом подтверждения, обозначенным А или А^ на рисунках
- I2C-совместимые устройства должны сбрасывать логику шины при получении сигнала СТАРТ или повторный СТАРТ и подготавливаться к приему адреса.