Cuprins:
- Pasul 1: SERIAL VS. COMUNICAREA PARALELĂ
- Pasul 2:
- Pasul 3:
- Pasul 4: INTRODUCERE ÎN COMUNICAREA SPI
- Pasul 5:
- Pasul 6:
- Pasul 7:
- Pasul 8: CUM FUNCȚIONEAZĂ SPI
- Pasul 9:
- Pasul 10:
- Pasul 11:
- Pasul 12:
- Pasul 13: AVANTAJE ȘI DEZVANTAJELE SPI
Video: BAZELE PROTOCOLULUI DE COMUNICARE SPI: 13 pași
2024 Autor: John Day | [email protected]. Modificat ultima dată: 2024-01-30 11:45
Când conectați un microcontroler la un senzor, afișaj sau alt modul, vă gândiți vreodată la modul în care cele două dispozitive vorbesc între ele? Ce anume spun? Cum sunt capabili să se înțeleagă?
Comunicarea între dispozitive electronice este ca și comunicarea între oameni. Ambele părți trebuie să vorbească aceeași limbă. În electronică, aceste limbaje se numesc protocoale de comunicare. Din fericire pentru noi, există doar câteva protocoale de comunicare pe care trebuie să le cunoaștem atunci când construim majoritatea proiectelor de electronice DIY. În această serie de articole, vom discuta elementele de bază ale celor mai frecvente trei protocoale: interfață serială periferică (SPI), circuit inter-integrat (I2C) și comunicare condusă de receptorul / transmițătorul asincron universal (UART). În primul rând, vom începe cu câteva concepte de bază despre comunicarea electronică, apoi vom explica în detaliu cum funcționează SPI. În articolul următor, vom discuta despre comunicarea bazată pe UART, iar în al treilea articol, ne vom scufunda în I2C. SPI, I2C și UART sunt mult mai lente decât protocoalele precum USB, Ethernet, Bluetooth și WiFi, dar sunt mult mai simple și utilizează mai puține resurse hardware și de sistem. SPI, I2C și UART sunt ideale pentru comunicarea între microcontrolere și între microcontrolere și senzori în care nu este nevoie să fie transferate cantități mari de date de mare viteză.
Pasul 1: SERIAL VS. COMUNICAREA PARALELĂ
Dispozitivele electronice vorbesc între ele prin trimiterea de biți de date prin fire conectate fizic între dispozitive. Un bit este ca o literă într-un cuvânt, cu excepția locului celor 26 de litere (în alfabetul englezesc), un bit este binar și poate fi doar 1 sau 0. Biții sunt transferați de la un dispozitiv la altul prin schimbări rapide de tensiune. Într-un sistem care funcționează la 5 V, un bit 0 este comunicat ca un impuls scurt de 0 V, iar un bit este comunicat printr-un impuls scurt de 5 V.
Biții de date pot fi transmise fie în paralel, fie sub formă de serie. În comunicare paralelă, biții de date sunt trimiși în același timp, fiecare printr-un fir separat. Următoarea diagramă arată transmisia paralelă a literei „C” în binar (01000011):
Pasul 2:
În comunicarea în serie, biții sunt trimiși unul câte unul printr-un singur fir. Următoarea diagramă arată transmiterea în serie a literei „C” în binar (01000011):
Pasul 3:
Pasul 4: INTRODUCERE ÎN COMUNICAREA SPI
SPI este un protocol comun de comunicare utilizat de mai multe dispozitive diferite. De exemplu, modulele de card SD, modulele de citire a cardurilor RFID și emițătoarele / receptoarele fără fir de 2,4 GHz utilizează toate SPI pentru a comunica cu microcontrolerele.
Un avantaj unic al SPI este faptul că datele pot fi transferate fără întrerupere. Orice număr de biți poate fi trimis sau primit într-un flux continuu. Cu I2C și UART, datele sunt trimise în pachete, limitate la un anumit număr de biți. Condițiile de pornire și oprire definesc începutul și sfârșitul fiecărui pachet, astfel încât datele sunt întrerupte în timpul transmiterii. Dispozitivele care comunică prin SPI se află într-o relație stăpân-sclav. Masterul este dispozitivul de control (de obicei un microcontroler), în timp ce sclavul (de obicei un senzor, afișaj sau cip de memorie) preia instrucțiuni de la master. Cea mai simplă configurație a SPI este un singur master, un singur sistem slave, dar un master poate controla mai mult de un slave (mai multe despre acest lucru mai jos).
Pasul 5:
Pasul 6:
MOSI (Master Output / Slave Input) - Linie pentru master pentru a trimite date către slave.
MISO (Master Input / Slave Output) - Linie pentru ca sclavul să trimită date către master.
SCLK (Clock) - Linie pentru semnalul de ceas.
SS / CS (Slave Select / Chip Select) - Linie pentru master pentru a selecta către care slave să trimită date
Pasul 7:
* În practică, numărul de sclavi este limitat de capacitatea de încărcare a sistemului, ceea ce reduce capacitatea comandantului de a comuta cu precizie între nivelurile de tensiune.
Pasul 8: CUM FUNCȚIONEAZĂ SPI
CEASUL
Semnalul de ceas sincronizează ieșirea de biți de date de la master la eșantionarea de biți de către sclav. Un bit de date este transferat în fiecare ciclu de ceas, astfel încât viteza de transfer de date este determinată de frecvența semnalului de ceas. Comunicarea SPI este întotdeauna inițiată de master, deoarece masterul configurează și generează semnalul de ceas.
Orice protocol de comunicare în care dispozitivele partajează un semnal de ceas este cunoscut sub numele de sincron. SPI este un protocol de comunicare sincron. Există, de asemenea, metode asincrone care nu utilizează un semnal de ceas. De exemplu, în comunicația UART, ambele părți sunt setate la o rată de baud pre-configurată care dictează viteza și calendarul transmiterii datelor.
Semnalul de ceas din SPI poate fi modificat folosind proprietățile polarității ceasului și a fazei ceasului. Aceste două proprietăți funcționează împreună pentru a defini când sunt ieșiți biții și când sunt eșantionați. Polaritatea ceasului poate fi setată de master pentru a permite ieșirea și eșantionarea biților fie pe marginea ascendentă, fie pe cea descendentă a ciclului de ceas. Faza de ceas poate fi setată pentru ca ieșirea și eșantionarea să aibă loc fie pe prima margine, fie pe a doua margine a ciclului de ceas, indiferent dacă este în creștere sau în scădere.
SLAVE SELECT
Stăpânul poate alege cu care sclav dorește să vorbească prin setarea liniei CS / SS a sclavului la un nivel de tensiune scăzută. În starea de repaus, care nu transmite, linia de selectare a sclavului este menținută la un nivel de tensiune ridicată. Mai multe pini CS / SS pot fi disponibile pe master, ceea ce permite conectarea mai multor sclavi în paralel. Dacă este prezent un singur pin CS / SS, mai mulți sclavi pot fi conectați la master prin înlănțuire.
MULTI SCLAVI SPI
poate fi configurat pentru a funcționa cu un singur master și un singur slave și poate fi configurat cu mai mulți sclavi controlați de un singur master. Există două moduri de a conecta mai mulți sclavi la master. Dacă masterul are mai mulți pini de selectare a sclavilor, sclavii pot fi conectați în paralel astfel:
Pasul 9:
Pasul 10:
MOSI ȘI MISO
Maestrul trimite date către sclav bit cu bit, în serie prin linia MOSI. Sclavul primește datele trimise de la comandă la pinul MOSI. Datele trimise de la comandant către sclav sunt de obicei trimise mai întâi cu cel mai semnificativ bit. De asemenea, sclavul poate trimite date înapoi către master prin linia MISO în serie. Datele trimise de la sclav înapoi către comandant sunt de obicei trimise mai întâi cu bitul cel mai puțin semnificativ. ETAPE DE TRANSMISIE DE DATE SPI 1. Masterul emite semnalul de ceas:
Pasul 11:
Dacă este disponibil un singur pin de selecție a sclavilor, sclavii pot fi în lanțuri în felul acesta:
Pasul 12:
MOSI ȘI MISO
Maestrul trimite date către sclav bit cu bit, în serie prin linia MOSI. Sclavul primește datele trimise de la comandă la pinul MOSI. Datele trimise de la comandant către sclav sunt de obicei trimise mai întâi cu cel mai semnificativ bit.
De asemenea, sclavul poate trimite date înapoi către master prin linia MISO în serie. Datele trimise de la sclav înapoi către comandant sunt de obicei trimise mai întâi cu bitul cel mai puțin semnificativ.
ETAPE DE TRANSMISIE DE DATE SPI
* Notă Imaginile sunt Oboe listate pe care le puteți distinge cu ușurință
1. Masterul emite semnalul ceasului:
2. Masterul comută pinul SS / CS la o stare de joasă tensiune, care activează sclavul:
3. Maestrul trimite datele câte un bit pe rând către sclav de-a lungul liniei MOSI. Sclavul citește biții pe măsură ce sunt primiți:
4. Dacă este necesar un răspuns, sclavul returnează date un bit pe rând către master de-a lungul liniei MISO. Maestrul citește biții pe măsură ce sunt primiți:
Pasul 13: AVANTAJE ȘI DEZVANTAJELE SPI
Există câteva avantaje și dezavantaje în utilizarea SPI și, dacă vi se oferă alegerea între diferite protocoale de comunicații, ar trebui să știți când să utilizați SPI în conformitate cu cerințele proiectului dumneavoastră:
AVANTAJE
Fără biți de pornire și oprire, astfel încât datele pot fi transmise în flux continuu fără întrerupere. timp
DEZAVANTAJE
Folosește patru fire (I2C și UART utilizează două) Nicio recunoaștere a faptului că datele au fost primite cu succes (I2C are acest lucru) Nicio formă de verificare a erorilor, cum ar fi bitul de paritate din UART Permite doar un singur master Sperăm că acest articol vă oferă o mai bună înțelegere din SPI. Continuați cu partea a doua a acestei serii pentru a afla despre comunicarea bazată pe UART sau la partea a treia, unde discutăm protocolul I2C.
Dacă aveți întrebări, nu ezitați să le adresați în secțiunea de comentarii, suntem aici pentru a vă ajuta. Și asigurați-vă că urmați
Cu respect: M. Junaid
Recomandat:
Componente de montare pe suprafață - Bazele lipirii: 9 pași (cu imagini)
Componente de montare pe suprafață de lipit | Bazele de lipit: Până acum, în seria mea Bazele de lipit, am discutat suficiente elemente de bază despre lipire pentru a începe să exersați. În acest instructabil, ceea ce voi discuta este puțin mai avansat, dar este o parte din elementele de bază pentru lipirea compoziției de montare pe suprafață
Componente de lipit prin găuri - Bazele lipirii: 8 pași (cu imagini)
Componente de lipit prin găuri | Elementele de bază pentru lipire: În acest manual de instruire voi discuta câteva elemente de bază despre lipirea componentelor orificiului traversant pe plăci de circuite. Presupun că ați verificat deja primele 2 Instrucțiuni pentru seria mea Bază de lipit. Dacă nu ați verificat In
Sârmă de lipit în fire - Bazele lipirii: 11 pași
Sârmă de lipit în fire | Noțiuni de bază pentru lipire: pentru acest instructabil, voi discuta despre modalități comune de lipire a firelor pe alte fire. Presupun că ați verificat deja primele 2 Instrucțiuni pentru seria mea Bază de lipit. Dacă nu ați verificat Instructabilele mele despre utilizarea
Panou digital cu ajutorul protocolului Raspberry Pi și MQTT: 8 pași
Panou de anunțuri digital care utilizează protocolul Raspberry Pi și MQTT: panourile de anunțuri sunt aproape folosite peste tot, cum ar fi birourile, școlile, spitalele și hotelurile. Acestea pot fi folosite din nou și din nou pentru a afișa notificări importante sau pentru a promova evenimente sau întâlniri viitoare. Dar notificarea sau reclamele trebuie să fie principale
Înțelegerea protocolului IR al telecomenzilor aerului condiționat: 9 pași (cu imagini)
Înțelegerea protocolului IR al telecomenzilor aerului condiționat: Învăț despre protocoalele IR de destul de mult timp. Cum să trimiteți și să primiți semnale IR. În acest moment, singurul lucru care rămâne este protocolul IR al telecomenzilor AC. Spre deosebire de telecomenzile tradiționale ale aproape tuturor dispozitivelor electronice (să zicem un televizor) unde