TIGULLIOHAMRADIO 

WWW.TIGULLIOHAMRADIO.ALTERVISTA.ORG


Vai a fine pagina
Torna a TigullioHamradio-documentazione 
Torna alla home page

I collegamenti via RS232


I collegamenti via cavo seriale nei computer odierni sono quasi completamente abbandonati sostituiti da tipi di collegamento molto piu' veloci e comodi come ad esempio lo standard USB o quello FIREWIRE.
Cio' non toglie che siano ancora molto usati in ambito industriale e, cosa che ci riguarda piu' da vicino, in ambito Radioamatoriale.

Un po' di teoria sulla porta seriale o RS232:

Seriale significa che i bit che costituiscono l’informazione sono trasmessi uno alla volta su di un solo "filo" questo termine è in genere contrapposto a "parallelo", in questo caso i dati sono trasmessi contemporaneamente su più fili, per esempio 8, 16 o 32.
Parlando astrattamente si potrebbe pensare che la trasmissione seriale sia molto più lenta di quella parallela (su di un filo possono passare meno informazioni che su 16). In realtà questo non è vero in assoluto, soprattutto a causa della difficoltà di controllare il disallineamento temporale tra i vari segnali dei molti trasmettitori in un bus parallelo, e dipende dalle tecnologie adottate, per esempio in una fibra ottica, in un cavo ethernet, USB o FireWire (tutti standard seriali) le informazioni transitano ad una velocità paragonabile a quella di un bus parallelo PCI a 32 fili.
Qui pero' parleremo solo di interfacce seriali "lente" cioè gestibili da PC e microcontrollori "normali" (normalmente fino a 115200 bps ma si puo'arrivare anche fino a 921600 bps).

Nell’immagine a lato è visualizzato, in modo idealizzato, cosa appare collegando un oscilloscopio ad un filo su cui transita un segnale RS-232 a 9600 bps del tipo rappresentante il valore binario 01001011.
L’ampiezza del segnale è caratterizzata da un valore "alto" pari a circa +12 V ed un valore "basso" pari a –12 V. Da notare che, nello standard RS-232 un segnale alto rappresenta lo zero logico ed uno basso un uno come indicato nel disegno, è quindi una codifica a logica negativa, ossia rovesciata rispetto al comune pensare.
A volte un segnale alto (+12 V, cioè uno zero logico) è indicato come space ed uno basso (-12 V, uno logico) come mark.
Tutte le transizioni appaiono in corrispondenza di multipli di 104us (pari ad 1/9600 cioè ciascun bit dura esattamente l'inverso del baud rate).

   

Essendo il segnale seriale variabile da +12 V a -12 V non puo' essere direttamente interfacciato con un microcontrollore o comunque a porte TTL o CMOS che lavorano con un segnale che varia tra 0 e 5 V, esistono vari modi per adattare i livelli del segnale, comunque senza complicarsi la vita in commercio esistono appositi traslatori di livello che hanno il compito di fornire sia in trasmissione che in ricezione gli opportuni livelli pur non modificando la forma del segnale trasmesso, il piu' famoso e' il MAX232 della Maxim ma ne esistono molti altri prodotti da diverse ditte di semiconduttori.

In teoria per ricevere e trasmettere tramite RS-232 bastano tre fili: ricezione, trasmissione e massa e spesso lo è anche in pratica.
Gli altri fili (spesso opzionali, ma dipende dall’applicazione) servono per il cosiddetto handshake tra PC e periferica (o tra PC e PC) cioè per la sincronizzare hardware della comunicazione, spesso sono quindi presenti altre coppie di fili che sono:
* RTS/CTS: quando il PC inizia la trasmissione pone RTS alto, la periferica risponde quando pronta ponendo CTS alto, per interrompere la trasmissione la periferica pone CTS basso.
* DTR/DSR: Quando il PC è collegato per la prima volta, pone alto DTR, la periferica risponde ponendo alto DSR.
Purtroppo questo modo di procedere ha un’infinità di variazioni la parola d’ordine è leggere i manuali quando presenti o... arrangiarsi per tentativi!

Un uso alternativo dei pin RTS e DTR è l'utilizzo come fonte di alimentazione del dispositivo collegato alla porta seriale stessa, l'esempio classico è il mouse seriale ma nulla impedisce di collegare un microcontrollore generico o qualche altro circuito, unico ed importante limite è la corrente erogata, visto che questi pin non sono pensati per questo uso, è opportuno limitarsi ad un paio di mA anche se molti PC permettono di arrivare tranquillamente a 10mA o anche più.
Attenzione che è una sorgente non regolata, aumentando la corrente assorbita la tensione scende in modo significativo, inoltre spesso vi è un forte rumore sovrapposto e la tensione effettivamente erogata cambia da macchina a macchina.

Dopo questa breve e senz'altro incompleta introduzione sullo standard RS232 vediamo di spiegare come eseguire un corretto collegamento tramite cavo seriale.
Innanzitutto cominciamo a fare una importante distinzione in base a cosa si vuol collegare, i computer e i microcontrollori sono chiamati DTE (data terminal equipment) in quanto considerati componenti terminali, mentre i modem e gli hub sono chiamati DCE (data communications equipment) perche' considerati un tramite per le comunicazioni, la differenza e' che per collegare due DTE i segnali RX e TX vanno incrociati realizzando il cosidetto cavo "null modem" mentre collegando un DTE ad un DCE i cavi vanno diritti in quanto l'incrocio e' gia' previsto all'interno del DCE.
Un'altra distinzione va fatta in base al tipo di connettore che puo' essere del tipo DB9 (9 pin) o DB25 (25 pin), vediamo le piedinature di entrambi:


 
DB9
 
DB25

 

In base alle distinzioni sopracitate vediamo quindi come effettuare i collegamenti.

Collegamenti DTE-DTE con connettori a 9pin (Cavo null modem):

Cavo completo che utilizza sia i segnali DTR-DSR che i segnali RTS-CTS.
Il fatto che siano stati collegati tutti i pin, non implica comunque l'obbligo di usarli.

Cavo per collegamento che utilizza un handshake hardware di tipo DTR-DSR.
I segnali RTS-CTS sono stati cortocircuitati (ponticellati) in modo da auto-simularsi il segnale (quando il PC alza l'RTS si ritrova automaticamente alzato il CTS).

Cavo per collegamento che non utilizza alcun handshake hardware, mentre rimane possibile usare l'handshake di tipo XON-XOFF.

 


Collegamenti DTE-DTE con connettori a 25pin (Cavo null modem):

Cavo completo che utilizza sia i segnali DTR-DSR che i segnali RTS-CTS.
Il fatto che siano stati collegati tutti i pin, non implica comunque l'obbligo di usarli.

Cavo per collegamento che utilizza un handshake hardware di tipo DTR-DSR.
I segnali RTS-CTS sono stati cortocircuitati (ponticellati) in modo da auto-simularsi il segnale (quando il PC alza l'RTS si ritrova automaticamente alzato il CTS).

Cavo per collegamento che non utilizza alcun handshake hardware, mentre rimane possibile usare l'handshake di tipo XON-XOFF.

 


Collegamenti DTE-DCE con connettori a 9 pin:

Cavo completo che utilizza sia i segnali DTR-DSR che i segnali RTS-CTS.
Il fatto che siano stati collegati tutti i pin, non implica comunque l'obbligo di usarli.

Cavo per collegamento che utilizza un handshake hardware di tipo DTR-DSR.
I segnali RTS-CTS sono stati cortocircuitati (ponticellati) in modo da auto-simularsi il segnale (quando il PC alza l'RTS si ritrova automaticamente alzato il CTS).

Cavo per collegamento che non utilizza alcun handshake hardware, mentre rimane possibile usare l'handshake di tipo XON-XOFF.

 

 

Collegamenti DTE-DCE con connettori a 25 pin:

Cavo completo che utilizza sia i segnali DTR-DSR che i segnali RTS-CTS.
Il fatto che siano stati collegati tutti i pin, non implica comunque l'obbligo di usarli.

Cavo per collegamento che utilizza un handshake hardware di tipo DTR-DSR.
I segnali RTS-CTS sono stati cortocircuitati (ponticellati) in modo da auto-simularsi il segnale (quando il PC alza l'RTS si ritrova automaticamente alzato il CTS).

Cavo per collegamento che non utilizza alcun handshake hardware, mentre rimane possibile usare l'handshake di tipo XON-XOFF.

 


Ed in ultima analisi vediamo il caso in cui il terminale ha un connettore DB9 ed il modem DB25

Collegamenti DTE 9pin -DCE 25 pin:

Cavo completo che utilizza sia i segnali DTR-DSR che i segnali RTS-CTS.
Il fatto che siano stati collegati tutti i pin, non implica comunque l'obbligo di usarli.

Cavo per collegamento che utilizza un handshake hardware di tipo DTR-DSR.
I segnali RTS-CTS sono stati cortocircuitati (ponticellati) in modo da auto-simularsi il segnale (quando il PC alza l'RTS si ritrova automaticamente alzato il CTS).

Cavo per collegamento che non utilizza alcun handshake hardware, mentre rimane possibile usare l'handshake di tipo XON-XOFF.

 

Significati delle sigle:
RXD: Receive Data
TXD: Transmit Data
DTR: Data Terminal Ready
DSR: Data Set Ready
RTS: Request To Send
CTS: Clear To Send
GND: Signal Ground

Per I cavi seriali lo standard originale RS232 prevedeva una lunghezza massima consigliata di 15 metri senza specificare le caratteristiche del cavo, con la successiva norma RS232D la specifica e’ stata resa piu’ moderna sostituendo il vincolo della lunghezza con la “capacita’ elettrica” del cavo, il nuovo standard prevede infatti un carico capacitivo massimo di 2500Pf.
In generale con cavi standard non schermati la massima lunghezza consigliabile e’ intorno ai 25 metri dipendente comunque anche dai disturbi elettromagnetici presenti. Con cavi schermati si possono coprire distanze di circa 100 metri a 9600bps, si possono coprire distanze anche maggiori migliorando il cavo o rinunciando alla velocita’ ad esempio, con cavo schermato di buona qualita’ si puo’ arrivare anche a 1000 metri a 1200 bps.
Per l’esecuzione di un buon collegamento la calza del cavo schermato non deve essere utilizzata come conduttore di segnale ma deve essere messa a massa collegandola soltanto su uno dei due lati onde evitare l’insorgenza di anelli di massa.


Vai a inizio pagina Torna a TigullioHamradio-documentazione 
Torna alla home page