Che cos’è la comunicazione seriale?

La comunicazione seriale è un metodo di trasmissione dati che invia informazioni un bit alla volta da dispositivo a dispositivo. Nel corso degli anni sono stati sviluppati molti standard seriali diversi per le larghezze di banda dei dispositivi sia a bassa velocità che ad alta velocità. I dati di solito possono essere scambiati su distanze molto maggiori utilizzando la comunicazione seriale piuttosto che parallela. La comunicazione seriale viene solitamente utilizzata per collegare stampanti, terminali e fotocamere ai computer. Viene anche utilizzato per interfacciarsi con dischi rigidi esterni, unità per dischi video digitali (DVD) e dispositivi di memoria flash.

Poiché nella comunicazione seriale viene inviato un solo bit di dati alla volta, sono necessari meno cavi rispetto a un’interfaccia parallela. Una connessione minima può includere solo un filo per i dati e un altro per il riferimento di terra. In pratica, molti collegamenti seriali includono anche diversi segnali di handshake oltre a una linea dati in ciascuna direzione. Il bus seriale universale (USB), comunemente utilizzato per collegare computer e periferiche, utilizza solo quattro o cinque segnali, due dei quali per l’alimentazione. Le connessioni seriali standard (RS) 232 consigliate possono utilizzare fino a 20 segnali, a seconda dell’implementazione.

Un minor numero di segnali generalmente consente di sincronizzare più velocemente un collegamento di comunicazione seriale e di operare in modo più affidabile su lunghe distanze. La comunicazione parallela può introdurre distorsioni o interferenze tra i bit di dati mentre viaggiano insieme lungo un lungo collegamento. Le connessioni seriali RS 232 da 1,000 piedi (300 metri) o più di solito possono essere utilizzate a più di 115,200 bit al secondo. Al contrario, i collegamenti USB 2.0 vengono spesso utilizzati per collegare dispositivi di archiviazione a larghezza di banda elevata ai sistemi informatici. In genere possono scambiare dati fino a 480 megabit al secondo, ma i cavi sono limitati a 16 piedi (5 metri) tra gli hub.

Quando i dati vengono trasmessi attraverso un collegamento seriale, il ricevitore deve avere un modo per dire quando finisce ogni byte e inizia quello successivo. Nella comunicazione seriale asincrona, il mittente inserisce un bit di “inizio” prima dell’invio dei bit di ogni byte. Il bit di inizio sincronizza anche un clock interno per aiutare a suddividere il resto del frame ricevuto in singoli bit. Questo è il metodo di sincronizzazione RS 232 più comunemente usato. Nella comunicazione seriale sincrona, viene utilizzato un segnale di clock separato per indicare quando ogni bit e byte è completo.

Prima che inizi uno scambio di dati RS 232, i dispositivi su entrambi i lati devono essere impostati per utilizzare lo stesso numero di dati e bit di stop, nonché lo stesso tipo di parità. Otto bit di dati, un bit di stop e nessuna parità è una configurazione frequente, comunemente espressa come 8N1. Se si utilizza la parità mark o space, il bit di parità viene corrispondentemente impostato su uno o zero dal mittente. Se viene utilizzata la parità pari o dispari, il bit di parità viene impostato su un valore che renderà il numero totale di un bit pari o dispari. Il ricevitore controlla il valore del bit di parità ricevuto, se presente, e indica un errore se non corrisponde al valore previsto.

Oltre al controllo di parità, possono essere impiegati uno o più protocolli di comunicazione seriale software per proteggersi da errori di trasmissione dei dati. Ad esempio, il protocollo XMODEM o ZMODEM viene spesso utilizzato per i trasferimenti di file tra computer su un collegamento seriale RS 232. Questi protocolli sono stati originariamente progettati per essere utilizzati con un modem telefonico dial-up a ciascuna estremità del collegamento, ma funzionano anche senza di essi. Ciascun protocollo include la convalida di un checksum CRC (Cyclic Redundancy Check) calcolato per i dati inviati. Se sono presenti dei modem, eseguono anche controlli CRC simili nell’hardware durante la trasmissione.