Obsah:

ZÁKLADY KOMUNIKAČNÉHO PROTOKOLU SPI: 13 krokov
ZÁKLADY KOMUNIKAČNÉHO PROTOKOLU SPI: 13 krokov

Video: ZÁKLADY KOMUNIKAČNÉHO PROTOKOLU SPI: 13 krokov

Video: ZÁKLADY KOMUNIKAČNÉHO PROTOKOLU SPI: 13 krokov
Video: Дэниел Шмахтенбергер: Уничтожат ли нас технологии? 2024, November
Anonim
ZÁKLADY KOMUNIKAČNÉHO PROTOKOLU SPI
ZÁKLADY KOMUNIKAČNÉHO PROTOKOLU SPI

Keď pripájate mikrokontrolér k senzoru, displeji alebo inému modulu, premýšľate niekedy o tom, ako tieto dve zariadenia medzi sebou hovoria? Čo presne hovoria? Ako si môžu navzájom rozumieť?

Komunikácia medzi elektronickými zariadeniami je ako komunikácia medzi ľuďmi. Obe strany musia hovoriť rovnakým jazykom. V elektronike sa tieto jazyky nazývajú komunikačné protokoly. Našťastie pre nás existuje len niekoľko komunikačných protokolov, ktoré potrebujeme vedieť pri stavbe väčšiny projektov elektroniky pre domácich majstrov. V tejto sérii článkov sa budeme zaoberať základmi troch najbežnejších protokolov: sériovým periférnym rozhraním (SPI), integrovaným obvodom (I2C) a komunikáciou riadenou univerzálnym asynchrónnym prijímačom/vysielačom (UART). Najprv začneme niekoľkými základnými pojmami o elektronickej komunikácii a potom podrobne vysvetlíme, ako SPI funguje. V nasledujúcom článku budeme diskutovať o komunikácii riadenej UART a v treťom článku sa ponoríme do I2C. SPI, I2C a UART sú o niečo pomalšie ako protokoly ako USB, ethernet, Bluetooth a WiFi, ale sú oveľa jednoduchšie a používajú menej hardvéru a systémových zdrojov. SPI, I2C a UART sú ideálne pre komunikáciu medzi mikrokontrolérmi a medzi mikrokontrolérmi a snímačmi, kde nie je potrebné prenášať veľké množstvo vysokorýchlostných dát.

Krok 1: SÉRIOVÉ VS. ROVNOVÁHOVÁ KOMUNIKÁCIA

SÉRIOVÉ VS. ROVNOVÁHOVÁ KOMUNIKÁCIA
SÉRIOVÉ VS. ROVNOVÁHOVÁ KOMUNIKÁCIA

Elektronické zariadenia medzi sebou komunikujú odosielaním bitov dát prostredníctvom káblov fyzicky prepojených medzi zariadeniami. Bit je ako písmeno v slove, ibaže namiesto 26 písmen (v anglickej abecede) je bit binárny a môže mať iba 1 alebo 0. Bity sa prenášajú z jedného zariadenia do druhého rýchlymi zmenami napätia. V systéme pracujúcom pri 5 V je 0 bit prenášaný ako krátky impulz 0 V a 1 bit je prenášaný krátkym impulzom 5 V.

Bity údajov je možné prenášať buď paralelne alebo sériovo. Pri paralelnej komunikácii sa bity údajov odosielajú všetky súčasne, každý cez samostatný vodič. Nasledujúci diagram zobrazuje paralelný prenos písmena „C“v binárnom formáte (01000011):

Krok 2:

Pri sériovej komunikácii sú bity odosielané jeden po druhom pomocou jedného vodiča. Nasledujúci diagram zobrazuje sériový prenos písmena „C“v binárnom formáte (01000011):

Krok 3:

Obrázok
Obrázok

Krok 4: ÚVOD DO SPI KOMUNIKÁCIE

ÚVOD DO KOMUNIKÁCIE SPI
ÚVOD DO KOMUNIKÁCIE SPI

SPI je bežný komunikačný protokol, ktorý používa mnoho rôznych zariadení. Napríklad moduly karty SD, moduly čítačky kariet RFID a bezdrôtové vysielače/prijímače 2,4 GHz používajú na komunikáciu s mikrokontrolérmi SPI.

Jednou z jedinečných výhod SPI je skutočnosť, že údaje je možné prenášať bez prerušenia. V súvislom toku je možné odosielať alebo prijímať ľubovoľný počet bitov. Pri I2C a UART sa údaje odosielajú v paketoch obmedzených na určitý počet bitov. Podmienky štartu a zastavenia definujú začiatok a koniec každého paketu, takže údaje sa počas prenosu prerušia. Zariadenia komunikujúce prostredníctvom SPI sú vo vzťahu master-slave. Master je riadiace zariadenie (zvyčajne mikrokontrolér), zatiaľ čo slave (zvyčajne senzor, displej alebo pamäťový čip) prijíma pokyny od mastera. Najjednoduchšia konfigurácia SPI je jeden hlavný, jeden podradený systém, ale jeden hlavný môže ovládať viac ako jedného podriadeného (viac o tom nižšie).

Krok 5:

Obrázok
Obrázok

Krok 6:

MOSI (Master Output/Slave Input) - Linka pre master na odosielanie údajov do zariadenia slave.

MISO (hlavný vstup/podriadený výstup) - linka pre podriadené zariadenie na odosielanie údajov do hlavného zariadenia.

SCLK (Hodiny) - Riadok pre hodinový signál.

SS/CS (Slave Select/Chip Select) - Riadok pre master, aby si vybral, do ktorého slave sa majú odosielať údaje

Krok 7:

Obrázok
Obrázok

*V praxi je počet podradených zariadení obmedzený zaťažovacou kapacitou systému, čo znižuje schopnosť majstra presne prepínať medzi úrovňami napätia.

Krok 8: AKO SPI FUNGUJE

HODINY

Hodinový signál synchronizuje výstup dátových bitov z masteru na vzorkovanie bitov slave. V každom hodinovom cykle sa prenáša jeden bit dát, takže rýchlosť prenosu dát je daná frekvenciou hodinového signálu. Komunikácia SPI je vždy iniciovaná masterom, pretože master konfiguruje a generuje hodinový signál.

Akýkoľvek komunikačný protokol, v ktorom zariadenia zdieľajú hodinový signál, sa nazýva synchrónny. SPI je synchrónny komunikačný protokol. Existujú aj asynchrónne metódy, ktoré nepoužívajú hodinový signál. Napríklad pri komunikácii UART sú obe strany nastavené na vopred nakonfigurovanú prenosovú rýchlosť, ktorá určuje rýchlosť a načasovanie prenosu údajov.

Hodinový signál v SPI je možné modifikovať pomocou vlastností polarity hodín a hodinovej fázy. Tieto dve vlastnosti spoločne určujú, kedy sú bity na výstupe a kedy sú vzorkované. Polaritu hodín môže master nastaviť tak, aby umožňoval výstup bitov a ich vzorkovanie na stúpajúcej alebo klesajúcej hrane hodinového cyklu. Hodinovú fázu je možné nastaviť tak, aby výstup a vzorkovanie prebiehali buď na prvom okraji alebo na druhom okraji hodinového cyklu, bez ohľadu na to, či stúpa alebo klesá.

SLAVE SELECT

Master si môže vybrať, s ktorým slave chce hovoriť, nastavením linky CS/SS otroka na úroveň nízkeho napätia. V nečinnom, nevysielacom stave je podriadená voliaca linka udržiavaná na úrovni vysokého napätia. Na masteri môže byť k dispozícii viac pinov CS/SS, čo umožňuje paralelné zapojenie viacerých otrokov. Ak je prítomný iba jeden pin CS/SS, je možné k masteru pripojiť niekoľko podradených zariadení podradeným reťazením.

VÍCE OTROKOV SPI

môže byť nastavený tak, aby fungoval s jediným masterom a jedným podradeným zariadením, a môže byť nastavený s viacerými podradenými zariadeniami ovládanými jedným masterom. Existujú dva spôsoby pripojenia viacerých otrokov k masteru. Ak má master viac kolíkov na výber slave, môžu byť podradené zariadenia zapojené paralelne takto:

Krok 9:

Obrázok
Obrázok

Krok 10:

MOSI A MISO

Master odosiela údaje do zariadenia slave bit po bite, sériovo cez linku MOSI. Otrok prijíma údaje odoslané z mastera na pin MOSI. Údaje odoslané z nadriadeného do podriadeného zariadenia sa spravidla odosielajú s najdôležitejším bitom ako prvé. Slave môže tiež posielať dáta späť do mastera sériovo cez linku MISO. Údaje odoslané z podriadeného zariadenia späť do nadriadeného zariadenia sa spravidla odosielajú s najmenej významným bitom ako prvé. KROKY SPI PRENOSU ÚDAJOV 1. Master vysiela hodinový signál:

Krok 11:

Obrázok
Obrázok

Ak je k dispozícii iba jeden kolík na výber podradeného zariadenia, podradené zariadenia je možné reťaziť takto:

Krok 12:

Obrázok
Obrázok
Obrázok
Obrázok
Obrázok
Obrázok
Obrázok
Obrázok

MOSI A MISO

Master odosiela údaje do zariadenia slave bit po bite, sériovo cez linku MOSI. Otrok prijíma údaje odoslané z mastera na pin MOSI. Údaje odoslané z nadriadeného do podriadeného zariadenia sa spravidla odosielajú s najdôležitejším bitom ako prvé.

Slave môže tiež posielať dáta späť do mastera sériovo cez linku MISO. Údaje odoslané z podriadeného zariadenia späť do nadriadeného zariadenia sa spravidla odosielajú s najmenej významným bitom ako prvé.

KROKY SPI PRENOSU ÚDAJOV

*Poznámka Obrázky sú uvedené ako hoboj, ktoré môžete ľahko rozlíšiť

1. Master vysiela hodinový signál:

2. Master prepne pin SS/CS do stavu nízkeho napätia, ktorý aktivuje slave:

3. Master odosiela údaje po jednom bite do zariadenia slave pozdĺž linky MOSI. Otrok číta bity po prijatí:

4. Ak je potrebná odpoveď, zariadenie slave vráti údaje po jednom bite nadriadenému zariadeniu pozdĺž linky MISO. Majster číta bity pri ich príjme:

Krok 13: VÝHODY A NEVÝHODY SPI

Používanie SPI má niekoľko výhod a nevýhod, a ak máte na výber medzi rôznymi komunikačnými protokolmi, mali by ste vedieť, kedy používať SPI podľa požiadaviek vášho projektu:

VÝHODY

Žiadne štart a stop bity, takže dáta je možné streamovať nepretržite bez prerušenia Žiadny komplikovaný systém adresovania slave ako I2C Vyššia rýchlosť prenosu dát ako I2C (takmer dvakrát rýchlejšie) Oddelené linky MISO a MOSI, takže dáta je možné odosielať a prijímať súčasne čas

NEVÝHODY

Používa štyri vodiče (I2C a UART používajú dva) Žiadne potvrdenie, že údaje boli úspešne prijaté (I2C to má) Žiadna forma kontroly chýb, ako je paritný bit v UART, umožňuje iba jeden master Našťastie vám tento článok lepšie porozumel spoločnosti SPI. Pokračujte v druhej časti tejto série, aby ste sa dozvedeli o komunikácii riadenej UART, alebo v tretej časti, kde diskutujeme o protokole I2C.

Ak máte akékoľvek otázky, neváhajte sa ich opýtať v sekcii komentárov, radi vám pomôžeme. A určite nasledujte

S pozdravom: M. Junaid

Odporúča: