Что такое межинтегральная схема (I2C)?
Привет всем, я Роуз. Сегодня я познакомлю вас с I2C. Шина I2C — это простая двунаправленная двухпроводная синхронная последовательная шина, разработанная Philips. Для передачи информации между устройствами, подключенными к шине, требуется всего два провода.
Темы, затронутые в этой статье: |
Ⅰ. Что такое I2C? |
Ⅱ. Краткая история I2C |
Ⅲ. Базовый контент I2C |
Ⅳ. Необходимо обратить внимание на разработку и проектирование шины I2C. |
Ⅴ. Пример дизайна |
Ⅵ. Краткое содержание |
Ⅰ. Что такое I2C?
Компания Philips изобрела шину I2C , которая представляет собой простую двунаправленную двухпроводную синхронную последовательную шину. Для передачи данных между устройствами, подключенными к шине, требуются всего два провода.
Главное устройство используется для открытия устройства для передачи и запуска шины для передачи данных. Любое адресованное устройство в этот момент рассматривается как подчиненное. На шине отношения между главным и подчиненным устройствами, отправкой и получением данных не являются постоянными, но зависят от направления передачи данных в данный момент. Если хост желает отправить данные на ведомое устройство, он сначала обращается к ведомому устройству, затем активно передает данные на ведомое устройство и, наконец, завершает передачу данных; если хост хочет получить данные от ведомого устройства, ведущее устройство сначала обращается к ведомому устройству. Затем хост получает данные, доставленные устройством, прежде чем завершить операцию приема. в этих условиях. Таймер генерируется хостом, и передача данных завершается хостом.
Ⅱ. Краткая история I2C
В 1980 году компания Philips приступила к разработке коммуникационной шины для подключения различных низкоскоростных устройств (чипов Philips).
В 1982 году исходная версия использовала скорость передачи данных 100 кГц, предоставляла 7-битные адреса и ограничивала количество устройств на шине до 112 (с несколькими зарезервированными адресами).
В 1992 году была опубликована первая спецификация, добавлявшая быстрый режим 400 кГц и расширенное 10-битное адресное пространство.
В 1998 году, с развитием технологий, требования к скорости связи становились все выше и выше, достигнув высокой скорости 3,4 МГц, а затем были повышены до 5 МГц позже, а для повышения помехозащищенности использовались дифференциальные сигналы.
Ⅲ. Базовый контент I2C
I²C: Inter-Integrated Circuit , что буквально означает «между интегральными схемами», является аббревиатурой шины I²C.
Для I2C требуется всего два провода, которые могут поддерживать до 1008 подчиненных устройств для синхронной последовательной связи.
В отличие от SPI , I2C может поддерживать шину с несколькими ведущими и несколькими ведомыми устройствами.
2С
Двухпроводной сигнал I2C
Каждая шина I2C состоит из двух сигналов: тактового сигнала SCL и данных SDA. Действующий мастер шины постоянно генерирует тактовый сигнал.
Драйверы шины I 2 C, в отличие от UART и SPI, имеют открытый сток (пожалуйста, Google, если вы не знаете, что означает открытый сток), что означает, что они могут выводить соответствующую сигнальную линию на низкий уровень, но не на высокий уровень.
Когда ни одно устройство не подает сигнал на низкий уровень, нагрузочный резистор на каждой сигнальной линии возвращает его на высокий уровень.
Сигнал I2C
Уровень сигнала
Уровень сигнала шины I2C обычно составляет от 5 до 3,3 Вольт. Устройство на шине можно использовать напрямую, если оно совместимо с этими двумя уровнями.
Преобразование уровней необходимо, если напряжения сигналов существенно различаются (5 В и 2,5 В) или если уровни несовместимы.
Ⅳ. Необходимо обратить внимание на разработку и проектирование шины I2C.
1. Емкость шины и возможности привода
Поскольку все периферийные устройства расширения шины I2C представляют собой КМОП-устройства, а шина имеет достаточную пропускную способность по току, количество расширенных узлов на шине определяется емкостной нагрузкой, а не возможностями текущей нагрузки.
Каждое фактическое узловое устройство на шине имеет эквивалентную емкость на интерфейсе шины. Из-за аналогичной емкости передача по шине будет задерживаться, что приведет к ошибкам передачи данных.
Емкость нагрузки шины обычно составляет 400 пФ, и каждое устройство I2C имеет свое значение емкости, обычно не более 20 пФ, по которому можно оценить длину шины и количество узлов. Поскольку каждое периферийное устройство на шине имеет адрес устройства, адрес устройства также ограничивает расширение периферийных устройств на шине.
2. Электрическая структура шины I2C.
Внутренний интерфейс шины I2C представляет собой схему двунаправленной передачи, как показано на рисунке, поскольку шина I2C представляет собой двунаправленную синхронную последовательную шину. Поскольку выход порта шины имеет структуру с открытым стоком, на шине необходимо установить подтягивающий резистор . Напряжение источника питания, SDA, SCL и последовательное сопротивление шины зависят от подтягивающего резистора . Для выбора обратитесь к соответствующему техническому паспорту, который обычно находится в диапазоне от 4,7 до 10 кОм.
Типичное применение
3. Каждый узел имеет фиксированный адрес узла.
Поскольку шина I2C представляет собой двунаправленную синхронную последовательную систему, однокристальный микрокомпьютер на шине может выступать в качестве главного узла, при этом адрес его устройства задается программным обеспечением и сохраняется в адресном регистре шины, который называется подчиненным адресом узла. главное устройство. Когда однокристальный микрокомпьютер используется в качестве подчиненного узла в системе шины с несколькими ведущими устройствами, его адрес подчиненного устройства имеет смысл, что приводит к стандартизации адресов устройств для всех периферийных устройств на шине.
4. Синхронизация шины I2C
Каждый кадр данных, передаваемых по интерфейсу I2C, имеет длину один байт. Однако после запуска шины количество передаваемых байтов не ограничено; все, что требуется, это чтобы другая сторона подтвердила каждый переданный байт. Наиболее значительная часть информации передается первой при отправке. Каждая передача имеет сигнал начала в начале и сигнал остановки в конце. Манипулируя линией синхронизации после передачи байта по шине, можно остановить передачу.
①Часы и передача данных:
Обычно для подачи высокого уровня на вывод SDA используется внешнее устройство. Когда уровень SCL низкий, данные на выводе SDA можно только изменять; когда SCL имеет высокий уровень, данные на выводе SDA указывают состояние запуска или остановки. как показано на иллюстрации
Часы и передача данных
②Начальные и конечные условия:
Условием запуска является сигнал SDA от высокого к низкому с высоким уровнем SCL, который должен идти перед любой другой командой. Условием остановки является переход SDA от низкого к высокому и высокий уровень SCL. Команда остановки переводит EEPROM в режим ожидания после последовательности чтения, как показано на схеме.
Начальные и конечные условия
③ Ответ:
Все слова адреса и данных постоянно передаются в EEPROM в виде 8-битных слов, и EEPROM подтверждает получение каждого слова, передавая «0». Как показано, подтверждение происходит на девятом такте.
Отвечать
История версий I2C
Скажите еще что-нибудь о SMBus :
«Шина управления системой», основанная на I2C, была представлена Intel в 1995 году (SMBus). SMBus — это более жестко контролируемый формат, целью которого является улучшение предсказуемости связи между поддерживающими микросхемами на материнских платах ПК.
Основное различие между SMBus и I2C заключается в том, что SMBus имеет ограничение скорости от 10 до 100 кГц, тогда как I2C может поддерживать устройства с частотой от 0 кГц до 5 МГц.
Ⅴ. Пример дизайна
AT24C256 — это электрически стираемая последовательная программируемая постоянная память емкостью 256 кбит от ATMEL , упакованная в 8-контактное двухрядное линейное устройство с небольшой конструкцией, значительной емкостью памяти и другими функциями, которые можно использовать в 2-проводной схеме. автобус. Соедините четыре из этих микросхем последовательно, чтобы создать систему сбора данных, требующую хранения данных высокой емкости.
AT24C256
Данные можно принимать и передавать с помощью устройств памяти EEPROM . Каждое устройство, подключенное к шине, имеет свой уникальный адрес.
Когда хост обращается к EEPROM . он отправляет условие запуска и сигнал управления в память EEPROM , а также сигнал красного флажка, чтобы изменить направление передачи и приема данных. Соответствующие данные могут быть считаны после получения ответного сигнала от EEPROM .
Ⅵ. Краткое содержание
Из приведенных выше примеров мы можем узнать, что преимущества I2C в основном проявляются в:
1. Аппаратная схема была оптимизирована. Линия последовательных данных (SDA) и последовательная линия синхронизации — единственные линии, необходимые на этой шине (SCL).
2. Каждое устройство I2C на шине имеет уникальный адрес, который программное обеспечение может использовать для его адресации.
3. Поскольку на шине может быть множество главных устройств I2C, протокол интерфейса шины I2C включает механизм мониторинга и разрешения конфликтов для предотвращения потери данных или сбоев связи.
4. Стандартный режим этой последовательной двухпроводной двунаправленной шины составляет 100 кбит/с, быстрый режим — 400 кбит/с, высокоскоростной режим — 3,4 Мбит/с.
5. Целостность данных обеспечивается методами фильтрации и защиты от помех в устройстве I2C.
6. Емкостное реактивное сопротивление шины не может превышать 400 пФ, поскольку количество подключаемых к ней устройств ограничено.

Frequently Asked Questions
