La comunicazione dati in RS 485

L’RS485 è uno standard di trasmissione dati digitale di tipo seriale particolarmente robusto e flessibile utilizzato soprattutto in ambienti industriali. Scopriamone le caratteristiche, i pregi e le differenze che lo distinguono da altri standard più o meno simili.

Quando si parla di comunicazione RS485 non può non saltare all’occhio l’assonanza con RS232. In effetti si tratta di due standard di comunicazione dati digitale che hanno qualcosa in comune: il fatto di essere standard seriali. Al fine di riuscire a distinguerli e confrontarli correttamente è importante comprendere quali siano le loro origini, la loro storia, le loro caratteristiche, le loro applicazioni. Generalmente molti, data la familiarità che hanno con il mondo dei PC, sono portati a parlare indistintamente (anche se ciò non è propriamente corretto!) di porta seriale e porta RS232 intendendo, intuitivamente con ciò, un canale di comunicazione capace sia di ricevere che di trasmettere dati serialmente, in contrapposizione con gli standard di comunicazione parallela.

Altri identificano, addirittura, la porta seriale RS232 con il suo connettore 25 poli maschio nei computer di una volta, con il connettore 9 poli maschio nei computer più recenti (anche questo, ovviamente, non è propriamente corretto!). In ogni caso il concetto che si associa, sebbene intuitivamente, al termine RS232 non è del tutto sbagliato, ma al più impreciso o incompleto. Intuire cosa sia una comunicazione RS485 rimane invece, per molti, meno immediato anche perché difficilmente associabile a qualcosa di fisico come un connettore disponibile sul proprio PC. La comunicazione RS485, come la RS232, è uno standard di comunicazione seriale (RS sta per Raccomanded Standard) che presenta semplicemente differenti caratteristiche e differenti applicazioni. Le origini di questi standard affondono le loro radici negli anni ’60, più di vent’anni prima che l’RS232 comparisse, fisicamente, come porta di comunicazione dati (sinteticamente porta COM) sui PC IBM (1984). Fu infatti negli anni ’60 che l’Electrical Industry Association  (EIA) e la Telecommunications Industry Association (TIA) decisero di gettare le basi di uno standard di comunicazione seriale cui diedero il nome di EIA/TIA-232 (o RS232) cui seguì lo standard EIA/TIA-485 (o RS485). Il compito principale dei circuiti che realizzano una comunicazione seriale è quello di mettere “in fila” le informazioni binarie (bit) in modo da trasmetterle in sequenza secondo una ben precisa cadenza temporale. Ciò può sembrare poco utile poiché un processore lavora su gruppi di bit (byte) e su canali dati (bus) di natura parallela; inoltre un approccio seriale alla comunicazione comporta, in linea di massima, una minor velocità di trasmissione. La comunicazione seriale offre tuttavia la possibilità di essere realizzata impiegando, al limite, soli tre fili: uno per la trasmissione, uno per la ricezione ed uno come riferimento di massa (RS232 NullModem). Anche se tale comunicazione può essere gestita in modo più articolato impiegando segnali e quindi fili di controllo (handshaking), quanto precedentemente detto resta in ogni caso valido. Un aspetto importante nel qualificare un qualunque tipo di comunicazione è la distanza che essa può coprire rimanendo affidabile. Lo standard RS232, per esempio, prevedeva originariamente una distanza massima pari a 15 metri, distanza che ha raggiunto 25 metri nella versione RS232D. In generale, la distanza di comunicazione su cavo dipende dalla qualità del cavo stesso e dalla presenza di disturbi. Le caratteristiche elettriche dello standard RS232 sebbene appropriate per comunicazioni come quelle tra un PC e le sue periferiche apparvero subito inadeguate in applicazioni industriali.  I motivi sono da ricercare nei seguenti aspetti:

» Distanza  di trasmissione;

» Velocità  di trasmissione;

» Sensibilità  ai disturbi;

» Numero di interlocutori (lo standard RS232 è pensato per una comunicazione tra due soli interlocutori TX/RX).

Questi limiti sono sufficienti a giustificare la comparsa dello standard RS485. In realtà il primo ed il terzo limite erano stati superati già negli anni ’60 mediante l’impiego dei modem, cioè dispositivi in grado di acquisire il segnale digitale seriale e trasformarlo in un segnale adatto a viaggiare sulla linea telefonica (onde sinusoidali-modulazione) e viceversa (demodulazione) a seconda che si consideri la trasmissione o la ricezione. In ogni caso la comunicazione rimaneva tra due soli interlocutori.

Le interfacce RS422 ed RS485

L’RS485 è uno standard di comunicazione differenziale: questo aspetto è ciò che lo caratterizza maggiormente distinguendolo dalla RS232 e rendendolo robusto e flessibile (figura 1).

Figura 1: comunicazione RS232 single-ended e comunicazione differenziale RS422/RS485.

Figura 1: comunicazione RS232 single-ended e comunicazione differenziale RS422/RS485.

L’RS485 somiglia molto ad un altro standard di comunicazione seriale: l’EIA/TIA-422 (anche detto RS422). Sottolineamo che questi standard stabiliscono solo gli aspetti elettrici dei segnali senza definire il significato delle tensioni che esprimono le informazioni, cioè senza entrare in aspetti più propriamente detti di protocollo. In termini di pila ISO/OSI tali standard definiscono, cioè, il layer 1 (fisico) della comunicazione.

I pregi della comunicazione differenziale

I pregi della RS485 (e della RS422) stanno nel fato di essere una comunicazione differenziale e quindi bilanciata (diversamente dalla RS232 che è single-ended e quindi sbilanciata). Nella RS232, infatti, la tensione che definisce  il livello logico è misurata tra il filo TX ed il riferimento  comune (massa) per la trasmissione, tra il filo RX ed il riferimento comune (massa) per la ricezione. Una tensione compresa tra -15V e -3V rappresenta l’uno logico mentre una tensione maggiore di 3V rappresenta lo zero logico. Una trasmissione siffatta (cioè non bilanciata) è semplice e richiede circuiti non troppo complessi ma presta il fianco a due problematiche e ad alcuni limiti applicativi:

1-il  riferimento di massa può essere considerato univocamente definito in un circuito di limitate dimensioni (filo di massa poco esteso), un po’ meno in circuiti di estensione elevata (filo di massa molto esteso); ciò è dovuto alla corrente che pur piccola scorre nel filo di riferimento generando differenze di potenziale non tra scurabili. La situazione è ancor più gravosa se si pensa che la comunicazione avviene grazie alla trasmissione di livelli logici che si susseguono, per cui l’effetto non va visto in continua ma in presenza di un segnale variabile ad alta velocità: l’effetto induttivo diventa allora preponderante e aggrava ulteriormente  i limiti della comunicazione.

2-la comunicazione non avviene mai in un ambiente privo di disturbi; questi ultimi sono non prevedibili e tanto più marcati quanto maggiore è l’estensione del collegamento.  Il ricevitore vede pertanto un segnale sporcato da rumore. Entrambi questi fenomeni rendono il segnale  meno intelleggibile aumentando la probabilità che il ricevitore interpreti in modo errato i livelli logici ricevuti. Per risolvere i problemi suddetti si potrebbe:

» limitare l’estensione dei cavi;

» impiegare  cavi schermati per contenere il secondo problema;

» utilizzare sezioni elevate per il filo di riferimento per contenere  il primo problema;

» aumentare l’escursione di tensione tra i due livelli logici in modo da aumentare il rapporto tra il segnale  ed il disturbo;

» impiegare simultaneamente le strategie sopra esposte.

Queste soluzioni risultano tuttavia poco pratiche; la comunicazione sbilanciata RS232 rimane quindi applicata su distanze contenute entro i 20-25 m mentre si preferisce impiegare comunicazioni differenziali quale la RS485 e la RS422 per distanze maggiori. In tal caso un bit è trasmesso pilotando i due poli della linea differenziale; se il potenziale  è maggiore sul primo dei due il valore logico è uno zero, nel caso opposto è un uno. Il valore logico è associato ad una differenza di potenziale per cui le variazioni di potenziale lungo il filo di massa risultano teoricamente ininfluenti. Analogamente a quello che accade in un amplificatore differenziale, la trasmissione differenziale del segnale permette di reiettare le tensioni Vcm di modo comune (media rispetto alla massa locale delle tensioni dei due fili della linea di comunicazione). Ovviamente, se si hanno due soli dispositivi che devono comunicare tra loro simultaneamente vi è la necessità di disporre di due fili per ogni segnale.

Dallo  standard RS422 allo standard RS485

L’RS485 può essere visto per certi aspetti come una naturale estensione o potenziamento dello standard RS422. Lo standard RS422 prevede la trasmissione fino a 10Mbit/s su distanze fino a 1200 m. Sulla linea differenziale di comunicazione vi possano essere al massimo dieci ricevitori; la linea di comunicazione diventa a tutti gli effetti un bus. Ciò non toglie che gli integrati che fanno da trasmettitore o ricevitore RS422 possano essere anche utilizzati per una semplice comunicazione punto-punto (figura 2).

Figura 2: schema di principio di una comunicazione RS422.

Figura 2: schema di principio di una comunicazione RS422.

La tensione differenziale sulla linea contiene l’informazione: uno logico se il polo A (anche indicato con -) è negativo rispetto al polo B (indicato anche con +), zero logico nel caso opposto (figura 3).

Figura 3: l’informazione in una trasmissione differenziale è associata alla differenza tra le tensioni sui terminali in uscita del driver (B-A).

Figura 3: l’informazione in una trasmissione
differenziale è associata alla differenza tra le tensioni
sui terminali in uscita del driver (B-A).

Lo standard prevede che la tensione differenziale tra la linea A e la linea B in uscita al trasmettitore sia in modulo almeno pari a 4V e che la tensione di modo comune non ecceda 7V. Lo standard impone che il ricevitore sia in grado di distinguere il livello logico trasmesso per tensioni differenziali ricevute maggiori di 200 mV. Se all’interno di un dispositivo RS422 si integra sia uno stadio trasmettitore che uno stadio ricevitore è possibile utilizzando oltre alla massa due coppie di fili (una coppia TX ed una coppia RX) e fare in modo che ciascuno dei due dispositivi possa contemporaneamente trasmettere e ricevere (RS422 full-duplex). Lo standard RS485 è più flessibile perché consente di far comunicare tra loro più trasmettitori e più ricevitori sullo stesso bus. Ciò è possibile a patto che in ogni istante al più un solo interlocutore si comporti da trasmettitore (mentre i  ricevitori escono sul bus ad alta impedenza) pena conflitti di comunicazione. Il  bus come generalmente accade è formato da una sola coppia di fili, oltre alla massa, e consente la trasmissione da ciascun nodo a ciascun altro nodo: la comunicazione è bidirezionale half-duplex;  i morsetti A e B sono comuni sia alla sezione di trasmissione che a quella di ricezione di ciascun nodo della rete. Il trasmettitore  affinché sia disabilitato ed esca ad alta impedenza sul bus è necessario che sia dotato di un ingresso di controllo. Ovviamente gli in tegrati 485 sono realizzati in modo tale che non subiscano danni nel caso in cui più interlocutori per errore si pongano in trasmissione contemporaneamente (bassa impedenza). Lo standard RS485 prevede la connessione sullo stesso bus di comunicazione di massimo 32 ricevitori. La differenza fondamentale tra RS422 ed RS485 sta nel fatto che la seconda permette di realizzare un bus a due fili multi-drop in cui coesistono più ricevitori e più trasmettitori. Questi ultimi sono dotati oltre che dello stato di trasmissione dell’uno logico e dello zero logico, anche di uno stato che fa apparire l’elettronica ad alta impedenza in modo da non caricare la linea (three-state o Hi-Z). I  ricevitori invece possono essere connessi tutti contemporaneamente sul bus senza creare problemi (numero massimo consentito dallo standard: 32). E’ possibile lasciare lo stadio ricevitore di ciascun nodo sempre attivo (alta impedenza).  I due ingressi di abilitazione (TX enable ed RX enable) sono generalmente attivi su livelli logici opposti e quindi collegati insieme dato che in ciascun istante il singolo nodo può solo trasmettere o ricevere (half-duplex). Sebbene l’RS485 preveda massimo 32 dispositivi sulla rete, vi sono realizzazioni integrate dette a basso assorbimento che permettono di superare questo limite. Il filo di massa è utile a mantenere la tensione di modo comune compresa tra -7V e 12V (limiti previsti dallo standard) soprattutto se la rete è abbastanza estesa. La connessione di figura 4 è detta twowire multidrop network in quanto bastano due soli fili per realizzarla.

Figura 4: schema di principio di una rete RS485 multidrop a due fili.

Figura 4: schema di principio di una rete RS485 multidrop a due fili.

Molti dispositivi RS485 consentono di realizzare la rete anche nella configurazione detta four-wire multidrop network. Dallo schema (figura 5) si comprende come sia necessario che un nodo sia master e tutti gli altri slave.

Figura 5: schema di principio di una rete RS485 multidrop a quattro fili.

Figura 5: schema di principio di una rete RS485 multidrop a quattro fili.

Questo tipo di rete ha il vantaggio topologico per cui ciascuno slave può rispondere solo al master e mai per errore ad un altro slave. Le tabelle riassumono, per ciascuno degli standard RS485, RS232 ed RS422, le caratteristiche elettriche.

Le resistenze di terminazione

Se l’impedenza del nodo RS485 risulta disadattata il segnale trasmesso non è completamente assorbito dal carico (nodi ricevitori) ma è riflesso. Se il driver trasmettitore, la linea di trasmissione e l’impedenza di carico sono uguali tale riflessione è eliminata: a questo servono le terminazioni (figura 6 e 7) sebbene aumentino l’effetto di carico sul driver.

Figura 6: la terminazione ohmica carica il driver, l’aggiunta della capacità limita tale effetto.

Figura 6: la terminazione ohmica carica il driver, l’aggiunta della capacità limita tale effetto.

Figura 7: le resistenze di terminazione sono collocate all’estremità della linea.

Figura 7: le resistenze di terminazione sono collocate all’estremità della linea.

La scelta di prevedere le resistenze di terminazione (parallela) dipende dalla lunghezza della linea e dalla velocità di trasmissione. Se il ritardo di propagazione lungo la linea è molto inferiore rispetto alla durata temporale di un bit le terminazioni sono sostanzialmente inutili. L’impedenza di 120Ω normalmente impiegata come terminazione è legata all’impedenza tipica della come linea di trasmissione (doppino). L’effetto di carico delle resistenze di terminazione diventa più problematico nel caso in cui si usino porte RS232 powered. Per limitare il problema si aggiunge una capacità in serie al resistore di terminazione in modo da eliminare  il sovraccarico in continua. Le terminazioni sono utili soprattutto in reti estese e con comunicazioni a velocità elevata e risultano efficaci su linee multidrop; per linee a stella non si ha la stessa efficacia.

La resistenza di polarizzazione

Quando in una rete RS485 composta da un driver e più ricevitori si disattiva  il driver esso appare disconnesso dal bus, di conseguenza sui ricevitori appare un livello logico non definito: generalmente si ha una fluttuazione della tensione causata dai disturbi esterni. Analogamente quando si disabilita un trasmettitore e se ne abilita un altro, le due cose non avvengono simultaneamente ma passa un certo tempo tra il primo ed il secondo evento: ancora una volta si ha un livello logico indeterminato che può comportarsi in ingresso ai ricevitori come un falso segnale. Aggiungendo in prossimità di un nodo, delle resistenze di polarizzazione (Rpol) si può definire un partitore ohmico tale da mantenere la differenza di potenziale tra i nodi A e B ad un valore di 200 mV anche se tutti i trasmettitori dislocati lungo la linea risultano interdetti (figura 8).

Figura 8: resistenze di polarizzazione.

Figura 8: resistenze di polarizzazione.

Tale situazione vede il potenziale  del punto A inferiore rispetto a quello del punto B: ciò rappresenta un uno logico, ma lo stesso stato identifica anche l’assenza di segnale (condizione detta idle state). La connessione con gli elementi ohmici di polarizzazione è pertanto fail-safe. Le resistenze di polarizzazione vanno dimensionate in funzione del numero di ricevitori. Normalmente  sulla linea vengono inserite due resistenze di terminazione Z0=120 Ω. Tra i punti A e B che si affacciano verso le resistenze di polarizzazione si ha una resistenza complessiva:

dove Zo è la resistenza di terminazione e Zin la resistenza di ingresso del nodo 485 (valore minimo standard 12KΩ). Affinché tra i punti A e B si stabilisca una differenza di potenziale di 200 mV è necessaria una corrente:

Se Vcc è la tensione di alimentazione:

di conseguenza:

Nel caso in cui si abbiano 32 ricevitori (Zin=12KΩ) la precedente relazione fornisce il valore 599 Ω: il valore standard più prossimo è 560 Ω. Il  calcolo è basato sul fatto che una rete RS485 è caratterizzata da due resistenze di terminazione ciascuna delle quali posta su uno dei nodi estremi della linea e da due resistenze di polarizzazione poste in prossimità di uno dei nodi. Nelle reti RS485 in configurazione four-wire i resistori  di polarizzazione vanno, ovviamente posti sulla linea di ricezione. Alcuni transceiver RS485 integrano già al loro interno i resistori  di polarizzazione.

Le tecniche di protezione

Le linee RS485 sono abbastanza estese soprattutto in applicazioni industriali, di conseguenza possono venire a contatto con disturbi o tensioni elevate. Si pensi ai disturbi brevi dell’ordine di millisecondi ma molto intensi (anche KV) generati dalla commutazione di grossi carichi induttivi oppure a quelli meno intensi (centinaia di Volt) ma prolungati dovuti ad accidentali contatti con cavi di alimentazione. Questi problemi si possono prevenire con l’impiego di fotoaccoppiatori (figura 9) (l’optoisolamento interrompe la continuità elettrica verso la linea di trasmissione) o di componenti quali scaricatori a gas e Tranzorb (inseriti come shunt) (figura 10 e 11).

Figura 9: protezione mediante optoisolatori.

Figura 9: protezione mediante optoisolatori.

 

Figura 10: protezione mediante Shunt (Tranzorb o scaricatori a gas).

Figura 10: protezione mediante Shunt (Tranzorb o scaricatori a gas).

 

Figura 11: protezione mediante Shunt sia verso massa che sulla linea.

Figura 11: protezione mediante Shunt sia verso massa che sulla linea.

Anche i diodi zeener (soglia 6-8V e ridotte capacità parassite) possono in parte risultare efficaci in tal senso. L’isolamento ottico oltre ad essere efficace non necessitare di un riferimento di terra e non aggiunge carico alla linea tuttavia necessita di alimentazione esterna indipendente. I  dispositivi di shunt invece sono facilmente utilizzabili ma aggiungono carico capacitivo alla linea.

Cavi di collegamento per RS485

Lungo il cavo il segnale  si degrada a causa delle perdite longitudinali ohmiche e di quelle trasversali capacitive ed accumula rumore a causa dei disturbi. Per questi motivi il cavo di connessione è di solito un doppino twisted pair che presenta una decina di spire circa per metro lineare. Considerando  il terzo filo (riferimento) si conclude che il cavo deve essere composto da tre elementi twisted-pair. L’impedenza dei cavi di connessione è compresa tra 100 e 150 Ω. Generalmente non i richiedono  cavi schermati poiché la schermatura riduce l’influenza dei disturbi esterni ma a scapito delle perdite verso massa, specie per alte velocità, essendo lo schermo connesso a terra. In un cavo non attorcigliato le correnti di rumore si sommano positivamente; nel caso in cui siano in fase si raccoglie  il maggiore disturbo. Sotto questa ipotesi, supponendo di suddividere uniformemente ciascun filo del cavo di collegamento in quatto tratti e supponendo che anche il disturbo indotto sia uniforme lungo il cavo, il modulo totale della corrente di rumore è dato dalla somma dei moduli (figura 12).

E’ banale estendere la relazione al caso di cavo suddiviso in n tratti. Nel caso in cui si adoperi un cavo twisted pair, lasciando inalterate le altre ipotesi la relazione diventa:

I contributi di rumore si annullano a coppie (figura 12).

Figura 12: immunità del cavo twisted-pair nei confronti dei disturbi.

Figura 12: immunità del cavo twisted-pair nei
confronti dei disturbi.

Le ipotesi fatte sull’uniformità del disturbo non sono in generale soddisfatte in assoluto ma in ogni caso i contributi tendono ad annullarsi.  Il cavo di trasmissione su una rete RS485 è composto nei sistemi two-wire da una coppia per il segnale  e da una coppia per il riferimento di massa. Nel caso in cui si realizzi una rete four-wire si ricorre ad un cavo con tre coppie.

Parametri elettrici EIA RS-422

Parametri elettrici EIA RS-422

Conversione RS232/RS485

Prima di parlare della conversione RS232/RS485 accenniamo alla conversione RS232/RS422. Essa può essere adottata per effettuare trasmissioni e ricezioni in RS422 partendo da sorgenti RS232 in modo da estenderne la distanza di comunicazione (figura 13-extender).

Figura 13: estensione di una comunicazione RS232 mediante convertitore RS232/RS422.

Figura 13: estensione di una comunicazione RS232 mediante convertitore RS232/RS422.

La conversione consiste in una traslazione dei livelli elettrici e non agisce in nessun modo sul contenuto informativo del segnale.  Il segnale è convertito prima da RS232 a TTL e quindi da TTL in RS422. In ricezione si realizzata la conversione opposta. Generalmente  i circuiti integrati che si occupano di questa conversione contengono sia lo stadio trasmettitore che quello ricevitore e sono connessi tra loro per realizzare una connessione punto-punto di due coppie di fili una per ciascuna direzione di trasmissione. E’ possibile aumentare ulteriormente la portata del segnale rigenerandolo e rilanciandolo. Esistono convertitori port powered: utilizzano come fonte di energia i livelli logici presenti sulla porta seriale in ingresso. Essi non sono utilizzabili nel caso in cui la rete RS422 è fatta da più nodi ricevitori poiché non sono in grado di pilotare più carichi. L’estensione di una comunicazione RS232 può essere ottenuta anche con convertitori RS232/RS485. Interfacciando più unità RS232 con altrettanti convertitori è possibile realizzare una rete RS485 a due fili in cui si comunichi bidirezionalmente. In ogni nodo è necessario pilotare lo stadio trasmettitore in modo da evitare possibili conflitti. Ciò può essere fatto impiegando il segnale DTR o RTS della porta RS232 per pilotare l’attivazione/disattivazione dello stadio trasmettitore (figura 14).

Figura 14: pilotaggio dello stadio trasmettitore

Figura 14: pilotaggio dello stadio trasmettitore

Generalmente l’abilitazione a trasmettere è pilotata portando basso il DTR. Connessione Master-Slave e Master-Master.

Parametri elettrici EIA RS-485 PARAMETRO CONDIZIONI

Parametri elettrici EIA RS-485

 

Confronto RS232/RS422/RS485

Confronto RS232/RS422/RS485

Master-Slave

La rete è costituita da un nodo master e più nodi Slave, ciascuno caratterizzato da un proprio indirizzo. Tutti i dispositivi funzionano alla stessa velocità di trasmissione/ricezione e rispettano lo stesso protocollo (formato per il pacchetto di dati). Il Master invia un pacchetto costituito dall’indirizzo del ricevitore da raggiungere e dall’informazione da comunicare, per esempio un comando da eseguire. Ciascun dispositivo in ricezione è in ascolto in attesa di ricevere un pacchetto contenente  il proprio indirizzo. Lo slave che riconosce nel relativo campo il proprio indirizzo esegue il comando/risponde al Master. Lo slave che non riconosce il pacchetto come ad esso indirizzato lo ignora. Non sono possibili comunicazioni dirette tra due slave mentre sono possibili comunicazioni in cui il Master invii un comando a tutti gli slave (comunicazione  broadcast).  Il Master coordina la comunicazione impedendo conflitti. Ovviamente è necessario che ciascun nodo abbia un indirizzo unico che non sia duplicato su nessun altro nodo. Esiste comunque la possibilità che uno slave interpreti male una comunicazione. Per evitare ciò è necessario prevedere, all’interno del protocollo, di comunicazione (pacchetto) un controllo tipo checksum, CRC o di parità che consenta ai ricevitori di identificare e scartare pacchetti difettosi. Per rendere più sicura e robusta la comunicazione si inserisce all’interno del pacchetto sia l’indirizzo del destinatario che quello del mittente.

Multi-Master

Ciascun nodo individuato da un proprio univoco indirizzo, può inviare un pacchetto a ciascun altro nodo. Non essendoci un controllo centralizzato del bus esiste la possibilità che vi siano conflitti (più dispositivi si possono trovare contemporaneamente ad inviare dati sul bus). E’ allora necessario che ciascun nodo della rete decida di trasmettere solo dopo aver verificato che sulla stessa non vi sia traffico in corso. Può presentarsi tuttavia il caso in cui finita una comunicazione più nodi vedendo libero il bus decidano contemporaneamente di trasmettere. Per questo motivo ciascuno degli interlocutori del bus decide, solitamente, di trasmettere dopo un tempo pseudocasuale trascorso dal momento in cui il traffico sul bus si è interrotto. Inoltre è opportuno che il nodo trasmettitore ascolti anche quanto sta trasmettendo per verificare che tali dati non siano corrotti da conflitti. La logica attuata è simile a quella del protocollo CSMA/CD.

Alcuni  transceiver RS485

I circuiti integrati per la realizzazione di reti RS485 (ma anche RS232) integrano, generalmente, sia lo stadio ricevitore che trasmettitore e sono alimentati con tensione 5Vdc. I  dispositivi RS422 presentano coppie di pin separati per ciascuna direzione di comunicazione, mentre quelli RS485 presentano una sola coppia utilizzata sia per la trasmissione che per la ricezione e presentano un ingresso di abilitazione alla trasmissione. In comme

cio sono diffusi numerosi chip, soprattutto in package dip o soic, che integrano transceiver RS485. Impiegando interfacce RS485 a basso assorbimento è possibile portare il numero massimo di nodi della rete RS485 da 32 a ben 256. Di seguito elenchiamo alcuni di questi chip lasciando che sia il lettore ad approfondire ulteriormente l’argomento. LTC 485 (Low Power RS485 Interface transceiver): è un RS485 trasceiver della Linear Technology Corporation che può essere usato anche secondo lo standard RS422. In figura 15 si riportata un’applicazione tipica, il segnale di uscita al driver ed il package. Lo stadio di uscita del driver è realizzato in tecnologia CMOS.

Figura 15: transceiver LTC485.

Figura 15: transceiver LTC485.

Analizziamone  il pin-out:

» R0 (Pin 1): uscita stadio ricevitore. Se il ricevitore è abilitato (RE basso), allora se A > B più di 200mV, R0 è a livello logico alto; se A < B più di 200mV, allora R0 è a livello logico basso.

» RE (Pin 2): abilitazione uscita ricevitore. Se il pin è mantenuto a livello logico basso l’uscita del ricevitore è abilitata. Se è mantenuto a livello alto l’uscita del ricevitore è in alta impedenza.

» DE (Pin 3): abilitazione uscita Driver.  Il livello logico alto abilita l’uscita del driver; il livello logico basso forza l’uscita in alta impedenza.

» DI (Pin 4): ingresso driver. Se l’uscita del driver è abilitata allora il  valore logico basso di DI forza A a valore basso e B a valore alto. Al contrario il valore alto su DI con l’uscita del driver abilitata forza A a livello alto e B a livello basso. GND (Pin 5): Pin di massa.

» A (Pin 6): uscita del driver/ingresso del ricevitore.

» B (Pin 7): uscita del driver/ingresso del ricevitore.

» VCC (Pin 8): alimentazione; 4.75 < VCC

< 5.25. MAX481/MAX483/MAX485/MAX487–MAX 491/MAX1487: sono dei low-power transceivers prodotti da Maxim per comunicazioni RS-485 ed RS-422 contenenti un driver ed un ricevitore. La versione dip e soic e pin compatibile con l’LTC485 (figura  16).

Figura 16: transceiver MAX481/MAX483/MAX485/MAX487–MAX491/MAX1487.

Figura 16: transceiver MAX481/MAX483/MAX485/MAX487–MAX491/MAX1487.

LTC1334  Single  5V RS232/RS485 Multiprotocol Transceiver: è un chip transceiver low power CMOS bidirezionale. Può essere configurato come due porte RS485, due porte RS232 oppure una porta RS485 ed una porta RS232 (figura 17).

Figura 17: transceiver LTC1334 (applicazione).

Figura 17: transceiver LTC1334 (applicazione).

Altri integrati molto noti con funzioni di RS485 sono:

» ADM485 (Analog Device), il DS3695 (National Semiconductor) ;

» MAX3140 che integra oltre al driver ed il reciver anche una UART;

» MAX1480 dotata del receiver, del transmitter e di interfacce optoisolate.

Convertitori RS232 to RS485 e TCP/IP  to RS232/422/485

In commercio sono diffusi molti convertitori RS232/RS485 standalone che integrano chip come quelli presentati nel precedente paragrafo. Generalmente possono essere impiegati sia come nodi RS485 che come nodi RS422, sia a due fili che a quattro fili (figura 18).

Figura 18: RS232 to RS422/RS485 Transceiver.

Figura 18: RS232 to RS422/RS485 Transceiver.

Poiché tali  convertitori trovano largo impiego in campo industriale esistono versioni da barra DIN che possono essere installati in armadio. Vi sono anche convertitori TCPIP to RS232/RS422/RS485 il che consente di remotizzare  il traffico dati RS485 (figura 19).

Figura 19: TCP-IP to RS232/RS422/RS485 Transceiver.

Figura 19: TCP-IP to RS232/RS422/RS485 Transceiver.

Esistono inoltre convertitori USB/RS485 (figura 20).

Figura 20: USB/RS485 Transceiver.

Figura 20: USB/RS485 Transceiver.

Ci sono poi schede PCI o PCI express per computer industriali o per PC che permettono di dotare la macchina di porte RS485 (figura 21).

Figura 21: schede RS422/RS485 con zoccolo PCI.

Figura 21: schede RS422/RS485 con zoccolo PCI.

Spesso si tratta di interfacce flessibile configurabili come interfacce RS232, RS422 o RS485 e che integrano la separazione galvanica.

Un caso applicativo tipico

Riportiamo uno schema applicativo tipico di comunicazione RS485. Lo schema a blocchi funzionale si riferisce ad una rete RS485 che centralizza  il controllo di una rete di sensori e attuatori di un processo industriale (figura 22).

Figura 22: esempio di rete RS485 in applicazioni industriali

Figura 22: esempio di rete RS485 in applicazioni industriali

L’elettronica intelligente che interfaccia sensori e attuatori è costituita da schede con processore o microcontrollore on-board. Una rete di questo tipo può essere realizzata mediante l’impiego di un semplice Max234 che converte i livelli TTL in 232 e viceversa e di alcuni LTC485 che convertono i livelli TTL in RS485 e viceversa. Lo schema di figura esplicita questo concetto (figura 23).

Figura 23: schema elettrico.

Figura 23: schema elettrico.

Ovviamente dovrete abilitare  il transceiver in trasmissione o in ricezione pilotando opportunamente l’RTS della RS232 del PC e fare la stessa cosa lato remoto attraverso  il controllore. Per far funzionare il tutto occorre però ancora qualcos’altro. Ricordate infatti che l’RS485 è solo uno standard fisico, pertanto una volta implementato  il layer fisico della comunicazione (schema di figura) è necessario implementare un protocollo di comunicazione che sia integrato nel software lato PC e nel firmware del controllore lato remoto e che renda robusta ed affidabile la comunicazione prevenendo  i conflitti. A tale proposito quanto detto nel paragrafo “Connessione Master-Slave e Master-Master” è certamente attinente.

 

Scrivi un commento