Съдържание:

ОСНОВИ НА СПИ КОМУНИКАЦИОННИЯ ПРОТОКОЛ: 13 стъпки
ОСНОВИ НА СПИ КОМУНИКАЦИОННИЯ ПРОТОКОЛ: 13 стъпки

Видео: ОСНОВИ НА СПИ КОМУНИКАЦИОННИЯ ПРОТОКОЛ: 13 стъпки

Видео: ОСНОВИ НА СПИ КОМУНИКАЦИОННИЯ ПРОТОКОЛ: 13 стъпки
Видео: Цифровые интерфейсы и протоколы 2024, Юли
Anonim
ОСНОВИ НА СПИ КОМУНИКАЦИОННИЯ ПРОТОКОЛ
ОСНОВИ НА СПИ КОМУНИКАЦИОННИЯ ПРОТОКОЛ

Когато свързвате микроконтролер към сензор, дисплей или друг модул, мислите ли си някога как двете устройства говорят помежду си? Какво точно казват? Как могат да се разбират?

Комуникацията между електронните устройства е като комуникацията между хората. И двете страни трябва да говорят един и същ език. В електрониката тези езици се наричат комуникационни протоколи. За наш късмет, има само няколко комуникационни протокола, които трябва да знаем, когато изграждаме повечето проекти за електроника „направи си сам“. В тази поредица от статии ще обсъдим основите на трите най-често срещани протокола: сериен периферен интерфейс (SPI), междуинтегрирана схема (I2C) и комуникация, управлявана от универсален асинхронен приемник/предавател (UART). Първо, ще започнем с някои основни концепции за електронната комуникация, след което ще обясним подробно как работи SPI. В следващата статия ще обсъдим комуникация, управлявана от UART, а в третата статия ще се потопим в I2C. SPI, I2C и UART са доста по -бавни от протоколи като USB, ethernet, Bluetooth и WiFi, но са много по -прости и използват по -малко хардуер и системни ресурси. SPI, I2C и UART са идеални за комуникация между микроконтролери и между микроконтролери и сензори, където не е необходимо да се прехвърлят големи количества високоскоростни данни.

Стъпка 1: SERIAL VS. ПАРАЛЕЛНА КОМУНИКАЦИЯ

SERIAL VS. ПАРАЛЕЛНА КОМУНИКАЦИЯ
SERIAL VS. ПАРАЛЕЛНА КОМУНИКАЦИЯ

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

Битовете данни могат да се предават или паралелно, или серийно. При паралелна комуникация битовете данни се изпращат едновременно, всеки през отделен проводник. Следващата диаграма показва паралелното предаване на буквата „C“в двоичен формат (01000011):

Стъпка 2:

При серийната комуникация битовете се изпращат един по един през един проводник. Следващата диаграма показва последователното предаване на буквата „C“в двоичен формат (01000011):

Стъпка 3:

Образ
Образ

Стъпка 4: ВЪВЕДЕНИЕ В SPI КОМУНИКАЦИЯ

ВЪВЕДЕНИЕ В SPI КОМУНИКАЦИЯ
ВЪВЕДЕНИЕ В 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

Препоръчано: