RS232 è una delle tecniche più utilizzate per interfacciare apparecchiature esterne con computer. RS232 è uno standard di comunicazione seriale sviluppato dalla Electronic Industry Association (EIA) e Telecommunications Industry Association (TIA).
RS232 definisce i segnali di collegamento tra DTE e DCE. Qui, DTE sta per Apparecchiature terminali dati e un esempio per DTE è un computer., DCE sta per apparecchiature di comunicazione dati o apparecchiature di terminazione del circuito dati e un esempio per DCE è un modem.
RS232 è stato introdotto nel 1960 ed era originariamente conosciuto come EIA Recommended Standard 232. RS232 è uno dei più antichi standard di comunicazione seriale con connettività e compatibilità semplici garantite tra diversi produttori. Originariamente, i DTEs in RS32 sono macchine da scrivere elettromeccaniche e i DCES sono modem.
RS232 utilizza la comunicazione seriale, dove un bit di dati viene inviato alla volta lungo una singola linea dati., Questo è in contrasto con la comunicazione parallela, in cui più bit di dati vengono inviati alla volta utilizzando più linee di dati.
Il vantaggio dell’utilizzo della comunicazione seriale rispetto alla comunicazione parallela è che il numero di fili necessari per effettuare una trasmissione dati full duplex sarà molto inferiore (due fili sono sufficienti senza considerare le linee elettriche).,
RS232 è diventato uno standard di fatto per i dispositivi informatici e di strumentazione da quando è stato standardizzato nell’anno 1962 da EIA e di conseguenza, è diventato lo standard di comunicazione più utilizzato.
Ma lo svantaggio principale dello standard RS232 è la velocità di trasmissione dati e la lunghezza del cavo. RS232 supporta una velocità di trasmissione massima di 19200 bps e la lunghezza massima del cavo è di 20 metri.
Outline
Che cos’è RS232?,
Ufficialmente, lo standard RS232 è chiamato EIA / TIA – 232 ed è definito come l’interfaccia tra un dispositivo DTE e un dispositivo DCE che utilizzano lo scambio di dati binari seriali. RS232 è considerato uno standard appropriato., Questo perché RS232 assicura che non c’è conflitto tra DTE e DCE dispositivi specificando:
- caratteristiche Elettriche
- caratteristiche Meccaniche
- le Specifiche Funzionali e
- Procedurali Specifiche tecniche
Tutte queste specifiche ci forniscono diversi parametri, come i comuni, i livelli di tensione, i livelli di segnale, pin specifiche di cablaggio, di controllo dei dati tra il dispositivo host e periferico, etc. Vediamo le diverse specifiche in dettaglio.,
Caratteristiche elettriche
Le caratteristiche elettriche di RS232 definiscono le specifiche relative ai livelli di tensione, impedenza di linea e velocità di variazione dei livelli di segnale.
Livelli di tensione
RS232 è stato definito molto prima della logica TTL e quindi, non è inaspettato che RS232 non utilizzi i livelli logici TTL 5V e GND specifici.
La logica ‘1’ in RS232 è descritta come nell’intervallo di tensione da-15V a-3V e la logica ‘0’ è descritta come l’intervallo di tensione da +3V a +15V, ovvero la tensione di basso livello è logica ‘1’ e la tensione di alto livello è logica ‘0’.,
Tipicamente, la logica ‘1’ in RS232 sarà-12V e la logica ‘0’ sarà +12V. Tutte le tensioni sopra menzionate sono rispetto a un pin ‘GND’ di terra comune. Qualsiasi tensione tra-3V e + 3V è considerata uno stato logico indefinito.
Storicamente, la logica ’1’ (da-15V a-3V) viene indicata come Marcatura e la logica ‘0’ (da+3V a +15V) viene indicata come Spaziatura.
Slew Rate
L’altra importante caratteristica elettrica è la velocità di variazione dei livelli di segnale, ovvero la velocità di rotazione. La velocità di rotazione massima in RS232 è limitata a 30V / µs., Inoltre, viene definito anche un bit rate massimo di 20 Kbps.
Queste limitazioni dello standard aiutano a ridurre il cross – talk con segnali adiacenti.
Impedenza di linea
L’impedenza di linea cioè l’impedenza del filo tra i dispositivi DTE e DCE è specificata per essere di circa 3Ω a 7Ω.
Inoltre, lo standard RS232 originale specifica la lunghezza massima del cavo come 15 metri, ma gli standard rivisti specificano la lunghezza massima in termini di capacità per unità di lunghezza.,
Specifiche meccaniche
Le specifiche meccaniche di RS232 copre l’interfaccia meccanica dello standard. Lo standard RS232 specifica un connettore di tipo D a 25 pin per supportare la piena funzionalità di RS232.
L’immagine seguente mostra un connettore DB25. Il dispositivo DTE utilizza un involucro esterno femmina con perni maschi e il dispositivo DCE utilizza un involucro esterno maschio con perni femmina.
Ci sono tre tipi di segnali in RS232. Sono dati, controllo e terra., La seguente tabella mostra l’elenco dei pin, la loro direzione nella comunicazione insieme al loro tipo di segnale.
Poiché le apparecchiature elettroniche e i dispositivi sono sempre più piccoli, non abbiamo spazio per connettori più grandi come DB25 e le applicazioni più comuni non richiedono tutti i 25 pin del connettore. Quindi, una funzione ridotta connettore a 9 pin viene utilizzato comunemente.
Il connettore a 9 pin è chiamato come DE – 9 (spesso erroneamente chiamato come DB-9) ed è un connettore subminiature (D-Sub) di tipo D., L’immagine seguente mostra i connettori maschio e femmina DE-9.
I pin del connettore DE-9, i loro nomi e la loro descrizione sono riportati nella seguente tabella.
Specifiche funzionali
Poiché RS232 è considerato uno standard completo, definisce più di caratteristiche elettriche e meccaniche. Lo standard RS232 definisce anche le funzioni dei diversi segnali utilizzati nell’interfaccia.
I segnali sono classificati come: Segnali comuni, Dati, Temporizzazione e Controllo.,
Specifiche procedurali
Le specifiche procedurali di RS232 specificano la sequenza di operazioni che devono essere eseguite quando un DTE e un DCE sono collegati.
Supponiamo che un computer (DTE) sia collegato a un Modem (DCE) tramite l’interfaccia RS232. Per inviare dati dal computer al Modem, è necessario seguire la seguente procedura.
- Quando Modem (DCE) è pronto a ricevere, invierà un segnale DCE ready.
- Quando il computer (DTE) è pronto per inviare i dati, invia un segnale Ready to Send (RTS).,
- Il Modem (DCE) invia quindi un segnale Clear to Send (CTS) per indicare che i dati possono essere inviati dal computer (DTE).
- Infine, il Computer (DTE) invia i dati sulla linea Transmit Data (TD) al Modem (DCE).
NOTA: Questa non è una procedura esatta ma simile a quella attuale.
Implementazione pratica di RS232
I livelli di tensione di RS232 sono molto diversi dalla maggior parte dei sistemi progettati oggi. Quindi, abbiamo bisogno di un convertitore di livello di alcuni tipi per implementare l’interfaccia RS232., Questo lavoro viene eseguito da circuiti integrati di conversione di livello dedicati come MAX232 di Maxim Integrated, ad esempio.
Questi circuiti integrati prendono i segnali RS232 e generano tensioni di livello TTL. Questi circuiti integrati invertono anche i segnali poiché i livelli di bassa tensione in RS232 sono logici ‘1 ‘e i livelli di alta tensione in RS232 sono logici’0’. L’immagine seguente mostra l’implementazione del driver RS232 in un’applicazione in tempo reale.,
Qui, UART (Universal Asynchronous Receiver Transmitter) genera e riceve i segnali necessari per la comunicazione seriale RS232 Driver è responsabile per la conversione di segnali tra TTL e l’interfaccia RS232.
Il sistema di comunicazione menzionato in questo esempio è di tipo asincrono e richiede bit di sincronizzazione cioè Start e Stop e bit di controllo degli errori cioè Parità., L’UART nell’esempio precedente è responsabile della generazione dei bit Start, Stop e Parity durante la trasmissione dei dati e anche del rilevamento degli errori durante la ricezione dei dati.
L’immagine seguente illustra una tipica applicazione RS232 tra un computer e un Modem. Qui, il PC o il computer è il DTE e il modem è il DCE.
Il computer e il modem comunicano tra loro utilizzando l’interfaccia RS232 e la comunicazione tra i modem viene stabilita utilizzando collegamenti di telecomunicazione.,
Come funziona RS232?
In RS232, i dati vengono trasmessi in serie in una direzione su una singola linea dati. Al fine di stabilire la comunicazione bidirezionale, abbiamo bisogno di almeno tre fili (RX, TX e GND) a parte i segnali di controllo. Un byte di dati può essere trasmesso in qualsiasi momento a condizione che il byte precedente sia già stato trasmesso.
RS232 segue il protocollo di comunicazione asincrono cioè non c’è segnale di clock per sincronizzare trasmettitore e ricevitore., Quindi, utilizza bit di avvio e arresto per informare il ricevitore quando controllare i dati.
C’è un ritardo di un certo tempo tra le trasmissioni di ciascun bit. Questo ritardo non è altro che uno stato inattivo, cioè il segnale è impostato su logic ‘1’ cioè-12V (se ricordi, logic ‘1’ in RS232 è-12V e logic ‘0’ è +12V).
In primo luogo, il trasmettitore cioè il DTE invia un bit di avvio al ricevitore cioè il DCE per informarlo che la trasmissione dei dati inizia dal bit successivo. Il bit iniziale è sempre ‘ 0 ‘ cioè +12V. I successivi 5-9 caratteri sono bit di dati.,
Se viene utilizzato il bit di parità, è possibile trasmettere un massimo di 8 bit. Se la parità non viene utilizzata, è possibile trasmettere 9 bit di dati. Dopo la trasmissione dei dati, il trasmettitore invia i bit di arresto. Può essere lungo 1 bit o 1,5 bit o 2 bit. L’immagine seguente mostra il formato frame del protocollo RS232.
Sebbene RS232 sia considerato uno standard completo, molti produttori potrebbero non rispettare gli standard. Alcuni produttori possono implementare le specifiche complete e alcuni implementano solo una specifica parziale.,
La ragione di questa variazione nell’implementazione dello standard RS232 è che non tutti i dispositivi e le applicazioni richiedono le specifiche e le funzionalità complete del protocollo RS232. Ad esempio, un modem seriale che utilizza RS232 può richiedere più linee di controllo rispetto a un mouse seriale che utilizza la porta seriale.
Allora come fa il trasmettitore e il ricevitore, che potrebbe utilizzare diversi set di specifiche, con successo trasmettere o ricevere i dati? A questo scopo viene utilizzato un processo chiamato Handshaking.,
Handshaking
Handshaking è un processo di impostazione dinamica dei parametri di una comunicazione tra il trasmettitore e il ricevitore prima che inizi la comunicazione.
La necessità di handshaking è dettata dalla velocità con il trasmettitore (DTE) trasmette i dati, la velocità con cui il ricevitore (DCE) riceve i dati e la velocità con cui i dati vengono trasmessi.
In un sistema di trasmissione dati asincrono, non ci può essere handshaking, handshaking hardware e handshaking software.,
No Handshaking
Se handshaking non viene utilizzato, quindi il ricevitore (DCE) deve leggere i dati che sono già ricevuti da esso prima che il trasmettitore (DTE) invia i dati successivi. Per questo, il ricevitore utilizza una speciale posizione di memoria chiamata Buffer e poiché viene utilizzato all’estremità del ricevitore, viene chiamato Buffer del ricevitore.
I dati ricevuti vengono memorizzati nel buffer prima di essere letti dal ricevitore., Il buffer del ricevitore può in genere memorizzare un singolo bit di dati e questi dati devono essere cancellati (letti) prima che arrivino i dati successivi e se non vengono cancellati, i dati esistenti verranno sovrascritti con i nuovi dati.
L’immagine seguente mostra una tipica trasmissione e ricezione di dati tramite buffer di trasmettitore e ricevitore. In questa configurazione, il ricevitore ha letto con successo i primi tre bit di dati, ma non ha letto il quarto bit. Quindi, il bit successivo, ovvero il quinto bit, sovrascriverà il quarto bit e il quarto bit verrà perso.,
Per evitare situazioni come questa, abbiamo bisogno di una sorta di meccanismo di Handshaking (Handshaking software o hardware).
Handshaking hardware
In Handshaking hardware, il trasmettitore chiede prima al ricevitore se è pronto a ricevere i dati. Il ricevitore controlla quindi il suo buffer e se il buffer è vuoto, dirà al trasmettitore che è pronto per ricevere.
Il trasmettitore trasmetterà i dati e viene caricato nel buffer del ricevitore., Durante questo periodo, il ricevitore dice al trasmettitore di non inviare ulteriori dati fino a quando i dati nel buffer non sono stati letti dal ricevitore.
Il Protocollo RS232 definisce quattro segnali per lo scopo di Handshaking:
- Ready to Send (RTS)
- Clear to Send (CTS)
- Data Terminal Ready (DTR) e
- Data Set Ready (DSR)
L’immagine seguente mostra il collegamento tra un 9 – pin Trasmettitore (DTE) e 25 – pin Ricevitore (DCE) e a 9 – pin Trasmettitore e un 9 – pin Ricevitore in hardware la modalità di sincronizzazione.,
Con l’aiuto dell’Handshaking hardware, i dati del trasmettitore non vengono mai persi o sovrascritti nel buffer del ricevitore. Quando il trasmettitore (DTE) vuole inviare dati, tira la linea RTS (Pronta per l’invio) in alto.
Quindi il trasmettitore attende che CTS (Clear to Send) vada in alto e quindi continua a monitorarlo. Se la linea CTS è bassa, significa che il ricevitore (DCE) è occupato e non è ancora pronto per ricevere i dati.
Quando il ricevitore è pronto, tira la linea CTS ad alta. Il trasmettitore trasmette quindi i dati., Questo metodo è anche chiamato come Handshaking RTS / CTS.
Inoltre, ci sono altri due fili utilizzati nell’Handshaking. Sono DTR (Data Terminal Ready) e DSR (Data Set Ready). Questi due segnali sono utilizzati dal DTE e DCE per indicare il loro stato individuale. Spesso, questi due segnali sono utilizzati nella comunicazione modem.
I nuovi standard di RS232 definiscono un Handshaking hardware a 8 segnali.
Handshaking software
Handshaking software in RS232 comporta due caratteri speciali per l’avvio e l’arresto della comunicazione., Questi caratteri sono X-ON e X-OFF (Trasmettitore acceso e trasmettitore SPENTO).
Quando il ricevitore invia un segnale X-OFF, il trasmettitore smette di inviare i dati. Il trasmettitore inizia a inviare dati solo dopo aver ricevuto il segnale X-On.
Limitazioni del protocollo RS232
- RS232 richiede un terreno comune tra il trasmettitore (DTE) e il ricevitore (DCE). Quindi, il motivo per cavi più corti tra DTE e DCE nel protocollo RS232.
- Il segnale nella linea è altamente suscettibile al rumore. Il rumore può essere interno o esterno.,
- Se c’è un aumento della velocità di trasmissione e della lunghezza del cavo, c’è la possibilità di cross talk introdotto dalla capacità tra i cavi.
- I livelli di tensione in RS232 non sono compatibili con le moderne logiche TTL o CMOS. Abbiamo bisogno di un convertitore di livello esterno.
Applicazioni
- Sebbene RS232 sia un protocollo di comunicazione seriale molto famoso, ora è stato sostituito con protocolli avanzati come USB.
- In precedenza abbiamo usato per terminali seriali come Mouse, Modem ecc.,
- Ma, RS232 è ancora in uso in alcuni servocontrollori, macchine CNC, macchine PLC e alcune schede microcontrollore utilizzano il protocollo RS232.