Промышленное производство
Промышленный Интернет вещей | Промышленные материалы | Техническое обслуживание и ремонт оборудования | Промышленное программирование |
home  MfgRobots >> Промышленное производство >  >> Manufacturing Technology >> Промышленные технологии

I2C и SPI:различия, о которых следует знать

Вы разрабатываете проект, и вам важно выбрать между I2C и SPI? Но вы не знаете, что выбрать? Если да, мы поможем вам решить, какой из них лучше подходит для вашего проекта.

Во-первых, I2C и SPI — это «младшие» протоколы. Но они просты в использовании и отлично подходят для связи между чипами на вашей печатной плате.

Однако выбор неправильного протокола для вашего проекта может привести к нежелательным результатам. Тем не менее, мы здесь, чтобы помочь вам понять разницу между этими двумя похожими протоколами.

Вы готовы? Начнем!

Что такое протокол SPI?

В 1980-х компания Motorola разработала протокол SPI для установления связи между микроконтроллерами того времени и другими периферийными устройствами, такими как EEPROM.

ЭСППЗУ

Итак, протокол SPI использует четыре сигнальные линии для связи между частями. Однако важно отметить, что они не включают землю и линии электропередач. Вот четыре активных сигнальных линии:

В этом примечании четыре линии позволяют главному SPI (управляющему устройству) взаимодействовать с подчиненным SPI (периферийным устройством).

Интерфейс протокола SPI

Более того, на шине SPI может быть только одно устройство-контроллер. Но количество периферийных устройств, которые вы можете добавить, не ограничено. Кроме того, добавление дополнительных периферийных устройств означает увеличение количества линий SS. Следовательно, вот иллюстрация того, как вы можете использовать три отдельные линии SS для управления различными периферийными устройствами.

Интерфейс протокола SPI с несколькими порабощенными людьми

Кроме того, когда главный SPI хочет связаться с периферийными устройствами, отправляя или получая данные, он вытягивает соответствующую линию SS. Следовательно, линия будет ниже. Следовательно, линия SCLK активируется и имеет высокий и низкий уровень на заданной частоте.

Кроме того, главный SPI использует линию MISO для одновременной отправки данных и выборок. Кроме того, имейте в виду, что одновременно может быть установлена ​​связь только между одним периферийным устройством и главным SPI.

Что такое I2C

Кроме того, в 1982 году компания Philips Semiconductors (теперь NXP Semiconductors) разработала первый протокол I2C для систематизации связи между микросхемами на одной печатной плате.

В отличие от своего аналога SCI, протокол I2C имеет две линии связи, за исключением линий заземления и линий электропередач. Эти строки включают:

Таким образом, к одной шине можно подключить любое количество поработителей и агентов. Кроме того, вы должны оставить линии SCL и SDA открытыми. В результате на ваших устройствах одновременно будет только одна нижняя линия. Кроме того, вам понадобится подтягивающий резистор на ваших трубах. Таким образом, вы сможете вернуть свою леску наверх.

Интерфейс протокола I2C

Благодаря конструкции протокола I2C с открытым стоком вы можете использовать несколько ведущих устройств на одной шине. Но если два устройства-контроллера начнут обмениваться данными одновременно, произойдет арбитраж, в результате которого одно из устройств прекратит передачу.

Тем временем устройства контроллера контролируют линию SDA во время обмена данными. Таким образом, если одно устройство обнаружит низкий уровень сигнала на линии SDA во время передачи, оно прекратит передачу. И это позволяет другому контроллеру обмениваться данными.

Кроме того, устройство контроллера I2C передаст условие START для инициирования связи. Следовательно, линия SDA будет низкой, а линия SCL останется высокой.

Затем контроллерное устройство передаст 7-битный адрес получателя, которому оно хочет отправить, и бит чтения (1) или бит записи (0). В этот момент устройство на шине будет отвечать только в том случае, если оно имеет соответствующий 7-битный адрес, установив на линии SDA низкий уровень.

Различия между I2C и SPI

И SPI, и I2C похожи, потому что они оба являются «младшими» протоколами. Кроме того, обоим протоколам не хватает скорости и других функций, которыми могут похвастаться их тяжеловесные собратья (SATA, Ethernet, USB и другие).

Но когда дело доходит до принципов работы и возможностей. Давайте подробнее рассмотрим различия между двумя протоколами.

USB-разъем

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

  1. Режим 0:выборка данных осуществляется по переднему фронту тактового сигнала, низкий уровень холостого хода.
  2. Режим 1:выборка данных происходит по спадающему фронту тактовых импульсов, низкий уровень простоя тактовых импульсов.
  3. TMode 2:выборка данных происходит на спадающем фронте тактового сигнала, высокий уровень холостого хода.
  4. Режим 3:выборка данных происходит по переднему фронту тактового сигнала, тактовый сигнал находится на высоком уровне.

Кроме того, скорость передачи данных SPI может превышать 10 Мбит/с, что делает его идеальным для передачи больших объемов данных. Кроме того, вы можете найти протоколы SPI на датчиках с высокой частотой обновления, таких как ЖК-дисплеи и акселерометры.

ЖК-дисплей

В качестве альтернативы I2C может отправлять данные только в однобайтовом пакете за раз. Кроме того, принимающее периферийное устройство должно подтверждать каждый байт битом ACK. Кроме того, протокол I2C имеет три режима с разной скоростью передачи данных.

Бит подтверждения

Стандартная модель достигает максимальной скорости 100 кбит/с, в быстром режиме — 400 кбит/с, а в высокоскоростном режиме — 3,4 Мбит/с. Следовательно, протокол I2C значительно медленнее, чем протокол SPI. В результате протоколы I2C лучше всего работают в датчиках температуры и аналого-цифровых преобразователях.

Датчики температуры

Сравнение I2C и SPI

В таблице ниже показаны существенные различия между I2C и SPI:

<тд>I2C <тд>2
Функция СПИ
Шпилька Двухтактный режим Режим открытого стока
Макс. Скорость Нет (но можно найти 10-100 Мбит/с) 100 кбит/с (стандартный метод)400 кбит/с (быстрый способ)3,4 Мбит/с (высокоскоростной режим)
Несколько мастеров Нет Да
Сигнальные линии 4 (дополнительные устройства добавляют дополнительные линии)
Нет. периферийных устройств Количество контактов, доступных для линий SS на главном SPI, является единственным ограничением на количество периферийных устройств, которые вы можете иметь Макс. из 112 с 7-битной адресацией
Управление потоком Нет Да

Протоколы SPI и I2C — плюсы и минусы

СПИ 

Плюсы

Минусы

I2C 

Плюсы

Минусы

Факторы, которые следует учитывать при выборе между SPI и I2C

Выбор лучшего протокола для вашего проекта выходит за рамки ценника. Итак, прежде чем сделать свой выбор, обратите внимание на несколько моментов:

Ограниченное количество пинов

Вот преимущества и недостатки протоколов SPI и I2C:если вам не нравится использовать микроконтроллеры с более чем 100 выводами, это важный фактор, который следует учитывать. В этом случае вам следует выбрать протокол, который требует меньшего количества линий для связи.

Мощность

В зависимости от вашего проекта вы можете минимизировать или максимизировать энергопотребление. Таким образом, вы должны убедиться, что вы выбрали протокол, который наилучшим образом соответствует вашим потребностям в потреблении.

Скорость

Когда дело доходит до передачи огромных объемов данных, каждая микросекунда имеет решающее значение. Итак, если вам нужна скорость, выберите протокол, соответствующий вашим стандартам скорости.

Размер платы

Очень важно учитывать размер вашей печатной платы, прежде чем выбирать какой-либо протокол. Следовательно, вы повысите свои шансы на получение желаемых результатов.

Выбор между SPI и I2C

Вот особенности каждого протокола, которые помогут вам принять наилучшее решение для вашего проекта:

Функции СПИ I2C
Скорость Если для вашего проекта требуется более высокая скорость передачи, протокол SPI — лучший выбор. Вы можете выбрать I2C для разработки низкоскоростных устройств
Размер печатной платы Если вас не беспокоит размер вашей печатной платы, вы не ошибетесь ни с SPI, ни с I2C. Если ваша печатная плата имеет меньший размер и меньше дорожек, рассмотрите возможность выбора I2C
Ограниченное количество пинов Используйте протокол SPI, если вы не возражаете против добавления дополнительных линий связи. Если вас не устраивает много дорожек, идеальным выбором будет I2C.
Мощность Для устройств с низким энергопотреблением используйте протокол SPI Для устройств с более высоким энергопотреблением используйте протокол I2C

Понимание UART

UART — это физические схемы в интегрированном или микроконтроллере, которые устанавливают последовательную связь между устройствами во встроенных системах.

Кроме того, когда вы имеете дело со связью UART, всегда существует прямая связь между передатчиком UART и приемником UART.

UART, I2C и SPI

В отличие от других протоколов связи, таких как SPI и I2C, UART является чисто физическим. Кроме того, он не использует парадигму ведущий/ведомый для связи. Вместо этого микроконтроллер использует два устройства UART для отправки и получения данных. Кроме того, вам нужно всего два провода для связи UART. А кабели помогут передавать данные с контакта Tx передатчика на контакт Rx приемника.

Интерфейс протокола UART

Округление

На самом деле протоколы SPI и I2C используются в различных приложениях. Иногда вы можете столкнуться с устройствами, которые имеют интерфейсы SPI и I2C на одном чипе. Таким образом, вам не нужно выбирать между ними.

Однако, если вам нужно выбирать между двумя протоколами, SPI лучше подходит для проектов, которым требуется более высокая скорость передачи. С другой стороны, если ваш микроконтроллер имеет ограниченное количество контактов, протокол I2C будет работать лучше.

Есть вопросы? Не стесняйтесь связаться с нами. Будем рады помочь.


Промышленные технологии

  1. 7 библиотек React, которые вы должны знать
  2. Что нужно знать об испытаниях трансформаторного масла
  3. Почему вы должны использовать линейный реактор
  4. Что вы должны знать о защитных кожухах шлифовальных кругов
  5. 5 вещей, которые вы должны знать о Micro Tools
  6. Что такое соответствие ТАА? 5 вещей, которые вы должны знать
  7. 9 приложений машинного обучения, о которых вы должны знать
  8. Облицовка сцепления:все, что вы должны знать
  9. Основные термины гидроабразивной резки, которые вы должны знать
  10. Что такое накатка? Вот что вы должны знать