La comunicazione RS-232

Transcript

La comunicazione RS-232
http://www.mrscuole.net/anxapic/
A. S. 2011-2012
La comunicazione RS232
Vedi anche: Il protocollo RS232 di Mauro Laurenti [ http://www.Laurtec.it ]
Nicola Amoroso
[email protected]
Gran parte del materiale proposto in queste slides è facilmente reperibile sul web su vari siti dedicati
Un grazie a Mauro Laurenti per il suo Tutorial scaricabile dal suo sito di elettronica: http://www.lautrec.it
na_RS232
http://www.mrscuole.net/anxapic/
1
http://www.mrscuole.net/anxapic/
Corso introduttivo sui
microcontrollori
http://www.mrscuole.net/anxapic/
La comunicazione seriale RS-232 permette lo scambio di dati tra
dispositivi digitali.
In ambiente industriale si trovano moltissimi dispositivi che comunicano tra
loro e con i PC (Personal Computer) attraverso un protocollo molto diffuso,
ben noto e molto collaudato; il protocollo RS-232. Tale protocollo è stato
introdotto diversi anni fa ( EIA–1969) ed è lo standard per la trasmissione
seriale che caratterizza l’interconnessione tra un dispositivo digitale (PC o
terminale) indicato come DTE (Data Termi Equivalent) e un dispositivo per
l’accesso alla rete telefonica, indicato come DCE (Data Comunicat
Equipment).
na_RS232
http://www.mrscuole.net/anxapic/
2
http://www.mrscuole.net/anxapic/
La comunicazione RS-232
http://www.mrscuole.net/anxapic/
Questo standard supporta la comunicazione asincrona su linee dedicate,
commutate, private, in configurazione punto a punto o multipunto in
modalità simplex, half duplex, full duplex tra apparecchiature che hanno
collegamento comune a massa. Secondo lo standard il cavo di
collegamento DTE-DCE non deve superare i 15 metri.
[Maggiori ragguagli e considerazioni sulle configurazioni e modalità di
comunicazione nei corsi di Telecomunicazioni e Telematica]
na_RS232
http://www.mrscuole.net/anxapic/
3
http://www.mrscuole.net/anxapic/
La comunicazione RS-232
http://www.mrscuole.net/anxapic/
Il problema della comunicazione
cfr. tutorial: il protocollo RS232 [http:www.laurtec.it]
Un qualunque dispositivo hardware dopo aver elaborato un segnale in
maniera analogica o digitale deve poter comunicare per mezzo di
un'interfaccia di output i risultati ottenuti. In particolare la visualizzazione
o
un
ulteriore elaborazione possono avvenire per mezzo di un altro
dispositivo che può trovarsi fisicamente distante dal primo. Sorge dunque il
problema della trasmissione di dati.
Per breve tratte si tende a far prevalere una comunicazione parallela
laddove effettivamente i dati da trasmettere siano digitali.
Con trasmissione parallela si intende l'utilizzo di più linee dati
(collegamenti, fili) per trasmettere l'informazione.
na_RS232
http://www.mrscuole.net/anxapic/
4
http://www.mrscuole.net/anxapic/
La comunicazione RS-232
http://www.mrscuole.net/anxapic/
Il problema della comunicazione
cfr. tutorial: il protocollo RS232 [http:www.laurtec.it]
In modalità parallela lo scambio, fra due o più dispositivi, di un certo
valore binario, composto da più bit, avviene attraverso più linee di
collegamento. Poiché i vari bit della parola binaria vengono scambiati
nello stesso istante, diciamo che viaggiano in parallelo lungo queste linee
che, all’interno del sistema, prendono il nome di BUS. Quindi per esempio
quando il computer invia il carattere ‘A’ alla stampante, lungo il data bus
vengono
trasmessi
contemporaneamente
8
bit.
Questo
tipo
di
collegamento permette velocità particolarmente elevate. Nonostante le
apparenti brevi distanze che separano il microprocessore dalle varie
periferiche, il tempo di trasmissione, seppur piccolo, è comunque non
nullo.
na_RS232
http://www.mrscuole.net/anxapic/
5
http://www.mrscuole.net/anxapic/
La comunicazione RS-232
http://www.mrscuole.net/anxapic/
Il problema della comunicazione
cfr. tutorial: il protocollo RS232 [http:www.laurtec.it]
Questa tecnica richiede più fili, ma ha
l’indubbio vantaggio di aumentare la
banda: come è facilmente intuibile, il
numero massimo di bit trasferibili
nell’unità
di
tempo
si
ottiene
moltiplicando il limite fisico proprio di
ogni canale (filo) per il numero dei
Trasmissione in parallelo del codice
associato al carattere ‘A’
na_RS232
canali (bit/fili)
http://www.mrscuole.net/anxapic/
6
http://www.mrscuole.net/anxapic/
La comunicazione RS-232
http://www.mrscuole.net/anxapic/
Il problema della comunicazione
cfr. tutorial: il protocollo RS232 [http:www.laurtec.it]
La trasmissione parallela non poteva essere facilmente adattata ai
terminali, ossia dispositivi provvisti di tastiera (e spesso senza video) che
costituivano le periferiche di input dei primi computer: avrebbero richiesto
almeno 8 fili, oltre al cavo di massa ed ad uno riservato al clock di
sincronismo. La velocità non era un fattore importante.
Ancor meno si adattava alla trasmissione
su linea telefonica, dove i fili sono due:
uno per il segnale e la massa.
La tecnologia introdusse quindi il
protocollo seriale, che come suggerisce il
nome, mette in SERIE (in fila) i bit da
trasmettere
na_RS232
http://www.mrscuole.net/anxapic/
7
http://www.mrscuole.net/anxapic/
La comunicazione RS-232
http://www.mrscuole.net/anxapic/
Il problema della comunicazione
cfr. tutorial: il protocollo RS232 [http:www.laurtec.it]
Esistono dispositivi integrati in grado di serializzare i bit. Si noti che per
primo è trasmesso il bit meno significativo ( LSB first ). Un circuito che
opera questa conversione è un automa a stati finiti che viene realizzato
con uno shift register a 8 bit.
na_RS232
http://www.mrscuole.net/anxapic/
8
http://www.mrscuole.net/anxapic/
La comunicazione RS-232
http://www.mrscuole.net/anxapic/
Il problema della comunicazione
cfr. tutorial: il protocollo RS232 [http:www.laurtec.it]
All’interno
di
sistemi
abbastanza
complessi,
tipo
i
MicroProcessori
o
i
MicroControllori, esistono sottosistemi integrati in grado di «serializzare» i dati da
tramettere.
Nei microControllori picmicro della microChip la comunicazione seriale RS-232 si
implementa (in modalità hardware) facendo uso della periferica (sottosistema)
chiamata USART (Universal Synchronous Asynchronous Receiver Transmitter).
La comunicazione RS-232 può essere implementata anche su controllori picmicro
che non hanno on board la periferica USART, mediante emulazione software;
esistono dei codici sorgenti (in linguaggio C o in altro linguaggio) che permettono
una emulazione di questa trasmissione.
na_RS232
http://www.mrscuole.net/anxapic/
9
http://www.mrscuole.net/anxapic/
La comunicazione RS-232
http://www.mrscuole.net/anxapic/
Il problema della comunicazione
cfr. tutorial: il protocollo RS232 [http:www.laurtec.it]
Sia che la trasmissione sia parallela o seriale si parla di trasmissioni simplex, halfduplex e full-duplex. Con questi nomi si caratterizza ulteriormente il tipo di
trasmissione.
In particolare si ha una trasmissione simplex quando i dati viaggiano in un
unico senso, ovvero si invia una informazione senza preoccuparsi di nessuna
risposta da parte del ricevitore. Con questo tipo di trasmissione non è dunque
possibile sapere se l'informazione è effettivamente giunta a destinazione ed
inoltre non c'è un vero scambio di informazioni tra chi trasmette e chi riceve.
Per trasmissione half-duplex si intende una trasmissione che può avvenire in
ambo i sensi ma non contemporaneamente. Il fatto che la trasmissione non
debba avvenire contemporaneamente può essere dovuta alla presenza di un solo
cavo per la trasmissione dati o poiché le risorse hardware non permettono di
ottenere una comunicazione bidirezionale nello stesso intervallo di tempo.
na_RS232
http://www.mrscuole.net/anxapic/
10
http://www.mrscuole.net/anxapic/
La comunicazione RS-232
http://www.mrscuole.net/anxapic/
Il problema della comunicazione
cfr. tutorial: il protocollo RS232 [http:www.laurtec.it]
In ultimo vi è la trasmissione full-duplex che permette una comunicazione in
ambo i sensi e in contemporanea.
Questo non necessariamente significa che siano presenti due linee dati, una per la
trasmissione e una per la ricezione, infatti con la cosiddetta multiplazione di
frequenza, utilizzata per esempio in telefonia, è possibile trasmettere più
informazioni in contemporanea su un unico cavo.
Due altri sottogruppi di trasmissioni che è possibile individuare sia tra quelle
parallele che quelle seriali è l'insieme delle trasmissioni sincrone e quelle
asincrone.
Per trasmissione sincrone si intende che assieme alle linee dati viene trasmesso
anche un segnale di clock in modo da sincronizzare le varie fasi di trasmissione
e ricezione dati (es. trasmissione seriale I2C).
Con trasmissioni sincrone, avendo a disposizione una base dei tempi, è possibile
raggiungere velocità di trasmissione più alte che non nel caso asincrono.
na_RS232
http://www.mrscuole.net/anxapic/
11
http://www.mrscuole.net/anxapic/
La comunicazione RS-232
http://www.mrscuole.net/anxapic/
Il problema della comunicazione
cfr. tutorial: il protocollo RS232 [http:www.laurtec.it]
Anche se letteralmente asincrono vuol dire senza sincronismo, non significa
che questo non sia presente. Per asincrono si intende solo che il sincronismo
non viene trasmesso per mezzo di un clock presente su una linea ausiliaria. Il
sincronismo è sempre necessario.
Nelle trasmissioni asincrone, sia il trasmettitore che il ricevitore sono
preimpostati a lavorare ad una certa velocità. Quando il ricevitore si accorge
che il trasmettitore ha iniziato a trasmettere, conoscendo la sua velocità
saprà interpretarlo.
Per lo scambio di dati tra dispositivi diversi sono presenti molti tipi di trasmissioni
sia seriali che parallele. Affinché i due interlocutori si possano capire è necessario
che parlino la stessa lingua.
In termini tecnici si parla di protocollo per intendere l'insieme di regole e
specifiche che il trasmettitore e il ricevitore devono avere affinché si possano
comprendere.
na_RS232
http://www.mrscuole.net/anxapic/
12
http://www.mrscuole.net/anxapic/
La comunicazione RS-232
http://www.mrscuole.net/anxapic/
Il problema della comunicazione
cfr. tutorial: il protocollo RS232 [http:www.laurtec.it]
Altro parametro importante nella comunicazione secondo il protocollo RS-232 è la
cosidetta velocità di trasmissione.
Le unità di misura della velocità di trasmissione sono essenzialmente due: il baud
ed il bit per secondo [bps (molto raramente indicato come b/s)], spesso trattate
erroneamente come sinonimi.
Il baud rate indica il numero di transizioni al secondo che avvengono sulla linea.
Il bps indica, come dice il nome, quanti bit al secondo sono trasmessi lungo la
linea.
Nel caso di trasmissione binaria (cioè è presente un livello alto ed uno basso)
le due cose ovviamente coincidono numericamente, da cui la parziale
equivalenza dei due termini.
Invece nel caso di trasmissioni a più livelli, è possibile trasmettere con una sola
transizione più bit.
na_RS232
http://www.mrscuole.net/anxapic/
13
http://www.mrscuole.net/anxapic/
La comunicazione RS-232
http://www.mrscuole.net/anxapic/
Il problema della comunicazione
cfr. tutorial: il protocollo RS232 [http:www.laurtec.it]
Ad esempio si possono trasmettere otto diversi valori di tensione tra 0 ed 7 volt.
Con un solo valore di tensione invio tre bit (0V = 000, 1V = 001, 2V = 010…) ed in
questo caso una trasmissione a 1000 baud equivale ad una a 3000 bps.
Se si utilizzano solo segnali binari (caratterizzati da due soli livelli logici) trasmessi
secondo lo standard RS232: il baud rate, pari all'inverso della durata di un bit,
coincide numericamente con il bps.
na_RS232
http://www.mrscuole.net/anxapic/
14
http://www.mrscuole.net/anxapic/
La comunicazione RS-232
http://www.mrscuole.net/anxapic/
Caratteristiche del protocollo RS-232
cfr. tutorial: il protocollo RS232 [http:www.laurtec.it]
Lo standard RS-232 per la trasmissione seriale di dati in formato digitale, impone
dei vincoli sia di natura meccanica che elettrica, oltre che al formato dei dati stessi.
Il connettore utilizzato nei personal computer è di due tipi, il DB25 maschio e
il DB9 maschio.
Ai suoi albori il connettore utilizzato era il DB25 rimpiazzato con il DB9 . L'RS232
è legato al DB25 mentre RS232C è legato al DB9, per i segnali che verranno
presentati non c'è però alcuna differenza.
Nei PC di ultima generazione
esistono solo connettori USB
però è anche possibile trovare
opportuni
adattatori
DB9 – Maschio
DB9 - Femmina
na_RS232
DB25 – Maschio
DB35 - Femmina
USB – RS232
http://www.mrscuole.net/anxapic/
15
http://www.mrscuole.net/anxapic/
La comunicazione RS-232
http://www.mrscuole.net/anxapic/
Caratteristiche del protocollo RS-232
cfr. tutorial: il protocollo RS232 [http:www.laurtec.it]
DB25 – Maschio
DB25 – Maschio
E' possibile osservare che sono presenti più di due linee. Questo è dovuto al fatto che nel
protocollo RS232 sono presenti anche regole per handshaking (stretta di mano) ovvero
linee che permettono al trasmettitore e al ricevitore di avere informazioni dirette l'uno
dell'altro. I modem fanno uso di queste linee, ma si può ottenere una trasmissione fullduplex con il solo utilizzo delle linee TD, RD e GND.
na_RS232
http://www.mrscuole.net/anxapic/
16
http://www.mrscuole.net/anxapic/
La comunicazione RS-232
http://www.mrscuole.net/anxapic/
Caratteristiche del protocollo RS-232
cfr. tutorial: il protocollo RS232 [http:www.laurtec.it]
Vediamo ora a cosa servono le varie linee di trasmissione:
• DCD è pensato per il modem è viene attivato quando e collegato al PC.
• RD linea di ricezione dati.
• TD linea di trasmissione dati.
• DTR è attivato quando il PC è pronto per il collegamento con una periferica esterna.
• DSR viene attivata dalla periferica quando e pronta.
• RTS viene posta alta dal PC quando è pronto per trasmettere dati alla periferica.
• CTS attivata in risposta al segnale RTS quando la periferica è pronta per trasmettere dati
• RI viene attivato dal modem quando rileva il trillo di una chiamata telefonica.
na_RS232
http://www.mrscuole.net/anxapic/
17
http://www.mrscuole.net/anxapic/
La comunicazione RS-232
http://www.mrscuole.net/anxapic/
I segnali elettrici
cfr. tutorial: il protocollo RS232 [http:www.laurtec.it]
il protocollo RS232 usa due particolari simboli, detti Mark e Space:
Mark 1 logico da -25V a –3V
Space 0 logico da +3V a +25V
Come è possibile osservare l'intervallo di tensione che caratterizza ogni livello logico è
molto ampio.
Confrontando i livelli di tensione di questo protocollo con lo standard TTL in cui i livelli di
tensione sono compresi tra 0V (0 logico) e 5V (1 logico) è possibile notare che un livello di
tensione alto corrisponde ad uno zero logico.
Nonostante l'ampiezza dell'intervallo di tensioni ammissibili nel protocollo
RS232, generalmente si usano livelli di tensione compresi tra ±12V.
na_RS232
http://www.mrscuole.net/anxapic/
18
http://www.mrscuole.net/anxapic/
La comunicazione RS-232
http://www.mrscuole.net/anxapic/
I segnali elettrici
cfr. tutorial: il protocollo RS232 [http:www.laurtec.it]
I livelli di tensione più bassi vengono utilizzati al fine di limitare l'irradiamento di
campi elettromagnetici verso l'esterno. Questi potrebbero dare fastidio agli altri cavi
che viaggiano in prossimità del nostro cavo RS232.
Al fine di limitare interferenze elettromagnetiche con altri cavi è imposto un
limite anche per lo slew-rate a 30V/µs. Questo parametro quantifica la rapidità con
la quale avviene la variazione dei livelli logici ovvero della tensione (lo slew-rate
individua la pendenza del fronte di salita o di discesa di un segnale associato ad un
cambio di livello logico).
Per ottenere una migliore immunità al rumore proveniente dall'ambiente
esterno si tende ad usare i livelli di tensione più alti. Tra le altre caratteristiche
tecniche che bisogna ricordare c'è quella relativa alle impedenze di ingresso e di
uscita delle varie porte di trasmissione e ricezione. In particolare l'impedenza
d'ingresso deve essere compresa tra i 3KΩ e i 7KΩ, mentre l'impedenza di uscita
deve essere maggiore di 300Ω.
na_RS232
http://www.mrscuole.net/anxapic/
19
http://www.mrscuole.net/anxapic/
La comunicazione RS-232
http://www.mrscuole.net/anxapic/
Il controllo degli errori di trasmissione
cfr. tutorial: il protocollo RS232 [http:www.laurtec.it]
Il protocollo prevede un grezzo meccanismo di controllo degli errori, o meglio di
semplice rilevazione di errore. Alla fine della trama dei bit il trasmettitore calcola un
bit supplementare, detto bit di parità.
Supponiamo
di dover trasmettere il byte 10010011, sia che si trasmetta
serialmente un bit alla volta sia che si trasmetta tutti i bit in parallelo, ci sarà
possibilità che qualche bit possa cambiare di livello prima di giungere a
destinazione a causa del rumore esterno.
L'errore, di suo, non è eliminabile, ma si può limitare la possibilità che questo
si verifichi.
Per limitare il verificarsi di un errore si provvede alla schermatura del cavo e al suo
intreccio in modo da limitare gli effetti nocivi di eventuali campi elettromagnetici che
si possono accoppiare con il nostro cavo.
Nonostante questo accorgimento l'errore può avvenire.
na_RS232
http://www.mrscuole.net/anxapic/
20
http://www.mrscuole.net/anxapic/
La comunicazione RS-232
http://www.mrscuole.net/anxapic/
Il controllo degli errori di trasmissione
cfr. tutorial: il protocollo RS232 [http:www.laurtec.it]
Subentrano a questo punto le tecniche per la correzione
Queste presumono in primo luogo che sia possibile accorgersi dell'errore. Per fare
questo è necessario aggiungere, come si dice in gergo, della ridondanza, ovvero
degli ulteriori bit che permettano di fare dei controlli sulle informazioni
ricevute.
Maggiore è l'informazione ridondante che viene aggiunta, maggiore è la
probabilità di accorgersi e correggere l'errore
Con questo si vuole dire che nonostante si faccia uso di ridondanza, l'errore può
ancora una volta solo essere limitato.
na_RS232
http://www.mrscuole.net/anxapic/
21
http://www.mrscuole.net/anxapic/
La comunicazione RS-232
http://www.mrscuole.net/anxapic/
Il controllo degli errori di trasmissione
cfr. tutorial: il protocollo RS232 [http:www.laurtec.it]
Il protocollo RS232 prevede la possibilità di utilizzare le seguenti tecniche per la
rilevazione degli errori :
• none (nessuna parità)
• parità pari
• parità dispari
• mark
• space
In particolare è possibile anche non abilitare nessuno controllo
Questi controlli permettono solo di verificare se i dati in arrivo
sono corretti o meno, non permettendo alcuna correzione da
parte del ricevitore.
Se il ricevitore si dovesse accorgere di un eventuale errore
l'unico modo per correggerlo è farselo ritrasmettere.
na_RS232
http://www.mrscuole.net/anxapic/
22
http://www.mrscuole.net/anxapic/
La comunicazione RS-232
http://www.mrscuole.net/anxapic/
Il controllo degli errori di trasmissione
cfr. tutorial: il protocollo RS232 [http:www.laurtec.it]
Per parità pari si intende che il dato ricevuto deve
possedere sempre un numero pari di 1
Quindi se si vuole trasmettere il byte 11001000 affinché sia verificata la
parità pari è necessario aggiungere un 1 che rappresenterà la ridondanza
aggiunta. Dunque la nuova sequenza realmente trasmessa sarà 110010001.
Se si volesse trasmettere il byte 10001000 bisognerebbe aggiungere uno 0 e si
otterrebbe dunque 100010000.
na_RS232
http://www.mrscuole.net/anxapic/
23
http://www.mrscuole.net/anxapic/
La comunicazione RS-232
http://www.mrscuole.net/anxapic/
Il controllo degli errori di trasmissione
cfr. tutorial: il protocollo RS232 [http:www.laurtec.it]
Per parità dispari si intende che il dato ricevuto deve
possedere sempre un numero dispari di 1
Quindi se si vuole trasmettere il byte 11001000 affinché sia verificata la
parità dispari è necessario aggiungere uno 0 che rappresenterà la
ridondanza aggiunta. Dunque la nuova sequenza realmente trasmessa sarà
110010000.
Se si volesse trasmettere il byte 10001000 bisognerebbe aggiungere un 1 e si
otterrebbe dunque 100010001.
na_RS232
http://www.mrscuole.net/anxapic/
24
http://www.mrscuole.net/anxapic/
La comunicazione RS-232
http://www.mrscuole.net/anxapic/
Il controllo degli errori di trasmissione
cfr. tutorial: il protocollo RS232 [http:www.laurtec.it]
Le modalità mark e space consistono rispettivamente
nell'aggiungere in maniera fissa un 1 o uno 0
Da quanto esposto si capisce che se un disturbo esterno dovesse far
variare contemporaneamente un numero pari di bit né la parità pari né la
parità dispari si accorgerebbero di nulla.
Se nessuna delle sopra citate metodologie di rilevazione di errori viene abilita
non viene aggiunto nessun bit di ridondanza
na_RS232
http://www.mrscuole.net/anxapic/
25
http://www.mrscuole.net/anxapic/
La comunicazione RS-232
http://www.mrscuole.net/anxapic/
Il segnale RS-232
cfr. tutorial: il protocollo RS232 [http:www.laurtec.it]
Supponiamo di voler trasmettere il byte 00110000
La velocità di trasmissione è impostata su 9600 bps (bit per secondo)
la durata di trasmissione per un singolo bit sarà di 1/9600 = 104µs
Non si considera abilitata nessuna modalità di rilevazione dell'errore
L
S
B
M
S
B
S
T
O
p
Secondo il protocollo RS232 la sequenza verrà trasmessa a partire dal bit meno
significativo (LSB bit a destra) fino al bit più significativo (MSB).
Si capisce dunque che eventuali bit di parità essendo messi in coda al byte verranno posti
al fianco del bit più significativo.
na_RS232
http://www.mrscuole.net/anxapic/
26
http://www.mrscuole.net/anxapic/
La comunicazione RS-232
http://www.mrscuole.net/anxapic/
Il segnale RS-232
cfr. tutorial: il protocollo RS232 [http:www.laurtec.it]
L
S
B
M
S
B
S
T
O
p
Dal momento che i protocollo RS232 è di tipo asincrono è necessaria
qualche strategia per sincronizzare la fase di trasmissione con quella
di ricezione.
La linea si trova inizialmente nello stato di riposo (livello logico 1), basso (nessun
dato in transito); la prima transizione da basso ad alto indica l’inizio della
trasmissione (inizia il "bit di start", lungo esattamente 104µs).
Segue il bit meno significativo (LSB), dopo altri 104µs il secondo bit, e così via, per
otto volte, fino al bit più significativo (MSB).
na_RS232
http://www.mrscuole.net/anxapic/
27
http://www.mrscuole.net/anxapic/
La comunicazione RS-232
http://www.mrscuole.net/anxapic/
Il segnale RS-232
cfr. tutorial: il protocollo RS232 [http:www.laurtec.it]
L
S
B
M
S
B
S
T
O
p
Rimarchiamo ancora che il byte è trasmesso "al contrario", cioè va letto
da destra verso sinistra
Si può osservare che dopo la trasmissione dell’ultimo bit (MSB) il livello di tensione
rimane fisso a -12V per un intervallo di tempo pari a 1 (104µs), oppure 1.5 (156µs),
oppure 2 (208µs) bit che rappresentano il/i bit di stop della sequenza trasmessa.
Gli eventuali bit di stop vanno impostati all’inizio del processo di
trasmissione e rappresentano una caratteristica dell’informazione inviata.
Nel nostro esempio il pacchetto trasmesso consta di 11 bit
1 bit di start – 8 bit di data – 2 bit di stop
na_RS232
http://www.mrscuole.net/anxapic/
28
http://www.mrscuole.net/anxapic/
La comunicazione RS-232
http://www.mrscuole.net/anxapic/
Il segnale RS-232
cfr. tutorial: il protocollo RS232 [http:www.laurtec.it]
L
S
B
M
S
B
S
T
O
p
Gli eventuali bit di parità (se presenti) avrebbero preceduto il/i bit di stop
In genere il formato del pacchetto trasmesso è indicato da una sigla composta da
numeri e cifre, per esempio 8n1 e 7e2.
La prima cifra indica quanti bit di dati sono trasmessi (nei due esempi precedenti
rispettivamente 8 e 7)
La prima lettera il tipo di parità (rispettivamente n nessuna parità, e even-parity
(parità pari), o odd-parity (parità dispari)
La seconda cifra il numero di bit di stop (rispettivamente 1 o 2)
7e2 7 bit di dati – parità pari – 2 bit di stop
8n1 8 bit di dati – nessuna parità – 1 bit di stop
na_RS232
http://www.mrscuole.net/anxapic/
29
http://www.mrscuole.net/anxapic/
La comunicazione RS-232
http://www.mrscuole.net/anxapic/
Hardware dedicato
cfr. tutorial: il protocollo RS232 [http:www.laurtec.it]
La comunicazione seriale secondo il protocollo RS-232 è un operazione molto
pesante se gestita interamente via software.
I PC hanno hardware dedicato per la gestione delle trasmissioni che prende il
nome di USART (Universal Synchronous Asynchronous Receiver Transmitter); in
alcuni casi è presente il solo UART (Universal Asynchronous Receiver Transmitter).
Questo hardware si preoccupa anche dell'inserimento degli eventuali bit di
parità. La versatilità di queste periferiche permette inoltre di impostare la velocità di
trasmissione che sarà uguale a quella di ricezione e il numero di bit della parola da
inviare.
La lunghezza della parola che è possibile inviare può essere di 6,7,8,9,..,12 bit. Le
velocità che possono essere impostate variano a seconda dell'USART, in
particolare il protocollo RS232 prevede una frequenza massima fino a 20Kb/s
(20000 bit per secondo) mentre molti PC prevedono comunque frequenze oltre i
115Kb/s.
na_RS232
http://www.mrscuole.net/anxapic/
30
http://www.mrscuole.net/anxapic/
La comunicazione RS-232