Come funzionano le comunicazioni seriali UART, SPI e I2C e perché le usiamo ancora

Come funzionano le comunicazioni seriali UART, SPI e I2C e perché le usiamo ancora

Che si tratti di periferiche per computer, elettrodomestici intelligenti, dispositivi Internet of Things (IoT) o strumenti di misurazione elettronica, utilizzano tutti protocolli di comunicazione seriale per collegare insieme diversi componenti elettronici.

Questi componenti di solito sono costituiti da un microcontrollore e moduli slave come un sensore di impronte digitali, un ESP8266 (modulo Wi-Fi), servi e display seriali.

Questi dispositivi utilizzano diversi tipi di protocolli di comunicazione. Di seguito imparerai a conoscere alcuni dei protocolli di comunicazione seriale più popolari, come funzionano, i loro vantaggi e perché rimangono in uso.

Che cos'è la comunicazione seriale?

I protocolli di comunicazione seriale esistono sin dall'invenzione del codice Morse nel 1838. Oggi i moderni protocolli di comunicazione seriale utilizzano gli stessi principi. I segnali vengono generati e trasmessi su un singolo filo cortocircuitando ripetutamente due conduttori. Questo corto agisce come un interruttore; si accende (alto) e si spegne (basso), fornendo segnali binari. Il modo in cui questo segnale viene trasmesso e ricevuto dipenderà dal tipo di protocollo di comunicazione seriale utilizzato.

Come funzionano le comunicazioni seriali UART, SPI e I2C e perché le usiamo ancora

Credito immagine: shankar.s/ Wikimedia Commons

Con l'invenzione del transistor e le innovazioni che ne sono seguite, sia gli ingegneri che i tecnici hanno reso le unità di elaborazione e la memoria più piccole, più veloci e più efficienti dal punto di vista energetico. Questi cambiamenti richiedevano che i protocolli di comunicazione bus fossero tecnologicamente avanzati quanto i componenti collegati. Da qui l'invenzione di protocolli seriali come UART, I2C e SPI. Sebbene questi protocolli seriali abbiano diversi decenni, sono ancora preferiti per i microcontrollori e la programmazione bare metal.

UART (ricevitore-trasmettitore asincrono universale)

Il protocollo UART è uno dei protocolli di comunicazione seriale più antichi e affidabili che utilizziamo ancora oggi. Questo protocollo utilizza due fili noti come Tx (trasmissione) e Rx (ricezione) per comunicare con entrambi i componenti.

Come funzionano le comunicazioni seriali UART, SPI e I2C e perché le usiamo ancora

Per trasmettere i dati, sia il trasmettitore che il ricevitore devono concordare con cinque configurazioni comuni, queste sono:

  • Baud Speed: la velocità di trasmissione della velocità di trasmissione dei dati.
  • Lunghezza dati: il numero concordato di bit che il ricevitore salverà nei suoi registri.
  • Bit di inizio: un segnale basso che informa il ricevitore quando i dati stanno per essere trasferiti.
  • Bit di stop: Un segnale alto che consente al ricevitore di sapere quando è stato inviato l'ultimo bit (bit più significativo).
  • Bit di parità: un segnale alto o basso utilizzato per verificare se i dati inviati erano corretti o danneggiati.

Poiché UART è un protocollo asincrono, non dispone di un proprio clock che regola la velocità di trasmissione dei dati. In alternativa, utilizza la velocità di trasmissione per la temporizzazione quando viene trasmesso un bit. La normale velocità di trasmissione utilizzata per UART è 9600 baud, il che significa una velocità di trasmissione di 9600 bit al secondo.

Se facciamo i conti e dividiamo un bit per 9600 baud, possiamo calcolare la velocità di trasmissione di un bit di dati al ricevitore.

1/9600 = 104 microsecondi

Ciò significa che i nostri dispositivi UART inizieranno a contare 104 microsecondi per sapere quando trasmetterà il bit successivo.

Come funzionano le comunicazioni seriali UART, SPI e I2C e perché le usiamo ancora

Quando i dispositivi UART sono stati collegati, il segnale predefinito è sempre elevato. Quando rileva un segnale a bassa frequenza, il ricevitore inizierà a contare 104 microsecondi più altri 52 microsecondi prima di iniziare a salvare i bit nei suoi registri (memoria).

Poiché era già stato concordato che otto bit dovevano essere la lunghezza dei dati, una volta salvati otto bit di dati, inizierà il controllo della parità per verificare se i dati sono pari o dispari. Dopo il controllo di parità, il bit di stop emetterà un segnale alto per notificare ai dispositivi che tutti gli otto bit di dati sono stati trasmessi con successo al ricevitore.

Essendo il protocollo seriale più minimalista che utilizza solo due fili, UART è comunemente usato oggi in smart card, schede SIM e automobili.

Correlati: che cos'è una carta SIM? Cose che devi sapere

SPI (interfaccia periferica seriale)

SPI è un altro protocollo seriale popolare utilizzato per velocità di trasmissione dati più elevate di circa 20 Mbps. Utilizza un totale di quattro fili, ovvero SCK (Serial Clock Line), MISO (Master Out Slave In), MOSI (Master In Slave Out) e SS/CS (Chip Select). A differenza di UART, SPI utilizza un formato master-to-slave per controllare più dispositivi slave con un solo master.

Come funzionano le comunicazioni seriali UART, SPI e I2C e perché le usiamo ancora

MISO e MOSI agiscono come Tx e Rx di UART utilizzati per trasmettere e ricevere dati. Chip Select viene utilizzato per selezionare con quale slave il master vuole comunicare.

Poiché SPI è un protocollo sincrono, utilizza un clock integrato dal master per garantire che entrambi i dispositivi master e slave funzionino alla stessa frequenza. Ciò significa che i due dispositivi non devono più negoziare un baud rate.

Come funzionano le comunicazioni seriali UART, SPI e I2C e perché le usiamo ancora

Il protocollo inizia con il master che seleziona il dispositivo slave abbassando il suo segnale allo specifico SS/CK connesso al dispositivo slave. Quando lo slave riceve un segnale basso, inizia ad ascoltare sia SCK che MOSI. Il master invia quindi un bit di avvio prima di inviare i bit che contengono dati.

Sia MOSI che MISO sono full-duplex, il che significa che possono trasmettere e ricevere dati contemporaneamente.

Con la sua capacità di connettersi a più slave, comunicazione full-duplex e consumo energetico inferiore rispetto ad altri protocolli sincroni come I2C, SPI viene utilizzato in dispositivi di memoria, schede di memoria digitali, convertitori da ADC a DAC e display di memoria a cristalli.

I2C (Circuito Inter-Integrato)

I2C è un altro protocollo seriale sincrono come SPI, ma con diversi vantaggi. Questi includono la possibilità di avere più master e slave, indirizzamento semplice (non è necessario Chip Select), funzionamento con varie tensioni e utilizzo di solo due fili collegati a due resistori di pull-up.

Come funzionano le comunicazioni seriali UART, SPI e I2C e perché le usiamo ancora

L'I2C viene spesso utilizzato in molti dispositivi IoT, apparecchiature industriali ed elettronica di consumo.

I due pin in un protocollo I2C sono l'SDA (Serial Data Line) che trasmette e riceve i dati e il pin SCL (Serial Clock Line), che funziona come un orologio.

Come funzionano le comunicazioni seriali UART, SPI e I2C e perché le usiamo ancora

  1. Il protocollo inizia con il master che invia un bit di inizio (basso) dal suo pin SDA, seguito da un indirizzo a sette bit che seleziona lo slave e un bit per selezionare lettura o scrittura.
  2. Dopo aver ricevuto il bit di avvio e l'indirizzo, lo slave invia quindi un bit di riconoscimento al master e inizia ad ascoltare SCL e SDA per le trasmissioni in entrata.
  3. Una volta che il master lo riceve, sa che la connessione è stata effettuata con lo slave corretto. Il master selezionerà ora a quale registro specifico (memoria) dello slave vuole accedere. Lo fa inviando altri otto bit che specificano quale registro deve essere utilizzato.
  4. Dopo aver ricevuto l'indirizzo, lo slave ora prepara il registro di selezione prima di inviare un'altra conferma al master.
  5. Dopo aver selezionato quale specifico slave e quale dei suoi registri utilizzare, il master invia infine il bit di dati allo slave.
  6. Dopo l'invio dei dati, viene inviato un bit di riconoscimento finale al master prima che il master termini con un bit di stop (alto).

Correlati: I migliori progetti Arduino IoT

Perché le comunicazioni seriali sono qui per restare?

Con l'avvento dei protocolli paralleli e di molti protocolli wireless, le comunicazioni seriali non hanno mai perso popolarità. In genere, utilizzando solo da due a quattro fili per la trasmissione e la ricezione dei dati, i protocolli seriali sono una modalità di comunicazione essenziale per l'elettronica che dispone solo di poche porte di riserva.

Un altro motivo è la sua semplicità che si traduce in affidabilità. Con solo pochi fili che inviano dati una volta alla volta, seriale ha dimostrato la sua affidabilità per inviare i pacchetti completi di dati senza alcuna perdita o danneggiamento durante la trasmissione. Anche ad alte frequenze e comunicazioni a lungo raggio, i protocolli seriali battono ancora molti moderni protocolli di comunicazione parallela disponibili oggi.

Sebbene molti possano pensare che le comunicazioni seriali come UART, SPI e I2C abbiano lo svantaggio di essere vecchie e obsolete, resta il fatto che hanno dimostrato la loro affidabilità per diversi decenni. Essendo i protocolli così vecchi senza alcuna reale sostituzione, suggerisce solo che sono, di fatto, indispensabili e continueranno ad essere utilizzati nell'elettronica per il prossimo futuro.


Che cosè la crittografia omomorfa?

Che cosè la crittografia omomorfa?

Una parola che sta saltando fuori spesso ultimamente è crittografia omomorfa. Molte aziende e servizi online stanno trasformando il loro modello di crittografia in un tipo di crittografia omomorfica, pubblicizzando che è per una migliore privacy e sicurezza degli utenti.

Che cosè unimmagine bitmap?

Che cosè unimmagine bitmap?

Per la maggior parte delle persone, i media digitali fanno parte della vita di tutti i giorni. Ma non sempre pensiamo a come viene creato.

Qual è la differenza tra Android TV e Google TV?

Qual è la differenza tra Android TV e Google TV?

Considerando che il sistema operativo Android è stato sviluppato da Google, è comprensibile che potresti essere confuso sulle differenze tra Google TV e Android TV. È la stessa cosa?

Cosa sono i display a campo chiaro e come funzionano?

Cosa sono i display a campo chiaro e come funzionano?

I display a campo luminoso stanno gradualmente cambiando il modo in cui vediamo il mondo che ci circonda. O meglio, come vediamo il mondo che non è intorno a noi. Dalla fotografia classica all'istruzione avanzata e alla diagnostica, alla presenza e all'intrattenimento remoti, questo articolo esaminerà che cos'è un display a campo luminoso, come funzionano i diversi tipi di display e come vengono utilizzati.

Che cosè il protocollo Matrix e come funziona?

Che cosè il protocollo Matrix e come funziona?

La maggior parte delle piattaforme che utilizziamo per comunicare tra loro online sono legate a un unico provider. Ma non c'è ragione tecnica per cui le cose stiano così. Esistono modi per chattare online che offrono un maggior grado di privacy e libertà. Matrix è uno di quei modi.

Che cosè il cyberbullismo e come affrontarlo?

Che cosè il cyberbullismo e come affrontarlo?

Internet ha permesso a più persone di connettersi che mai, nel bene e nel male. Per quanto le persone utilizzino Internet per scopi costruttivi e divertenti, altri lo usano per eseguire un nuovo tipo di bullismo: il cyberbullismo.

Spiegazione dei 99 termini di criptovaluta: ogni definizione di criptovaluta di cui hai bisogno

Spiegazione dei 99 termini di criptovaluta: ogni definizione di criptovaluta di cui hai bisogno

Le criptovalute sono valute digitali che funzionano su reti informatiche decentralizzate chiamate blockchain. Alcune delle criptovalute più importanti e ampiamente accettate sono Bitcoin, Ethereum, Tether, Cardano, Binance Coin e USD Coin.

Che cosè un hypervisor? È diverso da una macchina virtuale?

Che cosè un hypervisor? È diverso da una macchina virtuale?

Un hypervisor è un software utilizzato per creare macchine virtuali. Una macchina virtuale è un'emulazione di un computer. Le macchine virtuali vengono utilizzate per creare più ambienti di elaborazione su un singolo componente hardware.

Punto di accesso e router: qual è la differenza?

Punto di accesso e router: qual è la differenza?

Configurare il Wi-Fi per la tua casa o la tua azienda può diventare facilmente opprimente e confuso. Ci sono diversi termini e dispositivi coinvolti nel processo e ogni situazione Wi-Fi è unica. Una grande azienda con una tonnellata di dispositivi collegati a una rete su una vasta area avrà bisogno di cose drasticamente diverse rispetto a una semplice casa con pochi dispositivi.

Gli 8 migliori portafogli di criptovalute software per archiviare le tue risorse

Gli 8 migliori portafogli di criptovalute software per archiviare le tue risorse

Se possiedi una qualsiasi quantità di criptovaluta, potresti chiederti come conservarla in modo più sicuro e protetto. Dato che una criptovaluta è una forma di denaro digitale, non puoi semplicemente inserirla nel cassetto del comodino o in una cassaforte. Invece, deve essere memorizzato su un pezzo di hardware o software.

Come funzionano i pesi digitali delle piste tonali e nordiche?

Come funzionano i pesi digitali delle piste tonali e nordiche?

Hai visto spot pubblicitari per macchine per esercizi che utilizzano il peso digitale e ti sei chiesto cosa diavolo fosse? O hai guardato queste nuove macchine eleganti e ordinate e ti sei chiesto da dove provenisse tutta la resistenza?

10 domande comuni sulle auto elettriche che avresti sempre voluto porre

10 domande comuni sulle auto elettriche che avresti sempre voluto porre

I veicoli elettrici (EV) stanno diventando molto più popolari. A partire dal 2020, negli Stati Uniti c'erano circa 1,8 milioni di veicoli elettrici immatricolati, tre volte di più rispetto al 2016. In tutto il mondo, nel 2020 c'erano circa 10,2 milioni di veicoli elettrici.

Perché le GPU Nvidias serie 30 sono migliori di AMD?

Perché le GPU Nvidias serie 30 sono migliori di AMD?

Nvidia è uno dei due nomi di fiducia nello sviluppo di schede grafiche. O hai una GPU Nvidia o opti per una GPU AMD. A seconda di chi chiedi, Nvidia è sempre leggermente più avanti di AMD quando si tratta di GPU. Più veloce, più grande, più forte, più innovativo.

Audio a 16 bit vs. 24 bit vs. 32 bit

Audio a 16 bit vs. 24 bit vs. 32 bit

Quando hai a che fare con l'audio digitale, vedrai spesso termini come risoluzione audio, frequenza di campionamento e altri che descrivono le caratteristiche di un file. È importante sapere cosa separa un buon audio da un audio scadente, quindi sarebbe utile avere familiarità con questi termini.

Adattatore Powerline contro Wi-Fi Mesh: cosa è meglio per la tua casa?

Adattatore Powerline contro Wi-Fi Mesh: cosa è meglio per la tua casa?

Se non riesci a connetterti a Internet in alcune aree della tua casa, ci sono diversi modi per risolvere il problema. Due delle opzioni più popolari sono gli adattatori powerline e il Wi-Fi mesh.

Perché vedi inchiostro nel tuo schermo rotto?

Perché vedi inchiostro nel tuo schermo rotto?

Non è insolito vedere macchie nere o violacee che sembrano inchiostro sullo schermo del tuo dispositivo rotto (telefono, tablet o laptop). Ma c'è davvero inchiostro nel tuo schermo?

5 delle migliori invenzioni di Nikola Tesla e come hanno plasmato il mondo

5 delle migliori invenzioni di Nikola Tesla e come hanno plasmato il mondo

Quando pensi alla parola Tesla, è naturale che compaiano immagini di auto elettriche e miliardari. Tuttavia, l'inventore Nikola Tesla, che Elon Musk ha chiamato la sua azienda, ha svolto un ruolo enorme nella storia e ha cambiato il corso della vita di molte persone. Quindi, chi era Nikola Tesla e di quali invenzioni chiave era responsabile?

Starlink vs Viasat vs HughsNet: Internet satellitare a confronto

Starlink vs Viasat vs HughsNet: Internet satellitare a confronto

Internet via satellite è spesso l'unica opzione nelle regioni montuose, rurali e in altre regioni scarsamente popolate. Tradizionalmente, le soluzioni Internet via satellite sono più costose sia della rete fissa che dell'Internet mobile. Allo stesso tempo, si distingue per una connessione ad alta latenza, che lo rende una scelta sbagliata per i giocatori online.

Cosa sono gli errori di runtime e come risolverli?

Cosa sono gli errori di runtime e come risolverli?

Non odi quando stai cercando di avviare un programma e ricevi un messaggio di errore che dice Errore di runtime? Sfortunatamente, nonostante le persone regolarmente fastidiose, il temuto errore di runtime non fa un ottimo lavoro spiegando se stesso e cosa è successo esattamente.

Che cosè la crittografia omomorfa?

Che cosè la crittografia omomorfa?

Una parola che sta saltando fuori spesso ultimamente è crittografia omomorfa. Molte aziende e servizi online stanno trasformando il loro modello di crittografia in un tipo di crittografia omomorfica, pubblicizzando che è per una migliore privacy e sicurezza degli utenti.

Che cosè unimmagine bitmap?

Che cosè unimmagine bitmap?

Per la maggior parte delle persone, i media digitali fanno parte della vita di tutti i giorni. Ma non sempre pensiamo a come viene creato.

Cosa sono i display a campo chiaro e come funzionano?

Cosa sono i display a campo chiaro e come funzionano?

I display a campo luminoso stanno gradualmente cambiando il modo in cui vediamo il mondo che ci circonda. O meglio, come vediamo il mondo che non è intorno a noi. Dalla fotografia classica all'istruzione avanzata e alla diagnostica, alla presenza e all'intrattenimento remoti, questo articolo esaminerà che cos'è un display a campo luminoso, come funzionano i diversi tipi di display e come vengono utilizzati.

Che cosè il protocollo Matrix e come funziona?

Che cosè il protocollo Matrix e come funziona?

La maggior parte delle piattaforme che utilizziamo per comunicare tra loro online sono legate a un unico provider. Ma non c'è ragione tecnica per cui le cose stiano così. Esistono modi per chattare online che offrono un maggior grado di privacy e libertà. Matrix è uno di quei modi.

Come funzionano le comunicazioni seriali UART, SPI e I2C e perché le usiamo ancora

Come funzionano le comunicazioni seriali UART, SPI e I2C e perché le usiamo ancora

Che si tratti di periferiche per computer, elettrodomestici intelligenti, dispositivi Internet of Things (IoT) o strumenti di misurazione elettronica, utilizzano tutti protocolli di comunicazione seriale per collegare insieme diversi componenti elettronici.

Che cosè il cyberbullismo e come affrontarlo?

Che cosè il cyberbullismo e come affrontarlo?

Internet ha permesso a più persone di connettersi che mai, nel bene e nel male. Per quanto le persone utilizzino Internet per scopi costruttivi e divertenti, altri lo usano per eseguire un nuovo tipo di bullismo: il cyberbullismo.

Spiegazione dei 99 termini di criptovaluta: ogni definizione di criptovaluta di cui hai bisogno

Spiegazione dei 99 termini di criptovaluta: ogni definizione di criptovaluta di cui hai bisogno

Le criptovalute sono valute digitali che funzionano su reti informatiche decentralizzate chiamate blockchain. Alcune delle criptovalute più importanti e ampiamente accettate sono Bitcoin, Ethereum, Tether, Cardano, Binance Coin e USD Coin.

Che cosè un hypervisor? È diverso da una macchina virtuale?

Che cosè un hypervisor? È diverso da una macchina virtuale?

Un hypervisor è un software utilizzato per creare macchine virtuali. Una macchina virtuale è un'emulazione di un computer. Le macchine virtuali vengono utilizzate per creare più ambienti di elaborazione su un singolo componente hardware.

Punto di accesso e router: qual è la differenza?

Punto di accesso e router: qual è la differenza?

Configurare il Wi-Fi per la tua casa o la tua azienda può diventare facilmente opprimente e confuso. Ci sono diversi termini e dispositivi coinvolti nel processo e ogni situazione Wi-Fi è unica. Una grande azienda con una tonnellata di dispositivi collegati a una rete su una vasta area avrà bisogno di cose drasticamente diverse rispetto a una semplice casa con pochi dispositivi.

Gli 8 migliori portafogli di criptovalute software per archiviare le tue risorse

Gli 8 migliori portafogli di criptovalute software per archiviare le tue risorse

Se possiedi una qualsiasi quantità di criptovaluta, potresti chiederti come conservarla in modo più sicuro e protetto. Dato che una criptovaluta è una forma di denaro digitale, non puoi semplicemente inserirla nel cassetto del comodino o in una cassaforte. Invece, deve essere memorizzato su un pezzo di hardware o software.