Sommario:
- Passaggio 1: SERIALE VS. COMUNICAZIONE PARALLELA
- Passo 2:
- Passaggio 3:
- Fase 4: INTRODUZIONE ALLA COMUNICAZIONE SPI
- Passaggio 5:
- Passaggio 6:
- Passaggio 7:
- Passaggio 8: COME FUNZIONA SPI
- Passaggio 9:
- Passaggio 10:
- Passaggio 11:
- Passaggio 12:
- Fase 13: VANTAGGI E SVANTAGGI DI SPI
Video: FONDAMENTI DEL PROTOCOLLO DI COMUNICAZIONE SPI: 13 passaggi
2024 Autore: John Day | [email protected]. Ultima modifica: 2024-01-30 10:03
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
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:
Fase 4: 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:
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:
*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:
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:
Se è disponibile un solo pin di selezione dello slave, gli slave possono essere collegati a margherita in questo modo:
Passaggio 12:
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:
Decodificatore di protocollo di controllo remoto RC5 senza libreria: 4 passaggi
Decodificatore di protocollo di controllo remoto RC5 senza libreria: prima di decodificare rc5, discutiamo prima cosa è il comando rc5 e qual è la sua struttura. quindi fondamentalmente il comando rc5 utilizzato nei telecomandi utilizzati in televisori, lettori cd, d2h, sistemi home theater ecc. ha 13 o 14 bit disposti in un
Comprensione del protocollo IR dei telecomandi di Air Conditoner: 9 passaggi (con immagini)
Comprensione del protocollo IR dei telecomandi di Air Conditoner: ho imparato a conoscere i protocolli IR da un po' di tempo ormai. Come inviare e ricevere segnali IR. A questo punto, l'unica cosa rimasta è il protocollo IR dei telecomandi AC. A differenza dei telecomandi tradizionali di quasi tutti i dispositivi elettronici (diciamo una TV) dove
FONDAMENTI DELLA COMUNICAZIONE UART: 16 passaggi
FONDAMENTI DELLA COMUNICAZIONE UART: Ricordi quando stampanti, mouse e modem avevano cavi spessi con quei connettori enormi e goffi? Quelli che letteralmente dovevano essere avvitati nel tuo computer? Questi dispositivi probabilmente utilizzavano gli UART per comunicare con il tuo computer. Mentre USB ha quasi
Scheda di decodifica e codifica del protocollo NEC a infrarossi: 5 passaggi
Scheda codificatore e decodificatore protocollo NEC a infrarossi: riceve un segnale IR NEC modulato o demodulato grezzo e lo converte in byte che vengono inviati alla porta seriale. Il baud rate seriale è selezionabile tra due velocità predefinite. La modalità di utilizzo predefinita trasmette una sequenza di comandi con byte di framing
Preliminare* SPI sul Pi: comunicazione con un accelerometro a 3 assi SPI utilizzando un Raspberry Pi: 10 passaggi
Preliminare* SPI sul Pi: comunicazione con un accelerometro a 3 assi SPI utilizzando un Raspberry Pi: guida passo passo su come configurare Raspbian e comunicare con un dispositivo SPI utilizzando la libreria SPI bcm2835 (NON bit banged!) Questo è ancora molto preliminare… ho bisogno di aggiungere immagini migliori del collegamento fisico e lavorare su un po' del codice scomodo