Che cos’è la comunicazione seriale? La spiegazione accademica è che si tratta di un metodo per inviare continuamente un bit di dati attraverso il bus in un determinato istante. Proprio come un arciere che scaglia frecce a ripetizione: sibilo, sibilo, sibilo…
Che cos’è il protocollo di comunicazione seriale? In parole povere, è il metodo di trasmissione utilizzato nella comunicazione seriale.
Quanti tipi di protocolli di comunicazione seriale esistono? I protocolli di comunicazione seriale comprendono i protocolli intersistemici e quelli interni al sistema.
Protocollo intersistema: un protocollo utilizzato per la comunicazione tra due dispositivi diversi, proprio come avviene tra il computer e il kit microcontrollore. La comunicazione avviene tramite il sistema di bus interno. Tra i protocolli più diffusi figurano il protocollo UART, il protocollo USART e il protocollo USB.
Protocollo interno al sistema: il protocollo interno al sistema viene utilizzato per la comunicazione tra due dispositivi presenti sulla scheda. Utilizzando questi protocolli interni al sistema, estenderemo le periferiche del microcontrollore senza ricorrere a protocolli esterni al sistema. L'utilizzo dei protocolli interni al sistema aumenta la complessità del circuito e il consumo energetico. Utilizzando i protocolli esterni al sistema, la complessità del circuito e il consumo energetico vengono ridotti, i costi diminuiscono e l'accesso ai dati è molto sicuro. Tra i più comuni figurano il protocollo I2C, il protocollo SPI e il protocollo CAN.
Protocollo UART
UART è l'acronimo di Universal Asynchronous Transmitter and Receiver (Trasmettitore e ricevitore asincrono universale). Il protocollo UART è un sistema di comunicazione seriale che prevede due linee di segnale. Le linee di segnale del cavo dati sono contrassegnate con Rx e Tx. La comunicazione seriale è comunemente utilizzata per inviare e ricevere segnali. La trasmissione e la comunicazione avvengono tramite la porta seriale per ricevere dati senza impulsi. L'UART riceve i byte di dati e invia i singoli bit in sequenza.
Il protocollo USAT viene solitamente utilizzato come periferica di un microcontrollore (MCU) nei sistemi embedded; in linea generale, il livello TTL deriva direttamente dal pin del chip, mentre il livello RS232 può essere collegato a un chip di conversione interposto. Per ulteriori dettagli, consultare: Standard per la comunicazione seriale

L'UART è un protocollo half-duplex. Half-duplex significa che è in grado di trasmettere e ricevere dati, ma non contemporaneamente. La maggior parte dei controllori dispone di una UART hardware sulla scheda. Utilizza una linea dati per inviare e ricevere dati. Ha un bit di avvio, un dato a 8 bit e un bit di stop, che indica che i dati a 8 bit vengono trasmessi da alto a basso. Ad esempio: e-mail, messaggi di testo, walkie-talkie, server seriale di apparecchiature di trasmissione IoT industriali.

Protocollo USART
USART è l'acronimo di Universal Synchronous and Asynchronous Transmitter and Receiver. È una comunicazione seriale con protocollo a due fili. Le linee di segnale del cavo dati sono denominate Rx e TX. Questo protocollo viene utilizzato per inviare e ricevere dati byte per byte insieme a impulsi di clock. Si tratta di un protocollo full-duplex, ovvero i dati vengono inviati e ricevuti simultaneamente a diverse velocità della scheda. Attraverso questo protocollo, diversi dispositivi comunicano con il microcontrollore. Ad esempio, le telecomunicazioni.

Protocollo USB
USB è l'acronimo di Universal Serial Bus. Anche in questo caso, si tratta di un protocollo a due fili per la comunicazione seriale. I fili di segnale del cavo dati sono contrassegnati con D e D-. Questo protocollo viene utilizzato per comunicare con le periferiche del sistema. Il protocollo USB viene utilizzato per inviare e ricevere dati in modo seriale tra l'host e i dispositivi periferici. La comunicazione USB richiede un software driver basato sulle capacità del sistema. I dispositivi USB possono trasmettere dati all’host senza bisogno di un bus dedicato. Oggi, la maggior parte dei dispositivi utilizza questa tecnologia per comunicare tramite il protocollo USB. Utilizzate l’USB per comunicare con il controller ARM proprio come si farebbe con un computer. L’USB trasferisce i dati in diverse modalità. La prima è una modalità lenta da 10 kbps a 100 kbps; la seconda è una modalità a piena velocità da 500 kbps a 10 Mbps e una modalità ad alta velocità da 25 Mbps a 400 Mbps. La lunghezza massima del cavo USB è di 4 metri.
Ad esempio: mouse, tastiera, hub, switch, chiavetta USB.

Protocollo I2C
I2C è l'acronimo di Inter Integrated Circuit. Il protocollo I2C richiede solo due fili per collegare tutte le periferiche al microcontrollore. Il protocollo I2C richiede solo due fili, SDA (linea dati seriale) e SCL (linea di clock seriale), per trasferire informazioni tra i dispositivi. Si tratta di un protocollo di comunicazione master-slave. Ogni slave possiede un indirizzo univoco. Il dispositivo master invia l’indirizzo e i flag di lettura/scrittura relativi allo slave di destinazione. Questo indirizzo corrisponde a uno qualsiasi degli slave accesi, mentre i restanti slave sono in modalità disabilitata. Una volta che gli indirizzi corrispondono, ha luogo la comunicazione tra il master e quello slave, e i dati vengono inviati e ricevuti. Il trasmettitore invia 8 bit di dati e il ricevitore risponde con 1 bit di conferma. Una volta completata la comunicazione, la stazione master emette una condizione di stop.
Il bus I2C è stato sviluppato da Philips Semiconductors. Il suo scopo originario era quello di fornire un modo semplice per collegare la CPU ai chip periferici. Nei sistemi embedded, le periferiche sono spesso collegate al microcontrollore come dispositivi mappati in memoria. L'I2C richiede solo due fili per collegare tutte le periferiche al microcontrollore. Queste linee attive, denominate SDA e SCL, sono bidirezionali. La linea SDA è la linea dati seriale, mentre la linea SCL è la linea di clock seriale.

Resistenza pull-up I2C:
Perché utilizzare resistori pull-up sulle linee SCL e SDA dell'interfaccia I2C?.
Le linee SDA e SCL sono entrambe driver a drain aperto.
Può portare il segnale di uscita a livello basso e a livello alto.
Affinché la linea passi allo stato alto, è necessario collegare un resistore pull-up
Protocollo SPI
SPI è l'acronimo di Serial Peripheral Interface. Si tratta di uno dei protocolli di comunicazione seriale sviluppati da Motorola. Talvolta il protocollo SPI viene anche definito protocollo a 4 fili. Richiede quattro fili: MOSI, MISO, SS e SCLK. Il protocollo SPI viene utilizzato per la comunicazione tra dispositivi master e slave. L’host configura innanzitutto il clock impostandone la frequenza. Successivamente, l’host seleziona uno specifico dispositivo slave con cui comunicare tramite un pulsante a linguetta. Una volta selezionato quel dispositivo specifico, ha inizio la comunicazione tra il master e quello slave specifico. Il master seleziona un solo slave alla volta. Si tratta di un protocollo di comunicazione full-duplex. Nel caso dei trasferimenti di bit, non è limitato a parole di 8 bit.

Protocollo CAN
CAN è l'acronimo di Controller Area Network. È un protocollo di comunicazione seriale. Richiede due linee CAN high (H) e CAN low (H-). È stato sviluppato dalla Robert Bosh Corporation nel 1985 per essere utilizzato nelle reti automobilistiche. Si basa su un protocollo di trasporto orientato ai messaggi.
Gli anni '70 sono stati il periodo in cui le case automobilistiche hanno iniziato a introdurre nuove funzionalità quali il sistema antibloccaggio dei freni, l'aria condizionata, il cambio automatico, la chiusura centralizzata delle portiere, ecc. Queste funzionalità comportano un aumento del cablaggio e una maggiore complessità progettuale, con un conseguente incremento dei costi e dei rischi. Per superare questi problemi, Robert Bosch introdusse il protocollo CAN negli anni ’80. Questo protocollo di comunicazione seriale fu ulteriormente standardizzato come ISO 11898 nel 1993. È proprio il protocollo CAN ad aver trasformato radicalmente la comunicazione tra i sensori avanzati.
Il protocollo CAN è comunemente utilizzato nelle reti elettroniche di automobili, aeromobili e sistemi medici. Tra i prodotti più diffusi figurano le apparecchiature di conversione da CAN a Ethernet, come l'USR-CANET200.

Parole chiave: 4gdtu
- iot-it



