Съдържание:
- Стъпка 1: SERIAL VS. ПАРАЛЕЛНА КОМУНИКАЦИЯ
- Стъпка 2:
- Стъпка 3:
- Стъпка 4: ВЪВЕДЕНИЕ В SPI КОМУНИКАЦИЯ
- Стъпка 5:
- Стъпка 6:
- Стъпка 7:
- Стъпка 8: Как работи SPI
- Стъпка 9:
- Стъпка 10:
- Стъпка 11:
- Стъпка 12:
- Стъпка 13: ПРЕДИМСТВА И НЕДОСТАТЪЦИ НА SPI
Видео: ОСНОВИ НА СПИ КОМУНИКАЦИОННИЯ ПРОТОКОЛ: 13 стъпки
2024 Автор: John Day | [email protected]. Последно модифициран: 2024-01-30 07:53
Когато свързвате микроконтролер към сензор, дисплей или друг модул, мислите ли си някога как двете устройства говорят помежду си? Какво точно казват? Как могат да се разбират?
Комуникацията между електронните устройства е като комуникацията между хората. И двете страни трябва да говорят един и същ език. В електрониката тези езици се наричат комуникационни протоколи. За наш късмет, има само няколко комуникационни протокола, които трябва да знаем, когато изграждаме повечето проекти за електроника „направи си сам“. В тази поредица от статии ще обсъдим основите на трите най-често срещани протокола: сериен периферен интерфейс (SPI), междуинтегрирана схема (I2C) и комуникация, управлявана от универсален асинхронен приемник/предавател (UART). Първо, ще започнем с някои основни концепции за електронната комуникация, след което ще обясним подробно как работи SPI. В следващата статия ще обсъдим комуникация, управлявана от UART, а в третата статия ще се потопим в I2C. SPI, I2C и UART са доста по -бавни от протоколи като USB, ethernet, Bluetooth и WiFi, но са много по -прости и използват по -малко хардуер и системни ресурси. SPI, I2C и UART са идеални за комуникация между микроконтролери и между микроконтролери и сензори, където не е необходимо да се прехвърлят големи количества високоскоростни данни.
Стъпка 1: SERIAL VS. ПАРАЛЕЛНА КОМУНИКАЦИЯ
Електронните устройства говорят помежду си, като изпращат битове данни чрез проводници, физически свързани между устройствата. Бит е като буква в дума, освен вместо 26 букви (в английската азбука), битът е двоичен и може да бъде само 1 или 0. Битовете се прехвърлят от едно устройство на друго чрез бързи промени в напрежението. В система, работеща при 5 V, 0 бит се съобщава като кратък импулс от 0 V, а 1 бит се съобщава чрез кратък импулс от 5 V.
Битовете данни могат да се предават или паралелно, или серийно. При паралелна комуникация битовете данни се изпращат едновременно, всеки през отделен проводник. Следващата диаграма показва паралелното предаване на буквата „C“в двоичен формат (01000011):
Стъпка 2:
При серийната комуникация битовете се изпращат един по един през един проводник. Следващата диаграма показва последователното предаване на буквата „C“в двоичен формат (01000011):
Стъпка 3:
Стъпка 4: ВЪВЕДЕНИЕ В SPI КОМУНИКАЦИЯ
SPI е общ комуникационен протокол, използван от много различни устройства. Например модулите SD карти, модулите за четене на RFID карти и безжичният предавател/приемници 2,4 GHz използват SPI за комуникация с микроконтролери.
Едно уникално предимство на SPI е фактът, че данните могат да се прехвърлят без прекъсване. Всеки брой битове може да бъде изпратен или получен в непрекъснат поток. С I2C и UART данните се изпращат в пакети, ограничени до определен брой битове. Условията за стартиране и спиране определят началото и края на всеки пакет, така че данните се прекъсват по време на предаването. Устройствата, комуникиращи чрез SPI, са във връзка master-slave. Главното устройство е управляващото устройство (обикновено микроконтролер), докато подчиненият (обикновено сензор, дисплей или чип памет) приема инструкции от главния. Най -простата конфигурация на SPI е единична главна, единична подчинена система, но един главен може да контролира повече от един подчинен (повече за това по -долу).
Стъпка 5:
Стъпка 6:
MOSI (главен изход/подчинен вход) - линия за главното устройство за изпращане на данни към подчиненото устройство.
MISO (главен вход/подчинен изход) - линия за подчиненото устройство за изпращане на данни до главния.
SCLK (Часовник) - Линия за сигнала на часовника.
SS/CS (Избор на подчинен/Избор на чип) - Линия, от която капитанът да избере на кой подчинен да изпраща данни
Стъпка 7:
*На практика броят на подчинените е ограничен от капацитета на натоварване на системата, което намалява способността на капитана да превключва точно между нивата на напрежение.
Стъпка 8: Как работи SPI
ЧАСОВНИКЪТ
Тактовият сигнал синхронизира изхода на битове данни от главния към извадката на битове от подчинения. Един бит данни се прехвърля във всеки тактов цикъл, така че скоростта на предаване на данни се определя от честотата на тактовия сигнал. SPI комуникацията винаги се инициира от капитана, тъй като той конфигурира и генерира тактовия сигнал.
Всеки комуникационен протокол, при който устройствата споделят часовник, е известен като синхронен. SPI е синхронен комуникационен протокол. Има и асинхронни методи, които не използват часовник. Например в комуникацията UART и двете страни са настроени на предварително конфигурирана скорост на предаване, която диктува скоростта и времето на предаване на данни.
Тактовият сигнал в SPI може да бъде модифициран, като се използват свойствата на полярността на часовника и фазата на часовника. Тези две свойства работят заедно, за да определят кога битовете се извеждат и кога се вземат проби. Полярността на часовника може да бъде зададена от капитана, за да позволи извеждането на битове и вземане на проби от нарастващия или спадащия ръб на тактовия цикъл. Фазата на часовника може да бъде настроена за изход и вземане на проби, които да се появяват или на първия, или на втория ръб на тактовия цикъл, независимо дали се покачва или намалява.
SLAVE SELECT
Капитанът може да избере с кое подчинено устройство да разговаря, като настрои CS/SS линията на подчиненото на ниско напрежение. В състояние на празен ход, който не предава, линията за избор на подчинен се поддържа на високо напрежение. На главния модул може да са налични множество CS/SS пинове, което позволява паралелно свързване на множество подчинени устройства. Ако има само един CS/SS щифт, множество подчинени устройства могат да бъдат свързани към главния компютър чрез свързване на маргаритка.
МНОГО РАБОВЕ SPI
може да бъде настроен да работи с един главен и един подчинен и може да бъде настроен с множество подчинени устройства, контролирани от един главен. Има два начина за свързване на множество подчинени устройства към капитана. Ако главният има няколко извода за избор на подчинени устройства, подчинените устройства могат да бъдат свързани паралелно по следния начин:
Стъпка 9:
Стъпка 10:
МОСИ И МИСО
Капитанът изпраща данни към подчиненото устройство по малко, последователно през MOSI линията. Подчиненият получава данните, изпратени от главния, на MOSI пина. Данните, изпратени от главния към подчиненото, обикновено се изпращат първо с най -значимия бит. Подчиненият може също да изпраща данни обратно към главния устройство чрез MISO линия последователно. Данните, изпратени от подчиненото устройство обратно към главния, обикновено се изпращат първо с най -малкия бит. СТЪПКИ НА ПРЕДАВАНЕ НА SPI ДАННИ 1. Капитанът извежда тактовия сигнал:
Стъпка 11:
Ако е наличен само един щифт за избор на подчинен, подчинените устройства могат да бъдат верижно свързани по този начин:
Стъпка 12:
МОСИ И МИСО
Капитанът изпраща данни към подчиненото устройство по малко, последователно през MOSI линията. Подчиненият получава данните, изпратени от главния, на MOSI пина. Данните, изпратени от главния към подчинения, обикновено се изпращат първо с най -значимия бит.
Подчиненият може също да изпраща данни обратно към главния устройство чрез MISO линия последователно. Данните, изпратени от подчиненото устройство обратно към главния, обикновено се изпращат първо с най -малкия бит.
СТЪПКИ ПРЕДАВАНЕ НА SPI ДАННИ
*Забележка Изображенията са изброени гобой, който лесно можете да различите
1. Капитанът извежда тактовия сигнал:
2. Главният превключва SS/CS щифта в състояние на ниско напрежение, което активира подчинения:
3. Капитанът изпраща данните един по един към подчинения по линията MOSI. Подчиненият чете битовете при получаването им:
4. Ако е необходим отговор, подчиненото устройство връща данни един по един към главния по главната линия по линията MISO. Капитанът чете битовете при получаването им:
Стъпка 13: ПРЕДИМСТВА И НЕДОСТАТЪЦИ НА SPI
Използването на SPI има някои предимства и недостатъци и ако имате избор между различни комуникационни протоколи, трябва да знаете кога да използвате SPI според изискванията на вашия проект:
ПРЕДИМСТВА
Няма битове за стартиране и спиране, така че данните могат да се предават непрекъснато без прекъсване Няма сложна система за адресиране на подчинени като I2C По -висока скорост на предаване на данни от I2C (почти два пъти по -бързо) Отделни MISO и MOSI линии, така че данните могат да се изпращат и получават едновременно време
НЕДОСТАТЪЦИ
Използва четири проводника (I2C и UARTs използват два) Няма потвърждение, че данните са получени успешно (I2C има това) Няма форма за проверка на грешки като бита за паритет в UART Само за един главен Надяваме се, че тази статия ви е дала по -добро разбиране на SPI. Продължете към втора част от тази поредица, за да научите за комуникацията, управлявана от UART, или към трета част, където обсъждаме I2C протокола.
Ако имате въпроси, не се колебайте да ги зададете в секцията за коментари, ние сме тук, за да ви помогнем. И не забравяйте да следвате
С уважение: M. Junaid
Препоръчано:
Декодер за протокол за дистанционно управление RC5 без библиотека: 4 стъпки
Декодер на протокол за дистанционно управление RC5 без библиотека: преди декодирането на rc5 първо обсъждаме какво е команда rc5 и каква е нейната структура. така че основно командата rc5, използвана в дистанционни управления, които се използват в телевизори, cd плейъри, d2h, системи за домашно кино и т.н., тя има 13 или 14 бита, подредени в
Интернет часовник: Показване на дата и час с OLED с използване на ESP8266 NodeMCU с NTP протокол: 6 стъпки
Интернет часовник: Показване на дата и час с OLED с помощта на ESP8266 NodeMCU с NTP протокол: Здравейте момчета в тази инструкция, ние ще изградим интернет часовник, който ще получава време от интернет, така че този проект няма да се нуждае от никакъв RTC, за да работи, ще му трябва само работеща интернет връзка И за този проект се нуждаете от esp8266, който ще има
Nextion дисплей - Интерфейс и протокол, обяснени с PIC и Arduino: 10 стъпки
Nextion дисплей | Интерфейс и протокол, обяснени с PIC и Arduino: Nextion Display е много лесен за използване и лесен интерфейс с микроконтролери. С помощта на Nextion редактор можем да конфигурираме дисплея и можем да проектираме потребителски интерфейс на дисплея. Така че въз основа на събития или команди Nextion дисплей ще действа върху, за да покаже
Цифрова табла за съобщения, използваща Raspberry Pi и MQTT протокол: 8 стъпки
Дигитална дъска за съобщения, използваща протокол Raspberry Pi и MQTT: Табла за съобщения се използват почти навсякъде, като офиси, училища, болници и хотели. Те могат да се използват отново и отново за показване на важни известия или рекламиране на предстоящи събития или срещи. Но обявлението или рекламите трябва да бъдат отпечатани
Протокол за обратно инженерство Ritter 8341C за ESP3866: 5 стъпки
Протокол за обратно инженерство Ritter 8341C за ESP3866: Здравей @all.For моята собствена малка домашна автоматизация използвам първични 433 MHz контролирани гнезда. Притежавам 3 комплекта с DIP превключватели за регулиране на адреса. Тези работеха добре. Но преди време (една или две години) закупих набор от контакти от " ritter & quo