Оглавление:
- Шаг 1: SERIAL VS. ПАРАЛЛЕЛЬНАЯ СВЯЗЬ
- Шаг 2:
- Шаг 3:
- Шаг 4: ВВЕДЕНИЕ В СВЯЗЬ SPI
- Шаг 5:
- Шаг 6:
- Шаг 7:
- Шаг 8: КАК РАБОТАЕТ SPI
- Шаг 9:
- Шаг 10:
- Шаг 11:
- Шаг 12:
- Шаг 13: ПРЕИМУЩЕСТВА И НЕДОСТАТКИ SPI
Видео: ОСНОВЫ ПРОТОКОЛА СВЯЗИ SPI: 13 шагов
2024 Автор: John Day | [email protected]. Последнее изменение: 2024-01-30 11:52
Когда вы подключаете микроконтроллер к датчику, дисплею или другому модулю, задумывались ли вы когда-нибудь о том, как эти два устройства общаются друг с другом? Что именно они говорят? Как они понимают друг друга?
Связь между электронными устройствами подобна общению между людьми. Обе стороны должны говорить на одном языке. В электронике эти языки называются протоколами связи. К счастью для нас, существует лишь несколько протоколов связи, которые нам нужно знать при создании большинства проектов электроники своими руками. В этой серии статей мы обсудим основы трех наиболее распространенных протоколов: последовательного периферийного интерфейса (SPI), межинтегральной схемы (I2C) и связи, управляемой универсальным асинхронным приемником / передатчиком (UART). Сначала мы начнем с некоторых основных понятий об электронной коммуникации, а затем подробно объясним, как работает SPI. В следующей статье мы обсудим связь через UART, а в третьей статье мы углубимся в I2C. SPI, I2C и UART немного медленнее, чем такие протоколы, как USB, Ethernet, Bluetooth и WiFi, но они намного проще и используют меньше аппаратных и системных ресурсов. SPI, I2C и UART идеально подходят для связи между микроконтроллерами, а также между микроконтроллерами и датчиками, где нет необходимости передавать большие объемы высокоскоростных данных.
Шаг 1: SERIAL VS. ПАРАЛЛЕЛЬНАЯ СВЯЗЬ
Электронные устройства взаимодействуют друг с другом, отправляя биты данных по проводам, физически соединенным между устройствами. Бит похож на букву в слове, за исключением того, что вместо 26 букв (в английском алфавите) бит является двоичным и может быть только 1 или 0. Биты передаются от одного устройства к другому путем быстрых изменений напряжения. В системе, работающей при 5 В, бит 0 передается как короткий импульс 0 В, а бит 1 передается коротким импульсом 5 В.
Биты данных могут передаваться в параллельной или последовательной форме. При параллельной связи все биты данных отправляются одновременно, каждый по отдельному проводу. На следующей диаграмме показана параллельная передача буквы «C» в двоичном формате (01000011):
Шаг 2:
При последовательной связи биты отправляются один за другим по одному проводу. На следующей диаграмме показана последовательная передача буквы «C» в двоичном формате (01000011):
Шаг 3:
Шаг 4: ВВЕДЕНИЕ В СВЯЗЬ 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.
Если у вас есть какие-либо вопросы, не стесняйтесь задавать их в разделе комментариев, мы здесь, чтобы помочь. И обязательно следите
С уважением: М. Джунаид
Рекомендуемые:
Доска цифровых уведомлений с использованием протокола Raspberry Pi и MQTT: 8 шагов
Цифровая доска объявлений с использованием протокола Raspberry Pi и MQTT: доски объявлений используются почти везде, например в офисах, школах, больницах и отелях. Их можно использовать снова и снова, чтобы отображать важные уведомления или рекламировать предстоящие события или встречи. Но уведомление или рекламные объявления должны быть напечатаны
Понимание ИК-протокола пультов дистанционного управления кондиционера: 9 шагов (с изображениями)
Понимание ИК-протокола пультов дистанционного управления кондиционера: я уже довольно давно изучаю ИК-протоколы. Как отправлять и получать ИК-сигналы. На данный момент остается только ИК-протокол пультов переменного тока. В отличие от традиционных пультов почти всех электронных устройств (например, телевизоров), где
ОСНОВЫ СВЯЗИ UART: 16 шагов
ОСНОВЫ СВЯЗИ UART: помните, когда у принтеров, мышей и модемов были толстые кабели с этими огромными неуклюжими разъемами? Те, которые буквально нужно было прикрутить к вашему компьютеру? Эти устройства, вероятно, использовали UART для связи с вашим компьютером. Пока у USB есть почти
Обратный инжиниринг протокола Ritter 8341C для ESP3866: 5 шагов
Обратный инжиниринг Ritter 8341C Protocol for ESP3866: Hi @ all. Для моей собственной небольшой домашней автоматизации я использую первичные управляемые розетки 433 МГц. У меня есть 3 комплекта с DIP-переключателями для настройки адреса. Они работали нормально. Но какое-то время (год или два) назад я купил набор розеток в " ritter & quo
Инфракрасная плата кодировщика и декодера протокола NEC: 5 шагов
Инфракрасная плата кодера и декодера протокола NEC: принимает необработанный модулированный или демодулированный ИК-сигнал NEC и преобразует его в байты, которые отправляются через последовательный порт. Скорость последовательной передачи данных можно выбрать из двух значений по умолчанию. Режим использования по умолчанию передает последовательность команд с байтом кадра