Sommario:

FONDAMENTI DEL PROTOCOLLO DI COMUNICAZIONE SPI: 13 passaggi
FONDAMENTI DEL PROTOCOLLO DI COMUNICAZIONE SPI: 13 passaggi

Video: FONDAMENTI DEL PROTOCOLLO DI COMUNICAZIONE SPI: 13 passaggi

Video: FONDAMENTI DEL PROTOCOLLO DI COMUNICAZIONE SPI: 13 passaggi
Video: SI1.1 Protocollo TCP/IP Video Corso Basi di internet 2024, Dicembre
Anonim
FONDAMENTI DEL PROTOCOLLO DI COMUNICAZIONE SPI
FONDAMENTI DEL PROTOCOLLO DI COMUNICAZIONE SPI

Quando colleghi un microcontrollore a un sensore, display o altro modulo, pensi mai a come i due dispositivi parlano tra loro? Cosa stanno dicendo esattamente? Come fanno a capirsi?

La comunicazione tra dispositivi elettronici è come la comunicazione tra esseri umani. Entrambe le parti devono parlare la stessa lingua. In elettronica, questi linguaggi sono chiamati protocolli di comunicazione. Fortunatamente per noi, ci sono solo alcuni protocolli di comunicazione che dobbiamo conoscere quando costruiamo la maggior parte dei progetti di elettronica fai-da-te. In questa serie di articoli, discuteremo le basi dei tre protocolli più comuni: Serial Peripheral Interface (SPI), Inter-Integrated Circuit (I2C) e comunicazione guidata da ricevitore/trasmettitore asincrono universale (UART). Innanzitutto, inizieremo con alcuni concetti di base sulla comunicazione elettronica, quindi spiegheremo in dettaglio come funziona SPI. Nel prossimo articolo, discuteremo della comunicazione guidata da UART e nel terzo articolo ci addentreremo nell'I2C. SPI, I2C e UART sono un po' più lenti di protocolli come USB, Ethernet, Bluetooth e WiFi, ma sono molto più semplici e utilizzano meno risorse hardware e di sistema. SPI, I2C e UART sono ideali per la comunicazione tra microcontrollori e tra microcontrollori e sensori dove non è necessario trasferire grandi quantità di dati ad alta velocità.

Passaggio 1: SERIALE VS. COMUNICAZIONE PARALLELA

SERIALE VS. COMUNICAZIONE PARALLELA
SERIALE VS. COMUNICAZIONE PARALLELA

I dispositivi elettronici comunicano tra loro inviando bit di dati tramite fili fisicamente collegati tra i dispositivi. Un bit è come una lettera in una parola, tranne che al posto delle 26 lettere (nell'alfabeto inglese), un bit è binario e può essere solo 1 o 0. I bit vengono trasferiti da un dispositivo all'altro mediante rapidi cambiamenti di tensione. In un sistema funzionante a 5 V, un bit 0 viene comunicato come un breve impulso di 0 V e un bit 1 viene comunicato con un breve impulso di 5 V.

I bit di dati possono essere trasmessi sia in forma parallela che seriale. Nella comunicazione parallela, i bit di dati vengono inviati tutti contemporaneamente, ciascuno attraverso un filo separato. Lo schema seguente mostra la trasmissione parallela della lettera “C” in binario (01000011):

Passo 2:

Nella comunicazione seriale, i bit vengono inviati uno per uno attraverso un unico filo. Lo schema seguente mostra la trasmissione seriale della lettera “C” in binario (01000011):

Passaggio 3:

Immagine
Immagine

Fase 4: INTRODUZIONE ALLA COMUNICAZIONE SPI

INTRODUZIONE ALLA COMUNICAZIONE SPI
INTRODUZIONE ALLA COMUNICAZIONE SPI

SPI è un protocollo di comunicazione comune utilizzato da molti dispositivi diversi. Ad esempio, moduli per schede SD, moduli lettori di schede RFID e trasmettitori/ricevitori wireless a 2,4 GHz utilizzano tutti SPI per comunicare con i microcontrollori.

Un vantaggio unico di SPI è il fatto che i dati possono essere trasferiti senza interruzioni. Qualsiasi numero di bit può essere inviato o ricevuto in un flusso continuo. Con I2C e UART, i dati vengono inviati in pacchetti, limitati a un numero specifico di bit. Le condizioni di inizio e fine definiscono l'inizio e la fine di ogni pacchetto, quindi i dati vengono interrotti durante la trasmissione. I dispositivi che comunicano tramite SPI sono in una relazione master-slave. Il master è il dispositivo di controllo (di solito un microcontrollore), mentre lo slave (di solito un sensore, un display o un chip di memoria) riceve istruzioni dal master. La configurazione più semplice di SPI è un sistema singolo master, singolo slave, ma un master può controllare più di uno slave (maggiori informazioni di seguito).

Passaggio 5:

Immagine
Immagine

Passaggio 6:

MOSI (Master Output/Slave Input) – Linea per l'invio dei dati da parte del master allo slave.

MISO (Master Input/Slave Output) – Linea per l'invio dei dati da parte dello slave al master.

SCLK (Clock) – Linea per il segnale di clock.

SS/CS (Slave Select/Chip Select) – Linea per il master per selezionare a quale slave inviare i dati

Passaggio 7:

Immagine
Immagine

*In pratica, il numero di slave è limitato dalla capacità di carico del sistema, che riduce la capacità del master di commutare accuratamente tra i livelli di tensione.

Passaggio 8: COME FUNZIONA SPI

L'OROLOGIO

Il segnale di clock sincronizza l'uscita dei bit di dati dal master al campionamento dei bit da parte dello slave. Un bit di dati viene trasferito in ogni ciclo di clock, quindi la velocità di trasferimento dei dati è determinata dalla frequenza del segnale di clock. La comunicazione SPI viene sempre avviata dal master poiché il master configura e genera il segnale di clock.

Qualsiasi protocollo di comunicazione in cui i dispositivi condividono un segnale di clock è noto come sincrono. SPI è un protocollo di comunicazione sincrona. Esistono anche metodi asincroni che non utilizzano un segnale di clock. Ad esempio, nella comunicazione UART, entrambi i lati sono impostati su una velocità di trasmissione preconfigurata che determina la velocità e la tempistica della trasmissione dei dati.

Il segnale di clock in SPI può essere modificato utilizzando le proprietà di polarità di clock e fase di clock. Queste due proprietà lavorano insieme per definire quando i bit vengono emessi e quando vengono campionati. La polarità del clock può essere impostata dal master per consentire l'emissione e il campionamento dei bit sul fronte di salita o di discesa del ciclo di clock. La fase di clock può essere impostata affinché l'output e il campionamento avvengano sul primo o sul secondo fronte del ciclo di clock, indipendentemente dal fatto che sia in aumento o in diminuzione.

SELEZIONE SCHIAVO

Il master può scegliere con quale slave parlare impostando la linea CS/SS dello slave a un livello di bassa tensione. Nello stato inattivo, non in trasmissione, la linea di selezione dello slave viene mantenuta a un livello di alta tensione. Sul master possono essere disponibili più pin CS/SS, il che consente di collegare più slave in parallelo. Se è presente un solo pin CS/SS, è possibile collegare più slave al master mediante collegamento a margherita.

PI SCHIAVI SPI

può essere configurato per funzionare con un solo master e un solo slave, e può essere configurato con più slave controllati da un unico master. Esistono due modi per collegare più slave al master. Se il master ha più pin di selezione slave, gli slave possono essere collegati in parallelo in questo modo:

Passaggio 9:

Immagine
Immagine

Passaggio 10:

MOSI E MISO

Il master invia bit per bit i dati allo slave, in seriale attraverso la linea MOSI. Lo slave riceve i dati inviati dal master al pin MOSI. I dati inviati dal master allo slave vengono generalmente inviati con il bit più significativo per primo. Lo slave può anche rinviare i dati al master tramite la linea MISO in seriale. I dati rispediti dallo slave al master vengono generalmente inviati con il bit meno significativo per primo. FASI DELLA TRASMISSIONE DEI DATI SPI 1. Il master emette il segnale di clock:

Passaggio 11:

Immagine
Immagine

Se è disponibile un solo pin di selezione dello slave, gli slave possono essere collegati a margherita in questo modo:

Passaggio 12:

Immagine
Immagine
Immagine
Immagine
Immagine
Immagine
Immagine
Immagine

MOSI E MISO

Il master invia bit per bit i dati allo slave, in seriale attraverso la linea MOSI. Lo slave riceve i dati inviati dal master al pin MOSI. I dati inviati dal master allo slave vengono generalmente inviati con il bit più significativo per primo.

Lo slave può anche rinviare i dati al master tramite la linea MISO in seriale. I dati rispediti dallo slave al master vengono generalmente inviati con il bit meno significativo per primo.

FASI DELLA TRASMISSIONE DEI DATI SPI

* Nota le immagini sono elencate Oboe che puoi facilmente distinguere

1. Il master emette il segnale di clock:

2. Il master commuta il pin SS/CS in uno stato di bassa tensione, che attiva lo slave:

3. Il master invia i dati un bit alla volta allo slave lungo la linea MOSI. Lo slave legge i bit man mano che vengono ricevuti:

4. Se è necessaria una risposta, lo slave restituisce i dati un bit alla volta al master lungo la linea MISO. Il master legge i bit man mano che vengono ricevuti:

Fase 13: VANTAGGI E SVANTAGGI DI SPI

Ci sono alcuni vantaggi e svantaggi nell'usare SPI e, se ti viene data la possibilità di scegliere tra diversi protocolli di comunicazione, dovresti sapere quando usare SPI in base ai requisiti del tuo progetto:

VANTAGGI

Nessun bit di start e stop, quindi i dati possono essere trasmessi continuamente senza interruzioni Nessun complicato sistema di indirizzamento slave come I2C Velocità di trasferimento dati superiore a I2C (quasi il doppio) Linee MISO e MOSI separate, in modo che i dati possano essere inviati e ricevuti contemporaneamente tempo

SVANTAGGI

Utilizza quattro fili (I2C e UART ne usano due) Nessun riconoscimento che i dati sono stati ricevuti con successo (I2C ha questo) Nessuna forma di controllo degli errori come il bit di parità in UART Consente solo un singolo master Speriamo che questo articolo ti abbia dato una migliore comprensione di SPI. Continua con la seconda parte di questa serie per conoscere la comunicazione guidata da UART o con la terza parte in cui discutiamo del protocollo I2C.

Se hai domande, non esitare a farle nella sezione commenti, siamo qui per aiutarti. E assicurati di seguire

Saluti: M. Junaid

Consigliato: