Разделы презентаций


I 2 C

Содержание

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

Слайды и текст этой презентации

Слайд 1I2C
Программный уровень

I2CПрограммный уровень

Слайд 2Формат (протокол) передачи данных — набор соглашений интерфейса логического уровня,

которые определяют обмен данными между различными программами.
Эти соглашения задают

единообразный способ передачи сообщений и обработки ошибок при взаимодействии программного обеспечения разнесённой в пространстве аппаратуры, соединённой тем или иным интерфейсом.

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

На шине I2С адреса устройств, называемые SLAVE-адресами, жёстко определены при изготовлении микросхем и не подлежат переназначению, то есть модификации. Иногда, для некоторых микросхем переназначить адрес можно (это делается с помощью 2—3 бит, которые нужно предварительно определить аппаратно, то есть установить перемычки на соответствующие выводы).
Значение SLAVE-адреса можно узнать из документации на соответствующую микросхему.

Так как все абоненты шины обмениваются данными только по линиям SDA и SCL, то в момент начала передачи все SLAVE-абоненты «слушают» линию на предмет опознавания своего SLAVE-адреса. Опознавший свой адрес абонент продолжает прием данных и выдачу сигналов АСК, остальные только следят за моментом выдачи состояния STOP.

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

Для адресации устройств на шине I2C используется два формата адреса:
7-разрядный формат с битом чтения/записи R/W;
10-разрядный формат (передаются два байта)

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

Слайд 3Адресация устройств на шине I2С
Рисунок 1  Формат протокола шины

I2C
MASTER транслирует данные на SLAVE;
MASTER читает данные от SLAVE;


комбинированный формат передачи(записи)/чтения.

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

Адресация устройств на шине I2СРисунок 1  Формат протокола шины I2CMASTER транслирует данные на SLAVE; MASTER читает

Слайд 4Формат кадра при 7-битной адресации, предполагает передачу SLAVE-адреса 7 битами,

а восьмой бит должен содержать признак операции «чтение/запись» (R/W).
При

7-битной адресации на шине может присутствовать только 128 устройств с уникальными адресами.
Фактически устройств меньше, так как некоторые адреса зарезервированы под некоторые служебные функции.

Рисунок 2  MASTER транслирует данные на SLAVE

На рисунке 2 представлен формат передачи данных от MASTER-устройства к SLAVE-абоненту.
Серым тоном, показано направление передачи MASTER → SLAVE,
Белым цветом — SLAVE → MASTER.

Рисунок 3  MASTER читает данные от SLAVE

Обратите внимание: после чтения информационного байта DATA MASTER-абонент обязан подтвердить получение байта сигналом АСК.

7-разрядный формат

Формат кадра при 7-битной адресации, предполагает передачу SLAVE-адреса 7 битами, а восьмой бит должен содержать признак операции

Слайд 5Рисунок 4  Комбинированный формат
Единственное новшество, введенное в комбинированный формат

— повторное условие START (repeated Start condition), обозначаемое на рисунке

4 сокращением «Sr». После него можно обратиться к другому устройству не освобождая шину.

Комбинированные форматы используются для работы с последовательной памятью (для сокращения времени доступа к данным).

Рисунок 4  Комбинированный форматЕдинственное новшество, введенное в комбинированный формат — повторное условие START (repeated Start condition),

Слайд 6Таблица 1  Служебные адреса
Рисунок 5  Структура байта адресации
Некоторые

SLAVE-адреса используются не для прямой адресации устройств на шине I2С,

а для служебных сообщений. На рисунке 5 укрупненно показана структура байта адресации.

Адресация служебных сообщений

Таблица 1  Служебные адресаРисунок 5  Структура байта адресацииНекоторые SLAVE-адреса используются не для прямой адресации устройств

Слайд 7Общий вызов может адресовать все устройства, подключенные к шине I2С.
При

получении общего вызова устройства должны подтверждать прием выдачей сигнала АСК.

Устройства, которые не нуждаются в сведениях, передаваемых при общем вызове, могут игнорировать этот адрес, не выставляя сигнал АСК.
Если же устройство выполнено так, что обязательно требует данных общего вызова, оно ведет себя точно так же, как обыкновенный SLAVE-абонент. Второй байт, следующий за общим вызовом, обычно содержит информационную часть. На рисунке 6 представлен формат общего вызова.

Рисунок 6  Структура кадра общего вызова

Обратите внимание — информационная часть содержит бит В, который в сочетании с битами 7...1 (обозначенными на рисунке 6 символом «X») регламентирует назначение информации, передаваемой в данном случае. Регламентируются следующие комбинации:

0000 011 0 (06h) — аппаратный сброс. При получении этой комбинации все абоненты, реагирующие на общий вызов, производят внутренний сброс (рестарт), но аппаратный сброс этих абонентов не должен блокировать шину;
0000 010 0 (04h) — запись программируемой части адреса SLAVE-абонента с помощью аппаратных средств. Все абоненты, ответившие на этот адрес, будут блокированы и не смогут быть сброшены;
0000 000 0 (00h) — этот код запрещается использовать;
ХХХХ ХХХ 1 — используется, когда на шине присутствует много совмещенных MASTER/SLAVE-абонентов. В таких случаях часто необходимо генерировать запрос об адресе устройства, которому должна быть передана информация. К примеру, устройство «А», получив от устройства «Б» данные, обработав их, передает информацию устройству «В» вместе с собственным адресом (обычно адреса «MASTER/SLAVE» в совмещенных абонентах совпадают).

Общий вызов может адресовать все устройства, подключенные к шине I2С.При получении общего вызова устройства должны подтверждать прием

Слайд 8Программный START используется когда устройство, соединенное с шиной I2С, не

имеет аппаратного интерфейса.
Например, если встроенный интерфейс I2С имеется в

микроконтроллере, его очень просто использовать. Достаточно запрограммировать микроконтроллер на прерывание от шины, и при наличии передачи будет выполняться программа обработки данных, поступающих с шины. Если встроенного интерфейса I2С нет, микроконтроллер обязан постоянно опрашивать шину на предмет получения данных.

Из рисунка 7 видно, что микроконтроллеру достаточно опрашивать линию SDA с низкой частотой, определяя один из нулей в стартовом бите. После обнаружения этого нуля на линии SDA микроконтроллеру необходимо переключиться на более высокую частоту опроса, чтобы зафиксировать состояние «повторный START» (Sr).
Обычный аппаратный приемник игнорирует состояние START и дождется Sr.

Рисунок 7  Программный START

Программный START используется когда устройство, соединенное с шиной I2С, не имеет аппаратного интерфейса. Например, если встроенный интерфейс

Слайд 9Адрес шины CBUS даёт возможность использовать протокол I2C при работе

с элементами, оснащенными этой шиной.

Шина CBUS по своей реализации

достаточно близка к шине I2С, поэтому имеется возможность их совмещения.
Протокол C-Bus разработан австралийской компанией Clipsal (2000 г.). В основном используется в оборудовании для домашней автоматизации, однако в последние годы к ним прибавилась автоматика освещения в офисных зданиях.
C-Bus относятся к «легким» стандартам автоматизации, которые строятся на основе уже настроенных контроллеров и простого в освоении программного обеспечения.

В спецификации CBUS имеется третья линия, обозначаемая как DLEN. Диаграммы сигналов, отражающие способ работы с этой шиной в условиях совмещения с I2С, приведены на рисунке 8.

Рисунок 8  Совместимость с шиной CBUS

Адрес шины CBUS даёт возможность использовать протокол I2C при работе с элементами, оснащенными этой шиной. Шина CBUS

Слайд 10Служебные адреса: 0000 010, 0000 011, 0000 1хх
1111

1хх, 1111 0хх

относятся к расширениям шины I2С.

Все новые

абоненты, доступные для использования в шинах с расширениями совместимы и со старыми форматами передачи (приема).
режим fast-speed с возможностью передачи до 400 кбит/с;
режим Hs-mode — до 3,4 Мбит/с;
адресация с помощью 10 разрядов, расширенные возможности адресации до 1024 абонентов.

Увеличение скорости на шине I2C достигается путём укорочения стробирующего импульса на линии SCL. Поэтому для совместимости со старыми интерфейсами (более медленными) стробирующий импульс может быть продлен до необходимой величины.
Работа шины в режиме fast-speed характеризуется следующими важными свойствами:
отсутствие совместимости с шиной CBUS, так как эта шина не имеет возможности работать на таких скоростях;
наличие входных формирователей (триггеров Шмитта) SDA и SCL линий.

Если элементы, обладающие возможностью работы в режиме fast-speed, обесточены, они не должны влиять на работу шины.

Служебные адреса: 0000 010, 0000 011, 0000 1хх		  1111 1хх,  1111 0ххотносятся к расширениям шины

Слайд 1110-разрядный формат, передается два байта.
В первом байте передается: пять

битов, определяющих, что это 10-разрядный адрес; два старших бита адреса;

бит записи/чтения. Во втором байте передается 8 младших бит адреса (рисунок 9).

Рисунок 9  10-битный формат протокола I2C

Рисунок 10  Передача данных от MASTER-абонента к SALVE-устройству

Адресация с помощью 10 разрядов аналогична 7-разрядной адресации.

Устройство, получив служебный код в первом байте и опознав возможность приема 10-разрядного адреса, подтверждает это и принимает второй байт.
При совпадении принятого адреса с содержащимся внутри устройства собственным адресом выдается подтверждение АСК и ведется прием данных в обычном режиме до появления состояния SТOP.
На рисунке 10 показан формат передачи данных от MASTER-абонента к SLAVE-устройству.

10-разрядный формат, передается два байта. В первом байте передается: пять битов, определяющих, что это 10-разрядный адрес; два

Слайд 12На рисунке 11 приведен формат передачи данных от SLAVE-абонента к

MASTER-устройству.
Рисунок 11. Передача данных от SLAVE-абонента к MASTER-устройству
Вначале MASTER-устройство первым

байтом адресует все SLAVE-абоненты соответствующим кодом, и они подтверждают его получение сигналом АСК (А1).
Затем вторым байтом адресуется конкретное устройство с выдачей сигнала АСК (А2).
После выполнения условия «повторный START» (Sr) адресованное SLAVE-устройство сохраняет возможность обращаться к нему, поэтому достаточно повторить первый байт адреса, но уже с другим значением бита R/W и получить АСК (АЗ).
На рисунке 11 приведен формат передачи данных от SLAVE-абонента к MASTER-устройству.Рисунок 11. Передача данных от SLAVE-абонента к

Слайд 13Рисунок 12  Комбинированный формат. MASTER-абонент адресует SLAVE-устройство с 10-разрядным

адресом, затем передает данные и читает данные
Рисунок 13  Комбинированный

формат. MASTER-устройство передает данные двум SLAVE-абонентам с 10-разрядным адресом

Рисунок 14  Комбинированный формат. MASTER-абонент передает данные двум SLAVE-устройствам: одному с 7-разрядиым адресом, а другому с 10-разрядным адресом

Комбинированный 10-разрядный режим

Рисунок 12  Комбинированный формат. MASTER-абонент адресует SLAVE-устройство с 10-разрядным адресом, затем передает данные и читает данныеРисунок

Слайд 14Функциональная схема блока шины I2C (TWI) микроконтроллера AVR

Функциональная схема блока шины I2C (TWI) микроконтроллера AVR

Слайд 15Регистры I2C (TWI)
Регистр скорости передачи TWBR (TWI Bit Rate Register)
биты

7…0 — биты этого регистра определяют частоту работы модуля I2C.


Частота также зависит от тактовой частоты работы микроконтроллера, и значения в младших битах (TWPS0, TWPS1) регистра TWSR.

Частота SCL сигнала, тактовая частота микроконтроллера, и значение регистров TWBR и TWSR связаны следующим соотношением:
Регистры I2C (TWI)Регистр скорости передачи TWBR (TWI Bit Rate Register)биты 7…0 — биты этого регистра определяют частоту

Слайд 16Регистр данных TWDR (TWI Data Register)
биты 7…0 — биты этого

регистра хранит данные, которые надо передать ведомому, либо получить от

ведущего.

Регистр адреса TWAR (TWI Address Register)

биты 7…1 — биты хранения значения адреса, по которому будет отзываться микроконтроллер, находясь в режиме ведомого .
бит 0 — бит разрешения на отклик во время общих вызовов.

Регистр данных TWDR (TWI Data Register)биты 7…0 — биты этого регистра хранит данные, которые надо передать ведомому,

Слайд 17Статусный регистр TWSR (TWI Status Register)
биты 7…3 — биты содержат

статусный код. Биты доступны только для чтения, статусный код устанавливается

TWI модулем аппаратно, после выполнения различных операций. Например, формирование состояния СТАРТ, передачи пакета данных и так далее. По значению статусного кода можно судить о результате операции. Выполнилась ли она успешно или нет.
бит 2 — бит зарезервирован и читается как 0.
биты 1…0 — биты влияющие на частоту синхронизации SCL (зависимость наглядна в формуле для вычисления SCL)
Статусный регистр TWSR (TWI Status Register)биты 7…3 — биты содержат статусный код. Биты доступны только для чтения,

Слайд 18Регистр управления TWCR (TWI Control Register)
бит 7 — бит флага

прерывания TWI модуля (TWINT). Этот бит устанавливается аппаратно, когда TWI

модуль завершает текущую операцию (формирование состояния START, передачи адресного пакета и так далее). При этом если установлен бит глобального разрешения прерываний (бит I регистра SREG) и разрешены прерывания TWI модуля, то вызывается соответствующий обработчик. Бит TWINT очищается программно, записью единицы (при выполнении обработчика прерывания этот бит не сбрасывается аппаратно, как в других модулях. Сброс флага TWINT запускает работу TWI модуля, поэтому все операции с регистром данных, статуса или адреса, должны быть выполнены до его сброса. Пока бит TWINT установлен, на линии SCL удерживается низкий уровень.
бит 6 — бит разрешения подтверждения (TWEA). Если бит TWEA установлен в 1, TWI модуль формирует сигнал подтверждения (ACK), когда это требуется. А требуется это в трех случаях: ведущее или ведомое устройство получило байт данных, ведомое устройство получило общий вызов, ведомое устройство получило свой адрес.
бит 5 — флаг состояния START (TWSTA). Когда этот бит устанавливается в 1, TWI модуль проверяет не занята ли шина и формирует состояние START. Если шина занята, он будет ожидать появления на ней состояния STOP и после этого выдаст состояние START. Бит TWSTA должен быть очищен программно, когда состояние START передано.
бит 4 — флаг состояния STOP (TWSTO). Когда этот бит устанавливается в 1 в режиме ведущего, TWI модуль выдает на шину состояние STOP и сбрасывает этот бит. В режиме ведомого установка этого бита может использоваться для восстановления после ошибки. При этом состояние STOP не формируется, но TWI модуль возвращается к начальному не адресованному состоянию.
бит 3 — флаг конфликта записи (TWWC). Этот флаг устанавливается аппаратно, когда выполняется запись в регистр данных (TWDR) при низком значении бита TWINT. То есть когда TWI модуль уже выполняет какие-то операции. Флаг TWWC сбрасывается аппаратно, когда запись в регистр данных выполняется при установленном флаге прерывания TWINT.
бит 2 — бит разрешения работы TWI модуля (TWEN). Когда бит TWEN устанавливается в 1, TWI модуль включается и берет на себя управление выводами SCL и SDA. Когда бит TWEN сбрасывается, TWI модуль выключается.
бит 1 — бит зарезервирован и читается как 0.
бит 0 — разрешение прерывания TWI модуля (TWIE). Когда бит TWIE и бит I регистра SREG установлены в 1 – прерывания модуля TWI разрешены. Прерывания будут вызываться при установке бита TWINT.
Регистр управления TWCR (TWI Control Register)бит 7 — бит флага прерывания TWI модуля (TWINT). Этот бит устанавливается

Слайд 19Типичная передача данных

Типичная передача данных

Обратная связь

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

Email: Нажмите что бы посмотреть 

Что такое TheSlide.ru?

Это сайт презентации, докладов, проектов в PowerPoint. Здесь удобно  хранить и делиться своими презентациями с другими пользователями.


Для правообладателей

Яндекс.Метрика