Sadržaj:

OSNOVE PROTOKOLA SPI KOMUNIKACIJE: 13 koraka
OSNOVE PROTOKOLA SPI KOMUNIKACIJE: 13 koraka

Video: OSNOVE PROTOKOLA SPI KOMUNIKACIJE: 13 koraka

Video: OSNOVE PROTOKOLA SPI KOMUNIKACIJE: 13 koraka
Video: «Феномен исцеления» — Документальный фильм — Часть 1 2024, Srpanj
Anonim
OSNOVE PROTOKOLA SPI KOMUNIKACIJE
OSNOVE PROTOKOLA SPI KOMUNIKACIJE

Kad povežete mikrokontroler sa senzorom, zaslonom ili drugim modulom, jeste li ikada razmišljali o tome kako dva uređaja međusobno razgovaraju? Što točno govore? Kako se mogu razumjeti?

Komunikacija između elektroničkih uređaja je poput komunikacije među ljudima. Obje strane moraju govoriti istim jezikom. U elektronici se ti jezici nazivaju komunikacijski protokoli. Srećom po nas, postoji samo nekoliko komunikacijskih protokola koje moramo znati prilikom izrade većine DIY elektroničkih projekata. U ovoj seriji članaka raspravljat ćemo o osnovama tri najčešća protokola: Serijsko periferno sučelje (SPI), Inter-integrirano kolo (I2C) i Univerzalna komunikacija s asinkronim prijamnikom/odašiljačem (UART). Prvo ćemo početi s nekim osnovnim pojmovima o elektroničkoj komunikaciji, a zatim detaljno objasniti kako funkcionira SPI. U sljedećem članku ćemo raspravljati o komunikaciji vođenom UART -om, a u trećem članku zaronit ćemo u I2C. SPI, I2C i UART prilično su sporiji od protokola poput USB -a, etherneta, Bluetootha i WiFi -a, ali su mnogo jednostavniji i koriste manje hardvera i sistemskih resursa. SPI, I2C i UART idealni su za komunikaciju između mikrokontrolera i između mikrokontrolera i senzora gdje se ne moraju prenositi velike količine podataka velike brzine.

Korak 1: SERIJSKA VS. PARALELNA KOMUNIKACIJA

SERIJA VS. PARALELNA KOMUNIKACIJA
SERIJA VS. PARALELNA KOMUNIKACIJA

Elektronički uređaji međusobno razgovaraju slanjem bitova podataka putem žica koje su fizički povezane između uređaja. Bit je poput slova u riječi, osim što je umjesto 26 slova (u engleskoj abecedi) bit binarni i može biti samo 1 ili 0. Bitovi se prenose s jednog uređaja na drugi brzim promjenama napona. U sustavu koji radi na 5 V, 0 bit se prenosi kao kratki impuls od 0 V, a 1 bit se prenosi kratkim impulsom od 5 V.

Bitovi podataka mogu se prenositi paralelno ili serijski. U paralelnoj komunikaciji bitovi podataka šalju se svi u isto vrijeme, svaki kroz zasebnu žicu. Sljedeći dijagram prikazuje paralelni prijenos slova "C" u binarnom obliku (01000011):

Korak 2:

U serijskoj komunikaciji bitovi se šalju jedan po jedan kroz jednu žicu. Sljedeći dijagram prikazuje serijski prijenos slova "C" u binarnom obliku (01000011):

3. korak:

Slika
Slika

Korak 4: UVOD U SPI KOMUNIKACIJU

UVOD U SPI KOMUNIKACIJU
UVOD U SPI KOMUNIKACIJU

SPI je uobičajeni komunikacijski protokol koji koriste mnogi različiti uređaji. Na primjer, moduli SD kartica, moduli čitača RFID kartica i bežični odašiljač/prijamnik na 2,4 GHz koriste SPI za komunikaciju s mikrokontrolerima.

Jedna jedinstvena prednost SPI -a je činjenica da se podaci mogu prenositi bez prekida. Bilo koji broj bitova može se poslati ili primiti u kontinuiranom toku. S I2C i UART, podaci se šalju u paketima, ograničeni na određeni broj bitova. Uvjeti početka i zaustavljanja definiraju početak i kraj svakog paketa, pa se podaci prekidaju tijekom prijenosa. Uređaji koji komuniciraju putem SPI-a su u odnosu master-slave. Master je upravljački uređaj (obično mikrokontroler), dok slave (obično senzor, zaslon ili memorijski čip) prima upute od nadređenog. Najjednostavnija konfiguracija SPI -a je jedan master, single slave sustav, ali jedan master može kontrolirati više od jednog slave -a (više o tome u nastavku).

5. korak:

Slika
Slika

Korak 6:

MOSI (Master Output/Slave Input) - Linija za master za slanje podataka na slave.

MISO (Master Input/Slave Output) - Linija za slanje za slanje podataka na master.

SCLK (Sat) - Linija za signal sata.

SS/CS (Slave Select/Chip Select) - Linija za master da odabere kojem slave -u šalje podatke

Korak 7:

Slika
Slika

*U praksi je broj podređenih uređaja ograničen kapacitetom opterećenja sustava, što smanjuje sposobnost glavnog gospodara za točno prebacivanje između razina napona.

Korak 8: KAKO SPI RADI

SAT

Signal takta sinkronizira izlaz podatkovnih bitova s glavnog uređaja na uzorkovanje bitova od strane podređenog. U svakom ciklusu takta prenosi se jedan bit podataka, pa je brzina prijenosa podataka određena frekvencijom takta signala. SPI komunikaciju uvijek započinje master jer master konfigurira i generira signal sata.

Svaki komunikacijski protokol gdje uređaji dijele signal sata poznat je kao sinkroni. SPI je sinkroni komunikacijski protokol. Postoje i asinkrone metode koje ne koriste signal sata. Na primjer, u UART komunikaciji obje su strane postavljene na unaprijed konfiguriranu brzinu prijenosa koja određuje brzinu i vrijeme prijenosa podataka.

Signal takta u SPI -u može se mijenjati korištenjem svojstava polariteta sata i faze takta. Ova dva svojstva rade zajedno kako bi definirali kada se bitovi izlaze i kada se uzorkuju. Polaritet sata može postaviti master kako bi se omogućilo ispisivanje bitova i uzorkovanje na rastućem ili padajućem rubu ciklusa takta. Faza sata može se postaviti za izlaz i uzorkovanje na prvom ili drugom rubu ciklusa takta, bez obzira na to raste li ili pada.

SLAVE SELECT

Nadređeni može odabrati s kojim slave -om želi razgovarati postavljanjem CS/SS linije slave -a na nisku razinu napona. U stanju mirovanja, koje ne odašilje, linija za odabir podređenog uređaja održava se na visokoj razini napona. Na masteru može biti dostupno više CS/SS pinova, što omogućuje paralelno ožičenje više slave -ova. Ako je prisutan samo jedan CS/SS pin, više slave-a može se spojiti na master pomoću lančića.

VIŠE ROBOVA SPI

može se postaviti za rad s jednim glavnim i jednim podređenim uređajem, a može se postaviti i s više podređenih uređaja koje kontrolira jedan glavni. Postoje dva načina za povezivanje više robova s glavnim uređajem. Ako master ima više pinova za odabir podređenog uređaja, slave se mogu paralelno ožičiti ovako:

Korak 9:

Slika
Slika

10. korak:

MOSI I MISO

Master šalje podatke podređenom uređaju bit po bit, serijski kroz MOSI liniju. Podređeni uređaj prima podatke poslane s glavnog uređaja na MOSI pin. Podaci poslani s nadređenog na podređeno obično se prvo šalju s najznačajnijim bitom. Podređeni uređaj također može serijski slati podatke natrag masteru putem MISO linije. Podaci poslani s podređenog uređaja natrag na master obično se prvo šalju s najmanjim bitom. KORACI PRENOSA SPI PODATAKA 1. Master emitira signal sata:

11. korak:

Slika
Slika

Ako je dostupan samo jedan pin za odabir podređenog uređaja, robovi se mogu lančano vezati na sljedeći način:

Korak 12:

Slika
Slika
Slika
Slika
Slika
Slika
Slika
Slika

MOSI I MISO

Master šalje podatke slave -u bit po bit, serijski kroz MOSI liniju. Podređeni uređaj prima podatke poslane s glavnog uređaja na MOSI pin. Podaci poslani s nadređenog na podređeno obično se prvo šalju s najznačajnijim bitom.

Podređeni uređaj također može serijski slati podatke natrag masteru putem MISO linije. Podaci poslani s podređenog uređaja natrag na master obično se prvo šalju s najmanjim bitom.

KORACI PRENOSA SPI PODATAKA

*Napomena Slike su na popisu gobova koje možete lako razlikovati

1. Master daje signal sata:

2. Glavni prekidač prebacuje SS/CS pin u stanje niskog napona, čime se aktivira slave:

3. Master šalje podatke jedan po jedan podređenom uređaju duž MOSI linije. Rob čita bitove dok ih prima:

4. Ako je potreban odgovor, slave uređaj vraća podatke jedan po jedan glavnom uređaju duž MISO linije. Gospodar čita bitove dok ih prima:

Korak 13: PREDNOSTI I NEDOSTACI SPI -ja

Korištenje SPI -a ima neke prednosti i nedostatke, a ako imate izbor između različitih komunikacijskih protokola, trebali biste znati kada koristiti SPI u skladu sa zahtjevima vašeg projekta:

PREDNOSTI

Nema bitova za početak i zaustavljanje, pa se podaci mogu neprekidno strujati bez prekida Nema kompliciranog sustava adresiranja robova poput I2C Veća brzina prijenosa podataka od I2C (gotovo dvostruko brže) Odvojene linije MISO i MOSI, tako da se podaci mogu slati i primati na isti način vrijeme

NEDOSTACI

Koristi četiri žice (I2C i UART koriste dvije) Nema potvrde da su podaci uspješno primljeni (I2C ima ovo) Nijedan oblik provjere pogreške poput bita parnosti u UART -u dopušta samo jedan master Nadam se da vam je ovaj članak dao bolje razumijevanje od SPI. Nastavite na drugi dio ove serije kako biste saznali o komunikaciji vođen UART -om, ili na treći dio gdje raspravljamo o I2C protokolu.

Ako imate bilo kakvih pitanja, slobodno ih postavite u odjeljku za komentare, tu smo da vam pomognemo. I svakako slijedite

Pozdrav: M. Junaid

Preporučeni: