Vad är det seriella perifera gränssnittet?
Ett seriellt perifert gränssnitt (SPI) är ett billigt, fyra-tråds, full-duplex synkron seriekommunikationsdatasträn som fungerar i ett master-slav-förhållande. Dataöverföring i serieenheter sker en bit åt gången, vilket gör SPI till ett låghastighetsgränssnitt. Det används vanligtvis som en länk mellan integrerade kretsar med långsamma perifera enheter ombord som nås intermittent. Den tävlar med parallella dataöverföringsenheter, men när SPI ökar effektiviteten reduceras den förstnämnda fördelen. SPI kallas ibland "Microwire", även om detta betraktas som ett delmängsprotokoll för SPI.
Dataöverföringar med ett seriellt perifert gränssnitt förekommer via fullduplexerat protokoll. Data överförs och tas emot i båda riktningarna samtidigt. Applikationer som använder SPI får mycket effektivitet i detta läge; En sådan applikation är mellan en kodare-decoder (codec) och en digital signalprocessor (DSP). Andra applikationer inkluderar temperatur- och trycksensorer, somSam som flashminne.
När två serieperifera gränssnittsenheter kommunicerar, kallas en enhet som "mästaren", medan den andra enheten är "slaven". Master -enheten initierar all kommunikation genom att överföra signaler till slavenheten. En serieperifer gränssnittsbuss kan ansluta flera slavenheter till en enda master.
Seriella perifera gränssnittsenheter använder tre register - Control Register (SPCR), Status Register (SPSR) och Data Register (SPDR) - i sändning, tillsammans med fyra olika signaler. Den första signalen kallas Serial Clock (SCLK), som endast huvudenheten genererar. Detta följs av Master-Out Slave-In (MOSI), Master-In Slave-Out (MISO) och Slave Select (SSN), där "N" är antalet slavenheter som Master Device är ansluten till.
I en typisk en-slavkonfiguration, en ingenjör som vill använda en SeriAl perifera gränssnitt skulle ansluta SCLK till en slavenhets ingång. MOSI bär sedan data från masterenheten till slavenheten medan MISO överför data från slaven till mästaren. För att bestämma vilken enhet som är mästare och vilken som är slav, ansluter den tidigare master SSN till slav SSN och genererar en allmänt diskret inmatning/utgångssignal till den senare.
För att ansluta flera slavar till en mästare i ett seriellt perifert gränssnitt, är separata SSN -signaler anslutna från masterenheten för att separera slavar. Till exempel är SS1 ansluten till slav 1, SS2 är ansluten till Slave 2, och så vidare. I likhet med en-slavkonfiguration är SCLK ansluten från masterenheten till flera slavar. Mosi från mästare till slavar är anslutna, liksom miso från slavar till mästare.