13.0. 10-БИТНАЯ АДРЕСАЦИЯ.

10-битная адресация не изменяет формат в спецификации шины I2C. Выделение 10 бит для адресации использует специальную комбинацию 1111XXX для первых 7 бит первого байта, следующего за START (S) или повторным START (Sr) состоянием, как объяснено в секции 9.1. 10-битная адресация не влияет на существующую 7-битную. Устройства с 7- и с 10-битной адресацией могут подключаться к одной и той же шине I2C, и обе 7- и 10-битная адресации могут быть использованы в системах стандартного режима (до 100 Кбит/с) или быстрого режима (до 400 Кбит/сек).

Несмотря на то, что возможны восемь различных комбинаций адресных бит в специальном байте 1111XXX, только четыре комбинации 11110XX используются для 10-битной адресации. Оставшиеся четыре комбинации 11111XX зарезервированы для будущих расширений шины I2C.

13.1. Определение битов в первых двух байтах.

10-битный slave-адрес формируется из первых двух байт, следующих за состоянием START (S) или повторным START (Sr).

Первые семь бит первого байта - это комбинация 11110XX, где последние два бита (XX) определяют два старших (наиболее значимых) бита (MSBs) 10-битного адреса; восьмой бит первого байта - бит R/W, который определяет направление посылки. 'Ноль' в младшем бите первого байта означает, что мастер будет передавать информацию вабранному slave'у. 'Один' в этой позиции означает, что мастер будет читать информацию от slave'а.

Если бит R/W - 'ноль', то второй байт содержит оставшиеся 8 бит (XXXXXXXX) 10-битного адреса. Если бит R/W - 'один', то следующий байт содержит данные, передаваемые slave'ом мастеру.

13.2. Форматы с 10-битной адресацией.

Различные комбинации форматов чтения/записи возможны при передаче, включающей 10-битную адресацию. Возможные форматы передачи данных таковы:


Рис. 29. Мастер-передатчик адресует slave-приемника с 10-битным адресом


Рис. 30. Мастер-приемник адресует slave-трансмиттера с 10-битным адресом


Рис. 31. Комбинированный формат. Мастер адресует slave с 10-битным адресом, затем передает данные этому slave'у и читает данные с него


Рис. 32. Комбинированный формат. Мастер передает данные двум slave'ам с 10-битными адресами


Рис. 33. Комбинированный формат. Мастер передает данные двум slave'ам, одному с 7-битным адресом и другому с 10-битным

ЗАМЕЧАНИЯ:

  1. Комбинированные форматы могут быть использованы, например, для управления последовательной памятью. В первом байте данных должна передаваться внутренняя позиция в памяти. После состояния START slave-адрес повторяется, и могут передаваться собственно данные.
  2. Все решения по поводу авто-инкремента или декремента позиции памяти, к которой осуществлялся доступ при предыдущем обращении, принимаются разработчиком устройства.
  3. Каждый байт сопровождается битом подтверждения, что показано блоками A или notA в последовательности.
  4. I2C совместимые устройства должны переинициализировать свою шинную логику по получении START или повторного START сигнала таким образом, чтобы быть готовыми к анализу передаваемого slave-адреса.

14.0. АДРЕС ОБЩЕГО ВЫЗОВА И START БАЙТ

Процедура 10-битной адресации для шины I2C такова, что первые два байта после состояния START (S) обычно определяют, какой slave будет выбран мастером. Исключением является адрес 'общего вызова' 00000000 (H'00'). Slave-устройства с 10-битной адресацией будут реагировать на 'общий вызов' так же, как и slave-устройства с 7-битной адресацией (см. раздел 9.1.1).

Аппаратные мастера могут передавать свой 10-битный адрес после 'общего вызова'. В этом случае байт адреса 'общего вызова' сопровождается двумя последовательными байтами, содержащими 10-битный адрес мастера-передатчика. Формат показан на рис. 17, причем первый байт данных DATA содержит восемь младших разрядов адреса мастера.

START байт 00000001 (H'01') может предшествовать 10-битной адресации так же, как и 7-битной (см. раздел 9.1.2).