Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Кормилин_2003_Устрой.docx
Скачиваний:
3
Добавлен:
01.07.2025
Размер:
576 Кб
Скачать
☆
    1. Расширенная спецификация i2c-шины

      1. Введение

I2C-шина со скоростью передачи данных до 100 Кбит/с и 7-и битной адресацией существует уже более 10 лет с неизменной спецификацией. Концепция повсеместно принята как фактический стандарт и сотни различных типов интегральных схем, совместимых с I2C-шиной, поставляются Philips и другими производителями. Сейчас спецификация I2C-шины расширена следующими двумя особенностями:

  • быстрый режим (fast mode), который позволяет 4-х кратно увеличить скорость до 400 Кбит/с;

  • 10-и битная адресация, которая позволяет использовать до 1024 дополнительных адресов.

Существуют две причины введения этих дополнений:

    1. В новых приложениях нужно передавать большее количество последовательных данных и, следовательно, требуется скорость большая, чем 100 кбит/с. Улучшенная технология изготовления интегральных схем позволяет сегодня 4-х кратно увеличить скорость без увеличения стоимости производства интерфейсных цепей.

    2. К большинству из 112 адресов, доступных при 7-и битной адресации, обращение происходит не один раз. Для преодоления проблемы с размещением адресов ведомых желательно иметь большее количество адресных комбинаций. Почти 10-и кратное увеличение числа доступных адресов получается при новой 10-и битной адресации.

Все новые приборы с интерфейсом I2C-шины имеют возможность поддержания быстрого режима. Предпочтительно, чтобы они могли принимать и/или передавать со скоростью 400 Кбит/с. Минимальное требование состоит в том, чтобы они могли синхронизироваться со скоростью передачи 400 Кбит/с, тогда они могут продлить низкий уровень сигнала SCL-линии, чтобы замедлить передачу. Устройства с быстрым режимом должны быть совместимы с устройствами низкого быстродействия. Это означает, что они должны обладать способностью обмениваться информацией с устройствами, имеющими скорость от 0 до 100 Кбит/с в I2C-шинных системах со скоростью от 0 до 100 Кбит/с.

Очевидно, что старые устройства с интерфейсом I2C-шины со скоростью от 0 до 100 Кбит/с не могут быть включены в высокоскоростную I2C-шинную систему, т.к. они не могут следовать высокой скорости передачи. Могут произойти непредсказуемые ситуации.

Ведомые с высокоскоростным интерфейсом I2C-шины могут иметь 7-и битный или 10-и битный адрес. Однако 7-и битный адрес предпочтительнее, т.к. это наиболее дешевое решение аппаратного обеспечения, и при такой адресации получается наименьшая длина сообщения. Устройства с 7-и битным и 10-и битным адресами можно смешивать в одной I2C-шинной системе, несмотря на то, является ли эта система стандартной (0 - 100 Кбит/с) или быстрой (0 - 400 Кбит/с). Существующие и будущие ведущие могут генерировать 7-и битные или 10-и битные адреса.

Быстрый режим

В быстром режиме I2C-шины протокол, формат, логические уровни и максимальная емкостная нагрузка для SDA- и SCL-линий остаются неизменными. Имеются следующие изменения спецификации I2C-шины:

  • максимальная скорость увеличена до 400 Кбит/с;

  • доработаны временные характеристики последовательности данных (SDA) и последовательных тактовых (SCL) сигналов. Нет нужды иметь совместимость с другими системами, т.к. они не могут работать в режиме повышенной скорости;

  • SDA- и SCL-входы высокоскоростных приборов должны иметь схему подавления выбросов и триггер Шмидта;

  • выходные каскады SDA- и SCL-линий высокоскоростных приборов должны иметь ограничение крутизны среза выходных импульсов;

  • если питание высокоскоростного прибора выключено, выводы SDA и SCL должны иметь плавающий потенциал, чтобы не мешать работе линий шины;

  • внешние подтягивающие устройства (схемы), соединенные с линиями шины, должны быть настроены на получение наименьшего времени установления I2C-шины быстрого режима.

      1. 10-и битная адресация

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

Хотя существует 8 возможных комбинаций зарезервированных адресных бит 1111 ХХХ, только 4 комбинации 1111 0ХХ используются для 10-и битной адресации. Оставшиеся 4 комбинации 1111 1ХХ зарезервированы для дальнейших улучшений I2C-шины.

10-и битный адрес ведомого формируется из первых двух байт, следующих за START-условием (S) или повторным START-условием (Sr). Первые 7 бит первого байта - это комбинация 11110ХХ, в которой последние два бита (XX) являются двумя старшими битами (MSBs) 10-и битного адреса. Восьмой бит первого байта - это R/W-бит, который определяет направление сообщения.

«Нуль» в младшем бите первого байта означает, что ведущий будет передавать информацию выбранному ведомому. «Единица» в этой позиции означает, что ведущий будет принимать информацию от ведомого. Если бит R/W равен «нуль», то второй байт содержит оставшиеся 8 бит (ХХХХ XХХХ) 10-и битного адреса. Если бит R/W - «единица», тогда следующий байт содержит данные, передаваемые от ведомого ведущему.

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

  1. Ведущий передатчик передает ведомому приемнику с 10-и битным адресом. Направление передачи не изменяется (рис. 3.14). Когда 10-и битный адрес следует за START-условием, каждый ведомый сравнивает первые 7 бит первого байта адреса ведомого (1111 0ХХ) со своим собственным адресом и проверяет, содержит ли 8-ой бит (R/W-бит направления) «нуль».

Рисунок 3.14 - Формат записи с 10-ти битным адресом ведомого приемника

Возможно, что более одного устройства установят соответствие и дадут подтверждение приема (А1). Все ведомые, которые обнаружили соответствие, будут сравнивать восемь бит второго байта адреса ведомого (ХХХХ ХХХХ) с их собственным адресом, но только один ведомый обнаружит соответствие и выдаст подтверждение приема (А2). Этот ведомый будет оставаться адресованным ведущим, пока не получит STOP-условие (Р) или повторное START-условие (Sr), за которым следует другой адрес ведомого.

  1. Ведущий приемник принимает от ведомого передатчика с 10-и битным адресом (ведомого). Направление передачи изменяется после второго R/W-бита (рис. 3.15). До и включая бит подтверждения приема (А2), процедура такая же, как описано выше для ведущего передатчика, адресующего ведомый приемник.

Рисунок 3.15 - Формат чтения с 10-ти битным адресом ведомого передатчика

После повторного START-условия (Sr) соответствующий ведомый помнит, что ранее он был адресован. Этот ведомый теперь проверяет, являются ли первые семь бит первого байта адреса ведомого, следующего за Sr условием, теми же, что и раньше, после START-условия (S), и проверяет, содержит ли 8-ой бит (R/W) «единицу». Если соответствие есть, ведомый считает, что он адресован как передатчик и генерирует подтверждение (A3). Ведомый передатчик остается адресованным, пока не получит STOP-условие (Р) или другое повторное START-условие (Sr) с последующим отличным адресом ведомого. После Sr все остальные ведомые также будут сравнивать первые семь бит первого байта адреса ведомого (11110ХХ) со своими собственными адресами и проверять 8-ой(R/W) бит. Однако, ни одно из них не будет адресовано, если R/W = 1 (для 10-и битных устройств), или 11110ХХ адрес ведомого (для 7-и битных устройств) не будет совпадать.

  1. Комбинированный формат. Ведущий передает информацию ведомому с 10-ти битным адресом, после читает данные от того же ведомого. Один и тот же ведущий занимает шину все это время. Процедура похожа на описанную выше (рис. 3.15). Разница заключается в том, что до повторного START-условия (Sr) ведущий передатчик выдает на приемник нужное количество байт данных. Затем после повторного START-условия (Sr) повторяется старший байт адреса того же ведомого. Направление передачи изменяется после R/W бита.

  2. Комбинированный формат. Ведущий передает данные одному ведомому с 10-ти битовой адресацией, после передает данные другому ведомому с 10-ти битовой адресацией. Ведущий занимает шину все это время. Процедура (рис. 3.14) полностью повторяется после выдачи повторного START-условия (Sr) с учетом смены адреса ведомого.

  3. Комбинированный формат. 10-и битная и 7-и битная адресация присутствуют в одной последовательной передаче. После каждого START-условия (Sr) может быть передан 10-и или 7-и битный адрес.

Адрес общего вызова и START-байт

При 10-и битной адресации первые два байта после START-условия (S) обычно определяют адрес ведомого. Исключение составляет адрес общего вызова 0000 0000. Ведомые с 10-и битной адресацией будут реагировать на «общий вызов» так же, как ведомые с 7-и битной адресацией.

Ранее описанный START-байт 00000001 может предшествовать 10-и битному адресу так же, как 7-и битному.