Trasmissione dati (1/6) 
1 Generalità  2 Rete commutata e dedicata  2.1 Collegamento punto-punto  2.2 Collegamento multipunto 
3 Modello ISO OSI  4 Trasmissione seriale  4.1 Trasmissioni sincrone  4.2 Trasmissioni asincrone 

1. Generalità

Si definisce trasmissione dati l'insieme delle tecniche hardware e software per la propagazione a distanza d'informazioni digitali tra due o più sistemi d'elaborazione DTE (Data Terminal Equipement) utilizzando un'opportuna rete di comunicazione su cui far viaggiare i dati.

In genere ci si riferisce a sistemi d'elaborazione posti in località diverse e distanti tra loro per cui è difficilmente ipotizzabile la stesura diretta di un certo numero di cavi di collegamento tra le due stazioni o che colleghi un sistema d'elaborazione a tutti gli altri sistemi d'elaborazione.

La trasmissione deve essere di tipo seriale, in altre parole i bit che compongono i byte da trasmettere sono inviati sequenzialmente, uno per volta e non tutti e otto contemporaneamente. La trasmissione parallela è possibile, com'è noto, tra elementi vicini di uno stesso sistema (microprocessore-memoria centrale) o tra apparecchiature distanti tra loro fino a qualche metro (computer-stampante, ad esempio).

Per questi motivi nelle comunicazioni a grandi distanze si utilizza la rete telefonica pubblica che consente, inoltre, il collegamento ad un qualsiasi altro punto nel mondo.

Uno dei problemi da affrontare è l'adattamento del segnale digitale nella rete telefonica. Infatti, il segnale numerico ha uno spettro di frequenza teoricamente infinito mentre il canale fonico è compreso tra 300Hz e 3400Hz.

Si possono ipotizzare le seguenti due soluzioni di massima :

  1. Modulare una portante analogica avente frequenza compresa tra 300Hz e 3400Hz con il segnale digitale; il risultato della modulazione è trasmesso nella rete telefonica come un normale segnale fonico, cioè analogico, per poi essere demodulato 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)  .
  2. Utilizzo di reti adatte a trasmettere segnali numerici come, ad esempio, la rete CDN (Collegamenti Diretti Numerici) e la rete ISDN (Integrated Service Digital Network).

  3. Anche in questo caso il terminale dei dati deve essere collegato alla rete attraverso un particolare circuito d'interfaccia. Le reti numeriche consentono di operare ad elevate velocità con bassi tassi d'errore.
Durante la trasmissione, il segnale subisce distorsioni da parte del trasmettitore, del canale di trasmissione e del ricevitore oltre al rumore recepito dal canale di trasmissione.

La distorsione consiste nell'alterazione non voluta del segnale. Il rumore è un disturbo costituito da elementi casuali ed elementi prevedibili come le diafonie e le intermodulazioni, il rumore termico, i disturbi atmosferici, alterazione delle caratteristiche dei componenti per invecchiamento e riscaldamento. Per questi motivi conviene introdurre ridondanza nel segnale, attraverso dei codici di controllo e di autocorrezione, in modo di assicurarsi, entro certi limiti, della correttezza della trasmissione.

In fig. 1 si mostra lo schema a blocchi di un sistema di trasmissione dati che collega due dispositivi terminali DTE (Data Terminal Equipement), utilizzando due modem.

 

Fig. 1 Schema a blocchi di un sistema di trasmissione dati con MODEM.

2. Rete commutata e dedicata

L'utilizzo del modem per la trasmissione dei dati può avvenire sulla rete telefonica commutata (RC) o sulla rete telefonica dedicata (RD).

Nel primo caso il modem si collega alla normale presa telefonica attraverso un'attivazione manuale (operazione obsoleta e non più presente sui moderni modem) o automatica e la trasmissione avviene dopo aver selezionato via software il numero di telefono del destinatario; il modem di quest'ultimo si pone in risposta automatica e riceve le informazioni provenienti dalla linea.

I vantaggi della RC consistono nel basso costo d'esercizio e nella grande flessibilità in quanto è possibile collegarsi con chiunque possegga un modem. Uno svantaggio è la relativa lentezza di funzionamento per la modesta qualità della linea telefonica commutata. In questi ultimi anni la rete telefonica commutata si è trasformata quasi del tutto da analogica in numerica e il canale di trasmissione, che collega le attuali centrali, è in fibra ottica. Questo ha comportato un notevole miglioramento della qualità della trasmissione che ha incoraggiato molti utenti, soprattutto privati, all'uso di modem in RC ad elevata velocità (dai 14000bps nel 1995 ai 56000bps nel 2000) con basso tasso d'errore. E', inoltre, in fase di realizzazione il collegamento in fibra ottica tra centrali telefoniche e gli armadi di distribuzione sui quali si collegano i cavi coassiali di ogni utente.

2.1.Collegamento punto-punto

L'utente che esegue il collegamento sulla rete telefonica dedicata RD, realizza il collegamento punto-punto ed è connesso ad un solo utente. Il contratto che si stipula con TELECOM prevede solo una spesa fissa annuale che non dipende dalla durata della comunicazione. Per brevi distanze, ad esempio all'interno di un edificio, si può realizzare una RD privata gestita dall'utente stesso. Su questo principio si basano le reti locali LAN.

I vantaggi della RD consistono nello scarso disturbo che consente un'elevata velocità di funzionamento. Uno svantaggio è il costo piuttosto elevato.

L'utente che deve effettuare le trasmissioni verso una sola destinazione per un numero d'ore giornaliere piuttosto elevato, può trovare conveniente, anche sotto il profilo della spesa, l'utilizzo della RD. Le reti dedicate sono utilizzate da utenti che sviluppano un grande traffico telefonico come banche, industrie, ecc.  

2.2. Collegamento multipunto

In questo caso una sola linea collega tra loro più dispositivi. E' una struttura basata su un elaboratore centrale dotato di un proprio modem collegato ad una linea alla quale sono connessi, tramite modem, vari DTE remoti. La linea, ovviamente, può essere utilizzata da una sola coppia d'apparecchiature per cui si rende necessario un protocollo che stabilisca l'accesso alla linea da parte dei vari DTE. Solitamente il compito è attribuito all'elaboratore centrale che esegue il polling delle varie periferiche.

In fig.3 si mostra lo schema di principio del collegamento multipunto tra un elaboratore centrale e più dispositivi periferici, tramite l'utilizzo di modem.

 

Fig. 3 Collegamento multipunto tra un elaboratore centrale e più DTE.

3. Modello ISO OSI

Con il tumultuoso progresso tecnologico in campo elettronico e in quello delle telecomunicazioni, i costruttori hanno inizialmente prodotto apparecchiature capaci di collegarsi solo a determinate altre apparecchiature della stessa ditta. Il problema dell'incompatibilità hardware e software spinse costruttori e governanti di molti paesi a istituire organismi internazionali composti da tecnici specialisti dei vari settori in grado di emanare regole e norme che consentivano il corretto funzionamento di apparecchiature tra loro collegate anche se di costruttori diversi. Uno di questi organismi è l'ISO (International Standard Organization).

In particolare, in un sistema di trasmissione dati è necessario stabilire una serie di regole hardware e software, denominate protocolli, indispensabili per assicurare un corretto collegamento e funzionamento tra apparato trasmittente e ricevente.

Tali protocolli devono garantire, ad esempio, la compatibilità tra i segnali elettrici dei terminali DTE e DCE, la correttezza della trasmissione con eventuale possibilità di rivelazione e correzione degli errori, ecc. In sede internazionale, è stato messo a punto dall'ISO un sistema di riferimento, denominato modello OSI (Open System Interconnection), che ha unificato in modo sistematico i protocolli di comunicazione nella trasmissione dati. Il modello ISO/OSI classifica i protocolli di comunicazioni in sette livelli come mostrato in fig.4.
 

Fig. 4 Architettura dei livelli del modello ISO/OSI.


I protocolli di basso livello (1- 4) hanno funzioni legate al trasporto dei segnali elettrici fra trasmettitore e ricevitore. I protocolli d'alto livello (5 - 7) svolgono funzioni software d'elaborazione e trattamento dei dati.

In pratica, i protocolli di trasporto s'interessano del trasferimento dei dati da trasmettitore al ricevitore consentendo al software d'elaborazione di dedicarsi esclusivamente alla manipolazione ed all'elaborazione delle informazioni.

In un sistema di trasmissioni dati non tutti i livelli sono sempre presenti distintamente nel collegamento; ciò dipende fondamentalmente sia dal tipo di rete utilizzata (commutata, dedicata, punto-punto, multipunto, ecc.) che dalle specifiche costruttive dei computer impiegati (omogeneità nella struttura dei dati, compatibilità software, ecc.). Si fornisce una breve descrizione dei livelli ISO/OSI.

  1. Livello fisico. Definisce gli standard e le interfacce di comunicazioni meccaniche ed elettriche come, ad esempio, la RS-232C, la RS-422, ecc.
  2. Livello di linea. Definisce le procedure d'inizializzazione, sincronismo, rivelazione d'errori con protocolli di tipo BSC, HDLC, ecc. Gli aspetti più importanti di tali protocolli sono rappresentati dalle regole di riconoscimento e correzione degli errori e dalle modalità di colloquio tra i vari periferici.
  3. Livello di rete. Definisce le procedure necessarie al collegamento di rete tra utenti. Divide il messaggio da trasmettere in pacchetti e ne gestisce il transito attraverso la rete di trasmissione.
  4. Livello di trasporto. Definisce ed ottimizza i collegamenti tra utenti. Gestisce l'apertura e la chiusura dei collegamenti, sceglie il percorso ottimale lungo la rete, rivela e corregge i dati errati di trasmissione.
  5. Livello di sessione. Definisce le modalità per individuare l'indirizzo dell'utente, interrompe il collegamento e lo riattiva in qualunque momento e per qualsiasi causa. Definisce, inoltre, il tipo di collegamento (half-duplex, full-duplex, ecc.).
  6. Livello di presentazione. Definisce le modalità per interpretare e modificare i dati ricevuti in modo da presentarli in forma idonea e comprensibile sul terminale utente.
  7. Livello di applicazione. Definisce le procedure, gli archivi e i pacchetti software applicativi che l'utente può utilizzare anche se fisicamente allocati su altri terminali di rete.
 

4. Trasmissione seriale

Questo paragrafo descrive le caratteristiche della trasmissione seriale relativamente al livello fisico del modello ISO/OSI.

Nella trasmissione seriale il collegamento fra trasmettitore e il ricevitore si può realizzare con un minimo di due fili: il primo rappresenta la linea su cui viaggiano i bit, l'altro il filo di massa. Le trasmissioni seriali si dividono in:

1) sincrone;
2) asincrone.

4.1. Trasmissioni sincrone

Nelle trasmissioni sincrone il trasmettitore invia degli impulsi di clock contemporaneamente ai bit di informazione in modo da consentire al ricevitore la corretta lettura dei dati in arrivo ad intervalli regolari di tempo scanditi dal trasmettitore. Il collegamento, di norma, si realizza con 3 fili (clock, bit e massa) come si mostra in fig.5.
 
Fig. 5 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. Se i dispositivi collegati sono due modem, il segnale di sincronismo è contenuto nella tensione analogica che il modem trasmettitore invia al ricevitore ; quest'ultimo, attraverso l'operazione di demodulazione, estrae il segnale digitale che contiene particolari caratteri che consentono di sincronizzare il ricevitore al trasmettitore. I dati sono inviati in blocchi di decine o centinaia di caratteri. Ogni blocco è preceduto da caratteri di sincronismo e seguito da caratteri di controllo CRC (Codice Ciclico di Ridondanza), per la correttezza della trasmissione, e da un carattere che indica la fine del blocco trasmesso.

In fig.6 si mostra il blocco di caratteri che transita in una trasmissione seriale sincrona tra due modem.

 

Fig. 6 Formato del blocco di caratteri in una trasmissione seriale sincrona tra due modem.


4.2. Trasmissioni asincrone

Nel collegamento seriale asincrono non si trasmette il clock ma il ricevitore genera un clock locale della stessa frequenza 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. In pratica un carattere in trasmissione è preceduto da un bit di start e seguito da uno o più bit di stop. Il bit di start è costituito dal livello logico 0 mentre il bit di stop dal livello logico 1. In assenza di trasmissione si ha il livello logico 1; quando la trasmissione ha inizio, l'applicazione del bit di start genera un fronte negativo che sincronizza il clock del ricevitore. Successivamente, sono inviati in sequenza, ad intervalli regolari di tempo, i bit del carattere da trasmettere nel codice ASCII a 7 o 8 bit seguito, eventualmente, da un bit di parità pari o dispari e da uno o due bit di stop. Le modalità di trasmissione, ovviamente, devono essere note prima che questa sia attivata. Un sistema che trasmette a 9600 bps (bit per secondo) con 8 bit per carattere senza alcun bit di parità ed un solo bit di stop può trasferire fino a 960 caratteri al secondo poiché un carattere è costituito da 10 bit: 1 bit di start, 8 bit di dato, 1 bit di stop.

In fig.7 si mostra l'analisi temporale della trasmissione del byte 94 supponendo di attribuire al valore negativo di tensione (denominato mark) il bit 1 e al valore positivo di tensione (denominato space) il bit 0.

Le associazioni scelte sono, pertanto, in logica negativa come stabilito dalle raccomandazioni V.1 e V.4 dell'ITU-T

Fig. 7 Temporizzazione della trasmissione del byte 94 senza bit di parità e con un solo bit di stop.

Il trasmettitore presenta nello stadio di uscita un circuito in grado di effettuare la conversione di un carattere dalla forma parallela a quella seriale in modo del tutto simile ad un registro a scorrimento con caricamento parallelo ed uscita seriale (PISO). Il ricevitore, invece, presenta nello stadio d'ingresso un circuito in grado di trasformare un carattere ricevuto in forma seriale in parallelo.

Ciò si realizza con una soluzione simile ad un registro a scorrimento con caricamento seriale e uscita parallela (SIPO).

Vi sono circuiti integrati in grado di comportarsi, all'occorrenza, sia da SIPO sia da PISO, presentano un clock locale che può essere selezionato sul valore richiesto. Essi prendono il nome di USART (universal synchronous asynchronous riceiver trasmitter = ricevitore trasmettitore sincrono o asincrono universale) e sono utilizzati sia nei ricevitori e sia nei trasmettitori. Gli USART sono convenienti nelle trasmissioni bidirezionali dove i ruoli fra trasmettitore e ricevitore sono intercambiabili.

Le velocità permesse nelle trasmissioni seriali asincrone hanno i seguenti valori espressi in bit al secondo:

75, 110, 150, 300, 600, 1200, 1800, 2400, 4800, 9600, 19200.


4.3. Usart 8251A

In fig.8 si mostra lo schema a blocchi dell'USART 8251A dell'Intel. Esso è interfacciabile ai microprocessori a 8 bit 8080/85, Z-80 e ai microprocessori 80X86 e consente la comunicazione sincrona o asincrona.
 
Fig. 8 Schema a blocchi dell'USART 8251A e relativa piedinatura.


Il dispositivo si collega al BUS del microprocessore attraverso le linee dati D7..D0, le linee di comando per la lettura RD e la scrittura WR e il clock CLK.

La linea C/D consente di interpretare il byte scambiato con il microprocessore come byte di controllo o di dato secondo la tabella 1: 


Tabella 1
  Funzionamento 
ricevitore 
trasmettitore 
lettura registro di stato 
scrittura nel registro di comando 

La sezione "modem control" è utilizzata quando l'integrato collegato ad un modem. Le linee indicate in tale sezione si connettono alle omologhe del modem.

L'8251A presenta una sezione "trasmettitore" distinta da quella "ricevitore" ed esse possono lavorare ad una frequenza di clock diverse pari a 1, 1/16, 1/64 della frequenza applicata sul piedino TxC (Trasmitter Clock) e RxC (Receiver Clock). La selezione della frequenza di operazione viene programmata prima di avviare la comunicazione.

Il trasmettitore presenta due registri: il primo serve per la memorizzazione del dato da trasmettere; il secondo un registro a scorrimento di tipo PISO la cui uscita seriale rappresentata dalla linea TxD (Trasmitter Data). Alla fine della trasmissione di un carattere, la linea TxRDY (Trasmitter Ready) si porta al livello alto. La linea TxE (Trasmitter Empty) si porta al livello alto nel caso in cui il microprocessore tarda ad inviare un successivo dato.

Il ricevitore acquisisce il dato seriale dalla linea RxD (Receiver data) e lo trasmette in un registro a scorrimento di tipo SIPO che parallelizza il dato e successivamente lo trasferisce in un registro buffer. La linea SYNDET può essere utilizzata sia come ingresso che uscita durante la ricezione sincrona e serve a sincronizzare l'USART come ricevitore.

L'inizializzazione dell'USART è realizzata da un'istruzione di "modo" scritta nel registro di comando. Tale istruzione indica il tipo di comunicazione: sincrona o asincrona, lunghezza del carattere (5, 7 o 8 bit), presenza o assenza del bit di parità pari o dispari, numero di bit di stop (1, 1 1/2, 2), caratteri di sincronismo (nella trasmissione sincrona), ecc.

Il dispositivo presenta un registro di stato a 8 bit il cui contenuto può essere letto dal microprocessore ed indica con i suoi bit lo stato di funzionamento dell'USART.

Nei moderni PC è utilizzato l'USART 16550 che consente le comunicazioni veloci potendo supportare velocità fino a 115200bps. Esso, inoltre, contiene un buffer di 16 byte strutturati a coda (FIFO) che funziona da "cuscinetto" tra il computer e il modem consentendo di adeguare la velocità all'apparato più lento.