La Conversione da RS232 a RS422 e RS485

Ho già accennato al fatto che le norme relative agli standard RS422 e RS485 non fanno alcun riferimento al significato dei segnali trasmessi sulla linea. Questo paragrafo ed il seguente devono essere quindi intesi come presentazione di esempi applicativi, sebbene frequentemente utilizzati e spesso, a torto, considerati parte delle norme di riferimento.

La conversione da RS232 a RS422

Spesso i trasmettitori ed i ricevitori RS422 sono utilizzati per estendere la portata delle porte RS232, in genere limitata a pochi metri oppure poche decine se le velocità rimane sotto i 100 kb/s. Per fare ciò viene effettuata una semplice conversione dei livelli elettrici conservando per esempio la classica struttura del byte composto da un bit di start, da 6 a 8 bit di dati ed almeno un bit di stop .

Per trasmettere un singolo segnale è utilizzata una struttura simile a quella di seguito rappresentata: il segnale RS232 viene prima convertito in TTL e quindi in RS422; alla ricezione viene effettuata la conversione opposta. È necessario prevedere almeno due coppie di cavi, uno per ciascuna direzione, operazione facilitata dal fatto che ciascun circuito integrato contiene a volte sia il ricevitore che il trasmettitore.

Spesso non sono utilizzati i segnali di controllo quali RTS e CTS in quanto se la distanza è elevata il numero di conduttori necessari potrebbe essere un problema ma, qualora fosse necessario, è sufficiente duplicare il circuito tutte le volte che serve. Dal punto di vista del software, la connessione è perfettamente trasparente a condizione di usare un sufficiente numero di cavi e quindi sono utilizzabili tutti i protocolli normalmente adottati con le porte RS232 (half-duplex piuttosto che full-duplex, con handshaking hardware oppure software).

Per il funzionamento di questo circuito è richiesta una alimentazione esterna, in genere di 5 volt.

Alcuni convertitori RS232/RS422 utilizzano come fonte di energia i livelli logici presenti sulle porte seriali del PC (port powered): è una soluzione comoda ma non è in grado di garantire il funzionamento della rete in caso di terminazioni parallele o ricevitori multipli a causa delle grosse correnti richieste. Nel caso di PC portatili o comunque a basso consumo, è possibile che il convertitore port powered non funzioni del tutto.

La conversione da RS232 a RS485

Spesso è necessario connettere un PC o un altro computer ad una rete RS485. Lo soluzione più efficace è quella di utilizzare apposite porte seriali RS485 disponibili come accessorio standard su molti PC industriali o come schede aggiuntive per i PC desktop.

Per una soluzione a basso costo è possibile utilizzare un convertitore da RS232 a RS485 che pur non avendo le medesime caratteristiche (in particolare ben poche porte seriali raggiungono il Mbit/s) presenta indubbi vantaggi di costi, reperibilità e flessibilità.

Anche in questo tipo di applicazione è pratica comune adottare un protocollo che, a livello di byte, è simile se non identico a quello usato dalle porte di comunicazione RS232. Per poter effettuare questo tipo di conversione occorre considerare i seguenti aspetti:

  • Per la conversione dei livelli dei segnali si usa un circuito simile a quello descritto nel precedente paragrafo, usando ovviamente driver e ricevitori di tipo RS485.
  • È necessario provvedere ad un meccanismo per attivare il trasmettitore solo durante la trasmissione di un byte; come verrà descritto, questo aspetto può avere impatti sul software di comunicazione e, se mal gestito, rendere impossibili le comunicazioni.
  • La trasmissione è normalmente di tipo half-duplex dato che è disponibile una sola coppia di cavi da utilizzare sia per la trasmissione che per la ricezione.

Il problema più grosso è associato alla necessità di attivare e disattivare il trasmettitore. Una soluzione spesso adottata è quella riportata nello schema seguente: si utilizza un segnale della porta Rs232 (nell’immagine in DTR ma potrebbe essere anche il RTS) e si controlla via software il suo livello:

  1. Si attiva il trasmettitore portando basso il segnale DTR (nello schema è presente un inverter, fatto comune a quasi tutti i ricevitori RS232)
  2. Si trasmette il byte utilizzando nel modo consueto la porta RS232
  3. Si disattiva il trasmettitore portando alto il DTR

Non ho indicato nessuna connessione per l’abilitazione del ricevitore perché spesso è lasciata semplicemente sempre attiva collegandola a massa oppure è collegata direttamente alla linea DTR e quindi è automaticamente disattivato solo durante la trasmissione.

Purtroppo non è sempre possibile implementare questo semplicissimo protocollo perché è praticamente impossibile conoscere esattamente quanto tempo impiega un byte ad essere trasmesso, soprattutto in ambienti multitasking. La soluzione che spesso si adotta è quella di lasciare sempre attivo il ricevitore e disattivare il trasmettitore solo quando si è ricevuto indietro quanto appena trasmesso: purtroppo si rischia di inserire ritardi, spesso inaccettabili.

Una soluzione alternativa e decisamente più efficace è quella di inserire un monostabile che attiva automaticamente il trasmettitore appena inizia la trasmissione di un byte e lo disattiva al termine del bit di stop.

 

Le Interfacce Seriali – Le Interfacce Seriali RS422 ed RS485 – Parte 1°

Le Interfacce Seriali – Tipologie di Segnali Digitali – Parte 2°

Le Interfacce Seriali – Lo Standard RS422 – Parte 3°

Le Interfacce Seriali – Lo Standard RS485 – Parte 4°

Le Interfacce Seriali – Adattamento di Impedenza – Parte 5°

Le Interfacce Seriali – Valutare la Qualità della Trasmissione – Parte 6°

Le Interfacce Seriali – La Polarizzazione – Parte 7°

Le Interfacce Seriali – La Protezione – Parte 8°

Le Interfacce Seriali – La Selezione dei Cavi – Parte 9°

Le Interfacce Seriali – La Conversione da RS232 a RS422 e RS485 – Parte 10°

Le Interfacce Seriali – Cenni ai Protocolli di Trasmissione – Parte 11°

Le Interfacce Seriali – Dispositivi Integrati e Risorse in Rete – Parte 12°

Le Interfacce Seriali – Appendice: Caratteristiche Elettriche – Parte 13°

dal sito Elettronica per cominciare, di Raffaele Ilardo

Share This