|
 |
Standard RS232C |
CONTROLLO SW DEL FLUSSO
[56 di 403] |
|
|
 |
Aggiornato 15
novembre 2006 |
 | Il controllo
del flusso dati (handshake)
tra dispositivi seriali può essere esercitato anche da
software, coinvolgendo particolari
bytes
(in aggiunta a quelli
di dato) direttamente sulle linee di
comunicazione TD e
RD. |
 | Il metodo
software si rende necessario quando
le linee
CTS e
RTS sono presenti solo da una parte del collegamento (di solito il computer
DTE),
rendendo impossibile l'hardware handshake, sebbene esso sia più naturale e
più diffuso; spesso in questi casi il
dispositivo DCE,
invece di un
modem
locale, è una
stampante o un
plotter. |
 | La possibilità di disporre di questo
protocollo è spesso suggerita in fase di
installazione dei programmi (driver) di gestione della periferica seriale. |
 | Il protocollo di controllo
software del flusso dati
è detto anche Xon/Xoff dal nome dei 2
caratteri usati:
 | non appena il suo buffer
è
pieno la periferica
seriale obbliga il computer ad
interrompe l'erogazione dei dati in uscita verso se stessa,
spedendo il carattere
Xoff, di
valore 13H (=19
decimale), corrispondente al carattere Ascii di controllo
DC3 (o Control-S,
dal nome dei tasti
che si possono premere per ottenere lo stesso effetto) |
 | solo quando ha smaltito i dati a disposizione (buffer
di nuovo vuoto) la periferica
seriale avvisa il
computer
locale che è
pronta ad accettarne altri, spedendo
il carattere Xon, di
valore 11H (=17
decimale), corrispondente al carattere ascii di controllo
DC1 (o
Control-Q, dal nome dei tasti che si
possono premere per ottenere lo stesso effetto) |
|
 | E' opportuno chiarire
che i dati
sono trasmessi dal
DTE
(computer) e
ricevuti dal DCE
(modem
o stampante
o plotter o
altro); il
flusso dell'informazione seriale tenderebbe a continuare
ininterrottamente, con il rischio che qualche
nuovo dato arrivi
prima che quelli già presenti nel
buffer di ricezione del DCE
siano da esso scaricati ed utilizzati |
 | Per evitare l'inevitabile
perdita d'informazione dovuta a questo fenomeno (detto
overrun
del buffer del ricevitore):
 | nel
controllo
hardware
sono utilizzate le linee
CTS e
RTS |
 | nel
controllo
software
(con
protocollo Xon/Xoff) l'indisponibilità
di tali linee obbliga
DCE
(di norma ricevitore) a diventare a
sua volta anche trasmettitore,
chiamandolo a spedire, ogni tanto,
uno dei 2 caratteri ci controllo
Xon e/o Xoff
, in accordo con gli eventi descritti nel paragrafo precedente. |
|
 | La mancata necessità delle linee addizionali
CTS e
RTS rende il
controllo
software certamente
più economico
rispetto a quello hardware ma anche soggetto a svantaggi piuttosto evidenti:
 | se per qualche ragione non è possibile assicurare lo
scambio dei caratteri di controllo
del protocollo, il fenomeno dell'overrun
del buffer del ricevitore (DCE)
sarà inevitabile e tutta
la comunicazione seriale sarà a
rischio; in questo caso il computer
DTE:
 | nel caso di
perdita di Xon smetterà per
sempre di spedire nuovi dati |
 | nel caso di perdita di
Xoff continuerà a riversarli in linea con effetti disastrosi |
|
 | la comunicazione seriale sarà
più lenta,
data l'inevitabile necessità di coinvolgere un grande numero di caratteri (Xon/Xoff)
in più, tra l'altro da almeno 10 bit ciascuno, per la presenza (come per gli
altri) dei 2 bit di start/stop |
 | il software si dovrà occupare della
verifica e della
gestione dei caratteri
di controllo
software: in particolare dovrà riservare
particolare attenzione
nell'interpretazione dei caratteri ricevuti
dal trasmettitore dei dati, per poter
distinguere con
certezza i 2 bytes di controllo
da altri eventuali
bytes in arrivo, nel caso
che i primi siano inseriti tra i secondi, dando per probabile che tra
essi ci
siano bytes uguali a 13H o a
11H, assolutamente da non confondere con
quelli operativi, DC1 e
DC3 |
|
 |
In definitiva il
controllo
software del
flusso dati,
per garantire una probabilità di
overrun
è molto bassa,
è applicabile solo se la velocità di comunicazione è
bassa e se la
linea è di buona qualità
(poco rumorosa). |
©
2001-2010 - Studio Tecnico
ing. Giorgio OBER
Tutti i diritti sono riservati
|