Porozumění komunikačnímu protokolu SPI v integrovaném systému

Vyzkoušejte Náš Nástroj Pro Odstranění Problémů





Komunikace hraje při navrhování vestavěného systému zásadní roli. Bez přechodu na protokoly je rozšíření periferií velmi složité a náročné na energii. The vestavěný systém v zásadě používá ke komunikaci s periferiemi sériovou komunikaci.
Existuje mnoho sériových komunikačních protokolů, jako je komunikace UART, CAN, USB, I2C a SPI. Seriál komunikační protokol Mezi vlastnosti patří vysoká rychlost a nízká ztráta dat. Usnadňuje návrh na úrovni systému a zajišťuje spolehlivý přenos dat.

Sériová datová komunikace

Elektricky kódované informace se nazývají sériová data, která se přenášejí bit po bitu z jednoho zařízení do druhého prostřednictvím sady protokolů. V integrovaném systému jsou data řídicích senzorů a akčních členů přijímána nebo přenášena do řídicích zařízení, jako jsou mikrokontroléry, takže data jsou dále analyzována a zpracována. Protože mikrokontroléry pracují s digitálními daty, informace z analogové senzory , akční členy a další periferní zařízení se před přenosem do mikrokontroléru převedou na jedno bajtové (8bitové) binární slovo.




Sériová datová komunikace

Sériová datová komunikace

Tato sériová data jsou přenášena s ohledem na určitý hodinový puls. Rychlost přenosu dat se označuje jako přenosová rychlost. Počet datových bitů, které lze přenášet za sekundu, se nazývá přenosová rychlost. Předpokládejme, že data mají 12 bajtů, pak je každý bajt převeden na 8 bitů, takže celková velikost datového přenosu je přibližně 96 bitů / s dat (12 bajtů * 8 bitů na bajt). Pokud lze data přenášet jednou za sekundu, jsou přenosové rychlosti kolem 96 bitů / s nebo 96 baudů. Obrazovka displeje obnovuje hodnotu dat jednou za sekundu.



Základy sériového periferního rozhraní

Komunikace SPI znamená sériové periferní rozhraní komunikační protokol , který vyvinula společnost Motorola v roce 1972. Rozhraní SPI je k dispozici na populárních komunikačních řadičích, jako jsou PIC, AVR a Řadič ARM , atd. Má synchronní datovou linku sériové komunikace, která pracuje v plně duplexu, což znamená, že datové signály přenášejí oba směry současně.

Protokol SPI se skládá ze čtyř vodičů, jako jsou MISO, MOSI, CLK, SS používaných pro komunikaci master / slave. Master je mikrokontrolér a slave jsou další periferní zařízení, jako jsou senzory, GSM modem a GPS modem atd. Vícenásobné podřízené jednotky jsou propojeny s hlavní jednotkou prostřednictvím sériové sběrnice SPI. Protokol SPI nepodporuje komunikaci Multi-master a používá se na krátkou vzdálenost v desce s plošnými spoji.

Základy sériového periferního rozhraní

Základy sériového periferního rozhraní

Řádky SPI

MISO (Master in Slave out) : Linka MISO je konfigurována jako vstup v nadřazeném zařízení a jako výstup v podřízeném zařízení.


MOSI (Master out Slave in) : MOSI je linka nakonfigurovaná jako výstup v hlavním zařízení a jako vstup v podřízeném zařízení, kde se používá k synchronizaci pohybu dat.

SCK (sériové hodiny) : Tento signál je vždy řízen nadřízeným pro synchronní přenos dat mezi nadřízeným a podřízeným. Používá se k synchronizaci pohybu dat dovnitř a ven přes linky MOSI a MISO.

SS (Slave Select) a CS (Chip Select) : Tento signál je řízen nadřízeným pro výběr jednotlivých podřízených / periferních zařízení. Jedná se o vstupní linku používanou k výběru podřízených zařízení.

Komunikace Master Slave se sériovou sběrnicí SPI

Single SPI a Single Slave implementace SPI

Zde je komunikace vždy iniciována nadřízeným. Hlavní zařízení nejprve nakonfiguruje taktovací frekvenci, která je menší nebo rovna maximální frekvenci, kterou podřízené zařízení podporuje. Master poté vybere požadovaného podřízeného pro komunikaci přetažením linky pro výběr čipu (SS) daného konkrétního podřízeného zařízení do nízkého stavu a aktivní. Master generuje informace na lince MOSI, která přenáší data z master do slave.

Komunikace Master Slave

Komunikace Master Slave

Single Master a Multiple Slave Implementations

Toto je konfigurace s více slave s jedním master a více slave přes sériovou sběrnici SPI. Několik podřízených jednotek je paralelně připojeno k hlavnímu zařízení pomocí sériové sběrnice SPI. Zde jsou všechny hodinové linky a datové linky spojeny dohromady, ale výběrový kolík čipu z každého podřízeného zařízení musí být připojen k samostatnému výběrovému kolíku podřízeného zařízení maser.

Jeden pán a více otroků

Jeden pán a více otroků

V tomto procesu se ovládání každého podřízeného zařízení provádí pomocí linky pro výběr čipu (SS). Pin pro výběr čipu se aktivuje podřízené zařízení nízko a vysoký se deaktivuje podřízené zařízení.

Přenos dat je organizován pomocí posuvných registrů u zařízení typu master i slave s danou velikostí slova přibližně 8 bitů, respektive 16 bitů. Obě zařízení jsou připojena ve formě prstence, takže hodnota posuvného registru maseru se přenáší přes linku MOSI, a poté podřízený posune data ve svém posuvném registru. Data se obvykle přesouvají nejprve s MSB a přesouvají nové LSB do stejného registru.

Přenos dat mezi Master a Slave

Přenos dat mezi Master a Slave

Význam hodinové polarity a fáze

Obecně se přenos a příjem dat provádí s ohledem na hodinové impulsy na vzestupných hranách a sestupných hranách. Pokročilé mikrokontroléry mají dvě frekvence: vnitřní frekvenci a externí frekvenci. SPI periferie lze přidat sdílením linek MISO, MOSI a SCLK. Periferie jsou různých typů nebo rychlostí jako ADC, DAC atd. Musíme tedy změnit nastavení SPCR mezi přenosy do různých periferií.

SPCR registr

SPCR registr

Sběrnice SPI pracuje v jednom ze 4 různých přenosových režimů s hodinovou polaritou (CPOL) a hodinovou fází (CPHA), které definují formát hodin, který se má použít. Polarita hodin a frekvence fázových hodin závisí na tom, s jakým periferním zařízením se pokoušíte komunikovat s nadřízeným.
CPHA = 0, CPOL = 0: První bit začíná jako nižší signál - data jsou vzorkována na náběžné hraně a data se mění na sestupné hraně.

CPHA = 0, CPOL = 1: První bit začíná nižšími hodinami - data jsou vzorkována na sestupné hraně a data se mění na vzestupné hraně.

CPHA = 1, CPOL = 0: První bit začíná vyššími hodinami - data se vzorkují na sestupné hraně a data se mění na náběžné hraně.

CPHA = 1, CPOL = 1: První bit začíná vyššími hodinami - data se vzorkují na náběžné hraně a data se mění na sestupné hraně.

SPI časování sběrnice

SPI časování sběrnice

SPI komunikační protokol

Mnoho mikrokontrolérů má vestavěné protokoly SPI, které zpracovávají všechna odesílající a přijímající data. Jakákoli z operací datového režimu (R / W) je řízena řídicími a stavovými registry protokolu SPI. Zde můžete sledovat rozhraní EEPROM k mikrokontroléru PIC16f877a prostřednictvím protokolu SPI.

Zde je 25LC104 EEROM paměť 131072 bajtů, kde mikrokontrolér přenáší dva bajty dat do EEROM paměť přes sériovou sběrnici SPI. Program pro toto propojení je uveden níže.

Komunikace typu Master to Slave přes sériovou sběrnici SPI

Komunikace typu Master to Slave přes sériovou sběrnici SPI

#zahrnout
Sbit SS = RC ^ 2
Sbit SCK = RC ^ 3
Sbit SDI = RC ^ 4
Sbit SDO = RC ^ 5
Zrušit inicializaci EEROM ()
Void main ()
{
SSPSPAT = 0x00
SSPCON = 0x31
SMP = 0
SCK = 0
SDO = 0
SS = 1
EE_adress = 0x00
SPI_write (0x80)
SPI_write (1234)
SS = 0
}

Výhody protokolu SPI

  • Jedná se o plně duplexní komunikaci.
  • Jedná se o vysokorychlostní datovou sběrnici 10MHz.
  • Při přenosu není omezen na 8 bitů
  • Hardwarové rozhraní je jednoduché prostřednictvím SPI.
  • Slave používá hlavní hodiny a nepotřebuje drahé oscilátory.

Jedná se o komunikaci SPI a její propojení s mikrokontrolérem . Vážíme si vašeho horlivého zájmu a pozornosti o tento článek, a proto očekáváme váš názor na tento článek. O další kódování a pomoc s propojením nás můžete požádat níže uvedeným komentářem.

Fotografické kredity: