Реклама ⓘ
Главная » Компьютерная электроника
Призовой фонд
на апрель 2024 г.
1. 100 руб.
От пользователей

Похожие статьи:


Реклама ⓘ

Шина управления I2C

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

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

При передаче данных одно устройство является «Master», которое инициирует передачу данных и формирует сигналы синхронизации. Другое устройство «Slave» - начинает передачу только по команде, пришедшей от «Master».

В микроконтроллерах PIC16CXXX аппаратно реализован режим «Slave» устройства в модуле SSP. Режим «Master» реализуется программно.

Основные термины, используемые при описании работы с шиной I2C:

Передатчик – устройство, передающее данные по шине

Приемник – устройство, получающее данные с шины

«Master» - устройство, которое инициирует передачу и формирует тактовый сигнал

«Slave» - устройство, к которому обращается «Master»

Multi-«Master» - режим работы шины I2C с более чем одним «Master»

Арбитраж – процедура, гарантирующая, что только один «Master» управляет шиной

Синхронизация – процедура синхронизации тактового сигнала от двух или более устройств

Выходные каскады формирователей сигналов синхронизации (SCL) и данных (SDA) должны быть выполнены по схемам с открытым коллектором (стоком) для объединения нескольких выходов и через внешний резистор подключены к плюсу питания для того, чтобы на шине был уровень «1», когда ни одно устройство не формирует сигнал «0». Максимальная емкостная нагрузка ограничена емкостью 400 пФ.

Инициализация и завершение передачи данных

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

Сигналы START и STOP формируются «Master» для определения начала и окончания передачи данных соответственно.

Сигнал START формируется переходом сигнала SDA из высокого уровня в низкий при высоком уровне сигнала SCL. Сигнал STOP определяется как переход SDA из низкого уровня в высокий при высоком уровне SCL. Таким образом, при передаче данных сигнал SDA может изменяться только при низком уровне сигнала SCL.

comp67-1.jpg

Адресация устройств на шине I2C

Для адресации устройств используется два формата адреса:

Простой 7-разрядный формат с битом чтения/записи R/W;

comp67-2.jpg

и 10-разрядный формат – в первом байте передается два старших бита адреса и бит записи/чтения, во втором байте передается младшая часть адреса.

comp67-3.jpg

Подтверждение приема

При передаче данных после каждого переданного байта приемник должен подтвердить получение байта сигналом ACK.

Если «Slave» не подтверждает получение байта адреса или данных, «Master» должен прервать передачу, сформировав сигнал STOP.

При передаче данных от «Slave» к «Master», «Master» формирует сигналы подтверждения приема данных ACK. Если «Master» не подтвердит приема байта, «Slave» прекращает передачу данных, «отпуская» линию SDA. После этого «Master» может сформировать сигнал STOP.

Для задержки передачи данных «Slave» может установить логический нуль, указывая «Master» о необходимости ожидания. После «отпускания» линии SCL передача данных продолжается.

comp67-4.jpg

comp67-5.jpg

Передача данных от «Master» к «Slave»

comp67-6.jpg

Чтение данных из «Slave»

comp67-7.jpg

Использование сигнала повторного START для обращения к «Slave»

comp67-8.jpg

Режим Multi-«Master»

Протокол передачи данных I2C позволяет иметь более одного «Master» на шине. Для разрешения конфликтов на шине при инициализации передачи используются функции арбитража и синхронизации.

Арбитраж

Арбитраж выполняется на линии SDA при высоком уровне линии SCL. Устройство, которое формирует на линии SDA высокий уровень когда другое передает низкий, теряет право брать «Master» и должно перейти в режим «Slave». «Master», потерявший инициативу на шине, может формировать тактовые импульсы до конца байта, в котором потерял свойства ведущего.

comp67-9.jpg

Синхронизация

Синхронизация на шине происходит после выполнения арбитража по отношению к сигналу SCL. При переходе сигнала SCL с высокого уровня в низкий, все заинтересованные устройства начинают отсчитывать длительность низкого уровня. Затем устройства начинают переводить уровень SCL из низкого в высокий согласно требуемой скорости передачи данных. После перехода уровня из низкого в высокое состояние, заинтересованные устройства отсчитывают длительность высокого уровня. Первое устройство, которое переведет сигнал SCL в низкий уровень, определяет параметры тактового сигнала.

comp67-10.jpg

Теги:

none Опубликована: 2005 г. 0 0
Я собрал 0 0
x

Оценить статью

  • Техническая грамотность
  • Актуальность материала
  • Изложение материала
  • Полезность устройства
  • Повторяемость устройства
  • Орфография
0

Средний балл статьи: 0 Проголосовало: 0 чел.

Комментарии (0) | Я собрал (0) | Подписаться

Статью еще никто не комментировал. Вы можете стать первым.
Добавить комментарий
Имя:
E-mail:
не публикуется
Текст:
Защита от спама:
В чем измеряется напряжение?
Файлы:
 
Для выбора нескольких файлов использйте CTRL

МиниПК MK809V - 4 ядра, Android 4.4.2
МиниПК MK809V - 4 ядра, Android 4.4.2
UNI-T UT-61A Сатфайндер
вверх