Интерфейс I2C

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

Протокол передачи данных по шине I2C разработан таким образом, чтобы гарантировать надежный качественный прием/передачу данных. При передаче данных одно устройство является "Ведущим", которое инициирует передачу данных и формирует сигналы синхронизации. Другое устройство "Ведомое", которое может начать передачу данных только по команде ведущего шины. Модуль SSP микроконтроллеров Р1С16СХХХ полностью поддерживает режим ведомого I2C, за исключением поддержки адреса общего вызова (режим ведущего реализуется программно) Модуль MSSP аппаратно поддерживает режим ведущего/ведомого I2C, адрес общего вызова и скорость обмена данными до 1Мбит/с. Скорость передачи данных 1Мбит/с используют некоторые микросхемы последовательной EEPROM памяти.

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

· Ведущий передатчик - ведомый приемник.

· Ведомый передатчик- ведущий приемник.

В обоих случаях ведущий формирует тактовый сигнал.

DS1307 поддерживает обмен данными по протоколу I2C по двухпроводной двунаправленной шине. Устройство, которое передаёт данные на шину, является передатчиком, а устройство, принимающее данные, - приёмником. Устройство, управляющее передачей данных, называется ведущим. Устройство, которым управляет ведущий, называется ведомым. Ведущее устройство генерирует синхроимпульсы (serial clock - SCL), управляет доступом к шине и генерирует условия START и STOP. DS1307 работает на шине как ведомое устройство. Типовая конфигурация шины с использованием протокола I2C показана на рис. 4.

Рис. 4. Типовая конфигурация двухпроводной шины

На рис. 5, 6 и 7 подробно показан процесс передачи данных по двухпроводной шине.

Основные принципы передачи данных по шине I2C:

) Передача данных может быть инициирована только когда шина свободна.

) Во время передачи данные на линии SDA могут меняться только когда на линии SCL низкий уровень, в противном случае изменение данных будет интерпретироваться как управляющий сигнал.

Таким образом, возможны следующие состояния шины:

Шина не занята

- на линиях SDA и SCL сохраняется высокий уровень.

Начало передачи данных (условие START)

- изменение состояния линии SDA с высокого на низкий, в то время как на линии SCL высокий уровень.

Окончание передачи данных (условие STOP)

- изменение состояния линии SDA с низкого на высокий, в то время как на линии SCL высокий уровень.

Корректные данные

- состояние линии SDA представляет корректные данные, если после условия START состояние линии SDA не меняется в течение высокого уровня тактового сигнала. Данные на линии должны меняться в течение периода низкого уровня тактового сигнала. На один бит данных приходится один тактовый импульс.

Каждая передача данных инициируется условием START и завершается условием STOP. Число байтов данных, передаваемых между условиями START и STOP, не ограничено и определяется ведущим устройством. Информация передаётся побайтово, и каждый байт приёмник подтверждает девятым битом (бит подтверждения - ACK). В спецификации двухпроводного интерфейса определены обычный режим (с тактовой частотой 100 кГц) и быстрый режим (с тактовой частотой 400 кГц). DS1307 работает только в обычном режиме (100 кГц).

Подтверждение- каждое принимающее устройство, когда является адресуемым, обязано генерировать подтверждение после приёма каждого байта. Ведущее устройство должно генерировать дополнительный тактовый импульс, который предназначен для бита подтверждения.

Перейти на страницу: 1 2 3

Другое по теме:

Физика и биология мобильного телефона
Мобильные радиотелефоны (MPT) очень быстро внедряются в нашу повседневную жизнь. Миллионы людей ежедневно пользуются МРТ, которые становятся непременным атрибутом современного человека. Все чаще среди разговаривающих по мобил ...

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

©  www.techvarious.ru - 2020