Co je sériové periferní rozhraní?
Sériové periferní rozhraní (SPI) je levné, čtyřvodičové, plně duplexní synchronní sériové komunikační datové rozhraní, které funguje ve vztahu master-slave. Přenos dat v sériových zařízeních probíhá vždy po jednom, takže SPI je rozhraní s nízkou rychlostí. Běžně se používá jako spojení mezi integrovanými obvody s palubními pomalými periferními zařízeními, která jsou přerušována. Konkuruje zařízením se souběžným přenosem dat, ale jak se zvyšuje efektivita SPI, výhoda prvního se snižuje. SPI je někdy označován jako „mikrowire“, ačkoli se to považuje za podskupinový protokol SPI.
Přenos dat pomocí sériového periferního rozhraní probíhá prostřednictvím plně duplexního protokolu. Data jsou přenášena a přijímána v obou směrech současně. Aplikace využívající SPI v tomto režimu získávají velkou účinnost; jedna taková aplikace je mezi kodér-dekodér (kodek) a procesor digitálního signálu (DSP). Mezi další aplikace patří snímače teploty a tlaku a flash paměť.
Kdykoli komunikují dvě zařízení se sériovým periferním rozhraním, jedno zařízení se označuje jako „master“, zatímco druhé zařízení je „slave“. Hlavní zařízení zahájí veškerou komunikaci vysíláním signálů do podřízeného zařízení. Sběrnice sériového periferního rozhraní může připojit více slave zařízení k jednomu masteru.
Zařízení sériového periferního rozhraní používají v odesílaných datech tři registry - kontrolní registr (SPCR), stavový registr (SPSR) a datový registr (SPDR), spolu se čtyřmi různými signály. První signál se nazývá sériové hodiny (SCLK), které generuje pouze hlavní zařízení. Poté následuje master-out slave-in (MOSI), master-in slave-out (MISO) a slave select (SSn), kde "n" je počet slave zařízení, ke kterým je master zařízení připojeno.
V typické konfiguraci s jedním otrokem by inženýr, který chce používat sériové periferní rozhraní, připojil SCLK ke vstupu slave zařízení. MOSI pak přenáší data z nadřízeného zařízení do podřízeného zařízení, zatímco MISO přenáší data z podřízeného zařízení do nadřízeného. Aby bylo možné určit, které zařízení je hlavní a které je slave, připojí první zařízení Master SSn k slave SSn a generuje do něj diskrétní vstupní / výstupní signál pro obecné účely.
Pro připojení více slave k jednomu masteru v sériovém periferním rozhraní jsou oddělené signály SSn připojeny od master zařízení k samostatným slave. Například SS1 je připojen k Slave 1, SS2 je připojen k Slave 2 atd. Podobně jako konfigurace s jedním slavem je SCLK připojen z hlavního zařízení k více slave. MOSI z masteru na slave jsou připojeny, stejně jako MISO z slave do masteru.