Obsah:
- Krok 1: SÉRIOVÉ VS. PARALELNÍ KOMUNIKACE
- Krok 2:
- Krok 3:
- Krok 4: ÚVOD DO SPI KOMUNIKACE
- Krok 5:
- Krok 6:
- Krok 7:
- Krok 8: JAK SPI FUNGUJE
- Krok 9:
- Krok 10:
- Krok 11:
- Krok 12:
- Krok 13: VÝHODY A NEVÝHODY SPI
Video: ZÁKLADY KOMUNIKAČNÍHO PROTOKOLU SPI: 13 kroků
2024 Autor: John Day | [email protected]. Naposledy změněno: 2024-01-30 08:22
Když připojíte mikrokontrolér k senzoru, displeji nebo jinému modulu, přemýšlíte někdy o tom, jak spolu obě zařízení mluví? Co přesně říkají? Jak si mohou rozumět?
Komunikace mezi elektronickými zařízeními je jako komunikace mezi lidmi. Obě strany musí mluvit stejným jazykem. V elektronice se tyto jazyky nazývají komunikační protokoly. Naštěstí pro nás existuje jen několik komunikačních protokolů, které potřebujeme znát při stavbě většiny elektronických projektů pro kutily. V této sérii článků budeme diskutovat o základech tří nejběžnějších protokolů: Serial Peripheral Interface (SPI), Inter-Integrated Circuit (I2C) a Universal Asynchronous Receiver/Transmitter (UART). Nejprve začneme základními pojmy o elektronické komunikaci a poté podrobně vysvětlíme, jak SPI funguje. V příštím článku budeme diskutovat o komunikaci řízené UART a ve třetím článku se ponoříme do I2C. SPI, I2C a UART jsou o něco pomalejší než protokoly jako USB, ethernet, Bluetooth a WiFi, ale jsou mnohem jednodušší a využívají méně hardwaru a systémových prostředků. SPI, I2C a UART jsou ideální pro komunikaci mezi mikrokontroléry a mezi mikrokontroléry a senzory, kde není třeba přenášet velké množství vysokorychlostních dat.
Krok 1: SÉRIOVÉ VS. PARALELNÍ KOMUNIKACE
Elektronická zařízení mezi sebou komunikují odesíláním bitů dat prostřednictvím vodičů fyzicky propojených mezi zařízeními. Bit je jako písmeno ve slově, kromě toho, že místo 26 písmen (v anglické abecedě) je bit binární a může mít pouze 1 nebo 0. Bity jsou přenášeny z jednoho zařízení do druhého rychlými změnami napětí. V systému pracujícím při 5 V je 0 bit sdělován jako krátký impuls 0 V a 1 bit je sdělován krátkým impulzem 5 V.
Bity dat lze přenášet buď paralelně nebo sériově. Při paralelní komunikaci jsou bity dat odesílány všechny současně, každý samostatným vodičem. Následující diagram ukazuje paralelní přenos písmene „C“v binárním formátu (01000011):
Krok 2:
V sériové komunikaci jsou bity odesílány jeden po druhém přes jeden vodič. Následující diagram ukazuje sériový přenos písmene „C“v binárním formátu (01000011):
Krok 3:
Krok 4: ÚVOD DO SPI KOMUNIKACE
SPI je běžný komunikační protokol používaný mnoha různými zařízeními. Například moduly karet SD, moduly čteček karet RFID a bezdrátové vysílače/přijímače 2,4 GHz používají ke komunikaci s mikrokontroléry SPI.
Jednou jedinečnou výhodou SPI je skutečnost, že data lze přenášet bez přerušení. V nepřetržitém proudu lze odesílat nebo přijímat libovolný počet bitů. S I2C a UART jsou data odesílána v paketech, omezených na určitý počet bitů. Podmínky spuštění a zastavení definují začátek a konec každého paketu, takže se data během přenosu přeruší. Zařízení komunikující přes SPI jsou ve vztahu master-slave. Master je řídicí zařízení (obvykle mikrokontrolér), zatímco slave (obvykle senzor, displej nebo paměťový čip) přijímá pokyny od masteru. Nejjednodušší konfigurace SPI je jeden hlavní, jeden podřízený systém, ale jeden hlavní může ovládat více než jeden podřízený (více o tom níže).
Krok 5:
Krok 6:
MOSI (Master Output/Slave Input) - Linka pro master pro odesílání dat do slave.
MISO (Master Input/Slave Output) - Linka pro slave pro odesílání dat do masteru.
SCLK (hodiny) - řádek pro hodinový signál.
SS/CS (Slave Select/Chip Select) - Linka pro master pro výběr podřízené jednotky, do které se mají odesílat data
Krok 7:
*V praxi je počet podřízených zařízení omezen zatěžovací kapacitou systému, což snižuje schopnost nadřízeného přesně přepínat mezi úrovněmi napětí.
Krok 8: JAK SPI FUNGUJE
HODINY
Hodinový signál synchronizuje výstup datových bitů z masteru do vzorkování bitů slave. V každém taktovacím cyklu je přenesen jeden bit dat, takže rychlost přenosu dat je dána frekvencí hodinového signálu. Komunikaci SPI vždy spouští master, protože master konfiguruje a generuje hodinový signál.
Jakýkoli komunikační protokol, kde zařízení sdílejí hodinový signál, se nazývá synchronní. SPI je synchronní komunikační protokol. Existují také asynchronní metody, které nepoužívají hodinový signál. Například v komunikaci UART jsou obě strany nastaveny na předem nakonfigurovanou přenosovou rychlost, která určuje rychlost a načasování přenosu dat.
Hodinový signál v SPI lze upravit pomocí vlastností polarity hodin a hodinové fáze. Tyto dvě vlastnosti společně definují, kdy jsou výstupy bitů a kdy jsou vzorkovány. Polaritu hodin může master nastavit tak, aby umožňovala výstup bitů a jejich vzorkování na stoupající nebo sestupné hraně hodinového cyklu. Fázi hodin lze nastavit tak, aby výstup a vzorkování probíhaly buď na první hraně, nebo na druhé hraně hodinového cyklu, bez ohledu na to, zda stoupá nebo klesá.
SLAVE SELECT
Master si může vybrat, se kterým slave chce mluvit, nastavením linky CS/SS slave na úroveň nízkého napětí. V klidovém, nepřenosovém stavu je podřízená volicí linka udržována na úrovni vysokého napětí. Na masteru může být k dispozici více pinů CS/SS, což umožňuje paralelní zapojení více slave. Pokud je k dispozici pouze jeden pin CS/SS, lze do masteru zapojit více podřízených zařízení řetězovým zapojením.
VÍCE OTROKŮ SPI
lze nastavit tak, aby fungoval s jediným masterem a jedním slave, a lze jej nastavit s více slave ovládanými jedním masterem. Existují dva způsoby připojení více podřízených zařízení k hlavní jednotce. Pokud má master více pinů pro výběr slave, mohou být slave zapojeny paralelně takto:
Krok 9:
Krok 10:
MOSI A MISO
Master odesílá data slave bit po bitu, sériově přes linku MOSI. Slave přijímá data odeslaná z masteru na pin MOSI. Data odeslaná z masteru do slave jsou obvykle odesílána s nejvýznamnějším bitem jako první. Slave může také odesílat data zpět do masteru přes linku MISO sériově. Data odeslaná z podřízené jednotky zpět do hlavní jednotky se obvykle odesílají s nejméně významným bitem jako první. KROKY PŘENOSU SPI DAT 1. Master vydává hodinový signál:
Krok 11:
Pokud je k dispozici pouze jeden slave select pin, mohou být slave řetězeny takto:
Krok 12:
MOSI A MISO
Master odesílá data slave bit po bitu, sériově přes linku MOSI. Slave přijímá data odeslaná z masteru na pin MOSI. Data odeslaná z masteru do slave jsou obvykle odesílána s nejvýznamnějším bitem jako první.
Slave může také sériově odesílat data zpět do masteru přes linku MISO. Data odeslaná z podřízené jednotky zpět do hlavní jednotky jsou obvykle odeslána s nejméně významným bitem jako první.
KROKY SPI PŘENOSU ÚDAJŮ
*Poznámka Obrázky jsou uvedeny v hoboji, které snadno rozeznáte
1. Master vydává hodinový signál:
2. Master přepne pin SS/CS do stavu nízkého napětí, který aktivuje slave:
3. Master odešle data po jednom bitu do slave podél linky MOSI. Otrok čte bity tak, jak jsou přijímány:
4. Je -li nutná odpověď, slave vrací data po jednom po bitu do masteru podél linky MISO. Master čte bity, jak jsou přijímány:
Krok 13: VÝHODY A NEVÝHODY SPI
Používání SPI má několik výhod a nevýhod, a pokud máte na výběr mezi různými komunikačními protokoly, měli byste vědět, kdy použít SPI podle požadavků vašeho projektu:
VÝHODY
Žádné startovací a zastavovací bity, takže data lze streamovat nepřetržitě bez přerušení Žádný složitý systém adresování slave jako I2C Vyšší rychlost přenosu dat než I2C (téměř dvakrát rychlejší) Oddělené linky MISO a MOSI, takže data lze odesílat a přijímat současně čas
NEVÝHODY
Používá čtyři vodiče (I2C a UART používají dva) Žádné potvrzení, že data byla úspěšně přijata (I2C to má) Žádná forma kontroly chyb, jako je paritní bit v UART, umožňuje pouze jeden master Naštěstí vám tento článek lépe porozuměl společnosti SPI. Pokračujte na druhou část této série, kde se dozvíte o komunikaci řízené UART, nebo na třetí část, kde budeme diskutovat o protokolu I2C.
Pokud máte nějaké dotazy, neváhejte se jich zeptat v sekci komentářů, jsme tu, abychom vám pomohli. A určitě sledujte
S pozdravem: M. Junaid
Doporučuje:
Pájecí součásti pro povrchovou montáž - Základy pájení: 9 kroků (s obrázky)
Pájecí součásti pro povrchovou montáž | Základy pájení: Dosud jsem v mé sérii Pájecí základy probral dost základů o pájení, abyste mohli začít cvičit. V tomto Instructable bude to, o čem budu diskutovat, trochu pokročilejší, ale je to jeden ze základů pájení Surface Mount Compo
Dekodér protokolu dálkového ovládání RC5 bez knihovny: 4 kroky
Dekodér protokolu RC5 dálkového ovládání bez knihovny: před dekódováním rc5 nejprve probereme, co je příkaz rc5 a jaká je jeho struktura. takže v zásadě příkaz rc5 používaný v dálkových ovladačích, které se používají v televizorech, přehrávačích CD, d2h, systémech domácího kina atd., má 13 nebo 14 bitů uspořádaných v
LCD displej I2C / IIC - Použijte SPI LCD na I2C LCD displej pomocí modulu SPI až IIC s Arduino: 5 kroků
LCD displej I2C / IIC | Použijte SPI LCD na I2C LCD displej pomocí modulu SPI až IIC s Arduino: Ahoj lidi, protože normální SPI LCD 1602 má příliš mnoho vodičů na připojení, takže je velmi obtížné propojit jej s arduino, ale na trhu je k dispozici jeden modul, který může převést SPI displej na IIC displej, takže pak potřebujete připojit pouze 4 vodiče
Pochopení IR protokolu dálkových ovladačů Air Conditoner: 9 kroků (s obrázky)
Pochopení IR protokolu dálkových ovladačů Air Conditoner: O IR protokolech se učím už nějakou dobu. Jak odesílat a přijímat IR signály. V tuto chvíli už zbývá jen IR protokol dálkových ovladačů AC. Na rozdíl od tradičních dálkových ovladačů téměř všech elektronických zařízení (řekněme televize), kde
Předběžné* SPI na Pi: Komunikace s 3osým akcelerometrem SPI pomocí Raspberry Pi: 10 kroků
Předběžné* SPI na Pi: Komunikace pomocí 3osého akcelerometru SPI pomocí Raspberry Pi: Podrobný průvodce nastavením Raspbian a komunikace se zařízením SPI pomocí knihovny bcm2835 SPI (NE bit biteded!) To je stále velmi předběžné … Potřebuji přidat lepší obrázky fyzického připojení a zpracovat nějaký nešikovný kód