Похожие презентации:
Протокол передачи данных I2C
1. Протокол передачи данных I2C
ПОДГОТОВИЛ СИДОРОВ ДЕНИС ЕВГЕНЬЕВИЧ,ЛИЦЕЙ №1511, 10 Г КЛАСС
2. Общие сведения
I²C, Inter-Integrated Circuit - последовательная шина обмена даннымимежду интегральными схемами. Изобретена в начале 80-х, передача
данных осуществляется по двум проводам в обе стороны. Ведущее и
ведомое устройства могут выполнять роль как приёмника, так и
передатчика. Для возможности соединения более двух устройств
используется адресация.
Шина состоит из двух проводов: SDA и SCL.
SDA – для передачи данных,
SCL – для их синхронизации.
3. Схема подключения
Каждое из устройств подключается к SDAи SCL, которые через подтягивающие
резисторы подключаются к источнику
питания (VCC).
Ведущее устройство называют Master, а
ведомое Slave.
4. Обмен данными
Данные между устройствами передаются в виде сообщений сразу по двум проводам(SDA и SCL).Сообщения имеют следующую структуру:
Start и Stop - это команды начала и конца сообщения, являются комбинацией сигналов на SDA и
SCL.
Адрес передается по SDA и указывает на то, какому устройству нужно принимать это
сообщение.
Read/Write bit – указывает на то следует передавать или считывать сигнал. Передается по SDA.
ASK/NASK bit – передается по SCL, говорит о том принял или не принял адресат сообщение.
8 Bits – кадр данных, передается по SDA
5. SDA
SDA - Serial Data, линия по которой устройства обмениваются данными и адресамиКлючевые особенности линии SDA:
Двунаправленность: По этому проводу информация передается как от ведущего
устройства (Master, например, микроконтроллер) к ведомому (Slave), так и обратно.
Побитовая передача: Информация передается по 1 биту за один такт синхронизации,
определенный линией SCL.
Управление служебными сигналами: На линии SDA формируются специальные команды
«Старт» и «Стоп». Они определяют начало и конец передачи данных (например, команда
«Старт» — это падение напряжения на линии SDA с высокого уровня на низкий, в то время
как линия SCL остается на высоком уровне).
Передача подтверждения (ASK): На каждый принятый байт ведомое устройство отвечает
на линии SCL сигналом подтверждения, чтобы ведущий знал — данные получены успешно
6. SCL
SCL – Serial Clock, линия по которой главное устройство может узнать получило ли сигналведомое и можно ли продолжать передачу данных по SDA
За что отвечает SCL:
Генерация тактовых импульсов: Устройство-ведущий (Master, например,
микроконтроллер) генерирует на линии SCL последовательность электрических
импульсов
Четкое считывание данных: Каждый импульс на линии SCL соответствует передаче
одного бита информации по второй линии — SDA (Serial Data, линия данных).
Устройства считывают или изменяют данные строго в определенные моменты
(например, по фронту или спаду тактового импульса).
Управление скоростью: Благодаря SCL определяется скорость обмена (например,
стандартный режим 100 кбит/с, быстрый 400 кбит/с или скоростной 3,4 Мбит/с).
7. Подтягивающие резисторы
Они необходимы для выполнения следующих задач:Формирование логической единицы: Резистор
«подтягивает»
линию
к
источнику
питания,
возвращая её в состояние высокого уровня, когда
ни одно из устройств не передаёт данные (ноль).
Без резисторов напряжение на линии «зависнет» в
неопределённом состоянии.
Заряд паразитной емкости: Провода и дорожки
на
плате
обладают
емкостью.
Резистор
обеспечивает необходимый ток для быстрого
заряда этой емкости, позволяя сигналу нарастать
достаточно быстро для корректного чтения данных.
Защита от короткого замыкания: Если два
устройства попытаются одновременно выдать
разный логический уровень, резистор ограничит
ток до безопасного предела, предотвращая
повреждение портов.
8. Ограничение на емкость шины
Ограничение в 400 пФ связано со скоростью передачи данных. В I2Cсигнал передается по проводам, которые работают как маленькие
конденсаторы. Чем длиннее провод и чем больше устройств к нему
подключено, тем дольше напряжение переключается между нулем и
единицей.
Если емкость превысит 400 пФ, линия будет заряжаться слишком долго.
Фронт сигнала станет «заваленным», и микросхемы перестанут
понимать, где заканчивается ноль и начинается единица.
При превышении емкости приходится сильно снижать скорость работы
шины, иначе данные начнут искажаться, а устройства начнут выдавать
ошибки.
9. Электрическая спецификация шины I2C
Согласно стандарту I2C, на данный момент существует пять режимовработы шины. Различаются они по максимально возможной скорости
передачи данных, то есть по максимальной частоте тактовых импульсов
SCL.
Режим работы
Максимальная скорость
Standard-Mode (SM)
100кГц
Fast-Mode (FM)
400кГц
Fast-Mode Plus (FM+)
1000кГц
High-Speed-Mode (HsM)
3400кГц
Ultra-Fast-Mode (UFM)
5000кГц
10. Особенности I2C
ПлюсыМинусы
• поддержка сравнительного большого количества
устройств (до 112 единиц)
• сложная прошивка или усложнение аппаратной
части
• даже при большом количестве устройств на
шине для ее реализации достаточно всего двух
линий – SDA и SCL
наличие
битов
подтверждения
снижает
максимальную пропускную способность шины
• на шину легко «повесить» ведомые устройства
разного типа
• одновременная поддержка несколько мастеров
на одной шине
• наличие бита подтверждения
облегчающего обработку ошибок.
(ACK/NACK),
• для нормальной работы шины требуются
подтягивающие резисторы, которые ограничивают
тактовую частоту и занимают место на печатной
плате (что особенно критично в системах с
ограниченным свободным пространством).
• ограничение на ёмкость линии — 400 пФ
• трудность локализации неисправности, если
одно из подключенных устройств ошибочно
устанавливает на шине состояние низкого уровня.
11. Использование I2C
Интерфейс I2C (Inter-Integrated Circuit) используется для связи между микросхемами нанебольшом расстоянии внутри одного устройства. Он позволяет подключить до 112 (реже до
1008) устройств всего по двум проводам: SDA и SCL.
Область применения I2C:
Дисплеи и экраны: Подключение символьных и графических OLED/LCD-экранов, а также
матричных сенсорных панелей.
Материнские платы: Интерфейс I2C используется для считывания параметров
мониторинга (температура, кулеры), управления питанием и модулей памяти SPD на
планках ОЗУ.
Аудиосистемы: Настройка
телевизорах и магнитолах.
В робототехнике, системах Умного дома и IoT (например, в платах Arduino и Raspberry Pi)
I2C служит для подключения гироскопов, акселерометров, датчиков давления, влажности и
освещенности.
Подключение аналого-цифровых (АЦП) и цифро-аналоговых преобразователей (ЦАП).
параметров
звуковых
процессоров
и
эквалайзеров
в
Электроника