ZL
- impedenza della linea
Zo
- impedenza del cavo
A
(-)
e B
(+)
- nomi delle linee RS485
twisted-pair
- coppie di fili elettrici attorcigliati tra loro
AWG
- numero che indica le caratteristiche del filo elettrico, AWG24 è i
classico doppino telefonico
STBx
- durata del singolo bit trasmesso
Tp
- tempo che il segnale impiega a percorrere tutta il bus RS485
Introduzione
Il
bus di collegamento RS485
è generalmente formato da un cavo con due conduttori attorcigliati
(twisted-pair) e una schermatura che collega i vari dispositivi,
vedere Fig.3.
Un
bus formato da due soli fili è un bus detto half-duplex nulla toglie
di raddoppiare il bus portandolo a quattro fili e ottenendo così un
bus full-duplex.
Un
buon bus RS485 lo si ottiene restando tra i 400 e i 500m di lunghezza
massima. Ovviamente
riducendo la velocità del bus è possibile arrivare anche a 1200m.
Poiché
i moduli collegati sulla rete risentono anche notevolmente delle
differenze di massa che si vengono a creare, soprattutto su reti
molto lunghe, è consigliabile usare degli accoppiatori RS485
separati galvanicamente.
La trasmissione e del tipo differenziale ovvero il segnale è il risultato della differenza tra le tensioni dei due fili che compongono il bus Fig.0
Fig.0
I
trasmettitori RS485 mettono a disposizione (sotto carico) un livello
in uscita di ±2 V tra le uscite A e B, i
ricevitori riconoscono livelli di ±200 mV
ancora come segnale valido.
Questa
tecnica permette un'ottima immunità ai disturbi anche su tratte di
cavo molto lunghe.
Tipicamente
la
sezione del cavo
può essere di 24 o 22 AWG per medie distanze, e dovrà essere
aumentata nel caso di lunghe tratte.
Per
minimizzare le riflessioni, il primo e l'ultimo dispositivo della
rete devono avere una resistenza terminatrice collegata in parallelo
alla linea.
L'opzione
sopra non è vera nel caso la linea sia fatta a stella per cui la
posizione della resistenza di terminazione andrà provata
sperimentalmente.
In
questo tipo di rete, peraltro molto rara, si mette una resistenza di
terminazione sul centro stella e la seconda resistenza sul nodo più
lontano dal centro stella.
Lo
standard RS485 teoricamente può supportare fino a 32 dispositivi
connessi sul bus
(con i moderni 485 si arriva tranquillamente a 128 nodi e con alcuni
485 particolari e per questo costosi si arriva sino a 256 nodi).
Tipicamente
è necessario usare resistenze di terminazione il cui valore varia da
120
a
560
ohm,
si veda più avanti le spiegazioni su come scegliere le resistenze di
terminazione.
Carico capacitivo, resistivo e induttivo della linea
Con
cavi molto lunghi bisogna tenere in considerazione la capacità,
la resistenza
e l'induttanza
del cavo che diventano un fattore dominante nel consumo di potenza e
nel generare riflessioni del segnale.
Capacità,
Resistenza e Induttanza sono espresse al metro-lineare e sono dati
richiedibili al costruttore dei cavi.
La
capacità del cavo (in pF/metro) tipicamente è compresa fra 50pF/mt
(per cavi di buona qualità, p.es. Cavo di Cat. 5) e 100pF/mt.
In
caso di dubbio o in special modo con linee molto lunghe è
preferibile scegliere cavi di grosse sezioni.
La
tabella di Fig.1 può essere un'utile guida per valutare il legame
tra distanza e velocità.
Fig.1
Secondo
lo standard RS485 le connessioni della linea sono indicate con:
Tutti gli apparecchi collegati sulla linea devono essere collegati in parallelo Fig.2, esempio half-duplex:
Fig.2
Una
tipica rete RS485 potrebbe essere cablata come da Fig.3:
Fig.3
E'
molto importante che il cablaggio sia effettuato con del cavo
twistato perchè ci garantisce la massima immunità ai disturbi.
E'
possibile anche usare un cavo non schermato riducendo però la
velocità della rete.
Adattamento di impedenza
Per
ottenere una linea di trasmissione il più immune possibile ai
disturbi, il
tipico disturbo che si ha su una linea di trasmissione è la
riflessione
del segnale trasmesso
che causa interferenze non trascurabili,
è buona norma mantenere un'impedenza sulla linea ben bilanciata, è
per questo motivo che si usano gli adattatori d'impedenza.
Gli
adattatori di impedenza sono una o due resistenze poste a uno degli
estremi della linea o su entrambi gli estremi della linea.
Di
seguito, Fig.4 e Fig.5, sono riportati i due casi.
Fig.4
Fig.5
Resistenze di Terminazione
Per
capire se dobbiamo mettere i terminatori di linea di trasmissione
possiamo usare il seguente parametro:
Se
la durata di un singolo bit trasmesso (SBTx)
è maggiore di almeno 10 volte del tempo (Tp)
che il segnale impiega a percorrere tutta la linea allora la
terminazione non serve.
Non
Servono Terminazioni se:
SBTx
> ( 10 * Tp )
Per
capire come fare queste valutazioni usando dei numeri ricordiamoci
che:
Facciamo
un'esempio pratico considerando:
Con questi parametri il tempo che il segnale impiega per la sua propagazione sarà:
9600
baud equivalgono a 9600 bit/sec per cui si calcola il tempo del
singolo bit che è:
Ritornando
alla formula SBTx
> ( 10 * t ) si
ha:
Se
invece fosse necessario terminare
la linea
quello che si fa è mettere
sul nodo più lontano
dal master una
resistenza
a carbone collegata
tra A e B
il cui valore deve essere pari all'impedenza caratteristica della
linea ZL.
In
Fig.6, vi è un'esempio tipico di terminazione.
Il
problema è determinare in modo corretto l'impedenza ZL
che è legata all'impedenza del cavo Zo
e all'impedenza dei chip 485.
In
generale l'impedenza ZL
varia tra i 120
e 560
ohm ma con i moderni 485 si arriva anche a 10...12Kohm.
Fig.6
A
parte individuare il valore corretto della resistenza o delle
resistenze di terminazione della linea c'è da dire che queste
resistenze aumentano i consumi del bus 485.
Se
supponiamo di dover inserire una sola resistenza di terminazione da
120 ohm e che la tensione differenziale sul bus sia di 5V avremo che
la corrente nel bus assorbita da questa resistenza sarà di 41mA = 5
/ 120 .
Capacità e Resistenze di Terminazione
Per diminuire la corrente che circola nella linea, applicazioni a batteria, si usa una terminazione resistivo capacitiva, Fig.7, il cui valore viene calcolato nel seguente modo:
C = Tp / ZL
Tp - tempo che il segnale impiega a percorrere tutta il bus RS485
Fig.7
Eye Diagram
Per
valutare fisicamente la qualità del segnale sul nostro bus possiamo
ricorrere ad un'oscilloscopio dotato di ingresso differenziale per
valutare l'eye diagram (diagramma ad occhio) Fig.8.
Per
visualizzare il grafico serve un'oscilloscopio con ingresso
differenziale con il trigger impostato sulla soglia di
discriminazione tra 0 e 1 e la base dei tempi coincidente con due o
tre bit di trasmissione.
In
Fig.8 sulla sinistra il segnale è OK mentre sulla destra il segnale
è al limite della possibilità di essere interpretato dai 485.
Fig.8
Polarizzazione del bus 485
Se
il bus 485 prevede che sia multi-master o che comunque quando nessuno
“parla” la linea sia lasciate in alta impedenza, tutti in
ricezione, nasce il problema della polarizzazione del bus.
Il
bus in alta impedenza capta disturbi elettromagnetici dall'esterno
che possono essere interpretati come segnali reali dai ricevitori in
ascolto.
Per
risolvere questo problema esistono due modi:
Fig.9
Supponiamo di avere la seguente condizione:
Bus
formato da 32 nodi con impedenza d'ingresso di 12K
Presenti
due resistori di terminazione di 120ohm
Tensione
di alimentazione 5V
La
resistenza complessiva tra le linee A e B sarà: 120//120//(32
x 12K)
cioè circa 52ohm
Per
avere una tensione tra A e B di 200mV con 52ohm serve far circolare
una corrente di circa 4mA.
Le
due resistenze Rb
devono essere ciascuna di:
Questa
rete di polarizzazione va posta in un solo punto della rete.
ATTENZIONE:
molti dispositivi 485 di ultima generazione hanno queste resistenze
già integrate per cui diventa inutile metterle esternamente.
Protezione da sovratensioni
In
generale è buona norma prevedere un qualche sistema di protezione
dai disturbi soprattutto se il bus è molto lungo.
Alcuni
dispositivi tipicamente utilizzati sono i MOV,
TRANZORB
e come ulteriore sicurezza scaricatori a GAS.
I
dispositivi devono avere tensioni
di intervento comprese tra 8 e 10V e
capacità parassite le più piccole possibili soprattutto se il bus
485 è ad alta velocità.
In
Fig.10 è riportato uno schema tipico.
Fig.10