Tutorials - Elettronica

 
 

RS-232


Alcune considerazione sulla linea RS-232

  1. Lo swing di tensione tra -V e +V sulla linea RS-232 è importante per la qualità del segnale.
    Però, analizzando un ricevitore (es. 1489) si nota che il suo ingresso sostanzialmente non fa altro che tagliare il lato negativo.
    Lo schema seguente riporta la struttura di ingresso di un ricevitore di linea del genere 1489.

Osserviamo che l' ingresso della linea RS-232 (input A) è caratterizzato da una resistenza di limitazione e da un diodo che elimina la componente negativa prima di arrivare alla base del primo transistor, che, assieme ai successivi, costituisce semplicemente una catena invertente la cui uscita è collegata alla Vcc dei circuito logico.

 

Se ne dovrebbe dedurre che il lato negativo della tensione di linea non è utilizzato e che, di conseguenza, una linea RS-232 potrebbe essere anche alimentata da un segnale che varia tra la massa e una V+. 

E' quindi possibile utilizzare l' uscita di un TTL ?

Anche se possibile, a livello di laboratorio o di prova volante, questo non è, però, corretto, in quanto la tensione negativa ha lo scopo di garantire un livello al di sotto della tensione di incertezza in cui il ricevitore potrebbe non essere in grado di identificare correttamente questo il livello, dato che lo 0 logico è ben al di sotto dei +3V, quindi nella banda di incertezza del segnale RS-232. 

Altrettanto aleatorio potrebbe essere l' uso di interfacce ridotte a soli transistor senza diodi di protezione; va tenuto presente che sulla linea RS-232 il segnale può arrivare a +/-25V e, a seconda della situazione della linea, possono presentarsi impulsi di disturbo di tensione superiore. Dato che esistono componenti o circuiti ben collaudati per interfacciare un apparecchio alla linea RS-232, non c'è ragione per non impiegarli, sopratutto se non si tratta di giocare, ma di realizzare qualcosa di seriamente funzionante.

Per contro, un collegamento a livello TTL è possibile se si connettono direttamente due UART o microcontroller. Occorre però che la distanza sia molto breve (decine di cm).

  1. E' comune utilizzare come driver/receiver sistemi a pompa di carico (charge pump) del genere del ben noto MAX232 di Maxim
    Questo tipo di integrati richiede una alimentazione singola (la stessa del microcontroller, ovvero tipicamente 5V) e genera un range di tensione a vuoto tra -10V e +10V. I driver a pompa di carico possono essere alimentati anche a 3.3V, il che origina sulla linea un +/-6V.  

    Però la corrente erogabile è piuttosto bassa e, considerando cadute di tensione dovute ai collegamenti e alle tolleranze dei componenti, si deve ritenere che, se è del tutto adeguata a pilotare il ricevitore della linea, mal si presta ad operazioni di sottrazione di potenza per alimentare carichi diversi, sopratutto perchè il livello del segnale potrebbe diventare così ridotto da non consentire una comunicazione funzionante. Ed è comunque del tutto inadeguato per alimentare sistemi di programmazione di Flash, che richiedono per sicurezza un minimo di 12V.
     

  2. Alcuni dispositivi, sopratutto piccoli strumenti portatili, dispongono di interfacce RS-232 con un driver "passivo", ovvero che si aspetta di essere alimentato dalla linea seriale, prelevandone la tensione negativa. In questi casi occorre che l' altro dispositivo abbia una interfaccia RS-232 realmente in grado di fornire queste tensioni, altrimenti la comunicazione non sarà possibile.
     

  3. RS-232 non specifica il modo con cui le periferiche sono alimentate, dato che fa riferimento a modem e simili, che richiedono una alimentazione separata.
    Però, alcuni piccoli dispositivi, come ad esempio il mouse, richiedono correnti molto limitate e i progettisti hanno deciso di ricavare la loro alimentazione dai segnali della linea seriale, sfruttando la possibilità dei drive di fornire una corrente maggiore di quella che serve al ricevitore.  L' operazione, però, non è prevista dallo standard.

A riguardo di questo ultimo punto è necessaria una nota particolare.


una NOTA

Driver/receiver comuni delle linee RS-232 in origine erano i noti 1488/1489 o altri chip della famiglia SN75xxx, successivamente sostituiti da componenti via via più recenti, fino ad arrivare a quelli con pompa di carico integrata che non richiedono una doppia alimentazione (ad es. il noto MAX232).

Il trasmettitore dovrebbe essere previsto per non danneggiarsi anche in caso di corto circuito, che dovrebbe viene limitato a meno di 100 mA.
Ne risulta un sistema estremamente robusto, dove il trasmettitore è in grado di fornire molta più energia di quella richiesta da un singolo ricevitore.

Da questa considerazione nascono due conseguenze, entrambe non previste dalla norma. 

  • La prima è la possibilità di realizzare sistemi in RS-232 con più di un ricevitore: basterà far si che l' impedenza dei ricevitori sia alta (e la capacità di connessione sia bassa) in modo tale da non superare le capacità del trasmettitore. Per questa ragione gli UART/USART dei microcontroller possono implementare la modalità asincrona con un nono bit che funge da selettore di indirizzo in una struttura del genere.
     

  • La seconda considerazione è quella e la corrente che parte dell' energia fornibile dal trasmettitore possa esse "rubata" per alimentare piccoli carichi (sistema di isolamento, adattatori, segnalazioni, ecc) collegati al cavo dei dati.

Questa ultima considerazione rende possibili varie soluzioni, ma va considerata nei suoi limiti, che diventano molto restrittivi nelle apparecchiature più recenti, dove i driver della linea hanno capacità "energetiche" molto ridotte rispetto ai loro predecessori.
Ne risulta che, applicando carichi "impropri" alla linea, il livello delle tensioni diventi  insufficiente ad alimentare correttamente i carichi aggiunti e, peggio, vada nell' area di indeterminatezza, rendendo la comunicazione problematica.
Questo può essere verificato collegando semplici adattatori alimentati dalla seriale su un PC desktop vecchiotto, dove probabilmente funzioneranno, e su un recente notebook, dove probabilmente non funzioneranno.
In particolare, riguardo al mondo dei microcontroller, non hanno possibilità di funzionare i vari programmatori alimentati direttamente dalla seriale in quanto non sono in grado di erogare la tensione di programmazione sufficiente a scrivere una Flash (al minimo, 10V, ma, per sicurezza, almeno 12-13V).

Inoltre, i driver di linea RS-232 dei notebook non sono generalmente in grado di fornire energia extra, anche perchè possono essere conformi allo standard EIA-562, con tensioni di linea di poco più di 3.6V


Conversione USB /RS-232

Sia per ragioni di mercato che prestazionali, la connessione seriale tipica del PC (e con esso dei dispositivi che sono collegabili) è diventata USB.

Di conseguenza, la porta COM è andata sparendo, sopratutto dai notebook. Notebook che sono utilizzati anche da professionisti per la connessione sul campo con strumentazione e PLC.

Si è reagito mettendo in commercio degli adattatori da USB a RS-232.

Ne è risultata una seria problematica, in quanto si tratta di una emulazione della porta seriale COM: applicazioni scritte per utilizzare i pin di handshake con diversi scopi, tipico dell' interfaccia con programmatori, strumenti o altro, hanno poche possibilità di funzionare !!
Ne sa qualcosa chi programma PLC che, tipicamente, hanno l' acceso alla CPU attraverso una connessione RS-232 e ha faticato non poco a individuare sul mercato un dongle adattatore adeguato.

 


Copyright © afg. Tutti i diritti riservati.
Aggiornato il 23/04/12.