La frame RS-232 - Il nuovo portale docenti

Bus RS-232
Ing. Gianfranco Miele ([email protected])
http://www.docente.unicas.it/gianfranco_miele
April 28, 2011
Bus RS-232
28 aprile 2011
Alcune definizioni
Comunicazione seriale
• Bit trasmessi in sequenza
• Basta una sola linea
• Più lenta ed economica
Comunicazione parallela
• Bit trasmessi su più linee
• Più veloce e costosa
Comunicazione asincrona
Ogni sequenza di bit trasporta
informazioni sufficienti alla
sua decodifica (start,stop,...)
Comunicazione sincrona
Sono previste linee per la
trasmissione di un segnale di
temporizzazione
Comunicazione punto-punto
Comunicazione multipunto
Corso di Laurea in Ingegneria Informatica e delle Telecomunicazioni
Laboratorio di Sistemi Automatici di Misura
Università degli
Studi di Cassino
Bus RS-232
28 aprile 2011
Alcune definizioni
Simplex
A
B
Half duplex
A
B
B
A
Corso di Laurea in Ingegneria Informatica e delle Telecomunicazioni
Laboratorio di Sistemi Automatici di Misura
Full duplex
A
B
Università degli
Studi di Cassino
Bus RS-232
28 aprile 2011
Standard RS-232
Definito dalla Electronic Industries Association (EIA) nel 1969
Nasce per l'interconnessione di un calcolatore (DTE, Data
Terminal Equipment) ed un modem (DCE, Data Communication
Equipment)
Corso di Laurea in Ingegneria Informatica e delle Telecomunicazioni
Laboratorio di Sistemi Automatici di Misura
Università degli
Studi di Cassino
Bus RS-232
28 aprile 2011
Controllo strumentazione
RS-232 Instrument
Serial Port
RS-232 Cable
•
Non richiede hardware aggiuntivo
•
Usa una singola linea
•
Collegamento PC-PC o PC-Strumento
Corso di Laurea in Ingegneria Informatica e delle Telecomunicazioni
Laboratorio di Sistemi Automatici di Misura
Università degli
Studi di Cassino
Bus RS-232
28 aprile 2011
Connettori
I dispositivi che dispongono di porte RS232 si distinguono in due
categorie:
- DTE: PC, terminali
- DCE: modem, stampanti, ...
Esistono connettori a 9 pin (DB-9) ed a 25 pin (DB-25)
Il connettore femmina dovrebbe, di norma, essere associato a DCE
(Data Communication Equipment), cioè la periferica, il connettore
maschio a DTE (Data Terminal Equipment), il computer.
Corso di Laurea in Ingegneria Informatica e delle Telecomunicazioni
Laboratorio di Sistemi Automatici di Misura
Università degli
Studi di Cassino
Bus RS-232
28 aprile 2011
Il segnale elettrico
Il protocollo indica che si possono utilizzare tensioni che vanno da ±5 V a
±15 V, ma la tensione classica usata è di ±12 V, per cui 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 EIA RS-232 un segnale alto rappresenta lo 0
logico ("mark") ed uno basso un 1 ("space"). È quindi una codifica a logica
negativa, ossia rovesciata rispetto al comune pensare.
Per incrementare l'immunità ai disturbi elettrici l'interfaccia elettrica ha una
soglia di commutazione di ±3 V, cioè per passare da uno stato ad un altro
non è sufficiente arrivare allo zero, ma dovrà essere superata la soglia dei
3 V di segno opposto.
Corso di Laurea in Ingegneria Informatica e delle Telecomunicazioni
Laboratorio di Sistemi Automatici di Misura
Università degli
Studi di Cassino
Bus RS-232
28 aprile 2011
La frame RS-232
La tensione di riposo (IDLE) della linea è negativa (= MARK)
•
1 bit di START: segna l'inizio del frame con la transizione MARK > SPACE
7 o 8 bit di dati: codifica binaria con MARK=1 e SPACE=0, bit meno
significativo (LSB) trasmesso per primo
•
•
1 bit di parità: per il controllo degli errori di trasmissione
• Parità pari: vale 0 se il numero di 1 nei bit dati è pari, 1 viceversa
• Parità dispari: vale 0 se il numero di 1 nei bit dati è dispari, 1 viceversa
• Nessuna parità: bit di parità assente
•
1, 1.5 o 2 bit di stop: riportano la tensione della linea a IDLE
Tensioni: MARK tra -12V e -3V e SPACE tra +3V e +12V
Corso di Laurea in Ingegneria Informatica e delle Telecomunicazioni
Laboratorio di Sistemi Automatici di Misura
Università degli
Studi di Cassino
Bus RS-232
28 aprile 2011
La frame RS-232
1
0
1
0
0
1
0
0
1
1
1
1
- 12V
Mark
IDLE
7 bit dati
Corso di Laurea in Ingegneria Informatica e delle Telecomunicazioni
Laboratorio di Sistemi Automatici di Misura
Bit
parità
Space
Start
bit
+ 12V
2 bit di
stop
Università degli
Studi di Cassino
Bus RS-232
28 aprile 2011
Parametri di comunicazione
•
Numero della porta (0 per COM1:, 1 per COM2:, ... )
•
Baud rate: velocità di comunicazione in bit/s (compresi i bit di
start, stop e parità). Valori tipici: 1200, 2400, 4800, 9600
•
Data bits: scelta tra 7 o 8 bit dati
•
Stop bits: scelta tra 1, 1.5 e 2 bit di stop
•
Parity: pari (“even”), dispari (“odd”) o nessuna
•
Flow control: controllo della comunicazione.
– Handshake
hardware: si usano ulteriori linee (RST e CTS)
per fissare inizio e fine di una sequenza di dati
– Handshake
software: si racchiude il messaggio trasmesso tra
due caratteri di controllo XON e XOFF
Corso di Laurea in Ingegneria Informatica e delle Telecomunicazioni
Laboratorio di Sistemi Automatici di Misura
Università degli
Studi di Cassino
Bus RS-232
28 aprile 2011
Descrizione del segnale
Esempio per una comunicazione a 9600 bps e 8N2
Tutte le transizioni appaiono in corrispondenza di multipli di 104
μs (pari ad 1/9600 s, cioè ciascun bit dura esattamente l'inverso
del baud rate).
La linea si trova inizialmente nello stato di riposo, alta (nessun
dato in transito); la prima transizione da alto a basso indica
l’inizio della trasmissione (inizia il "bit di start", lungo
esattamente 104 μs), a cui segue il bit meno significativo (LSB),
dopo altri 104 μs, e così via, per otto volte, fino al bit più
significativo (MSB). Da notare che il byte è trasmesso "al
contrario", cioè va letto da destra verso sinistra. Segue infine un
periodo di riposo della linea di almeno 208 μs, cioè due bit di
stop e quindi (eventualmente) inizia un nuovo pacchetto di bit.
Corso di Laurea in Ingegneria Informatica e delle Telecomunicazioni
Laboratorio di Sistemi Automatici di Misura
Università degli
Studi di Cassino
Bus RS-232
28 aprile 2011
RS-232 DB9 pinout
DB-9M
Function
Abbreviation
Pin #1
Data Carrier Detect
CD
Pin #2
Receive Data
RD or RX or RXD
Pin #3
Transmitted Data
TD or TX or TXD
Pin #4
Data Terminal Ready
DTR
Pin #5
Signal Ground
GND
Pin #6
Data Set Ready
DSR
Pin #7
Request To Send
RTS
Pin #8
Clear To Send
CTS
Pin #9
Ring Indicator
RI
Corso di Laurea in Ingegneria Informatica e delle Telecomunicazioni
Laboratorio di Sistemi Automatici di Misura
Università degli
Studi di Cassino
Bus RS-232
28 aprile 2011
Collegamento DTE-CTE
Rx
PC
(DTE)
Tx
Com
Rx
Tx
Com
Modem
Linea
telefonica
(DCE)
Nota: Per un DCE
•
Il connettore Rx è di output
•
Il connettore Tx è di input
Corso di Laurea in Ingegneria Informatica e delle Telecomunicazioni
Laboratorio di Sistemi Automatici di Misura
Università degli
Studi di Cassino
Bus RS-232
28 aprile 2011
Collegamento DTE-DTE (null modem)
PC
(DTE)
Rx
Rx
Tx
Tx
Com
Com
PC
(DTE)
Il cavo deve essere di tipo “null-modem”
Alcuni strumenti, come il Fluke 45, richiedono questo
tipo di collegamento (cioè sono dei DTE)
Corso di Laurea in Ingegneria Informatica e delle Telecomunicazioni
Laboratorio di Sistemi Automatici di Misura
Università degli
Studi di Cassino
Bus RS-232
28 aprile 2011
Comunicazione seriale via labview
Inizializzazione
Scrittura verso la porta
Corso di Laurea in Ingegneria Informatica e delle Telecomunicazioni
Laboratorio di Sistemi Automatici di Misura
Università degli
Studi di Cassino
Bus RS-232
28 aprile 2011
Comunicazione seriale via labview
Lettura dalla porta
# caratteri nel buffer di lettura
Corso di Laurea in Ingegneria Informatica e delle Telecomunicazioni
Laboratorio di Sistemi Automatici di Misura
Università degli
Studi di Cassino
Bus RS-232
28 aprile 2011
Esempio controllo di un multimetro
Configurazione
Stringa inviata alla seriale:
*RST;VDC\n\r
Query
Lettura del
risultato di misura
VAL?\n\r
Stringa letta dalla seriale:
+1.2345E+0 VDC\r\n
Corso di Laurea in Ingegneria Informatica e delle Telecomunicazioni
Laboratorio di Sistemi Automatici di Misura
Università degli
Studi di Cassino
Bus RS-232
28 aprile 2011
Esempio I/O su RS-232
Corso di Laurea in Ingegneria Informatica e delle Telecomunicazioni
Laboratorio di Sistemi Automatici di Misura
Università degli
Studi di Cassino
Bus RS-232
28 aprile 2011
Attesa dell’invio dati
Non si possono leggere dati che non siano ancora stati inviati
Prima soluzione: attendere il riempimento del buffer (deve essere
noto il numero di byte da leggere)
Query
(Richiesta di dati
di misura)
Attesa dei dati
Lettura dei dati
Corso di Laurea in Ingegneria Informatica e delle Telecomunicazioni
Laboratorio di Sistemi Automatici di Misura
Università degli
Studi di Cassino
Bus RS-232
28 aprile 2011
Attesa dell’invio dati
Seconda soluzione: attendere per un intervallo di tempo
sufficiente
Corso di Laurea in Ingegneria Informatica e delle Telecomunicazioni
Laboratorio di Sistemi Automatici di Misura
Università degli
Studi di Cassino