Articles

Cos’è la comunicazione seriale e come funziona?

Introduzione

La comunicazione seriale è l’approccio più utilizzato per trasferire informazioni tra apparecchiature per il trattamento dei dati e periferiche. In generale, comunicazione significa scambio di informazioni tra individui attraverso documenti scritti, parole verbali, lezioni audio e video.

Ogni dispositivo potrebbe essere il vostro Personal computer o mobile gira su protocollo seriale. Il protocollo è la forma di comunicazione sicura e affidabile con un insieme di regole indirizzate dall’host di origine (mittente) e dall’host di destinazione (ricevitore). Per avere una visione migliore, ho spiegato il concetto di comunicazione seriale.

Nel sistema embedded, la comunicazione seriale è il modo di scambiare dati utilizzando metodi diversi sotto forma di binario digitale seriale. Alcune delle interfacce ben note utilizzate per lo scambio di dati sono RS-232, RS-485, I2C, SPI ecc.

Che cos’è la comunicazione seriale?

Nella comunicazione seriale, i dati sono sotto forma di impulsi binari. In altre parole, possiamo dire che quello binario rappresenta una logica ALTA o 5 Volt e zero rappresenta una logica BASSA o 0 Volt. La comunicazione seriale può assumere molte forme a seconda del tipo di modalità di trasmissione e del trasferimento dei dati. Le modalità di trasmissione sono classificate come Simplex, Half Duplex e Full Duplex. Ci sarà una fonte (nota anche come mittente) e una destinazione (chiamata anche ricevitore) per ogni modalità di trasmissione.

Modalità di Trasmissione - Comunicazione Seriale

Modalità di Trasmissione – Comunicazione Seriale

Il metodo Simplex è una tecnica di comunicazione. Solo un client (il mittente o il destinatario è attivo alla volta). Se un mittente trasmette, il ricevitore può solo accettare. La trasmissione radiofonica e televisiva sono gli esempi di modalità simplex.

In modalità Half Duplex, sia il mittente che il destinatario sono attivi ma non alla volta, cioè se un mittente trasmette, il ricevitore può accettare ma non può inviare e viceversa. Un buon esempio è internet. Se un client (laptop) invia una richiesta per una pagina Web, il server Web elabora l’applicazione e restituisce le informazioni.

Il modo pieno duplex è comunicazione ampiamente usata nel mondo. Qui sia il mittente che il destinatario possono trasmettere e ricevere allo stesso tempo. Un esempio è il tuo smartphone.

Al di là delle modalità di trasmissione, dobbiamo considerare la progettazione endianness e protocollo del computer host (mittente o ricevitore). Endianness è il modo di memorizzare i dati in un particolare indirizzo di memoria. A seconda dell’allineamento dei dati endian è classificato come

  • Little Endian e
  • Big Endian.

Prendi questo esempio per capire il concetto di endianità. Supponiamo di avere un ABCD87E2 di dati esadecimali a 32 bit. Come vengono memorizzati questi dati in memoria? Per avere un’idea chiara, ho spiegato la differenza tra Little Endian e Big Endian.

Little Endian Vs Big Endian

Little Endian Vs Big Endian

Il trasferimento dei dati può avvenire in due modi. Sono comunicazione seriale e comunicazione parallela. La comunicazione seriale è una tecnica utilizzata per inviare dati bit per bit utilizzando un trasmettitore a due fili cioè (mittente) e ricevitore.

Ad esempio, voglio inviare un 11001110 dati binari a 8 bit dal trasmettitore al ricevitore. Ma, quale bit esce prima? Bit più significativo-MSB (7 ° bit) o Bit meno significativo-LSB (0 ° bit). Non possiamo dirlo. Qui sto considerando che LSB si sta muovendo per primo (per little Endian).

Comunicazione seriale

Comunicazione seriale

Dal diagramma precedente, per ogni impulso di clock; il trasmettitore invia un singolo bit di dati al ricevitore.

La comunicazione parallela sposta 8,16 o 32 bit di dati alla volta. Le stampanti e le macchine Xerox utilizzano la comunicazione parallela per un trasferimento dati più rapido.

Comunicazione parallela RS232

Comunicazione parallela RS232

Differenza tra comunicazione seriale e parallela

La comunicazione seriale invia solo un bit alla volta. quindi, questi richiedono meno linee di I/O (input-output). Quindi, occupando meno spazio e più resistente al cross-talk. Il principale vantaggio della comunicazione seriale è che il costo dell’intero sistema embedded diventa economico e trasmette le informazioni su una lunga distanza. Il trasferimento seriale viene utilizzato nei dispositivi DCE (Data Communication Equipment) come un modem.

Nella comunicazione parallela, viene inviato un blocco di dati (8,16 o 32 bit) alla volta. Quindi, ogni bit di dati richiede una linea I/O fisica separata. Il vantaggio della comunicazione parallela è che è veloce ma il suo svantaggio è che usa più numero di linee I/O (input-output). Il trasferimento parallelo viene utilizzato in PC (personal computer) per l’interconnessione di CPU (unità di elaborazione centrale), RAM (memoria ad accesso casuale), modem, audio, video e hardware di rete.

Nota: Se il vostro circuito integrato o processore supporta meno quantità di pin di ingresso / uscita è meglio optare comunicazione seriale

Per una facile comprensione, qui è il confronto di comunicazione seriale e parallela.

Comunicazione Seriale Comunicazione Parallela
Invia i dati un po ‘ a uno orologio polso Il trasferimento di un blocco di dati in un tempo
Richiede un solo cavo per la trasmissione di dati Necessita ‘n’ numero di linee per la trasmissione di ” n ” bit
velocità di Comunicazione è lento velocità di Comunicazione è veloce
Installazione a basso costo costo di Installazione è di alta
Preferito per la comunicazione a distanza Utilizzato per breve comunicazione a distanza
Esempio: Computer per Computer Computer multi-funzione stampante

la Sincronizzazione dell’Orologio

Per un lavoro efficace di dispositivi seriali, l’orologio è la fonte primaria. Il malfunzionamento dell’orologio può portare a risultati imprevisti. Il segnale di clock è diverso per ogni dispositivo seriale ed è classificato come protocollo sincrono e protocollo asincrono.

Interfaccia seriale sincrona

Tutti i dispositivi sull’interfaccia seriale sincrona utilizzano il singolo bus della CPU per condividere sia l’orologio che i dati. A causa di questo fatto, il trasferimento dei dati è più veloce. Il vantaggio è che non ci sarà alcuna discrepanza nella velocità di trasmissione. Inoltre, sono necessarie meno linee di I/O (input-output) per interfacciare i componenti. Esempi sono I2C, SPI ecc.

Interfaccia seriale asincrona

L’interfaccia asincrona non ha un segnale di clock esterno e si basa su quattro parametri, ovvero

  1. Controllo della velocità di trasmissione
  2. Controllo del flusso di dati
  3. Controllo della trasmissione e della ricezione
  4. Controllo degli errori.

I protocolli asincroni sono adatti per comunicazioni stabili. Questi sono utilizzati per applicazioni a lunga distanza. Esempi di protocolli asincroni sono RS-232, RS-422 e RS-485.

Come funziona la comunicazione seriale?

CPU avanzate come microcontrollore e microprocessore utilizzano la comunicazione seriale per comunicare con il mondo esterno e sulle periferiche del chip. Per familiarizzare, facciamo un semplice esempio. Per supponiamo, si desidera inviare un file presente nel vostro computer portatile per smartphone. Come manderesti? Probabilmente usando il protocollo Bluetooth o WiFi, giusto.

Quindi, ecco i passaggi per stabilire la comunicazione seriale

  1. Aggiungi la connessione.

Nel primo passaggio, il tuo laptop cercherà i dispositivi vicini a 100m e elencherà i dispositivi trovati. Questo processo è spesso chiamato roaming.

  1. Selezionare il dispositivo che si desidera comunicare.

Per connettersi al cellulare, l’associazione deve essere fatto. La configurazione predefinita è già presente nel software. Quindi non c’è bisogno di configurare la velocità di trasmissione manualmente. Oltre a questo, ci sono quattro regole sconosciute. Sono baud rate, selezione bit di dati (framing), bit start-stop e parità.

Regole di comunicazione seriale

Regole di comunicazione seriale

# 1 Qual è la velocità di trasmissione?

La velocità di trasmissione è la velocità di trasferimento dei dati dal trasmettitore a un ricevitore sotto forma di bit al secondo. Alcune delle velocità di trasmissione standard sono 1200, 2400, 4800, 9600, 57600.

È necessario impostare la stessa velocità di trasmissione su entrambi i lati (Mobile e Laptop).

Nota: maggiore è la velocità di trasmissione, più dati possono essere trasferiti in meno tempo.

Tuttavia, consiglio di utilizzare fino a 115200 come limite sicuro a causa della mancata corrispondenza della frequenza di campionamento all’estremità del ricevitore.

# 2 Framing

Framing mostra quanti bit di dati si desidera inviare dal dispositivo host (Laptop) al cellulare (ricevitore). Sono 5, 6, 7 o 8 bit? Per lo più molti dispositivi, 8 bit sono preferiti. Dopo aver selezionato il blocco di dati a 8 bit, endianness deve essere concordato dal mittente e dal destinatario.

# 3 Sincronizzazione

Il trasmettitore aggiunge i bit di sincronizzazione (1 bit di avvio e 1 o 2 bit di arresto) al frame dati originale. I bit di sincronizzazione aiutano il ricevitore a identificare l’inizio e la fine del trasferimento dei dati. Questo processo è noto come trasferimento dati asincrono.

# 4 Error Control

La corruzione dei dati può verificarsi a causa di rumore esterno all’estremità del ricevitore. L’unica soluzione per ottenere l’output stabile è controllare la Parità.

Se i dati binari contengono un numero pari di 1 è noto come parità pari e il bit di parità è impostato su ‘1’. Se i dati binari includono un numero dispari di 1, si chiama parità dispari, e ora il bit di parità è impostato su “0”.

Protocolli seriali asincroni

La domanda più comune che ti verrà in mente quando inizi a lavorare sul sistema embedded è perché usare protocolli asincroni?

  • Per spostare le informazioni a una distanza più lunga e
  • Per un trasferimento dei dati più affidabile.

Alcuni dei protocolli di comunicazione asincroni sono:

Protocollo RS-232

  • RS232 è il primo protocollo seriale utilizzato per il collegamento di modem per la telefonia. RS sta per Standard raccomandato, e ora è cambiato in EIA (Electronic Industries Alliance) / TIA ( Telecommunication Industry Association).
  • E ‘ utilizzato anche in modem, mouse, e CNC (calcolo numerico calcolato) macchine. È possibile collegare solo un singolo trasmettitore a un singolo ricevitore.
  • Supporta la comunicazione full duplex e consente velocità di trasmissione fino a 1 Mbps.
  • Lunghezza del cavo è limitata a 50 piedi.

Come sapete, i dati memorizzati nella memoria sono sotto forma di byte. Potresti avere un dubbio Su come vengono convertiti i dati in byte in bit binari? La risposta è una porta seriale.

La porta seriale ha un chip interno chiamato UART. UART è l’acronimo di Universal Asynchronous Receiver Transmitter che converte i dati paralleli (byte) nella forma seriale bit a bit.

Porta seriale RS232

Porta seriale RS232

Connessione di cablaggio RS-232

La porta seriale RS232 ha nove pin, modelli di tipo maschio o femmina. RS 232C interfaccia di comunicazione seriale è la versione successiva di RS232.

Tutte le caratteristiche presenti in RS232 è presente nel modello RS232C tranne che ha 25 pin. Su 25 o 9 pin, utilizziamo solo tre pin per il collegamento di dispositivi terminali.

RS232 Collegamento di cablaggio

RS232 Collegamento di cablaggio

Interfaccia RS422

Siamo in grado di trasferire i dati solo fino a 1 MPBS limite utilizzando RS232. Per superare questo problema RS422 entra in scena. RS422 è un’interfaccia seriale multi-drop. possiamo collegare dieci trasmettitori a 10 ricevitori alla volta utilizzando il singolo bus. Invia i dati utilizzando due cavi a doppino intrecciato (configurazione differenziale). La lunghezza del cavo è di 4000 piedi con una velocità di trasmissione di 10 Mbps.

Collegamento di cablaggio RS 422

Collegamento di cablaggio RS 422

Interfaccia RS485

RS485 è il protocollo preferito dal settore. A differenza di RS422, è possibile collegare 32 driver di linea e 32 ricevitori in una configurazione differenziale. Il trasmettitore è anche chiamato driver di linea. Tuttavia, solo un trasmettitore è attivo alla volta.

Collegamento di cablaggio RS485

Collegamento di cablaggio RS485

Nota: sia per RS232 che per RS485, è necessario terminare manualmente la connessione.

Protocollo a 1 filo

Un filo è simile al protocollo I2c. Ma la differenza è che un protocollo di filo utilizza una singola linea dati e terra. Non richiede alcun segnale di clock e gli slave sono cronometrati utilizzando un oscillatore a cristallo interno. Fornisce comunicazione half duplex.

Un filo utilizza uno schema di indirizzamento a 64 bit. Il vantaggio di un’interfaccia del cavo è, sostiene la comunicazione interurbana con basso costo. Ma, lo svantaggio è la sua velocità è inferiore.

I protocolli cablati asincroni sono adatti per la comunicazione a lunga distanza. Tuttavia, c’è un inconveniente che dà spazio alle interfacce seriali sincrone.

Lo svantaggio è, se vi è la necessità di collegare più trasmettitori e ricevitori il costo di installazione va alto.

Protocolli seriali sincroni

I protocolli di comunicazione sincroni sono le migliori risorse per le periferiche di bordo. Il vantaggio è che è possibile interfacciare più dispositivi sullo stesso bus. Alcuni dei protocolli sincroni sono I2C, SPI, CAN e LIN.

Protocollo I2C

I2c (Inter-integrated circuit) è un protocollo bidirezionale a due fili utilizzato per uno scambio di dati tra diversi dispositivi sullo stesso bus. I2c utilizza un indirizzo a 7 bit o 10 bit che consente di collegare fino a 1024 dispositivi. Ma richiede il segnale di clock per generare condizioni di avvio e arresto. Il vantaggio è che fornisce il trasferimento dei dati a 400 kbps. È adatto per la comunicazione a bordo.

Protocollo SPI

Protocollo SPI (Serial peripheral interface) inviare e ricevere dati in un flusso continuo senza alcuna interruzione. Questo protocollo è raccomandato per la comunicazione di dati ad alta velocità è richiesto. La velocità massima che può fornire è 10 Mbps.

A differenza di i2c, SPI ha 4 fili. Sono MOSI (Master out slave in), MISO (Master in slave out), Orologio e Slave selezionare il segnale. Teoricamente, possiamo collegare un numero illimitato di slave e praticamente dipende dalla capacità di carico del bus.

CAN Protocollo

Questo protocollo è dedicato ai sistemi del veicolo o automobili. È un protocollo orientato al messaggio utilizzato per il cablaggio elettrico multiplex per economizzare il rame. È un multi-master multi bus seriale utilizzato in applicazioni come avvio/arresto automatico di veicoli, sistemi di prevenzione delle collisioni ecc.

USB

L’interfaccia USB è la migliore alternativa alle porte seriali o parallele. Il trasferimento dei dati associato alle porte USB è abbastanza più veloce dell’interfaccia seriale e parallela. USB supporta velocità da 1.5 Mbps (USB 1.0) a 4.8 Gbps (USB 3.0). Oggi la maggior parte dei dispositivi embedded utilizza la tecnica USB OTG (On the Go Programming) per scaricare il file hex sul microcontrollore.

Microwire

Microwire è un protocollo di comunicazione seriale a tre fili. Ha una porta I / O seriale sul microcontrollore per interfacciarsi con chip periferici. Supporta velocità fino a 3 Mbps. È più veloce di i2c e sottoinsieme del protocollo SPI.

Conclusione

La comunicazione seriale è la parte vitale nell’area dell’elettronica e dei sistemi Embedded. La velocità di trasferimento dei dati è fondamentale se due dispositivi vogliono scambiare informazioni sullo stesso bus. Quindi, è necessario scegliere un protocollo seriale valido per qualsiasi applicazione.

Leggi anche: Cos’è il sistema Embedded e come funziona?

Lascia un commento

Il tuo indirizzo email non sarà pubblicato. I campi obbligatori sono contrassegnati *