Što je serijsko periferno sučelje?

Serijsko periferno sučelje (SPI) je jeftino, četverožično, full-duplex sinkrono komunikacijsko sučelje toka podataka koje radi u odnosu master-slave. Prijenos podataka u serijskim uređajima odvija se jedan bit po jedan, što SPI čini sučeljem male brzine. Obično se koristi kao veza između integriranih krugova s ​​ugrađenim sporim perifernim uređajima kojima se pristupa povremeno. Natječe se s uređajima za paralelni prijenos podataka, ali kako SPI raste u učinkovitosti, prednost prvog se smanjuje. SPI se ponekad naziva “mikrožični kabel”, iako se to smatra podskupom protokola SPI.

Prijenosi podataka putem serijskog perifernog sučelja odvijaju se putem full-duplexed protokola. Podaci se prenose i primaju u oba smjera u isto vrijeme. Aplikacije koje koriste SPI postižu veliku učinkovitost u ovom načinu rada; jedna takva aplikacija je između kodera-dekodera (kodeka) i procesora digitalnog signala (DSP). Ostale primjene uključuju senzore temperature i tlaka, kao i flash memoriju.

Kad god komuniciraju dva serijska periferna sučelja, jedan uređaj se naziva “master”, dok je drugi uređaj “slave”. Glavni uređaj pokreće sve komunikacije odašiljajući signale podređenom uređaju. Sabirnica serijskog perifernog sučelja može povezati više slave uređaja na jedan master.

Uređaji serijskog perifernog sučelja koriste tri registra – kontrolni registar (SPCR), statusni registar (SPSR) i registar podataka (SPDR) – u slanju podataka, zajedno s četiri različita signala. Prvi signal naziva se serijski sat (SCLK), koji generira samo glavni uređaj. Nakon toga slijede master-out slave-in (MOSI), master-in slave-out (MISO) i slave select (SSn), gdje je “n” broj slave uređaja na koje je glavni uređaj povezan.

U tipičnoj konfiguraciji jednog slave uređaja, inženjer koji želi koristiti serijsko periferno sučelje povezao bi SCLK na ulaz slave uređaja. MOSI zatim prenosi podatke s glavnog uređaja na slave uređaj, dok MISO prenosi podatke od podređenog uređaja na glavni. Kako bi se odredilo koji je uređaj glavni, a koji podređeni, prvi povezuje glavni SSn s slave SSn i generira diskretni ulazno/izlazni signal opće namjene za drugi.

Za spajanje više slaveova na jedan master u serijskom perifernom sučelju, odvojeni SSn signali se spajaju s glavnog uređaja na odvojene slave. Na primjer, SS1 je spojen na Slave 1, SS2 je spojen na Slave 2, i tako dalje. Slično konfiguraciji s jednim podređenim, SCLK je povezan s glavnog uređaja na više podređenih. Povezani su MOSI od mastera do slavea, kao i MISO od slavea do mastera.