Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
ПЦУ_конспект_12.docx
Скачиваний:
68
Добавлен:
14.11.2019
Размер:
5.57 Mб
Скачать

2.5.3 Синхронный последовательный интерфейс i2c

Приборная двунаправленная двухпроводная асинхронная шина I2C (читается "ай ту си" – Inter Integrated Circuit – между интегральными схемами) разработана для соединения функциональных узлов внутри одного прибора без гальванической развязки. Шина I2C обеспечивает обмен каждого с каждым, с автоматической синхронизацией и выравниваем скоростей обмена по самому медленному устройству, участвующему в обмене. Интерфейс I2C используется также и в ПК как внутренняя вспомогательная шина. Для реализации шины требуется всего два провода:

линия синхронизации – SCL

линия данных – SDA

Активный уровень сигнала – низкий. Все устройства образуют на этих линиях схему "монтажного И", могут как читать, так и генерировать сигналы. Необходимый электрический режим линий обеспечивается их подключением через "подтягивающие" резисторы к цепи питания +5 В. Возможно использование ТТЛ, КМОП, или n-МОП цифровых ИС. Допускается суммарная емкость нагрузки линий шины до 400 пФ.

Рис. Электрическое подключение абонентов к шине I2C

Каждое из устройств подключенное к шине I2C может быть запрограммировано для режима работы Master – ведущий или Slave – ведомый. Обычно для управления адаптером шины I2C служит статусный регистр. Используется флаг SI этого регистра. Пока этот флаг находится в состоянии "1", все устройства на шине блокированы, т.к. Master- устройство поддерживает на шине SCL логический "0". В это время Master- устройство может быть занято обработкой информации и подготовкой ее для передачи. Затем флаг SI сбрасывается и тем самым запускается в действие операция обмена информацией.

Адресация и передача данных

Каждое сообщение, передаваемое по шине I2C, начинается с заголовка. Заголовок содержит 7- ми битный адрес ведомого устройства, бит вида операции "чтение/запись", бит подтверждения.

Рис. – Формат заголовка сообщения I2C

Все абоненты на шине I2C, обнаружив стартовый бит, читают адрес, и активизируются, если он совпадает с их адресом. Сигналом активизации является бит АСК. В протоколе I2C установлено, что адрес, равный "0", означает обращение ко всем устройствам сразу.

Прием и передача данных производится побайтно и подтверждается битом АСК, вырабатываемым приемником данных. После пересылки данных устанавливается флаг прерывания SI в статусном регистре контроллера шины передатчика.

Временные диаграммы шины I2C

В исходном состоянии линии шины находятся в неактивном состоянии логической "1". Сигналом начала передачи (признаком "старт") является появление логического "0" на линии данных SDA при условии сохранения "1" на линии синхронизации SCL. Прием данных происходит при переходе сигнала в линии синхронизации 0  1. Изменения данных можно производить только при уровне "0" в линии синхронизации. Во время такта девятого бита передатчик выдает на линию данных "1", а от приемника на эту же линию поступает бит - квитанция с уровнем логического "0" (устройства шины образуют на линиях схему "монтажное И"). Передача заканчивается, когда в обеих линиях устанавливаются уровни "1". Максимальная тактовая частота шины 100 кГц в старом стандарте, при этом скорость потока данных  10 Кбайт/сек. В новом стандарте поддерживается скорость обмена до 400 кбит/с.