Connessione seriale tra due pc

Materie:Appunti
Categoria:Sistemi

Voto:

1.5 (2)
Download:40
Data:11.01.2007
Numero di pagine:6
Formato di file:.doc (Microsoft Word)
Download   Anteprima
connessione-seriale-due-pc_1.zip (Dimensione: 352.13 Kb)
readme.txt     59 Bytes
trucheck.it_connessione-seriale-tra-due-pc.doc     418 Kb


Testo

Connessione tra due pc
La Connessione può essere di due tipi :
• Connessione Parallela
• Connessione Seriale
Connessione parallela

Tx Rx
La connessione parallela consiste nel far viaggiare un singolo bit su ogni conduttore(cavo).
Quindi i cavi conterranno tanti fili tanti quanti sono i bit che bisogna trasmettere.
Questo però porta a dei problemi
1. Economici perchè bisogna creare un cavo con tanti fili tanti quanti il numero dei bit da trasferire e questo comporta ad un elevato costo del materiale
2. Ingombro,cioè più sono elevati i bit da trasferire più grosso sarà il nostro cavo di trasmissione
3. Diafonia, coiè il disturbo magnetico ed elettico formato dai fili questo porta ad una variazione del messaggio trasferito da un pc ad un altro
Per evitare questi problemi si è passato ad una connessione seriale.

Connessione Seriale

Tx Rx
La Connessione Seriale non ha tutti quei problemi che ha la connesione parallela anzi li risolve,perchè per effettuare una connessione abbiamo bisogno di un solo cavo.
Questo è meno costoso e la connessione può avvenire anche tra lunghe distanze.
La trasmissione seriale puo avvenire in più modi:
1. Sincrona
2. Asincrona
Nella comunicazione sincrona, la due periferiche inizialmente si sincronizzano a vicenda, e quindi continuamente si mandano caratteri per restare sincronizzate. Anche quando non sono effettivamente inviati dei dati, un flusso costante di bit permette ad ogni periferica di conoscere dove si trova l’altra in qualdsiasi momento.
In quella Asincrona (senza sincronizzazione), e quindi non richiede l’invio e la ricezione di caratteri idle. Comunque, l’inizioe la fine di ogni byte di dati deve essereidentificata da un bit di start e di stop. Il bit di start indica quando il byte di dati sta per iniziare a il bit di stop segnala quando eso finisce. La necessitaà di mandare questi due bit addizionali comporta che la comunicazione asincrona sia leggermente piu lenta della sincrona, anche se ha il vantaggio che il processore non debba trattare i caratteri idle addizionali.
Una linea asincrona inattiva è identificata con il valore 1(chiamato anche mark). Utilizzando questo valore per indicare che nessun dato è in quel momento in invio, la periferiche sono capci di distinguere uno stato di inattivita da una linea disconnessa. Quando sta per essere inviato, un bit di start viene inviato. Un bit di start ha valore di 0 (chiamato anche space). Qundi, quando la linea cambia il suo stato da 1 a 0, il ricevente è avvertito del fatto che un carattere sta per arrivare attraverso la linea.
La trasmissione infine puo essere di vari tipi:
• Simplex ;
• Half Duplex ;
• Full Duplex .

Simplex

Tx Rx
La trasmissione si chiama Simplex quando la trasmissione è unidirezionale, cioè che si muove solo dal trasmettitore al ricevitore, il quale, appunto, assolve il solo compito di ricevere le informazioni.
Half Duplex

Tx Rx
Half Duplex indica che la trasmissione è bidirezionale, ma non avviene contemporaneamente nelle due direzioni: un dispositivo (ricevitore o Rx) ascolta e l’altro (trasmettitore o Tx) emette segnali. Quando è necessario si scambiano i ruoli.
Full Duplex

Tx Rx
La trasmissione Full Duplex indica che la trasmissione è bidirezionale e contemporanea. In questo caso sono necessari ovviamente due fili oppure qualche altro sistema per distinguere i due messaggi contemporanei nelle due direzioni.
Uart-Usart
Ma, per efettuare la trasmissione occorre che i bit da inviare, i quali all’interno della macchina sono in formato parallelo vengano serializzati e cioè vengano “compattati” sottoforma di un flusso di bit in modo serile. Il dispositivo che si occupa di questa trasformazione si chiama UART (ricevitore-trasmettitore asincrono universale) o USART (ricevitore-trasmettitore asincrono-sincrono universale) il quale,dall’interno della macchina, serializza i bit da inviare affinché questi possano viaggiare utilizzando il collegamento seriale. La stessa cosa avviene quando i dati arrivano al ricevitore : prima che questi arrivano alla macchina esso prende i bit e li trasforma nuovamente in parallelo per fare in modo da essere utilizzati dalla macchina.
Il segnale, però, non è ancora pronto per essere inviato al ricevitore : infatti manca un ulteriore trasformazione della quale si occupa il modem (DCE-DTE). Il DCE trasforma il segnale da digitale ad analogico : questo è necessario perché i bit, per poter viaggiare attraverso la linea telefonica , devono essere trasformati in un segnale adatto per poter utilizzare questa linea invece il DTE trasforma il segnale da analogico in digitale per far in modo che il computer possa ricevere il dato.

RS-232
L'interfaccia seriale RS232 permette lo scambio di dati tra dispositivi digitali. Ovvero, in termini più pratici, è uno di quegli ingressi, ad esempio dei PC, che consentono di stendere un cavo fisico tra due apparecchiature elettroniche in modo che le stesse riescano a comunicare tra di loro.
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. I segnali che vengono supportati dal dispositivo sono di tre tipi:
• MARK: Compresi tra -3v e -15v;
• SPACE: Compresi tra +3v e +15v;
• INCERTEZZA: Compresi tra -3v e +3v;
Sono disponibili sul PC due tipi di connettori RS-232: DB9 (nove pin) e DB25 (25 pin, il connettore originale e presente solo sui PC più vecchi); ambedue i connettori sono maschi e praticamente identici dal punto di vista funzionale anche se non coincidente con quello proposto dallo standard ufficiale.
DB25

Connettore a 25 pin
DB9

Connettore a 9 pin
Null Modem
Quando si devono collegare due computer posti molto vicini tra di loro, risulta possibile utilizzare il protocollo RS-232 senza intraporre tra essi la coppia di modem, collegando direttamente i vari piedini delle due UART, attuando una connessione detta collegamento null modem. In pratica, dato che il dispositivo per la comunicazione è predisposto per operare solo in presenza di modem, si inganna l’UART, cortocircuitando alcuni segnali per farle credere che il modem sia presente e predisposto per le operazioni richieste.

Collegamento Null Modem

Comunicazione in Java
Per poter scrivere applicazioni che necessitano di comunicare con l’esterno tramite porta seriale o parallela si utilizzano le Java Comunication API (JCA) facenti parte dal pakege javax.comm che costituiscono uno standard che estende la piattaforma java.
La JCA sono dipendenti dal sistema operativo grazie a tre livelli di classi che lo costituiscono:
1. classi ad alto livello (CommPortIdentifier e Commport) che gestiscono l’accessso alle porte del sistema e la competizione tra processi per la contesa e quindi l’assegnazione escusiva della stesse.
2. classe di basso livello (SerialPort e ParallelPort) che permettono di interfacciarsicon il driver di una determinata porta di comunicazione fisica
3. classi di livelli driver che costituiscono l’interfaccia tra le classi di basso livello ad il livello del sistema operativo. Queste sono parte del sistema operativo e non della JCA.
Il processo K o J con le classe ad alto livello (CommPortIdentifier ) ottiene una lista della porte dopo effettua una contesa della porte ed infine apre la porta, invece con la classe ad alto livello (CommPort )chiude una porta imposta le dimensioni dei Buffer di Lettura e Scrittura ed ottiene il riferimento sia all’imputStream per leggere dalla porta con CommPort.getInputStream().read(buffer) e all’OutputStream per scrivere sulla porta con Printstream(Commport.getOutputStream()).print(messaggio).
Queste effetuando il casting con SerialPort o ParallelPort(con la connessione seriale impostiamo i parametri di trasmissione: velocità, lunghezza carattere, numero di bit di stop, e parità) in base al tipo di connessione che desideriamo fare o quella parallela o quella seriale otteniamo la librerie di classi a livello di driver che colloquiano con il sistema operatico grazie alle UART la Porta Parallela.
Nel nostro caso le classi CommPort e CommPortIdentifier tramite i casting ottengono la sottoclasse serialPort che grazie all’applicazione Gestisce che utilizza la SerialPort con cui le fa comunicare i due computer con le classi TRASMETTI E RICEVI.

Esempio