Innehållsförteckning:

GRUNDLÄGGANDE AV SPI -KOMMUNIKATIONSPROTOKOLLET: 13 steg
GRUNDLÄGGANDE AV SPI -KOMMUNIKATIONSPROTOKOLLET: 13 steg

Video: GRUNDLÄGGANDE AV SPI -KOMMUNIKATIONSPROTOKOLLET: 13 steg

Video: GRUNDLÄGGANDE AV SPI -KOMMUNIKATIONSPROTOKOLLET: 13 steg
Video: SKR 1.4 - TMC5160 SPI 2024, Juli
Anonim
GRUNDLÄGGANDE I SPI -KOMMUNIKATIONSPROTOKOLLET
GRUNDLÄGGANDE I SPI -KOMMUNIKATIONSPROTOKOLLET

När du ansluter en mikrokontroller till en sensor, bildskärm eller annan modul, tänker du på hur de två enheterna pratar med varandra? Vad exakt säger de? Hur kan de förstå varandra?

Kommunikation mellan elektroniska enheter är som kommunikation mellan människor. Båda sidor måste tala samma språk. Inom elektronik kallas dessa språk för kommunikationsprotokoll. Lyckligtvis för oss finns det bara några kommunikationsprotokoll vi behöver veta när vi bygger de flesta DIY -elektronikprojekt. I denna artikelserie kommer vi att diskutera grunderna i de tre vanligaste protokollen: Serial Peripheral Interface (SPI), Inter-Integrated Circuit (I2C) och Universal Asynchronous Receiver/Transmitter (UART) driven kommunikation. Först börjar vi med några grundläggande begrepp om elektronisk kommunikation och förklarar i detalj hur SPI fungerar. I nästa artikel kommer vi att diskutera UART -driven kommunikation, och i den tredje artikeln kommer vi att dyka in i I2C. SPI, I2C och UART är ganska långsammare än protokoll som USB, ethernet, Bluetooth och WiFi, men de är mycket enklare och använder mindre hårdvara och systemresurser. SPI, I2C och UART är idealiska för kommunikation mellan mikrokontroller och mellan mikrokontroller och sensorer där stora mängder höghastighetsdata inte behöver överföras.

Steg 1: SERIAL VS. PARALLELL KOMMUNIKATION

SERIAL VS. PARALLELL KOMMUNIKATION
SERIAL VS. PARALLELL KOMMUNIKATION

Elektroniska enheter pratar med varandra genom att skicka bitar av data genom trådar som är fysiskt anslutna mellan enheter. En bit är som en bokstav i ett ord, förutom att i stället för de 26 bokstäverna (i det engelska alfabetet) är en bit binär och kan bara vara 1 eller 0. Bit överförs från en enhet till en annan genom snabba spänningsändringar. I ett system som arbetar vid 5 V kommuniceras en 0 bit som en kort puls på 0 V och en 1 bit kommuniceras med en kort puls på 5 V.

Databitar kan överföras antingen i parallell eller serieform. I parallellkommunikation skickas databitar alla samtidigt, var och en genom en separat tråd. Följande diagram visar parallellöverföringen av bokstaven "C" i binär (01000011):

Steg 2:

Vid seriell kommunikation skickas bitarna en efter en genom en enda tråd. Följande diagram visar seriell överföring av bokstaven "C" i binär (01000011):

Steg 3:

Bild
Bild

Steg 4: INLEDNING TILL SPI -KOMMUNIKATION

INLEDNING TILL SPI -KOMMUNIKATION
INLEDNING TILL SPI -KOMMUNIKATION

SPI är ett vanligt kommunikationsprotokoll som används av många olika enheter. Till exempel använder SD -kortmoduler, RFID -kortläsarmoduler och 2,4 GHz trådlösa sändare/mottagare alla SPI för att kommunicera med mikrokontroller.

En unik fördel med SPI är det faktum att data kan överföras utan avbrott. Vilket antal bitar som helst kan sändas eller tas emot i en kontinuerlig ström. Med I2C och UART skickas data i paket, begränsat till ett visst antal bitar. Start- och stoppförhållanden definierar början och slutet av varje paket, så data avbryts under överföringen. Enheter som kommunicerar via SPI har ett master-slave-förhållande. Mastern är styrenheten (vanligtvis en mikrokontroller), medan slaven (vanligtvis en sensor, display eller minneschip) tar instruktioner från mastern. Den enklaste konfigurationen av SPI är ett enda master, enda slavsystem, men en master kan styra mer än en slav (mer om detta nedan).

Steg 5:

Bild
Bild

Steg 6:

MOSI (Master Output/Slave Input) - Linje för mastern för att skicka data till slaven.

MISO (Master Input/Slave Output) - Linje för slaven att skicka data till mastern.

SCLK (Clock) - Linje för klocksignalen.

SS/CS (Slave Select/Chip Select) - Linje för mastern för att välja vilken slav som ska skickas data till

Steg 7:

Bild
Bild

*I praktiken begränsas antalet slavar av systemets lastkapacitans, vilket minskar befälhavarens förmåga att exakt växla mellan spänningsnivåer.

Steg 8: HUR SPI FUNGERAR

KLOCKAN

Klocksignalen synkroniserar utmatningen av databitar från mastern till samplingen av bitar av slaven. En bit data överförs i varje klockcykel, så hastigheten för dataöverföring bestäms av klocksignalens frekvens. SPI -kommunikation initieras alltid av mastern eftersom mastern konfigurerar och genererar klocksignalen.

Alla kommunikationsprotokoll där enheter delar en klocksignal kallas synkron. SPI är ett synkront kommunikationsprotokoll. Det finns också asynkrona metoder som inte använder en klocksignal. I UART-kommunikation är till exempel båda sidorna inställda på en förkonfigurerad överföringshastighet som dikterar hastigheten och tidpunkten för dataöverföring.

Klocksignalen i SPI kan modifieras med hjälp av egenskaperna hos klockpolaritet och klockfas. Dessa två egenskaper fungerar tillsammans för att definiera när bitarna matas ut och när de samplas. Klockpolaritet kan ställas in av mastern så att bitar kan matas ut och samplas antingen på den stigande eller fallande kanten av klockcykeln. Klockfasen kan ställas in för att utdata och sampling ska ske på antingen den första kanten eller den andra kanten av klockcykeln, oavsett om den stiger eller faller.

SLAVE SELECT

Mästaren kan välja vilken slav den vill prata med genom att ställa slavens CS/SS -linje till en låg spänningsnivå. I ledigt, icke-sändande tillstånd hålls slavvallinjen på en hög spänningsnivå. Flera CS/SS -stift kan finnas tillgängliga på mastern, vilket gör att flera slavar kan kopplas parallellt. Om det bara finns en CS/SS-pin kan flera slavar kopplas till mastern genom att koppla ihop dem.

MULTIPLE SLAVES SPI

kan ställas in för att fungera med en enda master och en enda slav, och den kan konfigureras med flera slavar som styrs av en enda master. Det finns två sätt att ansluta flera slavar till befälhavaren. Om mastern har flera slavvalstappar kan slavarna kopplas parallellt så här:

Steg 9:

Bild
Bild

Steg 10:

MOSI OCH MISO

Mastern skickar data till slaven bit för bit i serie via MOSI -linjen. Slaven tar emot data som skickas från mastern vid MOSI -stiftet. Data som skickas från mastern till slaven skickas vanligtvis med den mest betydande biten först. Slaven kan också skicka data tillbaka till mastern via MISO -linjen i serie. Data som skickas från slaven tillbaka till mastern skickas vanligtvis med den minst signifikanta biten först. STEG FÖR SPI -DATAÖVERFÖRING 1. Mastern matar ut klocksignalen:

Steg 11:

Bild
Bild

Om bara en slavvalp är tillgänglig, kan slavarna kopplas ihop så här:

Steg 12:

Bild
Bild
Bild
Bild
Bild
Bild
Bild
Bild

MOSI OCH MISO

Mastern skickar data till slaven bit för bit i serie via MOSI -linjen. Slaven tar emot data som skickas från mastern vid MOSI -stiftet. Data som skickas från mastern till slaven skickas vanligtvis med den mest betydande biten först.

Slaven kan också skicka data tillbaka till mastern via MISO -linjen i serie. Data som skickas från slaven tillbaka till mastern skickas vanligtvis med den minst signifikanta biten först.

STEG FÖR ÖVERFÖRING AV SPI -DATA

*Obs Bilderna är listade Oboe du kan enkelt skilja

1. Mastern matar ut klocksignalen:

2. Master växlar SS/CS -stiftet till ett lågspänningstillstånd, vilket aktiverar slaven:

3. Master skickar data en bit i taget till slaven längs MOSI -linjen. Slaven läser bitarna när de tas emot:

4. Om ett svar behövs, returnerar slaven data en bit i taget till mastern längs MISO -linjen. Befälhavaren läser bitarna när de tas emot:

Steg 13: FÖRDELAR OCH Nackdelar med SPI

Det finns några fördelar och nackdelar med att använda SPI, och om du får välja mellan olika kommunikationsprotokoll bör du veta när du ska använda SPI enligt kraven i ditt projekt:

FÖRDELAR

Inga start- och stoppbitar, så data kan strömmas kontinuerligt utan avbrott Inget komplicerat slavadresseringssystem som I2C Högre dataöverföringshastighet än I2C (nästan dubbelt så snabbt) Separata MISO- och MOSI -linjer, så data kan skickas och tas emot samtidigt tid

Nackdelar

Använder fyra ledningar (I2C och UART använder två) Ingen bekräftelse på att data har tagits emot (I2C har detta) Ingen form av felkontroll som paritetsbiten i UART Endast möjliggör en enda master Förhoppningsvis har denna artikel gett dig en bättre förståelse av SPI. Fortsätt till del två av denna serie för att lära dig mer om UART -driven kommunikation, eller till del tre där vi diskuterar I2C -protokollet.

Om du har några frågor är du välkommen att ställa det i kommentarsfältet, vi är här för att hjälpa. Och var noga med att följa

Hälsningar: M. Junaid

Rekommenderad: