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

от admin

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

Выбор между 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 тремя протоколами последовательной шины

Концепция шины I2C (Inter-Integrated Circuit):

Связь I2C Нужно всего 2 двунаправленных шины —— Одна линия данных SDA (последовательные данные: линия последовательных данных), одна линия синхронизации SCL (последовательные часы: линия последовательных часов). Линия SDA используется для передачи данных, а линия SCL используется для синхронизации передачи и приема данных. Данные, передаваемые по линии SDA, представляют собой прямую передачу (старший байт байта передается первым), и каждая передача составляет 8 бит, то есть 1 байт. Поддержка мульти-мастеринга в любой момент времени Мастер может быть только один . Каждое устройство, подключенное к шине, имеет один Независимый адресный адрес , Всего 7 бит, хост использует этот адрес для доступа к устройству. Шины SDA и SCL необходимо соединить подтягивающими резисторами.Когда шина свободна, обе линии имеют высокий уровень. Любое устройство, подключенное к шине, будет понижать уровень сигнала шины, когда оно выдает низкий уровень, то есть SDA и SCL каждого устройства находятся в линейной связи. Когда несколько хостов используют шину одновременно, необходим арбитраж, чтобы определить, какое устройство занимает шину, в противном случае данные будут конфликтовать.

Универсальный асинхронный приемник / передатчик, обычно называемый UART, представляет собой асинхронный приемник / передатчик, который является частью компьютерного оборудования. Он будет передавать данные вПоследовательная связьпротивПараллельное общениеЧтобы преобразовать между. Как микросхема, преобразующая параллельные входные сигналы в последовательные выходные сигналы, UART обычно интегрируется в соединение с другими интерфейсами связи.

Последовательный порт во встроенной системе обычно относится к порту UART, но мы часто не знаем разницы между ним и COM-портом, а также отношения между RS232, TTL и т. Д. Фактически, UART, COM относятся к форме физического интерфейса (аппаратного), а TTL, RS-232 относится к стандарту уровня (электрический сигнал).

UART имеет 4 контакта (VCC, GND, RX, TX), используя уровень TTL, низкий уровень — 0 (0 В), высокий уровень — 1 (3,3 В или выше).

Особенности UART: Как правило, контроллеры uart создаются вместе с процессорами во встроенных системах.Как и микросхема Freescale IMX6, существует несколько контроллеров uart.

Введение в интерфейс SPI

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

Полное название интерфейса SPI — «Serial Peripheral Interface», что означает последовательный периферийный интерфейс. Впервые он был определен компанией Motorola для процессоров серии MC68HCXX. Интерфейс SPI в основном используется между EEPROM, FLASH, часами реального времени, аналого-цифровым преобразователем, процессором цифрового сигнала и декодером цифрового сигнала.

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

Интерфейс SPI работает в режиме ведущий-ведомый. В этом режиме обычно есть ведущее устройство и одно или несколько ведомых устройств. Интерфейс включает следующие четыре сигнала:

(1) Вывод данных MOSI-ведущего устройства, ввод данных ведомого устройства

(2) Ввод данных MISO-ведущего устройства, вывод данных ведомого устройства

(3) Сигнал SCLK-clock, генерируемый ведущим устройством.

(4) / SS — сигнал включения ведомого устройства, управляемый ведущим устройством

В двухточечной связи интерфейс SPI не требует операций адресации и является полнодуплексным, что является простым и эффективным.

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

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

Схема внутреннего оборудования интерфейса SPI:

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

Разница между SPI, I2C и UART тремя протоколами последовательной шины:

Первый, разница, конечно же, в названии:

SPI (последовательный периферийный интерфейс: последовательный периферийный интерфейс);

I2C(INTER IC BUS)

UART (универсальный асинхронный приемный передатчик: универсальный асинхронный приемный передатчик)

Во-вторых, разница заключается в линии электрического сигнала:

Шина SPI состоит из трех сигнальных линий Состав: последовательные часы (SCLK), последовательный вывод данных (SDO), последовательный ввод данных (SDI). Шина SPI может соединять несколько устройств SPI друг с другом. Устройство SPI, которое обеспечивает последовательные часы SPI, является ведущим или ведущим SPI, а другие устройства являются ведомыми или ведомыми (ведомыми) SPI. Полнодуплексная связь может быть реализована между ведущими и ведомыми устройствами.При наличии нескольких ведомых устройств может быть добавлена ​​строка выбора ведомого устройства.

Если вы используете универсальный порт ввода-вывода для имитации шины SPI, у вас должен быть выходной порт (SDO), входной порт (SDI), а другой порт зависит от типа реализованного устройства.Если вы хотите реализовать устройство ведущее-ведомое, вам понадобится порт ввода и вывода. , Если реализовано только ведущее устройство, порта вывода достаточно; если реализовано только ведомое устройство, требуется только порт ввода.

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

Если порт ввода-вывода общего назначения используется для имитации шины I2C и достижения двунаправленной передачи, требуется порт ввода-вывода (SDA), а также порт вывода (SCL). (Примечание: данные I2C относительно плохо изучены, описание здесь может быть очень неполным)

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

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

В-третьих, из второго пункта очевидно, что SPI и UART могут обеспечить полный дуплекс, а I2C — нет;

В-четвертых, посмотрите на мнение быдла!

Wudanyu: Количество линий I2C меньше. Я думаю, что он более мощный, чем UART и SPI, но технически более проблематичный, потому что I2C требует поддержки двунаправленного ввода-вывода и Используйте подтягивающий резистор , Я думаю, что способность к помехам слабая, обычно используется для связи между чипами на одной плате и меньше используется для междугородной связи. Реализация SPI проще. UART требует фиксированной скорости передачи данных, что означает, что интервал между двумя битами данных должен быть одинаковым. SPI не имеет значения, потому что это синхронизированный протокол.

Quickmouse: скорость I2C немного ниже, чем у SPI, и протокол немного сложнее, чем SPI, но соединение меньше, чем у стандартного SPI.

I2C и SPI: Различия, которые вы должны знать

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

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

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

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

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

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

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

SS: Линия Slave Select (управляется ведущим SPI).

MOSI: Master Out Slave In (управляется ведущим SPI).

SCLK: Последовательный тактовый генератор (управляется ведущим SPI)

MISO: Ведущий вход Ведомый выход (управляется ведущим SPI-устройством).

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

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

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

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

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

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

Что такое I2C

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

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

SDA: линия последовательных данных

SCL: линия последовательного тактового генератора

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

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

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

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

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

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

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

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

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

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

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

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

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

Читать:
Зачем ставят конденсатор между плюсом и минусом

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

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

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

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

SPI

Плюсы

Протоколы SPI потребляют небольшое количество энергии

Он также поддерживает высокоскоростной полнодуплексный обмен данными

Минусы

Существуют различные версии и адаптированные варианты, что вызывает проблемы совместимости

Для связи с несколькими периферийными устройствами на одной шине нужны дополнительные сигнальные линии

Поддерживается только связь на коротких расстояниях. Вы не можете передавать данные устройствам на отдельных платах.

I2C

Плюсы

Вам не нужны дополнительные линии для управления несколькими устройствами на одной шине

Можно передавать данные на другие печатные платы, но с низкой скоростью передачи данных

Имеет более низкую чувствительность к шуму

Может передавать данные на большие расстояния

Дешевле в использовании, чем SPI

Минусы

Скорость передачи данных медленнее, чем у SPI

Потребляет больше энергии, чем протокол SPI

Отказ одного устройства освободить шину связи может заблокировать протокол I2C.

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

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

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

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

Питание

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

Скорость

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

Размер печатной платы

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

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

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

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

Понимание UART

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

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

UART vs I2C vs SPI

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

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

Округление

В реальности протоколы SPI и I2C используются в различных приложениях. Иногда вам могут попадаться устройства, в которых интерфейсы SPI и 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 м).

Похожие публикации