Оглавление:

ОСНОВЫ ПРОТОКОЛА СВЯЗИ SPI: 13 шагов
ОСНОВЫ ПРОТОКОЛА СВЯЗИ SPI: 13 шагов

Видео: ОСНОВЫ ПРОТОКОЛА СВЯЗИ SPI: 13 шагов

Видео: ОСНОВЫ ПРОТОКОЛА СВЯЗИ SPI: 13 шагов
Видео: Лекция "Интерфейсы (часть I). RS-232/422/485. SPI" 2024, Июль
Anonim
ОСНОВЫ ПРОТОКОЛА СВЯЗИ SPI
ОСНОВЫ ПРОТОКОЛА СВЯЗИ SPI

Когда вы подключаете микроконтроллер к датчику, дисплею или другому модулю, задумывались ли вы когда-нибудь о том, как эти два устройства общаются друг с другом? Что именно они говорят? Как они понимают друг друга?

Связь между электронными устройствами подобна общению между людьми. Обе стороны должны говорить на одном языке. В электронике эти языки называются протоколами связи. К счастью для нас, существует лишь несколько протоколов связи, которые нам нужно знать при создании большинства проектов электроники своими руками. В этой серии статей мы обсудим основы трех наиболее распространенных протоколов: последовательного периферийного интерфейса (SPI), межинтегральной схемы (I2C) и связи, управляемой универсальным асинхронным приемником / передатчиком (UART). Сначала мы начнем с некоторых основных понятий об электронной коммуникации, а затем подробно объясним, как работает SPI. В следующей статье мы обсудим связь через UART, а в третьей статье мы углубимся в I2C. SPI, I2C и UART немного медленнее, чем такие протоколы, как USB, Ethernet, Bluetooth и WiFi, но они намного проще и используют меньше аппаратных и системных ресурсов. SPI, I2C и UART идеально подходят для связи между микроконтроллерами, а также между микроконтроллерами и датчиками, где нет необходимости передавать большие объемы высокоскоростных данных.

Шаг 1: SERIAL VS. ПАРАЛЛЕЛЬНАЯ СВЯЗЬ

СЕРИЙНЫЙ VS. ПАРАЛЛЕЛЬНАЯ СВЯЗЬ
СЕРИЙНЫЙ VS. ПАРАЛЛЕЛЬНАЯ СВЯЗЬ

Электронные устройства взаимодействуют друг с другом, отправляя биты данных по проводам, физически соединенным между устройствами. Бит похож на букву в слове, за исключением того, что вместо 26 букв (в английском алфавите) бит является двоичным и может быть только 1 или 0. Биты передаются от одного устройства к другому путем быстрых изменений напряжения. В системе, работающей при 5 В, бит 0 передается как короткий импульс 0 В, а бит 1 передается коротким импульсом 5 В.

Биты данных могут передаваться в параллельной или последовательной форме. При параллельной связи все биты данных отправляются одновременно, каждый по отдельному проводу. На следующей диаграмме показана параллельная передача буквы «C» в двоичном формате (01000011):

Шаг 2:

При последовательной связи биты отправляются один за другим по одному проводу. На следующей диаграмме показана последовательная передача буквы «C» в двоичном формате (01000011):

Шаг 3:

Изображение
Изображение

Шаг 4: ВВЕДЕНИЕ В СВЯЗЬ SPI

ВВЕДЕНИЕ В СВЯЗЬ SPI
ВВЕДЕНИЕ В СВЯЗЬ SPI

SPI - это общий протокол связи, используемый множеством различных устройств. Например, модули SD-карт, модули считывания карт RFID и беспроводные передатчики / приемники 2,4 ГГц используют SPI для связи с микроконтроллерами.

Одним из уникальных преимуществ SPI является то, что данные могут передаваться без прерывания. Любое количество битов может быть отправлено или получено в непрерывном потоке. С I2C и UART данные отправляются пакетами, ограниченными определенным количеством бит. Условия запуска и остановки определяют начало и конец каждого пакета, поэтому данные прерываются во время передачи. Устройства, обменивающиеся данными через SPI, находятся в отношениях ведущий-ведомый. Ведущее устройство является управляющим устройством (обычно микроконтроллером), в то время как ведомое устройство (обычно датчик, дисплей или микросхема памяти) принимает инструкции от ведущего. Простейшая конфигурация SPI - это система с одним ведущим и одним ведомым, но один ведущий может управлять более чем одним ведомым устройством (подробнее об этом ниже).

Шаг 5:

Изображение
Изображение

Шаг 6:

MOSI (Master Output / Slave Input) - линия, по которой ведущее устройство отправляет данные ведомому.

MISO (Master Input / Slave Output) - линия для ведомого устройства для отправки данных на ведущее устройство.

SCLK (Clock) - Линия для тактового сигнала.

SS / CS (Slave Select / Chip Select) - линия для ведущего, чтобы выбрать, на какое ведомое устройство отправлять данные.

Шаг 7:

Изображение
Изображение

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

Шаг 8: КАК РАБОТАЕТ SPI

ЧАСЫ

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

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

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

ПОДЧИНЕННЫЙ ВЫБОР

Мастер может выбрать, с каким подчиненным он хочет поговорить, установив на линии CS / SS подчиненного устройства низкий уровень напряжения. В состоянии ожидания, без передачи, линия выбора ведомого поддерживается на высоком уровне напряжения. На ведущем устройстве могут быть доступны несколько контактов CS / SS, что позволяет подключать несколько ведомых устройств параллельно. Если присутствует только один вывод CS / SS, несколько ведомых устройств могут быть подключены к главному устройству путем последовательного подключения.

НЕСКОЛЬКО РАБОТНИКОВ SPI

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

Шаг 9:

Изображение
Изображение

Шаг 10:

MOSI И MISO

Мастер отправляет данные подчиненному побитно, последовательно через линию MOSI. Подчиненное устройство получает данные, отправленные от ведущего на вывод MOSI. Данные, отправляемые от ведущего к ведомому, обычно отправляются первым со старшим битом. Подчиненное устройство также может посылать данные обратно к мастеру через линию MISO последовательно. Данные, отправляемые от ведомого устройства обратно к ведущему, обычно отправляются первым с младшим значащим битом. ШАГИ ПЕРЕДАЧИ ДАННЫХ SPI 1. Мастер выводит тактовый сигнал:

Шаг 11:

Изображение
Изображение

Если доступен только один вывод выбора ведомого, ведомые устройства могут быть подключены гирляндой следующим образом:

Шаг 12:

Изображение
Изображение
Изображение
Изображение
Изображение
Изображение
Изображение
Изображение

MOSI И MISO

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

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

ЭТАПЫ ПЕРЕДАЧИ ДАННЫХ SPI

* Обратите внимание: изображения внесены в список для гобоя, который вы можете легко отличить

1. Мастер выводит тактовый сигнал:

2. Ведущее устройство переключает вывод SS / CS в состояние низкого напряжения, которое активирует ведомое устройство:

3. Ведущее устройство отправляет данные ведомому по одному биту по линии MOSI. Подчиненное устройство считывает биты по мере их поступления:

4. Если требуется ответ, ведомое устройство по одному биту возвращает данные ведущему по линии MISO. Мастер считывает биты по мере их поступления:

Шаг 13: ПРЕИМУЩЕСТВА И НЕДОСТАТКИ SPI

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

ПРЕИМУЩЕСТВА

Нет стартовых и стоповых битов, поэтому данные могут передаваться непрерывно без прерывания. Отсутствие сложной системы адресации ведомых устройств, такой как I2C. Более высокая скорость передачи данных, чем I2C (почти в два раза быстрее). Отдельные линии MISO и MOSI, поэтому данные можно отправлять и получать одновременно. время

НЕДОСТАТКИ

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

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

С уважением: М. Джунаид

Рекомендуемые: