L’interfaccia seriale RS232
Il protocollo seriale RS232 viene utilizzata per lo scambio dei dati tra dispositivi digitali.
Essa utilizza un protocollo seriale di tipo asincrono:
- seriale perché i bit che costituiscono il dato sono trasmessi uno dopo l’altro su un solo
filo;
- asincrono in quanto non è presente un segnale di clock comune tra trasmettitore e
ricevitore ma esistono due segnali di clock locali e indipendenti.
La velocità di trasmissione si misura in bit/s.
Supponiamo di trasmettere il dato 00110000 a 9600 bit/s.
Nella linea troviamo il seguente segnale elettrico trasmesso sarà
La linea si trova, quando nessun dato sta transitando, nello stato di riposo a livello basso.
Il livello basso corrisponde ad una tensione di -12V. La prima transizione da basso ad alto
indica l’inizio della trasmissione. Questo livello alto della durata di un bit viene chiamato bit
di start. Il livello alto ha valore 12V. A questo punto inizia la trasmissione del dato partendo
dal bit meno significativo (LSB).
L’ampiezza -12V corrisponde ad un 1 logico mentre la tensione +12V corrisponde ad uno
0 logico.
Terminata la trasmissione del dato viene inviato uno o più bit di stop rappresentati da una
tensione a livello basso.
Le varianti alla trasmissione sono le seguenti:
- la velocità di trasmissione misurata in bit/s assume valore minimo pari a 1200 bit per sec
e cresce per multipli di questo valore. Esempi: 9600=1200*8.
- Il dato può essere lungo 8 bit ma anche 7,6,5,4.
- Alla fine del dato è possibile aggiungere un bit di parità.
- Dopo il dato e l’eventuale bit di parità la linea rimane a riposo con 1 oppure uno e mezzo
o due bit di stop.
Il bit di parità viene inserito in certi casi per permettere la verifica della correttezza del dato
ricevuto.
Esistono 5 tipi di parità:
- NONE: nessuna parità
- EVEN: parità pari
- ODD: parità dispari
- MARK: viene aggiunto sempre un livello alto
- SPACE: viene aggiunto sempre un livello basso
Parità pari significa la seguente cosa: alla fine del dato viene aggiunto un bit di parità che
vale 0 o 1 in modo che la somma totale degli uni sia un numero pari. Ad esempio se il dato
fosse 00100011 viene aggiunto un 1,mentre se il dato fosse 01101100 viene aggiunto uno
0. In ricezione controllando il numero totale degli “uno” posso accorgermi se il dato
trasmesso ha subito un errore durante la trasmissione o meno. Nel caso di errore il
ricevitore può rifiutare il dato e/o richiedere la trasmissione.
Nella parità dispari la somma totale degli “uno” deve essere dispari.
La trasmissione seriale viene utilizzata per mettere in collegamento due o più dispositivi
digitali. L’uscita dei dispositivi digitali è spesso di tipo TTL cioè con livello alto 5V e livello
basso 0V. Abbiamo incompatibilità tra le uscite TTL che hanno 0 logico = +12V, 1 logico =
-12V.
Esistono in commercio degli integrati che pur essendo alimentati con tensione 5V e massa
trasformano 0V in +12V e 5V in -12V. Questi integrati hanno dei condensatori elettrolitici di
elevata capacità da inserire esternamente; Il più conosciuto tra questi integrati si chiama
MAX 232.
Piedinatura del connettore RS 232
Sono disponibili due tipi di connettori RS232: uno a 9 pin e l’altro a 25 pin. Nella
comunicazione seriale asincrona che utilizzeremo prenderemo in considerazione solo la
versione 9 pin ed in particolare tra tutti questi pin utilizzeremo solo il numero 3(TX),il
numero 2(RX) e il numero 5(GND).