Innholdsfortegnelse:
- Trinn 1: SERIAL VS. PARALLELL KOMMUNIKASJON
- Steg 2:
- Trinn 3:
- Trinn 4: INNLEDNING TIL SPI -KOMMUNIKASJON
- Trinn 5:
- Trinn 6:
- Trinn 7:
- Trinn 8: HVORDAN SPI FUNGERER
- Trinn 9:
- Trinn 10:
- Trinn 11:
- Trinn 12:
- Trinn 13: FORDELER OG FORDELER MED SPI
Video: GRUNNLEGG FOR SPI -KOMMUNIKASJONSPROTOKOLLET: 13 trinn
2024 Forfatter: John Day | [email protected]. Sist endret: 2024-01-30 11:24
Når du kobler en mikrokontroller til en sensor, skjerm eller annen modul, tenker du noen gang på hvordan de to enhetene snakker til hverandre? Hva sier de egentlig? Hvordan klarer de å forstå hverandre?
Kommunikasjon mellom elektroniske enheter er som kommunikasjon mellom mennesker. Begge sider må snakke samme språk. I elektronikk kalles disse språkene kommunikasjonsprotokoller. Heldigvis for oss er det bare noen få kommunikasjonsprotokoller vi trenger å vite når vi bygger de fleste DIY -elektronikkprosjekter. I denne artikkelserien vil vi diskutere det grunnleggende i de tre vanligste protokollene: Serial Peripheral Interface (SPI), Inter-Integrated Circuit (I2C) og Universal Asynchronous Receiver/Transmitter (UART) -drevet kommunikasjon. Først begynner vi med noen grunnleggende konsepter om elektronisk kommunikasjon, og forklarer deretter i detalj hvordan SPI fungerer. I den neste artikkelen vil vi diskutere UART -drevet kommunikasjon, og i den tredje artikkelen vil vi dykke ned i I2C. SPI, I2C og UART er ganske tregere enn protokoller som USB, ethernet, Bluetooth og WiFi, men de er mye enklere og bruker mindre maskinvare og systemressurser. SPI, I2C og UART er ideelle for kommunikasjon mellom mikrokontrollere og mellom mikrokontrollere og sensorer der store mengder høyhastighetsdata ikke trenger å overføres.
Trinn 1: SERIAL VS. PARALLELL KOMMUNIKASJON
Elektroniske enheter snakker med hverandre ved å sende biter av data gjennom ledninger som er fysisk forbundet mellom enheter. En bit er som en bokstav i et ord, bortsett fra i stedet for de 26 bokstavene (i det engelske alfabetet), er en bit binær og kan bare være 1 eller 0. Bit overføres fra en enhet til en annen ved raske endringer i spenning. I et system som opererer ved 5 V, kommuniseres en 0 bit som en kort puls på 0 V, og en 1 bit kommuniseres med en kort puls på 5 V.
Databittene kan overføres enten i parallell eller seriell form. I parallell kommunikasjon sendes dataene alle samtidig, hver gjennom en egen ledning. Følgende diagram viser parallelloverføring av bokstaven "C" i binær (01000011):
Steg 2:
I seriell kommunikasjon sendes bitene en etter en gjennom en enkelt ledning. Følgende diagram viser seriell overføring av bokstaven "C" i binær (01000011):
Trinn 3:
Trinn 4: INNLEDNING TIL SPI -KOMMUNIKASJON
SPI er en vanlig kommunikasjonsprotokoll som brukes av mange forskjellige enheter. For eksempel bruker SD -kortmoduler, RFID -kortlesermoduler og 2,4 GHz trådløse sendere/mottakere alle SPI for å kommunisere med mikrokontrollere.
En unik fordel med SPI er det faktum at data kan overføres uten avbrudd. Et hvilket som helst antall biter kan sendes eller mottas i en kontinuerlig strøm. Med I2C og UART sendes data i pakker, begrenset til et bestemt antall biter. Start- og stoppforhold definerer begynnelsen og slutten av hver pakke, slik at dataene blir avbrutt under overføringen. Enheter som kommuniserer via SPI er i et master-slave-forhold. Mesteren er kontrollenheten (vanligvis en mikrokontroller), mens slaven (vanligvis en sensor, skjerm eller minnebrikke) tar instruksjoner fra masteren. Den enkleste konfigurasjonen av SPI er et enkelt master, enkelt slave system, men en master kan kontrollere mer enn en slave (mer om dette nedenfor).
Trinn 5:
Trinn 6:
MOSI (Master Output/Slave Input) - Linje for master for å sende data til slaven.
MISO (Master Input/Slave Output) - Linje for slaven for å sende data til masteren.
SCLK (Klokke) - Linje for klokkesignalet.
SS/CS (Slave Select/Chip Select) - Linje for master for å velge hvilken slave som skal sendes data til
Trinn 7:
*I praksis er antallet slaver begrenset av systemets lastkapasitans, noe som reduserer masterens evne til å skifte nøyaktig mellom spenningsnivåer.
Trinn 8: HVORDAN SPI FUNGERER
KLOKKEN
Klokkesignalet synkroniserer utdataene fra databiter fra masteren til samplingen av biter av slaven. En bit data blir overført i hver klokkesyklus, så hastigheten på dataoverføringen bestemmes av frekvensen til klokkesignalet. SPI -kommunikasjon initieres alltid av masteren siden masteren konfigurerer og genererer klokkesignalet.
Enhver kommunikasjonsprotokoll der enheter deler et klokkesignal, kalles synkron. SPI er en synkron kommunikasjonsprotokoll. Det er også asynkrone metoder som ikke bruker et klokkesignal. For eksempel i UART-kommunikasjon er begge sider satt til en forhåndskonfigurert overføringshastighet som dikterer hastigheten og timingen for dataoverføring.
Klokkesignalet i SPI kan endres ved hjelp av egenskapene til klokkepolaritet og klokkefase. Disse to egenskapene fungerer sammen for å definere når bitene sendes ut og når de samples. Klokkepolaritet kan stilles inn av masteren slik at biter kan sendes ut og samples på enten den stigende eller fallende kanten av klokkesyklusen. Klokkefasen kan stilles inn for utgang og sampling på enten den første kanten eller den andre kanten av klokkesyklusen, uavhengig av om den stiger eller faller.
SLAVE SELECT
Mesteren kan velge hvilken slave den vil snakke med ved å sette slavens CS/SS -linje til et lavt spenningsnivå. I inaktiv, ikke-overførende tilstand holdes slavevalglinjen på et høyt spenningsnivå. Flere CS/SS -pinner kan være tilgjengelige på masteren, noe som gjør det mulig å koble flere slaver parallelt. Hvis bare en CS/SS-pin er tilstede, kan flere slaver kobles til masteren ved å kjede dem.
MULTIPLE SLAVES SPI
kan settes opp til å fungere med en enkelt master og en enkelt slave, og den kan konfigureres med flere slaver kontrollert av en enkelt master. Det er to måter å koble flere slaver til mesteren. Hvis masteren har flere slavevalgpinner, kan slavene kobles parallelt slik:
Trinn 9:
Trinn 10:
MOSI OG MISO
Mesteren sender data til slaven bit for bit, i serie gjennom MOSI -linjen. Slaven mottar dataene som sendes fra masteren ved MOSI -pinnen. Data sendt fra masteren til slaven blir vanligvis sendt med den mest betydningsfulle biten først. Slaven kan også sende data tilbake til masteren gjennom MISO -linjen i serie. Dataene som sendes fra slaven tilbake til masteren sendes vanligvis med den minst signifikante biten først. TRINN AV SPI -DATA -TRANSMISSJON 1. Mesteren sender ut klokkesignalet:
Trinn 11:
Hvis bare en slave select pin er tilgjengelig, kan slavene være daisy-lenket slik:
Trinn 12:
MOSI OG MISO
Mesteren sender data til slaven bit for bit, i serie gjennom MOSI -linjen. Slaven mottar dataene som sendes fra masteren ved MOSI -pinnen. Data sendt fra masteren til slaven blir vanligvis sendt med den mest betydningsfulle biten først.
Slaven kan også sende data tilbake til masteren gjennom MISO -linjen i serie. Dataene som sendes fra slaven tilbake til masteren sendes vanligvis med den minst signifikante biten først.
TRINN AV TRANSMISSJON AV SPI -DATA
*Merk Bilder er listet Oboe du enkelt kan skille mellom
1. Mesteren sender ut klokkesignalet:
2. Master bytter SS/CS -pinnen til en lavspenningstilstand, som aktiverer slaven:
3. Master sender dataene en bit om gangen til slaven langs MOSI -linjen. Slaven leser bitene når de mottas:
4. Hvis det er nødvendig med et svar, returnerer slaven data en bit om gangen til masteren langs MISO -linjen. Mesteren leser bitene når de mottas:
Trinn 13: FORDELER OG FORDELER MED SPI
Det er noen fordeler og ulemper ved å bruke SPI, og hvis du får valget mellom forskjellige kommunikasjonsprotokoller, bør du vite når du skal bruke SPI i henhold til kravene til prosjektet ditt:
FORDELER
Ingen start- og stoppbiter, så dataene kan streames kontinuerlig uten avbrudd Ingen komplisert slave -adresseringssystem som I2C Høyere dataoverføringshastighet enn I2C (nesten dobbelt så raskt) Separate MISO- og MOSI -linjer, slik at data kan sendes og mottas samtidig tid
ULEMPER
Bruker fire ledninger (I2C og UART bruker to) Ingen bekreftelse på at dataene har blitt mottatt (I2C har dette) Ingen form for feilkontroll som paritetsbiten i UART Bare tillater en enkelt master Forhåpentligvis har denne artikkelen gitt deg en bedre forståelse av SPI. Fortsett til del to av denne serien for å lære om UART -drevet kommunikasjon, eller til del tre der vi diskuterer I2C -protokollen.
Hvis du har spørsmål, kan du stille det i kommentarfeltet, vi er her for å hjelpe. Og sørg for å følge med
Hilsen: M. Junaid
Anbefalt:
Bitmap -animasjon på SSD1331 OLED -skjerm (SPI) med Visuino: 8 trinn
Bitmap -animasjon på SSD1331 OLED -skjerm (SPI) Med Visuino: I denne opplæringen vil vi vise og flytte rundt et bitmap -bilde i en enkel form for animasjon på SSD1331 OLED -skjermen (SPI) med Visuino. Se videoen
NodeMCU og 1,8 "SPI ST7735 -skjerm: 3 trinn
NodeMCU og 1,8 "SPI ST7735 -skjerm: Jeg bruker mye 1,8" farge ST7735 TFT -skjerm. Grunnen til det er at denne skjermen er veldig enkel å bruke, den koster mindre enn $ 5 og den tilbyr farge! På baksiden er displayet har et SD -kortspor. En kort oppsummering av pinnene (tilpasset fra Adafr
I2C / IIC LCD -skjerm - Bruk en SPI LCD til I2C LCD -skjermen Bruke SPI til IIC -modulen med Arduino: 5 trinn
I2C / IIC LCD -skjerm | Bruk en SPI LCD til I2C LCD -skjermen Bruke SPI til IIC -modulen med Arduino: Hei folkens siden en vanlig SPI LCD 1602 har for mange ledninger å koble til, så det er veldig vanskelig å koble den til arduino, men det er en modul tilgjengelig på markedet som kan konverter SPI -skjerm til IIC -skjerm, så da trenger du bare å koble til 4 ledninger
GRUNNLEGG FOR UART -KOMMUNIKASJON: 16 trinn
GRUNNLEGG FOR UART -KOMMUNIKASJON: Husker du da skrivere, mus og modemer hadde tykke kabler med de enorme klumpete kontaktene? De som bokstavelig talt måtte skrues inn i datamaskinen din? Disse enhetene brukte sannsynligvis UART for å kommunisere med datamaskinen din. Mens USB har almos
Foreløpig* SPI på Pi: Kommunikasjon med et SPI 3-akset akselerometer ved hjelp av en bringebær Pi: 10 trinn
Foreløpig* SPI på Pi: Kommunikasjon med et SPI 3-akset akselerometer Bruke en Raspberry Pi: Trinnvis veiledning om hvordan du konfigurerer Raspbian og kommuniserer med en SPI-enhet ved hjelp av bcm2835 SPI-bibliotek (IKKE litt banket!) Dette er fortsatt veldig foreløpig … Jeg må legge til bedre bilder av fysisk oppkobling, og jobbe med noen av de vanskelige kodene