Una sessione di comunicazione
RS-232
Vediamo a grandi linee un esempio di come sono utilizzati i segnali appena
definiti in una sessione di comunicazione seriale tra un PC (DTE) e un modem (DCE),
giusto per dare una idea delle funzioni che lo standard assegna loro.
-
il modem rilevare la presenza del segnale di chiamata sulla linea
telefonica e attiva la linea RI, comunicando l'
evento al computer
-
il computer attiva la linea DTR per avvertire il modem locale
di essere pronto a scambiare dati
-
quando il modem riceve il segnale DTR, verifica che
sulla linea telefonica ci sia segnale portante per i dati; una volta
individuata la presenza della portante, il modem attiva la linea DCD
-
il modem stabilizza il collegamento e quando è pronto
a trasmettere o ricevere dati avvisa il computer attraverso la linea DSR
-
lo scambio di dati tra modem e computer è ora gestito dai
segnali RTS e CTS.
Ad esempio, se il computer deve inviare dati al modem attiva RTS a cui
risponde il modem.
I dati sono scambiati sulle linee TXD e RXD.
Se la trasmissione richiede un rallentamento per adattarsi alle velocità
operative degli apparecchi o della linea telefonica, le linee RTS e CTS
servono come segnali di stop/avvio.
-
La comunicazione viene chiusa dal computer disattivando DTR
oppure dal modem che disattiva i segnali D CD, DSR e CTS. Se il computer
rileva DCD non valido, si pone in attesa, disattivando a sua volta DTR e RTS
In sostanza, perchè la comunicazione seriale sia possibile,
occorre che il DTE riceva attivi i segnali DCD, DSR e CTS, mentre il DCE deve
ricevere attivi DTR e RTS.
Da osservare che esiste una relazione tipica tra le coppie di segnali RTS-CTS e
DTR-DSR.
Questo fa si che la struttura dei cavi null-modem, o cavi incrociati, abbia
tipicamente un incrocio tra questi segnali. Va considerato che questa struttura è
quella prevista per una comunicazione tra DTE-computer e DCE-modem. Per
una comunicazione tra due DTE o due DCE oppure, in senso generale, tra un PC e
una periferica non-modem, è evidente che la presenza di una "chiamata
dalla linea" che attiva RI o della presenza della portante di linea, che
attiva DCD, sono del tutto superflue.
Va però considerato anche che è possibile l' uso di RI o DCD anche in
situazioni non-modem, ovviamente con funzioni diverse da quelle relative ad una
connessione telefonica.
Inoltre, lo scambio effettivo dei dati è sottomesso al solo controllo delle linee
RTS e CTS.
E, nel caso di impiego di handshake software, neppure queste sono
necessarie. Se l' UART si occupa della gestione hardware del
segnali, sarà però compito del software scritto per l' applicazione a determinare quali
handshake utilizzare e come utilizzarli.
E sarà possibile al progettista utilizzare una struttura analoga allo standard,
ma anche discostarsene decisamente.
Questo da origine ad un grandissimo numero di possibilità nella gestione dei
segnali di controllo dello scambio dati, che può essere
"personalizzato" dal costruttore dell' apparecchio a seconda delle sue
esigenze. E questa, sfortunatamente, è una delle problematiche più gravi della
connessione RS-232, ovvero le "personalizzazioni" che caratterizzano i
dispositivi non-modem.
Dato che, comunque, lo standard identifica
una forma di impiego degli handshake hardware, si sarbbe buona cosa che i
costruttori garantissero la
conformità anche in applicazioni dove i segnali non sono utilizzati o
utilizzati solo in parte o in modo diverso da quello sopra accennato.
Invece, in pratica, è comune adibire il segnale DCD come indicatore dello
stato di acceso della periferica e altre linee dipendenti da eventi come guasto,
errore, fine carta o simili. Oppure utilizzare solo parzialmente gli handshake,
in combinazioni non standard.
Ne deriva che, dove siano considerati tutti i segnali di handshake da una delle
apparecchiature collegate, mentre dall' altra siano impiegati solo i segnali strettamente necessari,
quelli non impiegati devono essere simulati, neutralizzati, collegando tra loro, sui connettori
del cavo, i pin attivi.
Ad esempio, è comune collegare RTS con CTS, in modo tale ciascun dispositivo,
attivando o disattivando RTS, se lo ritrovi riflesso in ingresso nella
linea CTS.
Così pure è comune collegare DTR con DSR e DCD. Più avanti, nel paragrafo relativo ai cavi, vediamo alcune possibili
configurazioni, anche se va tenuto presente che, al di fuori degli apparecchi
che utilizzino in modo strettamente standard i segnali di controllo, non si può fare
altro che consultare il manuale delle apparecchiature per derivarne le giuste
connessioni.
Se le linee di controllo non vengono connesse correttamente,
ovvero come il software di controllo delle apparecchiature prevede,
la comunicazione è impossibile, in quanto uno o
entrambi i dispositivi si troveranno con segnali non attivati.
Peggio, la
comunicazione può essere
aleatoria e difettosa nel caso in cui un dispositivo necessiti di rallentare l'
altro, ma, mancandogli la connessione corretta dei segnali di controllo, si
trovi in situazioni di sovraccarico in cui vanno persi caratteri.
|
|