Студопедия

КАТЕГОРИИ:


Архитектура-(3434)Астрономия-(809)Биология-(7483)Биотехнологии-(1457)Военное дело-(14632)Высокие технологии-(1363)География-(913)Геология-(1438)Государство-(451)Демография-(1065)Дом-(47672)Журналистика и СМИ-(912)Изобретательство-(14524)Иностранные языки-(4268)Информатика-(17799)Искусство-(1338)История-(13644)Компьютеры-(11121)Косметика-(55)Кулинария-(373)Культура-(8427)Лингвистика-(374)Литература-(1642)Маркетинг-(23702)Математика-(16968)Машиностроение-(1700)Медицина-(12668)Менеджмент-(24684)Механика-(15423)Науковедение-(506)Образование-(11852)Охрана труда-(3308)Педагогика-(5571)Полиграфия-(1312)Политика-(7869)Право-(5454)Приборостроение-(1369)Программирование-(2801)Производство-(97182)Промышленность-(8706)Психология-(18388)Религия-(3217)Связь-(10668)Сельское хозяйство-(299)Социология-(6455)Спорт-(42831)Строительство-(4793)Торговля-(5050)Транспорт-(2929)Туризм-(1568)Физика-(3942)Философия-(17015)Финансы-(26596)Химия-(22929)Экология-(12095)Экономика-(9961)Электроника-(8441)Электротехника-(4623)Энергетика-(12629)Юриспруденция-(1492)Ядерная техника-(1748)

Формат кадра




2.1. Форматы передачи данных.

Передача данных выполняется в формате, представленном на рис. 5.1. После условия START (S) передается адрес ведомого устройства. Этот адрес имеет длину 7 битов и сопровождается восьмым битом, который является битом направления данных (R W) — значение “0” означает передачу данных (WRITE), значение "1" означает запрос данных (READ). Передача данных всегда завершается условием STOP (P), генерируемым ведущим устройством. Однако, если ведущее устройство желает выполнить другой обмен данными по шине, оно может сгенерировать повторенное условие START (Sr) и адресовать другое ведомое устройство без генерации для первого устройства условия STOP. В процессе обмена данными возможны различные комбинации форматов чтения/записи.

 

Рис. 5.1. Общий формат кадра

 

Возможные форматы передачи данных:

· Ведущий - передатчик передает данные ведомому - приемнику. Направление передачи не изменяется;

· Ведущее устройство считывает данные из ведомого устройства сразу после первого байта. В момент подтверждения первого байта ведущий - передатчик переключается в режим ведущего - приемника, а ведомый - приемник - в режим ведомого - передатчика. Данное подтверждение все еще генерируется ведомым устройством. Условие STOP генерируется ведущим устройством;

· Комбинированный формат. В процессе изменения направления передачи в пределах процесса обмена данными условие START и адрес ведомого устройства генерируются повторно, но с инвертированным битом R W. Если ведущий - приемник посылает повторное условие START, он должен предварительно выдать сигнал неподтверждения (A).

Данные на линии SDA должны оставаться неизменными в течение полупериода высокого уровня (HIGH) синхросигнала. Состояния HIGH и LOW линии передачи данных могут изменяться только тогда, когда синхросигнал на линии SCL имеет состояние LOW (см. рис. 5.2).

 

Рис. 5.2. Передача битов по линии I2C.

 

2.2. Условия запуска (START) и останова (STOP) передачи.

Для определения состояний запуска (START) и останова (STOP) передачи по шине I2C определены уникальные условия (см. рис. 5.3).

Изменение состояния сигнала на линии SDA от уровня HIGH к уровню LOW в то время, когда на линии SCL присутствует сигнал с уровнем HIGH, является условием начала передачи (START).

Изменение состояния сигнала на линии SDA от уровня LOW к уровню HIGH в то время, когда на линии SCL присутствует сигнал с уровнем HIGH, является условием завершения передачи (STOP).

Условия START и STOP всегда генерируются ведущим устройством. После генерации условия START шина является занятой (захваченной). Шина расценивается как свободная через некоторое время после генерации условия STOP.

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

 

Рис. 5.3. Условия START и STOP.

 

2.3. Формат байта.

Каждый байт, передаваемый в линию SDA, должен иметь размер 8 бит. Число передаваемых байтов не ограничено. Каждый байт должен сопровождаться битом подтверждения. Данные передаются, начиная со старшего значащего бита (MSB) (рис 5.4). Если приемник не может принимать следующий полный байт данных до тех пор, пока не выполнит какую-либо другую функцию, например, обслуживание внутреннего прерывания, он может захватить линию синхронизации SCL и удерживать ее в состоянии LOW, переведя передатчик в состояние ожидания. В этом случае передача данных будет продолжена, когда приемник будет готов к приему следующего байта данных и прекратит подавать в линию SCL сигнал уровня LOW.

 

Рис. 5.4. Передача данных в I2C.

 

2.4. Подтверждение.

Передача данных с подтверждает обязательна. Синхроимпульс для подтверждения генерируется ведущим устройством. Передатчик во время этого синхроимпульса выдает в линию SDA сигнал уровня HIGH.

Приемник в течение синхроимпульса подтверждения должен выдавать в линию SDA сигнал низкого уровня, чтобы на этой линии в течение состояния HIGH синхросигнала устойчиво удерживался уровень LOW (рис. 5.5). Конечно, при этом должны быть учтены времена установки у удержания сигнала.

 

Рис. 5.5. Подтверждение приема в I2C.

 

Обычно, кроме случаев, когда сообщение начинается с адреса CBUF, приемник, который был адресован, обязан генерировать подтверждение после приема каждого байта.

Если приемник-ведомый не подтверждает адрес ведомого (например, он не может принять адрес, так как выполняет в это время некоторую функцию в реальном масштабе времени), линия передачи данных со стороны ведомого приемника должна оставаться в состоянии HIGH. В этом случае ведущее устройство может сгенерировать условие STOP, чтобы прервать передачу. Если приемник-ведомый подтверждает адрес ведомого, но некоторое время спустя в процессе передачи не может больше принимать байты данных, ведущий должен снова прервать передачу.

Это состояние индицируется ведомым, не генерирующим, не генерирующим подтверждение для следующего байта. Ведомый оставляет линию передачи данных в состоянии HIGH, и ведущий генерирует условие STOP.

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

 




Поделиться с друзьями:


Дата добавления: 2015-07-02; Просмотров: 456; Нарушение авторских прав?; Мы поможем в написании вашей работы!


Нам важно ваше мнение! Был ли полезен опубликованный материал? Да | Нет



studopedia.su - Студопедия (2013 - 2024) год. Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав! Последнее добавление




Генерация страницы за: 0.013 сек.