Sei sulla pagina 1di 5

1

Il protocollo RS232 1.1 Introduzione


Come noto un dispositivo di interfaccia permette la comunicazione tra la struttura hardware di un calcolatore e uno o pi dispositivi esterni. Uno degli obiettivi principali di uninterfaccia consiste nel fornire un mezzo per il trasferimento di dati, garantendo livelli accettabili di affidabilit, velocit, flessibilit e costo.

Con il termine standard sono indicati un insieme di specifiche tecniche, fisiche, funzionali, e software che permettono di definire linterfaccia e ne consentono un corretto utilizzo. La realizzazione delle interfacce di trasmissione si basa, principalmente, su due tecniche di trasferimento dati:

Trasferimento seriale: linformazione trasmessa sequenzialmente su di un solo filo. Trasferimento in parallelo: indica una tipologia di trasmissione in cui i dati viaggiano contemporaneamente su pi fili, per esempio 8,16 o 32.

La scelta tra luna e laltra legata a diversi fattori (tipo di dati trasmessi, dispositivi collegati, ecc) e viene effettuata tenendo in considerazione pregi e difetti delle due soluzioni: la maggior velocit del trasferimento in parallelo accompagnata da una maggior complessit della struttura di controllo e, spesso, da problemi di affidabilit su collegamenti per distanze elevate, per esempio superiori a qualche metro. Per contro, la trasmissione seriale offre, in genere, maggiore semplicit nella realizzazione del canale trasmissivo, a parit di tecnologia impiegata (cavo elettrico, fibra ottica,), superiore distanza tra trasmettitore e ricevitore, al prezzo di una minore efficienza di trasmissione.

1.2 Lo Standard RS-232


Si tratta di una modalit di trasmissione molto utilizzata nel collegamento fra unit centrali e periferiche di varia natura, ad esempio stampanti, modem, dispositivi di puntamento, strumentazione elettronica, ecc. Tale modalit di comunicazione richiede una struttura del trasmettitore e del ricevitore molto semplice, mentre il canale fisico di trasmissione pu essere costituito nel caso pi semplice da soli tre conduttori, due per la trasmissione bidirezionale dei segnali e il terzo per il riferimento dei potenziali elettrici (GND). Le caratteristiche elettriche dello standard RS232 definiscono il minimo e il massimo voltaggio per il livello logico 1 e 0. Il livello logico 1 o mark definito nel range -3/-25V ma tipicamente viene usato -12V, mentre il livello logico 0 o space definito nel range +3/+25V ma tipicamente viene usato +12V. Il segnale tra -3V e +3V uno stato logico indefinito.

1.3 Tipi di connessione

Il cavo di collegamento tra periferica e calcolatore costituito da pi conduttori: lo standard fissa il significato assunto da ciascuno di essi, ma non stabilisce il tipo di connettore da utilizzare. I due tipi di connettori pi utilizzati sono DB25 a 25 pin e DB9 a 9 pin.

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. RI viene attivato dal modem quando rileva il trillo di una chiamata telefonica.

1.4 Esempio trasmissione dati usando il protocollo RS232:


Se vogliamo trasmettere il byte 00110001 secondo il protocollo RS232 la sequenza verr trasmessa a partire dal bit meno significativo (bit a destra) fino al bit pi significativo. Poich il protocollo RS232 di tipo asincrono (i dati sono trasmessi senza laggiunta di un segnale di clock, cio senza alcun segnale comune tra trasmettitore e ricevitore destinato a sincronizzare il flusso di informazioni) necessaria qualche strategia per sincronizzare la fase di trasmissione con quella di ricezione. La tecnica adottata quella di rimanere a livello logico 1 per poi trasmettere il bit di start.

E' possibile osservare che prima dell'inizio della trasmissione, la linea posizionata a -12V. Quando la trasmissione inizia, il livello passa a +12V per la durata di un bit (lungo esattamente 104us). Al rilevamento del bit di start il ricevitore inizia a leggere il segnale. Dopo il bit di start si trasmettono gli 8 bit, mentre il passaggio finale a -12V viene chiamato bit di stop. In particolare possibile impostare il numero di bit di stop a 1, 1.5 o 2. La lunghezza della parola che possibile inviare pu essere di 6,7,8,9 bit. Le velocit che possono essere impostate variano a seconda dell'UART, in particolare il protocollo RS232 prevede una frequenza massima fino a 20 Kb/s (20000 bit per secondo) mentre molti PC prevedono comunque frequenze fino a 115 Kb/s.

1.5 Interfaccia RS232:


Per interfacciare la mia scheda di acquisizione dati ho utilizzato l'integrato MAX232 della Maxim, che rappresenta un traslatore di livello TTL/RS232 e viceversa, partendo solo da un'alimentazione a 5 V. Per ottenere le tensioni positive e negative necessarie per il funzionamento dell'integrato viene usata una configurazione a pompa di carica costituito da circuiti interni all'integrato e quattro condensatori esterni. La capacit effettiva dipende dal tipo di integrato e dalla relativa frequenza di commutazione; a volte i condensatori sono presenti all'interno dell'integrato stesso. Sono disponibili anche integrati che richiedono un'alimentazione di sole 3,3 V (MAX3232). Lingresso ricevente del MAX232 costituito da due porte invertenti che accettano in ingresso una tensione di +/- 12 V ed in uscita presentano un segnale TTL compatibile.

1.6 Esempio circuito a pompa di carica

Per ricavare le tensioni positive e negative necessarie per garantire i livelli richiesti dalla RS232 pratica comune utilizzare un duplicatore ed un invertitore di tensione a pompa di carica. Le figure A e B mostrano come viene ottenuto il raddoppio della tensione. Unimmagine che rende l'idea quella di un contenitore C2 che preleva acqua da una fonte e la riversa in un secondo contenitore C1 posto a maggiore altezza. Pi in dettaglio:

Inizialmente il condensatore C2 viene connesso tra massa e Vcc; quindi la corrente (in blu) carica C2 alla tensione di alimentazione (in giallo). Quindi Vc2 = Vcc C2 viene successivamente connesso tra Vcc ed un secondo condensatore C1; la tensione ai capi di C1 deve essere uguale alla somma di Vcc e Vc2 e quindi C2 si scarica verso C1, che aumenta la propria tensione rispetto a massa. Il processo ripetuto fino a quando la tensione ai capi di C1 uguale a 2Vcc: in questo caso, infatti, C2 non si pu pi scaricare.

Analogamente le figure C e D mostra l'inversione di tensione:


Inizialmente C2 caricato alla tensione di alimentazione (magari, come nel disegno da 2Vcc, ricavata con il precedente circuito) Quindi C2 connesso tra massa e C1 avendo cura di invertire le polarit. In questo modo C1 si carica a -2Vcc

1.7 Schema elettrico: