Студопедия.Орг Главная | Случайная страница | Контакты | Мы поможем в написании вашей работы!  
 

Формат кадра в I2C



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

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

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

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

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

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

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

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

Каждый байт, передаваемый в линию 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, приемник, который был адресован, обязан генерировать подтверждение после приема каждого байта.





Дата публикования: 2015-02-03; Прочитано: 566 | Нарушение авторского права страницы | Мы поможем в написании вашей работы!



studopedia.org - Студопедия.Орг - 2014-2024 год. Студопедия не является автором материалов, которые размещены. Но предоставляет возможность бесплатного использования (0.01 с)...