Manchester Utilizza metà del bit time per trasmettere il bit e l’altra metà per imporre una variazione di livello alla linea. Le reti che utilizzano questo tipo di segnalazione seguono lo standard IEEE 802.3 Come nell’RZ, in questo metodo lunghe stringhe di “0” o “1” non causano la perdita del sincronismo. Inoltre, lavorando con solo due livelli, viene garantita un’alta robustezza agli errori. La codifica Manchester richiede un circuito più complicato rispetto a quelli per l’RZ e l’NRZ. MLT-3 (Multi Level Transmission-3) In questa codifica si utilizzano 3 livelli di tensione. Se il bit da trasmettere è 0 si lascia la linea al livello precedente, se è 1 si fa cambiare la linea di livello ciclicamente, prima in salita e poi in discesa. Il livello di idle (riposo) è caratterizzato dal livello zero. Viene utilizzato nelle reti Ethernet a 100 Mbps. I bit da trasmettere sono raggruppati prima in simboli da 4 bit e poi codificati con un codice da 5 bit che contiene solo configurazioni con 0 e 1. Anche se l’efficienza è ridotta all’80% si ha una velocità teorica pari a quattro volte il valore della banda. Pertanto con una banda di 31,25 Mhz con MLT-3 si ha 31,25*4*0,8=100 Mbps. Con NRZ, NRZI e RZ servirebbe una banda poco superiore di 50 MHz e con Manchester di 100 MHz. Il difetto è che avendo tre livelli occorre un migliore rapporto segnale/rumore. Trasmissione in banda traslata Per consentire la propagazione attraverso un mezzo trasmissivo con risposta in frequenza in banda passante, l’informazione viene trasferita in bande di frequenze spostate verso l’alto. Questa traslazione dello spettro del segnale, originariamente in banda base, si ottiene modulando, cioè variando, i parametri di unn’onda sinusoidale ad una certa frequenza detta portante in accordo con l’informazione da trasmettere. Il parametro modulato sarà l’ampiezza, o la fase o la frequenza, o una combinazione di questi parametri. 5 L’oggetto che consente la modifica del segnale portante in trasmissione si chiama modulatore. In ricezione l’operazione inversa è svolta dal demodulatore. Il dispositivo che svolge entrambe le funzioni si chiama modem. Sistemi di modulazione binari Ci sono tre principali metodi di modulazione binaria, noti con gli acronimi ASK on-off, BPSK e Binary FSK. Nella modulazione ASK (Amplitude Shift Keying) on-off l’informazione binaria è trasportata dall’ampiezza del’onda portante che può valere zero o A. Nella modulazione BPSK (Bi-Phase Shift Keying) l’informazione binaria è trasportata dalla fase dell’onda portante che può valere zero o ∏. Nella modulazione Binary FSK (Frequency Shift Keying), modulazione di frequenza binaria, ai simboli 0 e 1 corrispondono impulsi sinusoidali, di durata T, con frequenza rispettivamente f1 e f2. In pratica si prende la frequenza della portante e si toglie un quanto di frequenza per trasmettere il bit 0, mentre si aggiunge lo stesso quanto di frequenza per trasmettere un bit 1. Trasmissione parallela e seriale Esistono due modi di comunicazione per trasferire i dati: parallela e seriale. La differenza tra i due tipi di comunicazioni sta principalmente nel numero di segnali che connettono il trasmettitore al ricevitore e nel tempo di trasmissione. La comunicazione parallela garantisce tempi di trasmissione più veloci ma utilizzando più linee ha un costo maggiore che diventa accettabile solo per distanze inferiori al metro. In genere ci si riferisce a sistemi d'elaborazione distanti tra loro; per questo la trasmissione dati per ragioni economiche viene sempre effettuata in forma seriale. Modalità di trasmissione Dal punto di vista operativo esistono tre modalità in cui la comunicazione può svolgersi: • Simplex: i dati sono trasmessi in un'unica direzione; • Half Duplex: la comunicazione è bidirezionale, ma avviene su un'unica linea; • Full Duplex: la comunicazione avviene attraverso due linee, una per ciascuna direzione. 6 Rete telefonica pubblica Nelle comunicazioni a grandi distanze si utilizza solitamente la rete telefonica pubblica (nota anche con l’acronimo PSTN, ossia Public Switched Telephone Network). Il problema da affrontare risulta l'adattamento del segnale digitale, in uscita dal DTE, alle linee telefoniche costruite per segnali analogici. Il segnale numerico ha, infatti, uno spettro di frequenza teoricamente infinito mentre il canale fonico ha una banda compresa tra 300Hz e 3400Hz. L’ampiezza di tale banda (3100 Hz) è talmente piccola da escludere la trasmissione “diretta” dei segnali digitali, in quanto, in base al teorema di Shannon, si dovrebbero adottare velocità di trasmissione basse. Per aggirare il problema dell’inadeguatezza delle linee telefoniche alla trasmissione digitale, si scelgono attualmente due soluzioni: • modulare una portante analogica • utilizzare reti adatte a trasmettere il segnale numerico La prima soluzione, quella quasi universalmente adottata fino a qualche anno fa, ma ancora in uso in diverse aree, consiste nel modulare la portante analogica con il segnale digitale e trasmetterlo nella rete telefonica come un normale segnale fonico, cioè analogico, per poi demodularlo quando raggiunge il ricevitore. Le operazioni di modulazione e demodulazione, insieme con altre complesse funzioni di controllo, codifica e compressione dei dati, sono svolte da un dispositivo di comunicazione DCE (Data Communication Equipement) denominato MODEM (MODulatore DEModulatore). Durante la trasmissione, il segnale subisce alterazioni per effetto delle distorsioni e del rumore. Per questi motivi conviene introdurre ridondanza nel segnale, attraverso dei codici di controllo in modo da assicurare, entro certi limiti, la correttezza della trasmissione. La seconda soluzione, utilizzata al giorno d’oggi, consiste nell’utilizzare reti adatte a trasmettere segnali numerici, come, ad esempio, la rete ADSL (Asymmetric Digital Subscriber Line). Anche in questo caso, naturalmente, il terminale dei dati (DTE) deve essere collegato alla rete attraverso un particolare dispositivo d'interfaccia (DCE). Però il segnale rimane digitale e non subisce operazioni di modulazione/demodulazione e consente di operare ad elevate velocità con bassi tassi di errore. 7 Trasmissione seriale La trasmissione seriale consente il collegamento fra trasmettitore e il ricevitore con un minimo di due fili. Per effettuare la trasmissione seriale si utilizzano due oggetti: il multiplexer (MUX) e il demultiplexer (DEMUX). • il trasmettitore presenta nello stadio di uscita un circuito in grado convertire un carattere dalla forma parallela a quella seriale, il MUX, che è uno shift register PISO (Parallel In Serial Out); • il ricevitore presenta nello stadio d'ingresso un circuito in grado di trasformare un carattere ricevuto in forma seriale in parallelo, il DEMUX, che è uno shift register SIPO (Serial In Parallel Out). Vi sono anche circuiti integrati in grado di comportarsi, all'occorrenza, sia da SIPO sia da PISO, come gli USART (universal synchronous asynchronous riceiver trasmitter). Le trasmissioni seriali si dividono in: • asincrone; • sincrone. Trasmissione seriale asincrona Nel collegamento seriale asincrono il ricevitore dispone di un clock di campionamento di frequenza multipla di quella del trasmettitore. Affinché i due clock risultino in fase, occorre che il ricevitore sappia quando ha inizio la trasmissione di un carattere in modo da sincronizzare la lettura dei vari bit. Ciò si ottiene con i seguenti accorgimenti : • In assenza di trasmissione lo stato di idle della linea è caratterizzata dalla presenza di un livello logico 1 continuo corrispondente ad una tensione di valore negativo. • Ogni carattere in trasmissione è preceduto da un bit di start di livello logico 0 corrispondente ad una tensione di valore positivo. • Alla fine di ogni carattere vengono aggiunti uno o più bit di stop di livello logico 1 che riportano la linea a livello di idle. Durante lo stato di idle il ricevitore campiona la linea più volte durante un tempo di bit (bit time), quando avviene la transizione 1-0 tra idle e start bit il ricevitore rifasa il campionamento aspettando 8 impulsi per posizionarsi “a centro bit” e torna a campionare la linea, se viene rilevato un 1 allora si è trattato di uno spike da disturbo altrimenti lo start è confermato e continua a campionare una volta ogni tempo di bit, a intervalli regolari di 16 impulsi, per tutti i bit del carattere; al termine rileva i bit di stop e riprende il procedimento. È possibile prevedere un bit aggiuntivo per ciascun carattere che contenga un’informazione di parità (rende pari il numero degli 1 trasmessi) che può venire utilizzata per rilevare eventuali errori di trasmissione. Se il ricevitore non trova il bit di stop si ha un errore di framing, cioè non riconosce la trama (frame), per cui non è in grado di comprendere il significato dei bit ricevuti. La figura mostra l'analisi temporale della trasmissione del byte 29H secondo la codifica ASCII a 8 bit, nella quale per primo viene trasmesso il bit meno significativo, con un solo bit di stop e senza bit di parità, supponendo di attribuire al valore negativo di tensione (denominato mark) il bit 1 e al valore positivo di tensione (denominato space) il bit 0 secondo la logica negativa stabilita dalle raccomandazioni V.1 e V.4 dell'ITU-T (International Telecommunication Union – Telecommunication Standardization Sector). 8 Trasmissione seriale sincrona Nelle trasmissioni sincrone il trasmettitore invia, contemporaneamente ai bit di informazione, anche opportune informazioni di sincronizzazione, impulsi di clock, che consentono al ricevitore di campionare lo stato della linea in modo da prelevare correttamente i bit di dato (clock syncronism). Gli intervalli di tempo tra i caratteri trasmessi hanno una lunghezza multipla della durata della trasmissione di un carattere. I clock del trasmettitore e del ricevitore devono quindi essere in sincronismo per lunghi periodi di tempo. Comunemente si utilizzano due tecniche di sincronizzazione. In una tecnica il trasmettitore ed il ricevitore si scambiano i dati su un canale ed il segnale di temporizzazione su un altro canale. Se le distanze sono brevi, il collegamento sincrono si realizza con 3 fili (clock, bit e massa) come mostrato nella figura. Schema a blocchi di una trasmissione seriale sincrona. Se la trasmissione sincrona avviene tra un modem e l'interfaccia seriale di un computer, il clock può essere generato dall'interfaccia seriale o dal modem stesso. Nell’altra tecnica il trasmettitore genera ed invia al ricevitore un unico segnale contenente sia le informazioni di temporizzazione che i dati; il ricevitore utilizza questo sia per rifasare il proprio clock tramite un circuito PLL ( Phase Lock Loop), sia per estrarre i dati. Se, per esempio, i dispositivi collegati sono due modem, il segnale di sincronismo è contenuto nella tensione analogica che il modem trasmettitore invia al modem ricevitore; quest'ultimo, attraverso l'operazione di demodulazione, estrae un segnale digitale che contiene particolari caratteri che consentono di sincronizzare il ricevitore al trasmettitore. I dati sono sempre inviati in blocchi (detti frames) di decine o centinaia di caratteri (byte). Ogni blocco è preceduto da caratteri di sincronismo ed è seguito da caratteri di controllo CRC (Cyclic Redundancy Code), necessari per garantire la correttezza della trasmissione, nonché da un carattere che indica la fine del blocco trasmesso. Anche durante i periodi di inattività il trasmettitore invia caratteri di sincronismo. La figura seguente illustra il concetto: Formato del blocco di caratteri in una trasmissione seriale sincrona tra due modem. 9 Un esempio di segnale che contiene sia informazione di temporizzazione che di dato è quello ottenuto dal trasmettitore attraverso la codifica Manchester. Tale codifica si ottiene mediante l’operazione di EXOR tra il segnale del clock ed il segnale che rappresenta i dati. Il ricevitore può estrarre i dati mediante un’analoga operazione di EXOR tra i segnale ricevuto ed il segnale di clock riprodotto tramite circuito PLL. Esempio di codifica Manchester Clock Dati Dati ⊕ Clock Comunicazione in rete La comunicazione all’interno di una rete avviene tra un sistema sorgente ed uno di destinazione. Per comunicare un computer (sorgente) invia informazioni sulla rete ad un altro computer (destinatario). L’informazione che viaggia sulla rete consiste di cifre binarie (bit) ed è chiamata dati, pacchetti o pacchetti di dati. Un pacchetto di dati quindi è un’unità di informazione raggruppata logicamente che si sposta tra sistemi di computer. Un pacchetto di dati comprende alcuni elementi che sono essenziali nella comunicazione come l’indirizzo sorgente (source address), che identifica il computer che invia il pacchetto, e l’indirizzo destinazione (destination address), che identifica il computer che alla fine riceve il pacchetto. 10