EIA RS-232: differenze tra le versioni
Contenuto cancellato Contenuto aggiunto
m ripristino Etichetta: Ripristino manuale |
|||
(39 versioni intermedie di 25 utenti non mostrate) | |||
Riga 1:
{{F|componenti per computer|arg2=elettronica|febbraio 2013}}
{{Torna a|Trasmissione seriale}}▼
{{Connettore
|
|
|didascalia
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|tensione_max
|potenza_max =
|
|
|
|
|
|
|
|
|cavo =
|numero_piedini = 25 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
}}
== Storia dello standard ==
L'interfaccia seriale EIA RS-232 è uno standard costituito da una serie di [[Protocollo di rete|protocolli]] meccanici, elettrici ed informatici che rendono possibile lo scambio di informazioni a bassa velocità tra dispositivi digitali. Esso includeva le caratteristiche elettriche dei segnali, la struttura e le temporizzazioni dei dati seriali, la definizione dei segnali e dei protocolli per il controllo del flusso di dati seriali su un canale telefonico, il connettore e la disposizione dei suoi pin ed infine il tipo e la lunghezza massima dei possibili cavi di collegamento.
Nel corso di oltre 40 anni lo standard si è evoluto, pur mantenendosi in larga parte invariato. L'evoluzione è riconoscibile dalla sigla, leggendo l'ultima lettera; l'ultima revisione è del 1997 ed è indicata come EIA RS-232f. Probabilmente la versione più diffusa è la RS232c, del 1969, che corrisponde alle specifiche europee [[CCITT]], raccomandazione V.24. Pur essendo un protocollo piuttosto vecchio, attualmente la EIA RS-232 è ancora largamente utilizzata per la comunicazione a bassa velocità tra [[microcontrollore|microcontrollori]], dispositivi industriali ed altri [[Circuito elettronico|circuiti]] relativamente semplici, che non necessitano di particolare velocità; è invece praticamente scomparsa in ambito "desktop", nel quale lo [[Standard (informatica)|standard]] è nato per la comunicazione tra un [[computer]] ed un [[modem]].
Le informazioni, relative principalmente al livello elettrico, sono state codificate inizialmente dallo standard EIA/TIA-232-E (sezione 2) e successivamente modificate in alcuni dettagli secondari dallo standard EIA/TIA-562.
== Utilizzi ==
Lo standard EIA RS-232 nacque nei primi [[anni 1960|anni sessanta]] per opera della ''[[Electronic Industries Association]]'' ed era orientato alla comunicazione tra i [[mainframe]] e i [[terminale (informatica)|terminali]] (DTE, ''Data Terminal Equipment'') attraverso la [[linea telefonica]], utilizzando un [[modem]] (DCE, ''Data Communication Equipment'').
Sebbene negli [[anni 1990|anni novanta]] la porta EIA RS-232 fosse presente in quasi tutti i [[personal computer|PC]] desktop, nel primo decennio degli [[anni 2000]] la stessa è stata ampiamente soppiantata dall'interfaccia [[USB]] (o da [[
Tra gli utilizzi della porta seriale, si possono citare:
Riga 134 ⟶ 133:
* connessione di [[periferica|periferiche]]:
** la porta seriale è stata usata per collegare i [[mouse]] ai primi PC
** [[stampante]] (soppiantato dalla [[porta parallela]], e poi da USB e dalle
** [[scanner per immagini|scanner]] (soppiantato dalla [[porta parallela]], e poi da USB e [[firewire]] e dalle connessioni di rete)
** dispositivi specializzati, come ad esempio [[
* connessione a dispositivi [[Sistema embedded|embedded]], ad esempio [[
* connessione a dispositivi audio/video per comandarli da remoto.
Riga 143 ⟶ 142:
L'EIA RS-232 è uno standard che definisce un'[[Interfaccia (informatica)|interfaccia]] di [[livello fisico]] del modello [[ISO/OSI]] per la realizzazione di una [[trasmissione seriale]], sia in [[Trasmissione seriale#Modalità sincrona|modalità sincrona]] che [[Trasmissione seriale#Modalità asincrona|asincrona]].
L'[[Circuiti RS-232#Connettore DE-9 EIA/TIA-574|interfaccia EIA RS-232 ridotta]] (porta seriale a
Per trasmissione "seriale" si intende che i bit che costituiscono l'informazione sono trasmessi uno alla volta su di un solo "filo". Tale tipo di trasmissione si contrappone a quella "parallela", dove i dati sono trasmessi contemporaneamente su più fili (per esempio
Trasmissione "asincrona" significa, invece, che i dati sono trasmessi, byte per byte, in modo anche non consecutivo, senza l'aggiunta di un segnale di [[clock]], cioè di un segnale comune che permette di sincronizzare la trasmissione con la ricezione.
Oltre alle linee di trasmissione dati (TD, RD, e i loro equivalenti canali secondari), lo standard definisce un certo numero di circuiti di controllo, usati per gestire la comunicazione tra DTE e DCE. Esempi di linee di controllo sono i circuiti ''Request
Ogni circuito, di trasmissione dati o di controllo, opera esclusivamente in una direzione: l'invio dei dati e delle segnalazioni avviene dal DTE al DCE, o viceversa. Poiché i dati trasmessi e quelli ricevuti viaggiano su circuiti separati (TD e RD) l'interfaccia RS-232 può operare in modalità [[full duplex]], supportando contemporanei flussi di dati in entrambe le direzioni.
L'EIA RS-232, essendo uno standard di [[livello fisico]], non definisce né il [[Pacchetto (reti)|framing]] dei caratteri trasmessi né la modalità della loro codifica, demandando tale definizione a livelli di [[Protocollo di rete|protocollo]] superiori.
Riga 158 ⟶ 157:
Le caratteristiche di natura elettrica previste dallo standard consentono di acquisire le poche informazioni necessarie a progettare dispositivi elettronici che comunicano con un PC attraverso questa porta.
Il protocollo specifica una massima tensione di [[circuito aperto]] di {{M|25
Lo standard EIA RS-232 prevede nei circuiti dati (
===Descrizione del segnale===
[[File:Rs232 oscilloscope trace.
Nell'immagine a lato è visualizzato, in modo idealizzato, cosa appare collegando un oscilloscopio alla linea dati su cui transita un segnale EIA RS-232 a {{M|9600
Tutte le transizioni appaiono in corrispondenza di multipli di {{M|104
▲Nell'immagine a lato è visualizzato, in modo idealizzato, cosa appare collegando un oscilloscopio alla linea dati su cui transita un segnale EIA RS-232 a 9600 bps del tipo 8n1 (più avanti verrà spiegata questa sigla) corrispondente alla lettera "K" espressa in codice [[ASCII]].
La linea si trova inizialmente nello stato di riposo, a livello logico 1 (nessun dato in transito), quindi segnale di tensione negativo (p.e. {{M|-
▲Tutte le transizioni appaiono in corrispondenza di multipli di 104 µs (pari ad 1/9600 s, cioè ciascun bit dura esattamente l'inverso del [[bit rate]]).
▲La linea si trova inizialmente nello stato di riposo, a livello logico 1 (nessun dato in transito), quindi segnale di tensione negativo (p.e. -12V); la prima transizione da segnale negativo a positivo 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 "bit di stop", cioè un periodo di riposo della linea di 104 µs (ma può essere superiore qualora si convenga di usare un numero maggiore di bit di stop), e quindi, eventualmente, inizia un nuovo pacchetto di bit.
Un segnale seriale nello standard RS-232 può avere le seguenti varianti:
*[[velocità di trasmissione]], rispetto all'esempio di {{M|9600
*numero di bit dati trasmessi, generalmente
*possibilità di aggiungere un [[bit di parità]] alla fine del carattere
*numero dei bit di stop, la linea rimane nello stato di riposo per almeno
A questo punto possiamo definire il significato della sigla 8n1 menzionata all'inizio dell'esempio. Tale sigla è usata in genere per definire il formato del pacchetto rice-trasmesso. Esempi possono essere 8n1 o 7e2:
*il primo numero indica quanti bit di dati sono trasmessi (nei due esempi rispettivamente 8 e 7)
*la lettera indica il tipo di parità (nei due esempi, rispettivamente, nessuna o ''even-parity'', cioè parità pari)
*il secondo numero indica il numero di bit di stop (rispettivamente 1 e 2)
Tenendo conto che esiste sempre un solo bit di start, una sequenza di bit trasmessa è quindi, per i due esempi citati, costituita rispettivamente da 10 (<math>1+8+0+1</math>) e 11 (<math>1+7+1+2</math>) bit. Da notare che di questi bit solo
Lo standard originale prevede una velocità da 75 baud a 19200 baud. Uno standard successivo (RS-562) ha portato il limite a {{M|64
È importante garantire il rigoroso rispetto della durata dei singoli bit: infatti non è presente alcun segnale di clock comune a trasmettitore e ricevitore e l'unico elemento di sincronizzazione è dato dal fronte di discesa del bit di start. Come linea guida occorre considerare che il campionamento in ricezione è effettuato di norma al centro di ciascun bit: l'errore massimo ammesso è quindi, teoricamente, pari alla durata di mezzo bit (circa il {{M|5|ul=%}} della frequenza di clock, considerando che anche il decimo bit deve essere correttamente sincronizzato).
===Esempio di funzionamento dell'interfaccia===
Come è stato detto, l'interfaccia elettrica standard EIA RS232 è stata concepita unicamente per interfacciare un ''Data Terminal Equipment'' (DTE) a un ''Data Communication Equipment'' (DCE) – cioè a un modem
Consideriamo un sistema a due terminali, formato da DTE1, DCE1, linea telefonica, DCE2, DTE2.
Riga 202 ⟶ 199:
Al tempo T2, dopo il caricamento del sistema operativo sui DTE (se il caso) e dopo il caricamento del programma (o microprogramma) di gestione della linea seriale dei DTE, il terminale porrà al suo DCE il segnale DTR (Data Terminal Ready) in attivo (+12 V)<ref>Solo in caso di DTR attivo un MODEM autorispondente aprirà la linea telefonica "rispondendo" alla chiamata</ref>.
Al tempo T3 il DTE1 ha la necessità di trasmettere dati al DTE2 e per far questo per prima cosa rende attivo il segnale RTS. DCE1 si attiva iniziando ad emettere una portante di trasmissione sulla linea telefonica relativa e, dopo un tempo di "sincronizzazione" dipendente tipicamente dalla velocità di trasmissione del MODEM (il DCE), DCE1 invierà a DTE1 il segnale attivo di CTS (pronto a trasmettere). Nel frattempo DCE2 avrà ricevuto la portante trasmessa da DCE1 e avrà reso attivo il proprio segnale DCD (data carrier detect, rilevamento di portante) segnalando al proprio DTE2 che DTE1 sta per inviare dati.
Al tempo T4, dopo che DTE1 avrà ricevuto il segnale CTS attivo dal proprio DCE, finalmente DTE1 potrà inviare i primi bit<ref>Lo standard EIA non pone dei limiti alla lunghezza del cavo di connessione fra DTE e DCE ma le normative CCITT V21/V24 consigliano di non superare lunghezze di 5 m. È buona norma non superare mai queste lunghezze per evitare errori di ricetrasmissione</ref>.
Riga 220 ⟶ 217:
La [[Differenza di potenziale elettrico|tensione di uscita]] ad un trasmettitore EIA RS-232 deve essere compresa in valore assoluto tra 5 V e 25 V (quest'ultimo valore ridotto a 13 V in alcune revisioni dello standard). A volte le tensioni in uscita sono intenzionalmente diminuite a +/- 6 V anziché 12 V per permettere minori emissioni EM, peraltro sempre critiche, e favorire maggiori velocità di trasmissione.
Il ricevitore deve funzionare correttamente con tensioni di ingresso comprese, sempre in modulo, tra i 3 V ed i 25 V. Molti ricevitori commerciali considerano semplicemente una tensione di soglia al valore di +2 V (sopra viene riconosciuto un segnale alto, sotto uno basso) anche se ciò non è pienamente aderente alla norme. È però utile per effettuare una trasmissione "RS232" con livelli [[Transistor-transistor logic|TTL]]
L'[[impedenza]] di uscita del trasmettitore deve in ogni situazione essere maggiore di 300 ohm; l'impedenza di ingresso deve essere compresa tra i 3 ed i 7 kohm, anche a dispositivo spento. La corrente prelevabile in uscita mantenendo i corretti valori logici deve essere di almeno di 1.6 mA (potrebbe però essere maggiore, anche di un ordine di grandezza) e nel caso di corto circuito deve essere minore di 100 mA.
Riga 226 ⟶ 223:
Infine lo [[slew rate]] (cioè la pendenza del grafico del segnale nel passare da 1 a 0 o viceversa) deve essere minore di 30 V/us per evitare eccessive emissioni elettromagnetiche.
Come collegare una porta TTL o CMOS alla EIA RS-232. In genere i segnali utilizzati dai sistemi digitali variano tra 0 e 5 V e non sono quindi direttamente compatibili con la standard EIA RS-232. In commercio esistono appositi traslatori di livello che hanno il compito di fornire sia in trasmissione che in ricezione gli opportuni livelli pur non modificando la forma del segnale trasmesso.▼
▲In genere i segnali utilizzati dai sistemi digitali variano tra 0 e 5 V e non sono quindi direttamente compatibili con la standard EIA RS-232. In commercio esistono appositi traslatori di livello che hanno il compito di fornire sia in trasmissione che in ricezione gli opportuni livelli pur non modificando la forma del segnale trasmesso.
Alcuni integrati (per esempio i classici MC1488 e MC1489, introdotti sul mercato dalla [[Motorola]], rispettivamente un trasmettitore ed un ricevitore, ambedue a quattro canali) sono molto usati in sistemi in cui è presente (oltre all'alimentazione logica di 5 V o 3.3 V) un'alimentazione duale a +/-12 V. Questo integrato, come praticamente tutti i circuiti di questo tipo, contiene un inverter per ciascun canale e quindi nel segnale in uscita o in ingresso uno zero logico appare come 0 volt, cioè in quella che a molti sembra essere la rappresentazione ovvia dei segnali digitali.
Riga 249 ⟶ 245:
L'interfaccia EIA RS-232 utilizza una notevole quantità di linee ausiliarie per i segnali di controllo ma per una comunicazione di base senza controllo di flusso hardware sono sufficienti TD, RD e GND. Questa configurazione minima si utilizza anche con controllo di flusso software (XON-XOFF).
[[File:RS-232 Pinouts for the DE-9 Connector.svg|thumb|upright=1.2|Piedinatura segnali RS-232 su connettore DE-9 maschio-femmina]]
I personal computer hanno una [[Circuiti RS-232#Connettore seriale PC-IBM|interfaccia seriale ridotta]] anche nel caso in cui è presente un'interfaccia con connettore DB-25. Dall'avvento dell'[[IBM AT]] però si è optato per un [[Circuiti RS-232#Connettore DE-9 EIA.2FTIA-574|connettore DE-9]].
Riga 262 ⟶ 259:
===UART===
{{Vedi anche|UART}}
Gli [[UART]] (Universal Asynchronous Receiver & Trasmitter) sono dei circuiti integrati che permettono di trasformare il segnale parallelo proveniente dal processore in segnale seriale. In genere vengono gestite dall'hardware tutte le funzioni a basso livello necessarie (inserimento dei bit di start e di stop, generazione o riconoscimento del bit di parità, generazione di [[interrupt]]) e spesso è presente un buffer FIFO che permette di ricevere ed inviare dati anche quando la CPU è impegnata.
Riga 268 ⟶ 266:
==Note==
<references/>
==Voci correlate==
* [[Null modem]]▼
* [[Circuiti RS-232]]▼
* [[Bus (informatica)]]
* [[Breakout box]]
▲* [[Circuiti RS-232]]
* [[Electronic Industries Alliance]]
▲* [[Null modem]]
== Altri progetti ==
{{interprogetto|
==Collegamenti esterni==
* {{FOLDOC|EIA-232|EIA-232}}
* {{cita web|http://www.beyondlogic.org|Tutorial sulla RS232 di Craig Peacock}}
* {{cita web|http://www.vincenzov.net|Tutorial su altre interfacce seriali e parallele}}
Riga 287 ⟶ 285:
{{Bus computer}}
{{Componenti basilari dei computer}}
{{Portale|informatica|scienza e tecnica|storia}}▼
▲{{Portale|informatica}}
[[Categoria:Bus seriali]]
|