Hva er det serielle perifere grensesnittet?

Et serielt perifert grensesnitt (SPI) er et rimelig, firetråds, full-dupleks synkront seriell kommunikasjonsdatastrømgrensesnitt som fungerer i et master-slave-forhold. Dataoverføring i serielle enheter skjer en bit av gangen, noe som gjør SPI til et grensesnitt med lav hastighet. Det brukes ofte som en kobling mellom integrerte kretsløp med langsomme perifere enheter om bord som er tilgjengelig med mellomrom. Den konkurrerer med parallelle dataoverføringsenheter, men når SPI øker effektiviteten, reduseres førstnevnte fordel. SPI blir noen ganger referert til som "microwire", selv om dette blir betraktet som en undergruppe-protokoll for SPI.

Dataoverføring med et serielt perifert grensesnitt skjer via full-tosidig protokoll. Data overføres og mottas i begge retninger samtidig. Programmer som bruker SPI får mye effektivitet i denne modusen; en slik applikasjon er mellom en koder-dekoder (kodek) og en digital signalprosessor (DSP). Andre bruksområder inkluderer temperatur- og trykksensorer, så vel som flashminne.

Hver gang to serielle perifere grensesnittenheter kommuniserer, blir den ene enheten referert til som "masteren", mens den andre enheten er "slaven." Masterenheten initierer all kommunikasjon ved å overføre signaler til slaveenheten. En seriell perifer grensesnittbuss kan koble flere slaveenheter til en enkelt master.

Serielle perifere grensesnittenheter bruker tre registre - kontrollregister (SPCR), statusregister (SPSR) og dataregister (SPDR)) i sending av data, sammen med fire forskjellige signaler. Det første signalet kalles seriell klokke (SCLK), som bare hovedenheten genererer. Dette blir fulgt av master-out slave-in (MOSI), master-in slave-out (MISO) og slavevalg (SSn), der "n" er antall slaveenheter som masterenheten er koblet til.

I en typisk enkeltslavkonfigurasjon vil en ingeniør som ønsker å bruke et serielt perifert grensesnitt koble SCLK til en slaveenhets inngang. MOSI fører deretter data fra masterenheten til slaveenheten mens MISO overfører data fra slaven til masteren. For å bestemme hvilken enhet som er master og hvilken som er slave, kobler førstnevnte Master SSn til Slave SSn og genererer et generelt, diskret inngangs- / utgangssignal til sistnevnte.

For å koble flere slaver til en master i et serielt perifert grensesnitt, kobles separate SSn-signaler fra masterenheten til separate slaver. For eksempel er SS1 koblet til Slave 1, SS2 er koblet til Slave 2, og så videre. I likhet med konfigurasjonen med én slave er SCLK koblet fra hovedenheten til flere slaver. MOSI fra master til slaver er koblet sammen, samt MISO fra slaver til master.

ANDRE SPRÅK

Hjalp denne artikkelen deg? Takk for tilbakemeldingen Takk for tilbakemeldingen

Hvordan kan vi hjelpe? Hvordan kan vi hjelpe?