12.0 Быстрый режим
В быстром режиме протокол, формат, логические уровни и максимальная емкостная нагрузка линий шины остается неизменными. Изменения в спецификации таковы:
- максимальная скорость передачи возросла до 400 кбит/с
- Синхронизация SDA и SCL линий была изменена. Не требуется совместимости с CBUS-устройствами, так как они не могут работать на высоких скоростях
- Входные цепи быстрых устройств должны иметь встроенное подавление выбросов и триггер Шмитта на обоих линиях
- Выходной буфер быстрых устройств должен иметь каскад с управлением временем заднего фронта линий SDA и SCL
- Если источник напряжения питания быстрых устройств выключается, линии должны переходить в третье состояние
- Внешние подтягивающие устройства, подключенные к линиям шины должны быть изменены для обеспечения допустимого времени нарастания переднего фронта. Для нагрузок шины до 200 пФ это подтягивающее устройство может быть простым резистором, а для нагрузок от 200 пФ до 400 пФ это должен быть источник тока (3 мА максимум) или схема на переключаемых резисторах, показанная на рис. 37
13.0 10-битная адресация
10-битная адресация не меняет формат шины. Для этого используется зарезервированная адресная комбинация 1111ХХХ первых семи бит первого байта (см.Раздел 9.1 ). 10-битная адресация не влияет на существующую 7-битную адресацию. Устройства с 7-битной и 10-битной адресацией могут быть подключены к одной шине.
Хотя имеются восемь возможных комбинаций последовательности 1111ХХХ, из них используются только четыре – 11110ХХ. Комбинации типа 11111ХХ зарезервированы для дальнейших улучшений шины.
13.1 Назначение битов первых двух байтов
10-битный адрес формируется из первых двух байтов. Первые семь бит первого байта являются комбинацией вида 11110ХХ, где два младших бита (ХХ) являются двумя старшими (9 и 8) битами 10-битного адреса; восьмой бит первого байта – бит направления. “Ноль” в этом бите означает, что ведущий собирается записывать информацию в ведомого, а “единица” – что ведущий будет считывать информацию из ведомого.
Если бит направления равен “нулю”, то второй байт содержит оставшиеся 8 бит 10-битного адреса. Если бит направления равен “единице”, то следующий байт содержит данные, переданные с ведомого ведущему.
13.2 10-битные форматы
Возможны различные комбинации форматов 10-битных посылок:
- Ведущий-передатчик передает информацию ведомому-приемнику (рис 29). Направление пересылки не меняется. Когда за сигалом СТАРТ появляется начало 10-битного адреса, каждый ведомый на шине сравнивает первые семь бит первого байта со своим собственным адресом и удостоверяется, что бит направления равен “нулю”. Допустимо, чтобы более одного устройства обнаружили совпадение и сгенерировали сигнал подтверждения (А1). Все ведомые с совпавшими адресами продолжают сравнивать последующие 8 бит адреса, и только одно устройство обнаруживает совпадение и генерирует подтверждение (А2). Это устройство остается выбранным, пока ведущий не пошлет сигнал СТОП или сигнал повторного СТАРТА с другим адресом.
- Ведущий-приемник принимает данные от ведомого-передатчика. Направление передачи меняется после второго бита направления (рис. 30). Процедура идентична вышеописанной вплоть до момента второго подтверждения (А2). Далее передается сигнал повторного СТАРТА. Выбранный ведомый помнит, что был адресован ранее. Этот ведомый сравнивает первые семь бит адреса со своим адресом, а также удостоверяется, что бит направления равен “единице”. При совпадении ведомый полагает, что он адресован как передатчик и генерирует подтверждение (А3). Ведомый-передатчик остается адресованным до прихода сигнала СТОП или сигнала повторного СТАРТА с другим адресом. После сигнала повторного СТАРТА все другие устройства также сравнивают первые семь бит со своим адресом и проверяют бит направления. Однако, ни одно из них не адресуется, так как бит направления равен “единице” (для 10-битных устройств), или такого адреса не существует (для 7-битных устройств).
- Комбинированный формат. Ведущий передает данные ведомому, а потом читает данные с этого же ведомого (рис 31). Один ведущий занимает шину на все время пересылки. Направление пересылки меняется после второго бита направления
- Комбинированный формат. Ведущий передает данные одному ведомому, а потом передает данные другому ведомому (рис. 32). Один ведущий занимает шину на все время пересылки
- Комбинированный формат. 10-Битная и 7-битная адресация применяются в одной посылке (рис. 33). После каждого сигнала СТАРТ или повторный СТАРТ передается 10-битный или 7-битный адрес. Рисунок 33 показывает, как ведущий передает данные ведомому с 7-битным адресом, а потом передает данные второму ведомому с 10-битным адресом. Один ведущий занимает шину на все время пересылки.
Рисунок 29. Ведущий-передатчик адресует ведомого-приемника 10-битным адресом
- Адрес ведомого (первые 7 бит)
- Запись
- Адрес ведомого (второй байт)
Рисунок 30. Ведущий-приемник адресует ведомого-передатчика 10-битным адресом
- Адрес ведомого (первые 7 бит)
- Запись
- Адрес ведомого (второй байт)
- Сигнал повторный СТАРТ
- Адрес ведомого (первые 7 бит)
- Чтение
- Сигнал СТОП
Рисунок 31. Комбинированный формат. Ведущий адресует ведомого 10-битным адресом, потом передает ему данные и принимает из него данные.
- Адрес ведомого (первые 7 бит)
- Запись
- Адрес ведомого (второй байт)
- Данные
- Сигнал повторный СТАРТ
- Чтение
- Сигнал СТОП
Рисунок 32. Комбинированный формат. Ведущий передает данные двум ведомым, оба 10-битные
- Адрес ведомого (первые 7 бит)
- Запись
- Адрес ведомого (второй байт)
- Данные
- Сигнал повторный СТАРТ
- Сигнал СТОП
Рисунок 33. Комбинированный формат. Ведущий передает данные двум ведомым, один из них 7-битный, второй – 10-битный
- Сигнал СТАРТ
- 7-битный адрес ведомого
- Запись
- Данные
- Сигнал повторный СТАРТ
- Адрес ведомого (первые 7 бит)
- Адрес ведомого (второй байт)
- Сигнал СТОП
ПРИМЕЧАНИЯ:
- Комбинированные форматы могут быть использованы, например, для управления последовательной памятью. Во время первого байта данных можно передавать адрес в памяти, который записывается во внутреннюю защелку. После повторения сигнала СТАРТа и адреса ведомого выдаются данные из памяти.
- Все решения об авто-инкременте или декременте адреса, к которому произошел предыдущий доступ, принимаются конструктором устройства
- Каждый байт завершается битом подтверждения, обозначенным А или А^ на рисунках
- I2C-совместимые устройства должны сбрасывать логику шины при получении сигнала СТАРТ или повторный СТАРТ и подготавливаться к приему адреса.