Описание интерфейса I2C (1031655), страница 3
Текст из файла (страница 3)
Если устройству нужныданные общего вызова, оно генерирует подтверждение и становится ведомымприёмником. Второй и последующий байты должны подтверждаться каждым ведомымприёмником, способным обработать эти данные. Есть ведомый не может обработать одиниз байтов, он не генерирует подтверждение. Значение посылки общего вызова всегдаопределяется вторым байтом (см. Рисунок 14).Существуют два варианта:− когда бит направления второго байта равен нулю;− когда бит направления второго байта равен единице.Когда бит "0", второй байт обладает следующим значением:− 00000110.
Сбросить устройство и записать программируемую часть адреса. Приполучении этой посылки все устройства сбрасываются и перечитываютпрограммируемую часть их адресов. Перед выдачей команды необходимо убедиться,что устройства после подачи питания не удерживают линии шины в низкомсостоянии;− 00000100. Записать программируемую часть адреса. Все устройства, имеющиевозможность задания программируемой части адреса защелкивают текущеезначение адреса при принятии этой команды. Устройства не сбрасываются;− 00000000. Этот код недопустим для использования в качестве второго байта .Остальные коды не установлены и устройства должны игнорировать их.Когда бит "1", двухбайтовая последовательность называется "аппаратный общийвызов".
Это означает, что последовательность передана аппаратным ведущимустройством (таким как сканер клавиатуры), которое не может быть запрограммированона выдачу конкретного адреса ведомого. Поскольку аппаратный ведущий не знает, какомуустройству передается посылка, он может только сгенерировать аппаратный общий вызови свой собственный адрес - идентифицируя себя для системы(см.
Рисунок 15)Семь битов, остающихся во втором байте, содержат адрес аппаратного ведущего.Этот адрес распознается умным устройством (микроконтроллером), которое потом будетполучать информацию от аппаратного ведущего. Если последний также может работатькак ведомый, его адрес совпадает с адресом ведущего.С другой стороны в некоторых системах аппаратный ведущий-передатчикустанавливается в режим ведомого-приёмника сразу после сброса. Таким способом,ведущий, конфигурирующий систему, может сообщить аппаратному ведущему (которыйнаходится в режиме ведомый-приемник), на какой адрес должны посылаться данные (см.Рисунок 16).
После этой процедуры аппаратный ведущий остаётся в режиме ведущийпередатчик.Рисунок 14. Формат адреса общего вызова.1. Первый байт2. Второй байт3. Младший разрядРисунок 15. Пересылка данных из аппаратного ведущего-передатчика.1. Адрес общего вызова2. Второй байт3. N байт + подтверждениеРисунок 16.(а) Конфигурирующий ведущий посылает адрес начала данных к аппаратному ведущему(b) Аппаратный ведущий посылает данные выбранному ведомому1. Адрес аппаратного ведущего2. Запись3.
Адрес начала данных для аппаратного ведущего4. Адрес начала данных от аппаратного ведущего5. n байт + подтверждение6.1.2. Байт СТАРТА.Микроконтроллеры могут быть подключены к шине двумя способами.Микроконтроллер с встроенными шинными цепями разгружен и только реагирует припомощи прерываний на события, происходящие на шине, в то время как микроконтроллербез таких цепей должен постоянно отслеживать состояние шины программным способом.Очевидно, что чем больше времени процессор тратит на обслуживание шины, тем меньшеу него остается на основную задачу.
Вследствие этого возникает разница междубыстрымиаппаратнымиустройствамиимедленнымимикроконтроллерами,полагающимися на программный опрос.В этом случае посылка данных может начинаться со стартовой процедуры, котораямного дольше, чем обычный сигнал СТАРТ (см. Рисунок 17). Процедура старта состоит из:− Сигнала СТАРТ− Байта СТАРТА− Импульса подтверждения− Повторного сигнала СТАРТВедущий-передатчик после обычного сигнала СТАРТ передает байт СТАРТА(00000001).
Микроконтроллер поэтому может отслеживать линию SDA с меньшейчастотой, пока не обнаружит последовательность из семи нулей, по сути - НИЗКИЙуровень на SDA на протяжении семи тактовых импульсов. После обнаружения этойпоследовательности микроконтроллер может переключится на более высокую частотуопроса шины, для того чтобы обнаружить повторный сигнал СТАРТ.Аппаратный приёмник I2C сбросится при приёме повторного сигнала СТАРТ ипоэтому проигнорирует байт СТАРТА.После байта СТАРТА генерируется тактовый импульс для подтверждения. Онприсутствует только для совместимости с форматом байта.
Устройствам запрещаетсяподтверждать прием байта СТАРТА.Рисунок 17. Процедура байта СТАРТА.1.2.3.4.Байт СТАРТАФальшивое подтверждение (ВЫСОКОЕ)Сигнал СТАРТ (S)Сигнал повторный СТАРТ (Sr)6.1.3. Совместимость с CBUS.Приёмники CBUS могут быть подключены к шине I2C. Однако, при этом должнабыть введена третья линия DLEN и бит подтверждения должен быть опущен.
Обычнопосылки I2C состоят из 8-битовых байтов, в то время как CBUS-совместимые устройстваобладают другим форматом.В смешанной шине I2C-совместимые устройства не должны отвечать на посылкиформата CBUS. Для этого зарезервирован специальный адрес CBUS (0000001Х). Послепередачи адрес CBUS линия DLEN может быть сделана активной и посылается посылкаформата CBUS (Рисунок 18). После сигнала СТОП все устройства опять готовы приниматьданные.Ведущие-передатчики могут посылать данные в CBUS формате после посылкиадреса CBUS.
Передача заканчивается сигналом СТОП, распознаваемым всемиустройствами.ПРИМЕЧАНИЕ:Если конфигурация шины CBUS известна и расширение CBUS-совместимых устройств непредусматривается, конструктору разрешается устанавливать время удержания (DLEN),руководствуясь конкретными требованиями используемых устройств.Рисунок 18. Формат данных при посылках с CBUS передатчиком/приемником.1.2.3.4.5.6.Сигнал СТАРТАдрес CBUSБит направления передачиСинхроимпульс подтвержденияn бит данныхСигнал СТОП7. Электрические параметры устройств I2C.Электрические параметры ввода/вывода I2C-совместимых устройств ихарактеристики подключенных к ним линий шины приведены в таблице 3 и таблице 4Раздела 13.0.I2C-устройства с фиксированными входными уровнями 1.5 В и 3 В могут иметьсвои собственные питающие напряжения.
Подтягивающие резисторы должны бытьподключены к источнику 5 В +10% (см. Рисунок 19). I2C-устройства с входными уровнями,зависящими от напряжения питания должны иметь одну общую линию питания, ккоторой также должен быть подключен подтягивающий резистор (см. Рисунок 20).Когда устройства с фиксированным входным уровнем смешаны с устройствами сотносительным входным уровнем, последние должны быть подключены к одной общейлинии питания 5 В +10% и должны иметь подтягивающие резисторы, подключенные кSDA и SCL контактам как показано на Рисунке 21.Входные уровни определяются следующим образом:− шумовая граница НИЗКОГО уровня есть 0.1 от напряжения питания− шумовая граница ВЫСОКОГО уровня есть 0.2 от напряжения питанияКак показано на Рисунке 22, последовательно включенные резисторы Rs (например,300 Ом) могут быть использованы для защиты от высоковольтных выбросов напряженияна линиях шины.Рисунок 19.
Подключение устройств с фиксированным входным уровнем к шине I2C.Рисунок 20. Подключение устройств с широким диапазоном питания к шине I2C.Рисунок 21. Подключение устройств с относительным (Vdd1) уровнем входного напряжения ификсированным входным уровнем (Vdd2-4) к шине I2C.Рисунок 22. Последовательные резисторы Rs для защиты от высоковольтных выбросов.8. Максимальные и минимальные значения для резисторов Rp и Rs.Для I2C-устройств в стандартном режиме величины резисторов зависят отследующих параметров:− напряжение питания;− емкости шины;− количества подключенных устройств (входной ток + ток утечки).Величина питающего напряжения ограничивает минимальное значение Rpвследствие ограниченного минимального тока выходных каскадов (3 мА) при Volmax=0.4В.
Vdd как функция Rpmin показана на Рисунке 23.Желаемая шумовая граница 0.1 Vdd для НИЗКОГО уровня ограничиваетмаксимальное значение Rs. Rsmax как функция от Rp показано на Рисунке 24.Емкость шины состоит из общей емкости проводов, подключенных портов иконтактов. Эта емкость ограничивает максимальное значение Rp вследствие ограниченийна время установления (фронта).
Рисунок 25 показывает Rpmax как функцию от емкостишины.Максимальный ток при ВЫСОКОМ уровне для каждого порта не превышает 10мкА. Вследствие желаемой шумовой границы 0.2 Vdd для ВЫСОКОГО уровня, входнойток ограничивает максимальное значение Rp. Этот предел зависит от Vdd. Общий ток приВЫСОКОМ уровне как функция от Rpmax показан на Рисунке 26.Рисунок 23. Минимальное значение Rp как функция от напряжения питания при параметре Rs.Рисунок 24. Максимальное значение Rs как функция от Rp при параметре - Vdd.Рисунок 25. Максимальное значение Rp как функция от емкости шины для стандартногорежима.Рисунок 26.
Общий ток при напряжении ВЫСОКОГО уровня как функция максимальногозначения Rp при параметре - Vdd.9. Дополнения к спецификации шины I2C.Шина I2C со скоростью передачи данных 100 кбит/с и 7-битным адресомсуществует уже на протяжении более 10 лет в неизменном виде. Концепция принятаповсеместно как стандарт для сотен типов микросхем, выпускаемых фирмой Philips идругими поставщиками. В настоящее время спецификация шины I2C дополненаследующими вещами:− быстрый режим, позволяющий в четыре раза увеличить скорость передачи данных;− 10-битная адресация, позволяющая использовать 1024 дополнительных адресов.Существуют две причины, ради которых были сделаны эти дополнения:− Новые приложения нуждаются в пересылке больших объемов информации,следовательно, требуется большая пропускная способность шины.















