Taula de continguts:

BÀSICS DEL PROTOCOL DE COMUNICACIÓ SPI: 13 passos
BÀSICS DEL PROTOCOL DE COMUNICACIÓ SPI: 13 passos

Vídeo: BÀSICS DEL PROTOCOL DE COMUNICACIÓ SPI: 13 passos

Vídeo: BÀSICS DEL PROTOCOL DE COMUNICACIÓ SPI: 13 passos
Vídeo: I2C and SPI on a PCB Explained! 2024, De novembre
Anonim
BASES DEL PROTOCOL DE COMUNICACIÓ SPI
BASES DEL PROTOCOL DE COMUNICACIÓ SPI

Quan connecteu un microcontrolador a un sensor, a una pantalla o a un altre mòdul, mai penseu en com parlen els dos dispositius? Què diuen exactament? Com són capaços d’entendre’s?

La comunicació entre dispositius electrònics és com la comunicació entre humans. Les dues parts han de parlar el mateix idioma. En electrònica, aquests llenguatges s’anomenen protocols de comunicació. Per sort per a nosaltres, només hi ha alguns protocols de comunicació que hem de conèixer a l’hora de construir la majoria de projectes d’electrònica de bricolatge. En aquesta sèrie d'articles, analitzarem els conceptes bàsics dels tres protocols més habituals: la interfície perifèrica en sèrie (SPI), el circuit inter-integrat (I2C) i la comunicació basada en el receptor / transmissor asíncron universal (UART). En primer lloc, començarem amb alguns conceptes bàsics sobre la comunicació electrònica i, a continuació, explicarem detalladament el funcionament de l’SPI. Al següent article, parlarem de la comunicació impulsada per UART i, al tercer article, ens endinsarem en I2C. SPI, I2C i UART són bastant més lents que els protocols com USB, Ethernet, Bluetooth i WiFi, però són molt més senzills i utilitzen menys recursos de sistema i de maquinari. SPI, I2C i UART són ideals per a la comunicació entre microcontroladors i entre microcontroladors i sensors on no cal transferir grans quantitats de dades d’alta velocitat.

Pas 1: SERIAL VS. COMUNICACIÓ PARAL·LEL

SERIE VS. COMUNICACIÓ PARAL·LEL
SERIE VS. COMUNICACIÓ PARAL·LEL

Els dispositius electrònics parlen entre ells enviant bits de dades a través de cables connectats físicament entre dispositius. Un bit és com una lletra d'una paraula, tret que en lloc de les 26 lletres (en l'alfabet anglès), un bit és binari i només pot ser d'1 o 0. Els bits es transfereixen d'un dispositiu a un altre mitjançant canvis ràpids de tensió. En un sistema que funciona a 5 V, un bit 0 es comunica com un impuls curt de 0 V i un bit es comunica mitjançant un impuls curt de 5 V.

Els bits de dades es poden transmetre en forma paral·lela o en sèrie. En comunicació paral·lela, els bits de dades s’envien tots al mateix temps, cadascun a través d’un cable separat. El diagrama següent mostra la transmissió paral·lela de la lletra "C" en binari (01000011):

Pas 2:

En la comunicació en sèrie, els bits s’envien un a un a través d’un sol cable. El diagrama següent mostra la transmissió en sèrie de la lletra "C" en binari (01000011):

Pas 3:

Imatge
Imatge

Pas 4: INTRODUCCIÓ A LA COMUNICACIÓ SPI

INTRODUCCIÓ A LA COMUNICACIÓ SPI
INTRODUCCIÓ A LA COMUNICACIÓ SPI

SPI és un protocol de comunicació comú utilitzat per molts dispositius diferents. Per exemple, els mòduls de targeta SD, els mòduls lectors de targetes RFID i els transmissors / receptors sense fils de 2,4 GHz utilitzen SPI per comunicar-se amb microcontroladors.

Un dels avantatges únics de SPI és el fet que es poden transferir dades sense interrupcions. Es pot enviar o rebre qualsevol nombre de bits en un flux continu. Amb I2C i UART, les dades s’envien en paquets, limitats a un nombre específic de bits. Les condicions d’inici i aturada defineixen l’inici i el final de cada paquet, de manera que les dades s’interrompen durant la transmissió. Els dispositius que es comuniquen mitjançant SPI tenen una relació mestre-esclau. El mestre és el dispositiu de control (generalment un microcontrolador), mentre que l'esclau (generalment un sensor, pantalla o xip de memòria) pren instruccions del mestre. La configuració més simple de SPI és un sistema mestre únic, un sol esclau, però un mestre pot controlar més d’un esclau (més informació a continuació).

Pas 5:

Imatge
Imatge

Pas 6:

MOSI (Master Output / Slave Input): línia perquè el mestre enviï dades a l’esclau.

MISO (Master Input / Slave Output) - Línia perquè l’esclau enviï dades al mestre.

SCLK (Clock): línia per al senyal del rellotge.

SS / CS (Selecció esclau / Selecció xip) - Línia perquè el mestre seleccioni a quin esclau enviar les dades

Pas 7:

Imatge
Imatge

* A la pràctica, el nombre d’esclaus està limitat per la capacitat de càrrega del sistema, cosa que redueix la capacitat del mestre per canviar amb precisió entre nivells de tensió.

Pas 8: COM FUNCIONA L'SPI

EL RELLOTGE

El senyal de rellotge sincronitza la sortida de bits de dades del mestre al mostreig de bits per part de l'esclau. Un bit de dades es transfereix a cada cicle de rellotge, de manera que la velocitat de transferència de dades ve determinada per la freqüència del senyal de rellotge. La comunicació SPI sempre la inicia el mestre, ja que el mestre configura i genera el senyal de rellotge.

Qualsevol protocol de comunicació on els dispositius comparteixen un senyal de rellotge es coneix com a síncron. SPI és un protocol de comunicació síncrona. També hi ha mètodes asíncrons que no fan servir cap senyal de rellotge. Per exemple, a la comunicació UART, les dues cares tenen una velocitat de transmissió preconfigurada que dicta la velocitat i el temps de transmissió de dades.

El senyal de rellotge a SPI es pot modificar utilitzant les propietats de la polaritat del rellotge i la fase del rellotge. Aquestes dues propietats funcionen juntes per definir quan es produeixen els bits i quan es mostren. El mestre pot establir la polaritat del rellotge per permetre la sortida de bits i el mostreig en la vora ascendent o descendent del cicle del rellotge. Es pot configurar la fase de rellotge perquè la sortida i el mostreig es produeixin a la primera o segona vora del cicle del rellotge, independentment de si puja o baixa.

SELECCIÓ ESCLAU

El mestre pot triar amb quin esclau vol parlar configurant la línia CS / SS de l’esclau a un nivell de baixa tensió. En l'estat inactiu i no transmissor, la línia de selecció d'esclaus es manté a un nivell d'alta tensió. Hi ha disponibles diversos pins CS / SS al mestre, cosa que permet connectar diversos esclaus en paral·lel. Si només hi ha un pin CS / SS, es poden connectar diversos esclaus al mestre mitjançant un encadenament de margarides.

MÚLTIPLES ESCLAUS SPI

es pot configurar per funcionar amb un sol mestre i un sol esclau, i es pot configurar amb diversos esclaus controlats per un sol mestre. Hi ha dues maneres de connectar diversos esclaus al mestre. Si el mestre té diversos pins de selecció d'esclaus, els esclaus es poden connectar en paral·lel d'aquesta manera:

Pas 9:

Imatge
Imatge

Pas 10:

MOSI I MISO

El mestre envia dades a l’esclau bit per bit, en sèrie a través de la línia MOSI. L'esclau rep les dades enviades pel mestre al pin MOSI. Les dades enviades des del mestre a l’esclau s’envien normalment amb el bit més significatiu primer. L'esclau també pot enviar dades al mestre a través de la línia MISO en sèrie. Les dades enviades de l’esclau al mestre s’envien normalment amb el bit menys significatiu primer. PASSOS DE LA TRANSMISSIÓ DE DADES SPI 1. El mestre emet el senyal de rellotge:

Pas 11:

Imatge
Imatge

Si només hi ha un pin de selecció esclau disponible, els esclaus es poden encadenar de manera similar:

Pas 12:

Imatge
Imatge
Imatge
Imatge
Imatge
Imatge
Imatge
Imatge

MOSI I MISO

El mestre envia dades a l’esclau bit per bit, en sèrie a través de la línia MOSI. L'esclau rep les dades enviades pel mestre al pin MOSI. Les dades enviades des del mestre a l’esclau s’envien normalment amb el bit més significatiu primer.

L'esclau també pot enviar dades al mestre a través de la línia MISO en sèrie. Les dades enviades des de l’esclau al mestre s’envien normalment amb el bit menys significatiu primer.

PASSOS DE TRANSMISSIÓ DE DADES SPI

* Tingueu en compte que les imatges són oboès llistats que podeu distingir fàcilment

1. El mestre emet el senyal de rellotge:

2. El mestre canvia el pin SS / CS a un estat de baixa tensió, que activa l'esclau:

3. El mestre envia les dades un bit a la vegada a l'esclau al llarg de la línia MOSI. L'esclau llegeix els bits a mesura que es reben:

4. Si cal una resposta, l'esclau retorna les dades un bit a la vegada al mestre al llarg de la línia MISO. El mestre llegeix els bits a mesura que es reben:

Pas 13: AVANTATGES I INCONVENIENTS DE L'SPI

Hi ha alguns avantatges i desavantatges d’utilitzar SPI i, si es pot triar entre diferents protocols de comunicació, hauríeu de saber quan utilitzar SPI segons els requisits del vostre projecte:

AVANTATGES

Sense bits d’inici i atura, de manera que les dades es poden transmetre de manera contínua sense interrupcions. No hi ha cap sistema d’adreces d’esclaus complicat com I2C Velocitat de transferència de dades superior a l’I2C (gairebé el doble de ràpid) Línies MISO i MOSI separades, de manera que es poden enviar i rebre dades al mateix temps temps

DESAVANTATGES

Utilitza quatre cables (I2C i UART en fan dos) No hi ha cap reconeixement que les dades s’han rebut amb èxit (I2C ho té) Cap forma d’error de comprovació com el bit de paritat a UART Només permet un sol mestre. Esperem que aquest article us doni una millor comprensió de SPI. Continueu a la segona part d'aquesta sèrie per obtenir més informació sobre la comunicació impulsada per UART o a la tercera part on discutim el protocol I2C.

Si teniu cap pregunta, no dubteu a fer-ho a la secció de comentaris, estem aquí per ajudar-vos. I assegureu-vos de seguir

Salutacions cordials: M. Junaid

Recomanat: