Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Лекции по интерфейсам ИС 2.doc
Скачиваний:
44
Добавлен:
20.11.2019
Размер:
2.33 Mб
Скачать

Последовательные шины на базе i2c Введение.

В бытовой технике, телекоммуникационном оборудовании и промышленной электронике часто встречаются похожие решения, в, казалось бы, никак не связанных изделиях. Например, практически каждая система включает в себя:

Некоторый “умный” узел управления, обычно однокристалльная микроЭВМ.

Узлы общего назначения, такие как буферы ЖКИ, порты ввода/вывода, ОЗУ, ЭСПЗУ или преобразователи данных.

Специфические узлы, такие как схемы цифровой настройки и обработки сигнала для радио- и видео- систем, или генераторы тонального набора для телефонии.

Для того, чтобы использовать эти общие решения к выгоде конструкторов и производителей (технологов), а также для увеличения эффективности аппаратуры и упрощения схемотехнических решений, Philips разработала простую двунаправленную двухпроводную шину для эффективного “межмикросхемного” (inter-IC) управления. Шина так и называется - InterIC, или IIC (I2C) шина. В настоящее время ассортимент продукции Philips включает более 150 КМОП и биполярных I2C-совместимых устройств, функционально предназначенных работы во всех трех вышеперечисленных категориях электронного оборудования. Все I2C-совместимые устройства имеют встроенный интерфейс, который позволяет им связываться друг с другом по шине I2C. Это конструкторское решение разрешает множество проблем сопряжения различных устройств, которые обычно возникают при разработке цифровых систем.

Общие положения и введение в логику работы шины i2c

Отличительные особенности

Двунаправленный обмен по двум линиям

Высокая скорость обмена - до 100 кбит и выше

Возможность адресации до 128 устройств

Простота программной реализации "Master"-абонента

Временная независимость процесса передачи

.

Разработанная фирмой Philips шина I2C ("Inter-Integrated Circuit"), - это двунаправленная асинхронная шина с последовательной передачей данных и возможностью адресации до 128 устройств. Физически шина I2C содержит две сигнальные линии, одна из которых (SCL) предназначена для передачи тактового сигнала, вторая (SDA) для обмена данными. Для управления линиями применяются выходные каскады с открытым коллектором, поэтому линии шины должны быть подтянуты к источнику питания +5 В через резисторы сопротивлением 1...10 кОм, в зависимости от физической длины линий и скорости передачи данных. Длина соединительных линий в стандартном режиме может достигать 2-х метров, скорость передачи - до 100 кбит/с. Суммарная емкость линий должна быть не больше 400 пФ, входная емкость на каждую ИС должна быть в пределах 5...10 пФ.

Все абоненты шины делятся на два класса - "Master" и "Slave". Устройство "Master" генерирует тактовый сигнал (SCL) и, как следствие, является ведущим. Оно может самостоятельно выходить на шину и адресовать любое "Slave" - устройство с целью передачи или приема информации. Все "Slave"-устройства "слушают" шину на предмет обнпружения собственного адреса и, распознав его, выполняют предписываемую операцию. Кроме того, возможен так называемый "Multi Master" - режим когда на шине установлено несколько "Master"-абонентов, которые либо совместно разделяют общие "Slave"-устройства, либо попеременно являются то "Master"-устройствами, когда сами инициируют обмен информацией, то "Slave", когда находятся в режиме ожидания обращения от другого "Master"-устройства. Режим "Multi Master" требует арбитража и распознавания конфликтов. Естественно, он сложнее в реализации (имеется ввиду программная реализаци) и, как следствие, реже используется в реальных изделиях.

В начальный момент времени - в режиме ожидания - обе линии SCL и SDA находятся в состоянии логической единицы (транзистор выходного каскада с ОК закрыт). В режиме передачи бит данных SDA стробируется положительным импульсом SCL. Смена информации на линии SDA производится при нулевом состоянии линии SCL. "Slave"-устройство может "придерживать" линию SCL в нулевом состоянии, например, на время обработки очередного принятого байта, при этом "Master"-устройство обязано дождаться освобождения линии SCL, прежде чем продолжить передачу информации.

Для приложений 8-битного управления, использующих микроконтроллеры, могут быть установлены определенные конструкторские критерии:

Полная система обычно состоит из по крайней мере одного микроконтроллера и других периферийных устройств, таких как память и порты ввода/вывода.

Стоимость соединения различных устройств в системе должна быть минимизирована.

Система, осуществляющая функции управления, не требует высокоскоростной передачи данных.

Общая эффективность зависит от выбранных устройств и природы соединяющей шины.

Для того, чтобы разработать систему, удовлетворяющую этим критериям, необходима последовательная шина. Хотя последовательные шины не имеют пропускной способности параллельных шин, они требуют меньше соединений и меньше контактов микросхем. Однако, шина состоит не только из соединяющих проводов, она также включает в себя все форматы и процедуры для связи внутри системы.

Устройства, связывающиеся по шине, должны обладать неким протоколом, который упреждает все возможности столкновений, потери данных и блокирования информации. Быстрые устройства должны быть в состоянии связаться с медленными устройствами. Система не должна быть зависима от устройств, подключенных к ней, иначе модификации и улучшения станут невозможными. Также должна быть разработана процедура, устанавливающая, какое устройство управляет шиной и когда. Кроме того, если различные устройства с разными тактовыми частотами подключены к шине, должен быть определен источник синхронизации шины. Всем этим критериям удовлетворяет шина I2C.