I2c или spi что лучше
Перейти к содержимому

I2c или spi что лучше

КАК: Выбор между I2C и SPI для вашего проекта — 2022

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

SPI или Serial to Peripheral Interface, представляет собой очень маломощный четырехпроводный интерфейс последовательной связи, предназначенный для IC-контроллеров и периферийных устройств для связи друг с другом. Шина SPI представляет собой полнодуплексную шину, которая позволяет передавать сообщения одновременно и с ведущего устройства со скоростью до 10 Мбит / с. Высокоскоростная работа SPI, как правило, ограничивает ее использование для связи между компонентами на отдельных печатных платах из-за увеличения емкости, которая добавляет к сигнальным линиям связь более длинного расстояния. Емкость печатной платы также может ограничивать длину линий связи SPI.

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

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

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

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

  • I2C требует только два провода, в то время как SPI требует три или четыре
  • SPI поддерживает высокоскоростную полнодуплексную связь, в то время как I2C работает медленнее
  • I2C потребляет больше энергии, чем SPI
  • I2C поддерживает несколько устройств на одной и той же шине без дополнительных линий сигнала выбора через адресацию устройства связи, в то время как SPI требует дополнительных сигнальных линий для управления несколькими устройствами на одной и той же шине
  • I2C гарантирует, что переданные данные принимаются ведомым устройством, в то время как SPI не проверяет правильность приема данных
  • I2C может быть заблокирован одним устройством, которое не освобождает коммуникационную шину
  • SPI не может передавать с печатной платы, хотя I2C может, хотя и при низких скоростях передачи данных
  • I2C дешевле реализовать, чем протокол связи SPI
  • SPI поддерживает только одно ведущее устройство на шине, в то время как I2C поддерживает несколько мастер-устройств
  • I2C менее восприимчив к шуму, чем SPI
  • SPI может перемещаться только на короткие расстояния и редко покидать печатную плату, в то время как I2C может передавать данные на гораздо большие расстояния, хотя при низких скоростях передачи данных
  • Отсутствие формального стандарта привело к нескольким изменениям протокола SPI, которые в значительной степени избегались протоколом I2C

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

Как найти финансирование для вашего проекта приложения

Как найти финансирование для вашего проекта приложения

Разработка мобильного приложения — сложный процесс, а также дорогостоящий. Эти полезные советы помогут вам найти источник для финансирования проекта разработки приложений.

Выбор веб-сайта для вашего видео-блога

Выбор веб-сайта для вашего видео-блога

При выборе веб-сайта видео-блога рассмотрите стоимость и функции в дополнение к теме и платформе. Проверьте эти видео-сайты блога для своего блога.

Выбор правильного веб-сервера для вашего бизнеса

Выбор правильного веб-сервера для вашего бизнеса

Веб-сервер является основой всего, что происходит с вашей веб-страницей, и все же часто люди об этом ничего не знают.

Введение в SPI, I2C, UART, I2S, GPIO, SDIO, CAN

Автобус всегда в нем застревает. Все сигналы в этом мире одинаковые, но есть тысячи автобусов, а это головная боль. Вообще говоря, существует три вида шин: внутренняя шина, системная шина и внешняя шина. Внутренняя шина — это шина между периферийными микросхемами в микрокомпьютере и процессоре, которая используется для взаимодействия на уровне микросхемы; в то время как системная шина является шиной между съемными платами и системной платой в микрокомпьютере и используется для взаимного обмена на уровне съемной платы. Внешняя шина — это шина между микрокомпьютером и внешним устройством. Как устройство, микрокомпьютер обменивается информацией и данными с другими устройствами через шину. Он используется для соединения на уровне устройства.
В дополнение к шине есть также некоторые интерфейсы, которые представляют собой совокупность нескольких шин, или они не отклоняются.

1. СПИ

SPI (Serial Peripheral Interface): метод синхронной последовательной шины, предложенный MOTOROLA. Высокоскоростной синхронный последовательный порт. 3-4-проводный интерфейс, независимая отправка и получение, могут быть синхронизированы.

Он широко используется из-за его мощных аппаратных функций. В интеллектуальных приборах и системе измерения и управления, состоящей из однокристального микрокомпьютера. Если требования к скорости невысоки, режим шины SPI — хороший выбор. Это может сэкономить порты ввода-вывода, увеличить количество периферийных устройств и производительность системы. Стандартная шина SPI состоит из четырех линий: линии последовательной синхронизации (SCK), линии ввода / вывода главного устройства (MISO). Линия главного выхода / подчиненного входа (MOSI) и сигнал выбора микросхемы (CS). Некоторые микросхемы интерфейса SPI имеют сигнальные линии прерывания или не имеют MOSI.

Шина SPI состоит из трех сигнальных линий: последовательных часов (SCLK), последовательного вывода данных (SDO) и последовательного ввода данных (SDI). Шина SPI может реализовать соединение нескольких устройств SPI. Устройство SPI, которое обеспечивает последовательные часы SPI, является ведущим или ведущим устройством SPI (Master), а другие устройства являются ведомыми или ведомыми устройствами SPI (Slave). Полнодуплексная связь может быть реализована между ведущими и ведомыми устройствами. При наличии нескольких подчиненных устройств можно добавить строку выбора подчиненного устройства. Если вы используете универсальный порт ввода-вывода для имитации шины SPI, у вас должен быть выходной порт (SDO), входной порт (SDI), а другой порт зависит от типа реализованного устройства. Если вы хотите реализовать устройство «ведущий-ведомый», вам потребуется порт ввода и вывода. , Если реализовано только ведущее устройство, порта вывода достаточно; если реализовано только ведомое устройство, требуется только входной порт.

2. I2C

I2C (Inter-Integrated Circuit): двухпроводная последовательная шина, разработанная PHILIPS, используемая для подключения микроконтроллеров и их периферийных устройств.

Шина I2C использует два провода (SDA и SCL) для передачи информации между шиной и устройством, последовательной связи между микроконтроллером и внешними устройствами или двусторонней передачи данных между ведущим устройством и ведомым устройством. I2C — это выход OD, большинство I2C — 2-проводные (часы и данные), обычно используемые для передачи управляющих сигналов.

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

3. УАПП

UART: универсальный асинхронный последовательный порт, полная двусторонняя связь в соответствии со стандартной скоростью передачи данных, низкая скорость.

Шина UART — это асинхронный последовательный порт, поэтому он обычно намного сложнее, чем первые два синхронных последовательных порта. Как правило, он состоит из генератора скорости передачи (генерируемая скорость передачи в 16 раз больше скорости передачи), приемника UART и передатчика UART. Он состоит из двух аппаратных проводов, один для отправки, а другой для приема.

UART — это микросхема, используемая для управления компьютерами и последовательными устройствами. Следует отметить, что он предоставляет интерфейс терминального устройства данных RS-232C, чтобы компьютер мог связываться с модемами или другими последовательными устройствами, использующими интерфейс RS-232C. В рамках интерфейса UART также предоставляет следующие функции:

Параллельные данные, передаваемые с компьютера, преобразуются в выходной поток последовательных данных. Преобразуйте последовательные данные извне компьютера в байты для использования устройствами, которые используют параллельные данные внутри компьютера. Добавьте бит четности в выходной поток последовательных данных и выполните проверку четности потока данных, полученного извне. Добавьте метку начала-стопа в выходной поток данных и удалите метку начала-стопа из принятого потока данных. Обработка сигнала прерывания, отправляемого клавиатурой или мышью (клавиатура и мышь также являются последовательными устройствами). Может справиться с проблемой управления синхронизацией компьютера и внешнего последовательного устройства. Некоторые высокопроизводительные UART также предоставляют буферы для входных и выходных данных. Более новый UART — 16550, который может хранить в буфере 16 байтов данных до того, как компьютеру потребуется их обработать. Обычный UART — 8250. Теперь, если вы покупаете встроенный модем, внутри модема обычно будет 16550 UART.

3. сравнение SPI, I2C и UART

Оба метода связи — SPI и I2C — это связь на коротком расстоянии между микросхемой и микросхемой или между другими компонентами, такими как датчик и микросхема. SPI и IIC — это межплатная связь, IIC иногда также поддерживает межплатную связь, но расстояние очень короткое, но более одного метра, например, некоторые сенсорные экраны, ЖК-экраны мобильных телефонов, многие тонкие пленки кабели используют IIC, I2C может использоваться для замены стандартной параллельной шины, различных интегральных схем и функциональных модулей, которые могут быть подключены. I2C — это шина с несколькими ведущими, поэтому любое устройство может работать как ведущее и управлять шиной. Каждое устройство на шине имеет уникальный адрес, и в соответствии со своими возможностями они могут работать как передатчики или приемники. На одной шине I2C могут сосуществовать несколько микроконтроллеров. Эти две линии относятся к тихоходной трансмиссии.

UART используется для связи между двумя устройствами, например для связи между устройством и компьютером, выполненным с помощью однокристального микрокомпьютера. Такое общение можно осуществлять на большие расстояния. Скорость UART выше, чем у двух вышеупомянутых, примерно до 100K. Он используется для связи с компьютером и устройством или между компьютером и вычислением, но эффективная дальность не будет очень большой, около 10 метров. Преимущество UART в том, что он имеет широкий спектр поддержки и структуру программного проектирования. Проще говоря, с развитием USB UART постепенно идет под откос.

5. I2S

I2S (Inter-IC Sound Bus) — это стандарт шины, разработанный Philips для передачи аудиоданных между цифровыми аудиоустройствами. Большая часть из них 3-проводная (помимо часов и данных есть еще сигнал выбора левого и правого каналов), I2S в основном используется для передачи аудиосигналов. Такие как STB, DVD, MP3 и т. Д. Обычно используются.

В стандарте I2S указываются как спецификация аппаратного интерфейса, так и формат цифровых аудиоданных. I2S имеет 3 основных сигнала: 1) SCLK последовательной синхронизации, также называемой битовой синхронизацией (BCLK), то есть, соответствующий каждому биту цифровых аудиоданных, SCLK имеет 1 импульс. Частота SCLK = 2 × частота дискретизации × количество битов дискретизации. 2) Тактовый генератор LRCK (также называемый WS) используется для переключения данных левого и правого каналов. LRCK «1» означает, что данные левого канала передаются, а «0» означает, что данные правого канала передаются. Частота LRCK равна частоте дискретизации. 3) SDATA последовательных данных — это аудиоданные, представленные в виде дополнения до двух. Иногда для лучшей синхронизации систем необходимо передать другой сигнал MCLK, называемый главными часами, также называемыми системными часами (Sys Clock), который в 256 или 384 раза превышает частоту дискретизации.

6. GPIO

GPIO (универсальный ввод-вывод) или расширитель шины, использующий стандартный интерфейс I2C, SMBus или SPI для упрощения расширения портов ввода-вывода.

Когда микроконтроллер или набор микросхем не имеет достаточного количества портов ввода / вывода, или когда системе необходимо использовать удаленную последовательную связь или управление, продукты GPIO могут предоставлять дополнительные функции управления и мониторинга. Каждый порт GPIO можно настроить как вход или выход с помощью программного обеспечения. Линия продуктов Maxim GPIO включает от 8 до 28 портов GPIO, обеспечивающих двухтактный выход или выход с открытым стоком. Доступен в миниатюрном корпусе QFN размером 3 мм x 3 мм.

(1) Преимущества GPIO (расширитель портов):

① Низкое энергопотребление: GPIO имеет более низкое энергопотребление (около 1 мкА, в то время как рабочий ток мкК составляет 100 мкА).

② Встроенный интерфейс ведомого устройства IIC: встроенный интерфейс ведомого устройства IIC GPIO, он может работать на полной скорости даже в режиме ожидания.

③ Компактный корпус: устройства GPIO имеют наименьший размер корпуса — 3 мм x 3 мм QFN!

④ Низкая стоимость: не нужно платить за неиспользуемые функции!

⑤ Быстрый листинг: не нужно писать дополнительные коды, документы и никаких работ по техническому обслуживанию!
Гибкое управление освещением: несколько встроенных выходов PWM с высоким разрешением.

⑥ Заранее определяемое время отклика: сократите или определите время отклика между внешними событиями и прерываниями.

⑦ Лучший световой эффект: согласованный выходной ток для обеспечения равномерной яркости дисплея.

⑧ Простая разводка: требуется всего 2 шины IIC или 3 шины SPI

7. СДИО

SDIO — это интерфейс расширения SD-типа. Помимо возможности подключения к SD-карте, его также можно подключать к устройствам, поддерживающим интерфейс SDIO. Назначение гнезда — не только для того, чтобы вставить карту памяти. КПК и ноутбуки, поддерживающие интерфейс SDIO, могут быть подключены к GPS-приемникам, адаптерам Wi-Fi или Bluetooth, модемам, адаптерам LAN, считывателям штрих-кода, FM-радио, ТВ-приемникам, считывателям радиочастотной аутентификации или цифровым камерам и другим устройствам, использующим SD. стандартные интерфейсы.

Протокол SDIO является усовершенствованным и обновленным протоколом SD-карты. Во многих местах сохраняется протокол чтения и записи SD-карты. В то же время протокол SDIO добавляет команды CMD52 и CMD53 к протоколу SD-карты. Из-за этого важным различием между спецификациями SDIO и SD-карт является добавление стандартов низкой скорости. Целевое приложение низкоскоростных карт начинается с самого маленького оборудования для поддержки возможностей низкоскоростного ввода-вывода. Низкоскоростные карты поддерживают такие приложения, как модемы, сканеры штрих-кода и GPS-приемники. Высокоскоростные карты поддерживают сетевые карты, ТВ-карты, «комбинированные» карты и т. Д. Комбинированные карты относятся к памяти + SDIO.

Еще одно важное различие между SDIO и SD-картой SPEC — добавление низкоскоростных стандартов. Для карты SDIO требуется только режим передачи SPI и 1-битный SD. Целевое применение низкоскоростных карт — поддержка возможностей низкоскоростного ввода-вывода с минимальными затратами на оборудование. Низкоскоростные карты поддерживают такие приложения, как модемы, сканеры штрихов и приемники GPS. Для комбинированных карт полная скорость и работа 4BIT являются обязательными требованиями для внутренней памяти и части SDIO карты. В некомбинированных устройствах SDIO максимальная скорость должна достигать только 25 Мбайт, а максимальная скорость комбинированной карты равна максимальной скорости SD-карты, которая превышает 25 Мбайт.


8. МОЖЕТ

CAN, полное название — «Controller Area Network», то есть Controller Area Network, которая является одной из наиболее широко используемых полевых шин в мире. Первоначально CAN был разработан как коммуникационный микроконтроллер в автомобильной среде, обменивающийся информацией между различными электронными блоками управления в транспортном средстве, образуя автомобильную сеть электронного управления. Например, устройства управления CAN встроены в системы управления двигателем, контроллеры трансмиссии, контрольно-измерительное оборудование и электронные магистральные системы.

В единой сети, состоящей из CAN-шины, теоретически может быть подключено бесчисленное количество узлов. В практических приложениях количество узлов ограничено электрическими характеристиками сетевого оборудования. Например, при использовании Philips P82C250 в качестве приемопередатчика CAN 110 узлов могут быть подключены к одной сети. CAN может обеспечить скорость передачи данных до 1 Мбит / с, что упрощает управление в реальном времени. Кроме того, функция проверки ошибок оборудования также повышает способность CAN противостоять электромагнитным помехам.

1) Может работать в режиме с несколькими мастерами. Любой узел в сети может активно отправлять информацию другим узлам в сети в любое время, независимо от ведущего и ведомого, а режим связи является гибким.

2) Узлы в сети могут быть разделены на разные приоритеты для удовлетворения различных требований в реальном времени.

3) Принят механизм неразрушающей структуры шины битового арбитража. Когда два узла передают информацию в сеть одновременно, узел с более низким приоритетом активно останавливает передачу данных, в то время как узел с более высоким приоритетом может продолжать передавать данные без какого-либо воздействия.

4) Данные могут приниматься в нескольких режимах передачи: точка-точка, точка-множество точек и глобальное широковещание.

5) Максимальное расстояние прямой связи может достигать 10 км (скорость ниже 4 Кбит / с).

6) Скорость передачи данных может достигать 1 МБ / с (на данный момент наибольшее расстояние составляет 40 м).

Дальность передачи зависит от многих факторов. Истинное расстояние основано на антенны установка высоты, коэффициент усиления антенны, с использованием среды, как здания и другие препятствия, чувствительности приемника, антенны приемника. Установка антенны более высокого и использования в сельской местности, расстояние будет гораздо более далеко.

Пример 5W FM-передатчик использовать в городе и родном городе:

У меня есть клиент использовать 5W FM-передатчик с США GP антенны в своем родном городе, и он проверить его с автомобилем, он охватывает 10km (6.21mile).

Я проверить FM-передатчик 5W с GP антенны в моем родном городе, он охватывает около 2km (1.24mile).

Я проверить FM-передатчик 5W с GP антенны в городе Гуанчжоу, он охватывает только о 300meter (984ft).

Ниже приведены примерный диапазон различных передатчиков мощности FM. (Диапазон диаметра)

5W FM-передатчик: 100M

15W FM Ttransmitter: 1KM

80W FM-передатчик: 3KM

500W FM-передатчик: 10KM

1000W FM-передатчик: 30KM

2KW FM-передатчик: 50KM

5KW FM-передатчик: 100KM

10KW FM-передатчик: 150KM

Как связаться с нами для передатчика?

Позвони мне + 8618078869184 ИЛИ
Напиши мне [электронная почта защищена]
1.How далеко вы хотите, чтобы покрыть в диаметре?
2.How высокий из вас башня?
3.Where ты?
И мы дадим вам более профессиональные советы.

О Нас

FMUSER.ORG — компания по системной интеграции, специализирующаяся на радиочастотной беспроводной передаче / студийном видео аудио оборудовании / потоковой передаче и обработке данных. Мы предоставляем все — от консультаций и консультаций до интеграции в стойку, до установки, ввода в эксплуатацию и обучения.

Мы предлагаем FM-передатчик, аналоговый ТВ-передатчик, цифровой ТВ-передатчик, УКВ-передатчик UHF, антенны, разъемы коаксиального кабеля, STL, эфирную обработку, вещательные продукты для студии, радиочастотный мониторинг, RDS-кодеры, аудиопроцессоры и пульты дистанционного управления, Продукты IPTV, видео / аудио кодеры / декодеры, предназначенные для удовлетворения потребностей как крупных международных вещательных сетей, так и небольших частных станций.

Наше решение включает FM-радиостанцию ​​/ аналоговую телевизионную станцию ​​/ цифровую телевизионную станцию ​​/ аудио-видео студийное оборудование / студийную передающую линию / передающую телеметрическую систему / гостиничную телевизионную систему / IPTV-трансляцию в прямом эфире / потоковое прямое вещание / видеоконференцию / систему CATV-вещания.

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

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

FMUSER.ORG занимается экспортом более 15 лет и имеет клиентов по всему миру. Имея 13-летний опыт работы в этой области, у нас есть профессиональная команда для решения всех видов проблем клиентов. Мы стремимся предоставлять чрезвычайно разумные цены на профессиональные продукты и услуги. Почта для связи : [электронная почта защищена]

Наша фабрика

У нас есть модернизация завода. Приглашаем Вас посетить наш завод, когда вы приехали в Китай.

В настоящее время уже существуют клиенты 1095 по всему миру посетили наш офис Гуанчжоу Тяньхэ. Если вы приехали в Китай, вы можете посетить нас.

На выставке

Это наше участие в 2012 Global Sources Hong Kong Electronics Fair . Клиенты со всего мира наконец-то есть шанс получить вместе.

Где Fmuser?

Вы можете искать по этим номерам » 23.127460034623816,113.33224654197693 «на карте Google, тогда вы можете найти наш офис fmuser.

FMUSER Гуанчжоу офис находится в районе Тяньхэ, который является центр кантона , Очень возле до Кантонская ярмарка , Железнодорожная станция Гуанчжоу , xiaobei дороги и Dashatou , Только потребность 10 минут если принять ТАКСИ , Добро пожаловать друзья по всему миру, чтобы посетить и обсудить.

Контактное лицо: Sky Blue
Мобильный телефон: + 8618078869184
WhatsApp: + 8618078869184
WeChat: + 8618078869184
E-mail: [электронная почта защищена]
QQ: 727926717
Skype: sky198710021
Адрес: No.305 номер Huilan Building No.273 Хуанпу-роуд Гуанчжоу Китай Zip: 510620

Консультация на английском: Мы принимаем все платежи, такие как PayPal, кредитные карты, Western Union, Alipay, Money Bookers, T / T, LC, DP, DA, OA, Payoneer, если у вас есть какие-либо вопросы, свяжитесь со мной [электронная почта защищена] или WhatsApp + 8618078869184

PayPal. www.paypal.com

Мы рекомендуем вам использовать Paypal, чтобы купить наши детали, Paypal является безопасным способом, чтобы купить в Интернете.

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

Кредитная карта. Если у вас нет Paypal, но у вас есть кредитная карта, вы также можете нажать желтую кнопку PayPal, чтобы оплатить с помощью кредитной карты.

Но если у вас нет кредитной карты и не имеют PayPal счета или трудно получил PayPal сведенью, Вы можете использовать следующее:

Вестерн Юнион. www.westernunion.com

Оплатите Western Union мне:

Имя / Имя: Инфэн
Фамилия / Фамилия / Фамилия: Чжан
Полное имя: Инфэн Чжан
Страна: Китай
Город: Гуанчжоу

————————————————— ——————-

T / T. Платить с помощью T / T (переход провода / телеграфный перевод / Банковский перевод)

* Он будет направлен в 1-2 рабочих дней, когда оплата ясно.

* Мы отправим его на ваш адрес PayPal. Если вы хотите изменить адрес, пожалуйста, отправьте ваш правильный адрес и номер телефона, на мой адрес электронной почты [электронная почта защищена]

* Если пакеты ниже 2kg, мы будем погружены через воздушную почту, это займет около 15-25days к вашей руке.

Если пакет больше чем 2kg, мы грузим через EMS, DHL, UPS, Fedex быстрая экспресс-доставки, это займет около 7

15days к вашей руке.

Если пакет больше чем 100kg, мы пошлем через DHL или воздушным транспортом. Это займет около 3

7days к вашей руке.

Все пакеты формы China Гуанджоу.

* Посылка будет отправлена ​​в качестве «подарка» с минимальной скидкой, покупателю не нужно платить за «налог».

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

Имя: Лю Xiaoxia
Адрес: 305Fang HuiLanGe HuangPuDaDaoXi 273Hao TianHeQu Гуанчжоу Китай.
Почтовый индекс: 510620
Телефон: + 8618078869184

Difference between I2C and SPI (I2C VS SPI)

A communication protocol is a system that allows two or more entities to talk to each other in a communications system. Communication protocols describe communication rules, syntax and how the device can recover from errors. Like human beings, communication protocols allow data transmission between hardware, software or a combination of the two with different languages.

In this post, I will discuss the differences between I2C and SPI (I2C vs SPI), although there are many serial communications protocols the I2C and SPI are very well-known. I2C and SPI are both bus protocols that enable the user to transfer serial, short-distance data.

What is I2C Protocol?

I2C stands for “inter-Integrated Circuit bus”. It is also called as I2C. I2C is a two-wire serial protocol for connecting low-speed devices such as microcontrollers, EEPROMs, Analog to Digital (A/D) and Digital to Analog (D/A) converters, Input/Output (I/O) interfaces and other similar peripherals in an embedded system.

The I2C bus is famous because it is easy to use, it can have more than one master and multiple slaves, only upper bus speed is defined and only two wires with pull-up resistors are needed to connect a nearly unlimited number of I2C devices. I2C can use even slower microcontrollers with general-purpose I/O pins because they only need to create appropriate Start and Stop conditions, in addition, to read and write byte functions.

I2C requires just 2 wires to transfer data between devices:

  1. SCL (Serial Clock)-The clock signal line.
  2. SDA (Serial Data)-The line for sending and receiving data between master and slave.

I2C is a serial communication protocol and the SDA line is used to transmit the data bit by bit.

History of I2C protocol:

The I2C bus protocol was invented by Philips Semiconductors in the early 1980s. Its primary purpose was to provide a convenient way to connect a CPU to peripheral chips on a TV set. Today, however, I2C is used in a wide range of communication applications, from LCD to Factory Automation.

It was originally developed for Philips chips. The original standard permitted only 100kHz transmissions and afforded only 7-bit addresses and limits the number of devices on the bus only 112. The first public specification was published in 1992, adding a fast-mode of 400kHz as well as an expanded address space of 10-bits. Three additional modes were also added later: fast mode plus-1MHz; high-speed mode, 3.4MHz; and ultra-fast mode, 5MHz.

How I2C work?

Now you might be thinking how two wires can be used to send data from a master to multiple slaves. Well, for that each device is provided preset ID or a unique device address so that the master can select which devices to use. Serial Clock (or SCL) and Serial Data (or SDA) are the two wires or lines. The SCL line is used to transmit the clock signal that synchronizes the transfer of data between the devices on the I2C bus, and the master generates the clock signal. The other line is the SDA line that is used to send the data.

There is no constant connection between master and slave, transmitting and receiving on the bus. It only depends on the direction of the data at the time. If the master decides to transmit the data to the slave then before sending any data, the master must first address the slave. Additionally, the power supply must be connected via a pull-up resistor. When the bus is idle, both the lines should be on high power.

Steps to transfer data between master and slave device:

  1. The master sends a transmission signal to each connected slave by replacing the SDA channel from high voltage to low voltage and the SCL channel from high to low after replacing the SDA channel.
  2. The master sends the target slave address, which is compared with the addresses of all the slave devices connected to the SCL and SDL lines. Then all slaves compare the address with their own address. If the address matches any device, that device is selected and all the other devices are removed from the SCL and SDL lines and that slave(device) reverts an ACK bit that switches the SDA line low to one bit. If the address does not match its address, the Slave will leave the SDA line high.
  3. After that master sends the data frame or receives it. After the transmission of each data frame, the slave returns another ACK bit to the master to acknowledge the successful data transfer.
  4. To end the transmission of data the master sends the slave a stop signal by changing SCL high before shifting SDA high.

How Clock(SCL) works in I2C data transmission:

  • All masters generate their own clocks on the SCL line to send messages to the I2C bus.
  • Data is only acceptable throughout the clock’s high time cycle.
  • Synchronization of the clock is carried out by connecting the I2C interface to the SCL wire, where the transition shifts from high to low.
  • Once the clock of the device goes low it will keep the SCL line in low state until it reaches the clock’s high level.
  • The low-to-high transition does not change the state of the SCL line if another clock is still in a low time cycle. The device with the longest low period often holds the SCL line low.

Transmission modes in I2C communication:

  1. Standard mode: 100Kbps
  2. Fast mode: 400Kbps
  3. High-Speed mode: 3.5Mbps
  4. Ultra-fast mode: 5Mbps

Synchronous or Asynchronous: Synchronous

Serial or Parallel: Serial

Advantages of I2C Communication:

  • Efficient, because it allows multiple master multiple slave communication.
  • Allows communication using two wires only.
  • Uses ACK / NACK bit that confirms every data frame is successfully transmitted.

Disadvantages:

  • I2C has a half-duplexinterface.
  • May become complex as the number of devices increases.
  • It may become complex with increasing numbers of devices.

What is SPI Protocol?

SPI or Serial Peripheral Interface is a full-duplex synchronous serial communication protocol that is used for short-distance communications. The unique advantage of SPI is that the data can be transferred without interruption. A number of bits can be sent or received in a continuous stream.

Serial Peripheral Interface (SPI) is a master-slave style protocol that has a single master and multiple slave architecture. SPI is used to send data between the microcontroller(master) and peripheral devices(slaves) such as shift registers, sensors, etc. It uses a separate clock, data wires, and select lines to select the device which it wants to send data.

SPI Protocol consist of 4 wires:

  • MOSI (Master-Out Slave-In) — Master line to send the slave data.MISO
  • (Master-In Slave-Out)– Slave line to send the master data.
  • SCLK (Serial Clock) — Line to send clock signal.
  • SS/CS(Slave Select/Chip Select) — Master’s line to choose the slave.

SPI is also a serial communication and in this data can be sent in a continuous stream.

History of SPI protocol:

Motorola developed the SPI interface in the mid-1980s and it has become a de-facto standard. Ideally suited for use of data stream applications. Secure Digital cards and liquid crystal displays (LCDs) are common applications.

How SPI works?

1. The communication is started by the master always. Next, the master arranges the clock using a frequency that is less than or equal to the maximum frequency allowed by the slave. Now, the master manages the transfer of data by producing the clock signal (SCLK).

2. The master then selects the desired slave for communication by switching the slave peripheral (SS) selection chip to a “low” state and activating the specific slave whom the master wants to communicate by using the slave selection (SS).

3. The master sends data bit by bit to the MOSI slave by sending the MSB bit first. Slaves read bits when received.

4. If an appropriate response is required then the slave gives the master data one bit at a time along the MISO line by sending LSB bit first. As received the master reads the bits.

Operating Modes of SPI:

The master and slave really have to decide on certain protocols for synchronization. For those two clock characteristics, the Clock Polarity (CPOL or CKP) and the Clock Phase (CPHA) required.

The polarity of the clock determines the state of the clock. If CPOL is LOW, then master generates the clock, e.g. when Idle SCK is low state and switches to HIgh state during data transfer. Likewise, when CPOL is Up, SCK is HIGH in idle state and LOW in the active state.

The phase of the clock determines the clock transition, i.e. switching (LOW to HIGH) or switching (HIGH to LOW), when data is sent. If CPHA is 0, data is transferred to the rising clock edge. Data is transferred to the falling edge when CPHA is 1.

Depending on the values for clock polarity (CPOL) and clock phase (CPHA), there are 4 SPI modes: modes 0 to 4.

  • Mode 0(CPOL = 0 and CPHA = 0):
    Mode 0 occurs when the clock polarity is LOW and the clock phase is 0. In mode 0, data transmission takes place on the rising edge of the clock.
  • Mode 1(CPOL = 0 and CPHA = 1):
    Mode 1 occurs when the clock polarity is low and the clock phase is 1. In mode 1, data is transmitted with the falling end of the clock.
  • Mode 2(CPOL = 1 and CPHA = 0):
    Mode 2 occurs when the clock polarity is HIGH and the clock phase is 0. In mode 2, data is transmitted as the clock edge increases.
  • Mode 3(CPOL = 1 and CPHA = 1):
    Mode 3 occurs when the clock polarity is HIGH and the clock phase is 1. In mode 3, data is transmitted as the clock edge increases.

Synchronous or Asynchronous: Synchronous

Serial or Parallel: Serial

Advantages of SPI Communication:

  1. There is no start and stop bit, so data can be transferred continuously without interruption.
  2. SPI is a full-duplex communication protocol.
  3. It has high-speed data bus 10 MHz.
  4. Different MISO and MOSI lines, so that data can be sent and received simultaneously.

Disadvantages of SPI Communication:

  1. SPI uses four wires for communication.
  2. It supports only one master.
  3. An additional dedicated master pin for CS or SS is needed for each additional slave.
  4. No protocol is set for error detection.
  5. No acknowledgment mechanism is established and therefore data receipt is not confirmed.

How to choose between I2C and SPI?

I think you’ve got to learn some information from this post, but let me tell you a little difference that’s going to help you determine which one you need.

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *