Issuu on Google+

Università degli Studi di Napoli Federico II Facoltà di Ingegneria Corso di Laurea in Ingegneria Elettronica (Classe delle lauree in Ingegneria dell’Informazione – n.9)

Elaborato di Laurea

Protocolli di comunicazione

Relatore:

Candidato:

Chiar.mo Prof. Felice Cennamo

Alessio Sellaroli 528/1376

Anno Accademico 2011-2012


Alla mia famiglia.

i


Indice 1 Introduzione

1

2 Trasmissione dati 2.1 Rete commutata e dedicata . . . . . . . . . . . . . . . . . . . . . . . . . . 2.2 Collegamento punto-punto . . . . . . . . . . . . . . . . . . . . . . . . . . . 2.3 Collegamento multipunto . . . . . . . . . . . . . . . . . . . . . . . . . . . .

3 4 4 4

3 Protocolli di comunicazione 3.1 Modello ISO/OSI . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

6 6

4 Trasmissione seriale 12 4.1 Trasmissione seriale asincrona e sincrona . . . . . . . . . . . . . . . . . . . 13 4.2 L’interfaccia seriale EIA RS-232-C . . . . . . . . . . . . . . . . . . . . . . . 18 4.3 Descrizione dei Principali segnali dell’Interfaccia EIA RS232 C,D. . . . . . 19 5 Modem 5.1 Classificazione dei modem . . . . . . . 5.2 Modulazioni utilizzate . . . . . . . . . 5.2.1 Modulazione di frequenza FSK 5.2.2 Modulazione di fase PSK . . . . 5.2.3 Modulazione d’ampiezza ASK . 5.2.4 Modulazione QAM . . . . . . . 5.2.5 Codifica in banda base . . . . . 5.3 Correzione degli errori . . . . . . . . . 5.4 Compressione dei dati . . . . . . . . . 5.5 Stati del modem . . . . . . . . . . . . 5.6 Modem interni ed esterni . . . . . . . . 5.7 Programmazione di un MODEM . . . 5.8 Il set dei Comandi AT . . . . . . . . . 5.8.1 Basic AT . . . . . . . . . . . . 5.8.2 Extended AT Command . . . . 5.8.3 Codici di risposta . . . . . . . . 6 Protocolli di trasmissione 6.1 Protocolli asincroni . . . 6.1.1 XMODEM . . . . 6.1.2 Kernit . . . . . . 6.1.3 YMODEM . . . . 6.1.4 ZMODEM . . . . 6.2 Protocolli sincroni . . . .

. . . . . .

. . . . . .

. . . . . .

. . . . . .

. . . . . .

. . . . . . ii

. . . . . .

. . . . . .

. . . . . . . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . .

23 23 25 25 25 25 25 25 26 27 27 28 29 30 31 35 38

. . . . . .

41 41 42 42 43 44 44


6.2.1 6.2.2

Protocollo sincrono BSC . . . . . . . . . . . . . . . . . . . . . . . . 44 Protocollo sincrono HDLC . . . . . . . . . . . . . . . . . . . . . . . 46

7 Link 7.1 Standard di modulazione . . . 7.2 Dial Up su rete PSTN e ISDN 7.2.1 PSTN . . . . . . . . . 7.2.2 ISDN . . . . . . . . . .

. . . .

. . . .

. . . .

. . . .

. . . .

. . . .

. . . .

. . . .

. . . .

. . . .

. . . .

. . . .

. . . .

. . . .

. . . .

. . . .

. . . .

. . . .

. . . .

. . . .

. . . .

. . . .

. . . .

. . . .

. . . .

48 52 56 56 58

8 Conclusioni e sviluppi futuri

59

Appendice elettronica

62

Bibliografia

63

iii


Elenco delle figure 2.1

Collegamento multipunto tra un elaboratore centrale e pi첫 DTE. . . . . . .

4

3.1

Schema di principio del protocollo di comunicazione ISO/OSI. . . . . . . .

7

4.1 4.2 4.3 4.4 4.5 4.6

Esempio di un sistema di trasmissione dati. . . . . . . . . . . Trasmissione dati . . . . . . . . . . . . . . . . . . . . . . . . . Spettro di un segnale in banda base trasmesso a 1200 baud. . . Trasmissione seriale asincrona di un carattere rappresentato su Trasmissione seriale asincrona e seriale. . . . . . . . . . . . . EIA RS232 C,D nomenclatura dei pin e segnali corrispondenti.

5.1 5.2 5.3

Schema a blocchi di un modem in banda fonica e a larga banda. . . . . . . 24 Schema a blocchi di un modem in banda base. . . . . . . . . . . . . . . . . 24 Possibili stati del modem e relative transizioni. . . . . . . . . . . . . . . . . 28

6.1 6.2 6.3 6.4

Struttura dei dati in una trasmissione XMODEM. Diagramma temporale del protocollo XMODEM. . Struttura dei dati in una trasmissione BSC. . . . Struttura dei dati in una trasmissione HDLC. . .

7.1 7.2 7.3 7.4 7.5 7.6 7.7 7.8

Link . . . . . . . . . . . . . Link, Configure RS232 Port Link, Info . . . . . . . . . . Link, Receive from device . Link,Transmit to device . . Link, Send file . . . . . . . . Link, Modulation . . . . . . Configurazione dei modem di

. . . .

. . . .

. . . .

. . . .

. . . .

. . . .

. . . .

. . . . . .

. . . . . .

. . . . . .

12 13 15 15 17 19

. . . .

. . . .

. . . .

. . . .

. . . .

. . . .

42 43 44 47

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . tipo simmetrico (a) e asimetrico (b).

. . . . . . . .

. . . . . . . .

. . . . . . . .

. . . . . . . .

. . . . . . . .

48 49 50 50 51 51 52 57

iv

. . . .

. . . . . . . . . . . . 7 bit. . . . . . . . .


Elenco delle tabelle 4.1 4.2

Tipi di paritĂ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16 Cavo 9 pin 25 pin per comunicazione seriale asincrona. . . . . . . . . . . . 22

5.1 5.2

Caratteristiche di trasmissione. . . . . . . . . . . . . . . . . . . . . . . . . 27 Indicatori LED per modem esterni . . . . . . . . . . . . . . . . . . . . . . 29

6.1

Caratteri di controllo per il protocollo BSC. . . . . . . . . . . . . . . . . . . 45

v


Capitolo 1 Introduzione La necessità di connettere, ovvero di collegare, più calcolatori elettronici insieme, è nata alla fine degli anni cinquanta negli Stati Uniti dopo che l’allora Unione Sovietica aveva lanciato in orbita il primo satellite (lo Sputnik - 1957). Nel 1958, dal Dipartimento della Difesa degli Stati Uniti, fu quindi creata una nuova agenzia denominata ARPA (Advanced Research Projects Agency) per dare modo di ampliare e sviluppare la ricerca, soprattutto in ambito aerospaziale e, quando la NASA le subentrò nella gestione dei programmi spaziali, l’ARPA assunse il controllo di tutte le ricerche scientifiche a lungo termine in campo militare. Con l’aumentare delle esigenze crebbero anche il numero delle sedi e, di conseguenza, anche degli elaboratori dedicati, facendo sorgere immediatamente il problema del collegamento tra di esse in modo da poter condividere i dati contenuti in ognuno degli elaboratori, problema rimasto irrisolto fino alla metà degli anni sessanta quando Bob Taylor, e Charlie Hertzfeld, (rispettivamente capo della divisione informatica e direttore dell’ARPA) ottennero uno stanziamento di un milione di dollari per un progetto rivoluzionario, che consisteva nel collegare e condividere online il tempo di utilizzazione dei computer tra i diversi centri di elaborazione dati e i gruppi di ricerca per l’agenzia basandosi su una tecnologia trasmissiva anch’essa rivoluzionaria, la commutazione di pacchetto (packet switching), sviluppata da Paul Baran, ingegnere polacco naturalizzato statunitense, che permettesse di creare un network invulnerabile ad un attacco nucleare; era così nato il progetto ARPANET. Dal 1968, anno del primo collegamento tra l’UCLA e lo Stanford Research Institute, al 1973 la crescita avvenne in modo esponenziale, arrivando fino a 37 nodi1 collegati tra loro, e questo cominciò a creare la problematica di come poter organizzare il flusso dei dati tra i diversi calcolatori; ci si accorse infatti della necessità di poter far colloquiare in modo univoco i computer mediante delle regole standard e condivise da tutti e fu quindi creato il progetto del protocollo di controllo trasmissione (TCP), divenuto standard indispensabile per la comunicazione tra reti di computer, implementato nel 1978 quando è stato aggiunto un ulteriore protocollo tra rete e rete (IP), definendo quindi il protocollo su cui ancor oggi opera Internet: il TCP/IP. Nello stesso anno veniva implementato,da due studenti dell’Università di Chicago, un programma battezzato MODEM.ASM, che permetteva il trasferimento di file tra i loro personal computer dando quindi vita alle BBS (Bulletin Board System), un sistema di bacheca elettronica che consentiva al PC di trasmettere e archiviare messaggi che nel 1983 con l’ideazione di FIDO, ha dato vita alla prima vera rete pubblica e nel 1986, com la creazione di FIDONET, quella dei primi blog. La prima connessione con il protocollo TCP/IP al di fuori degli Stati Uniti fu stabilita nel 1982 con la Norvegia, e con la Gran Bretagna, e nel 1986 con l’Italia, terzo Paese al 1

punti in cui vi sono elaboratori o insieme di essi che hanno facoltà di far connettere altri dispositivi

1


1 – Introduzione

mondo a collegarsi ad Arpanet, grazie all’Università Normale di Pisa, e secondo Paese a sperimentare il WWW, il World Wide Web, un sistema per la condivisione di informazioni in ipertesto del 1990 sviluppato da Tim Berners-Lee presso il CERN (Centro Europeo per la ricerca nucleare), facendo nascere la Rete Internet come la conosciamo al giorno d’oggi. La connessione, fino a circa metà degli anni novanta, avveniva tramite dispositivi che trasformavano il segnale da digitale ad analogico e viceversa; tali dispositivi erano i Modem che consentivano le connessioni tra computer mediante la composizione di una normale numerazione telefonica, (Dial-up) grazie a opportuni programmi detti dialer che sfruttavano la linea telefonica (intesa come l’usuale banda fonica) che quindi era il canale di comunicazione fisico con la rete (solitamente Internet o le più datate BBS), mentre il protocollo di comunicazione era, ed è tuttora, il protocollo PPP e il TCP/IP. É in questo contesto che si sviluppa questo lavoro di tesi che è centrato sulla creazione di un dialer. In particolare obbiettivo del presente lavoro è stato quello di gestire l’invio e ricezione di file attaverso connessioni dial-up che possono essere effettuate sia su linea analogica PSTN (Public Switch Telephone Network o, in italiano, Rete Telefonica Commutata) che su linea digitale ISDN (Integrated Service Digital Network). Il software è stato interamente sviluppato nell’ambiente di LabWindows/CVI 2 , compresa la parte grafica di interfaccia all’utente. Dall’utilizzo di LabWindows/CVI è stato creato Link un software per la gestione di un qualisiasi DCE (Data Communication Equipement). Attraverso Link è possibile: • configurare la porta seriale impostando parametri quali: – baud rate; – numero di bit dati; – parità; – bit di stop; – dimensioni della coda d’ingresso e d’uscita; – settaggio dei controlli di flusso: RTS/CTS (hardware handshaking) e XON/XOFF (software handshaking); – impostare un timeout3 per le operazione input/output; • gestire la messaggistica in entrata e in uscita; • gestire chiamate vocali e chiamate dati in entrate e in uscita; • invio e ricezione di file su linee PSTN e ISDN. Nei prossimi capitoli verrano descritti il percorso di ricerca effettuato dal sottoscritto ponendo molta attenzione ai vari protocolli di comunicazione e in particolare di trasmissione che hanno contribuito nello sviluppo del presente lavoro.

LabWindows/CVI è un ambiente di sviluppo integrato ANSI C che include una serie completa di strumenti per la programmazione e applicazioni di controllo e test. 2

Per le operazioni di lettura, si verifica il timeout quando la coda di ingresso della COM selezionata è vuota e nessun byte viene letto nella coda per la durata del tempo di timeout. Per le operazioni di scrittura, si verifica timeout quando la coda d’uscita della porta COM selezionata è piena e LabWindows / CVI non può scrivere in coda per tutta la durata del tempo di timeout. 3

2


Capitolo 2 Trasmissione dati 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, quindi è 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 simili. 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 il collegamento ad un qualsiasi altro punto nel mondo. Uno dei problemi da affrontare è l’adattamento del segnale digitale alla rete telefonica. Infatti, il segnale numerico ha uno spettro di frequenza teoricamente infinito ma 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), la rete ISDN (Integrated Service Digital Network) e la rete ADSL (Asymmetric Digital Subscriber Line). 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 prevedibili ed imprevedibili 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 3


2 – Trasmissione dati

certi limiti, della correttezza della trasmissione.

2.1

Rete commutata e dedicata

L’utilizzo del modem per la trasmissione dei dati può avvenire sulla rete telefonica commutata (RC) o 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à (56Kbps) con basso tasso d’errore.

2.2

Collegamento punto-punto

L’utente che esegue il collegamento sulla rete telefonica dedicata RD, realizza il collegamento punto-punto ed è connesso permanentemente ad un solo utente. Per le chiamate, pertanto, non è necessario formulare alcun numero. 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. 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.

Elaboratore centrale

Modem DTE 1 Modem

Modem

Modem

DTE 2

DTE 3

DTE 4

Figura 2.1: Collegamento multipunto tra un elaboratore centrale e più DTE.

2.3

Collegamento multipunto

In questo caso una sola linea collega tra loro più dispositivi. È 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 4


2 – Trasmissione dati

centrale che esegue il polling1 delle varie periferiche. In fig. 2.1 nella pagina precedente si mostra lo schema di principio del collegamento multipunto tra un elaboratore centrale e più dispositivi periferici, tramite l’utilizzo di modem.

Interrogazione ciclica delle periferiche da parte dell’unità centrale. La periferica che desidera scambiare dati è abilitata a farlo solo quando l’unità centrale la interroga. 1

5


Capitolo 3 Protocolli di comunicazione Nelle telecomunicazioni, per protocollo di comunicazione si intende la definizione formale e a priori delle modalità o processo logico di comunicazione/interazione (insieme di regole o meccanismi o schema di comunicazione) che due apparecchiature elettroniche, collegate tra loro, devono rispettare per operare particolari funzionalità di elaborazione necessarie all’espletamento di un certo servizio preposto al funzionamento efficace della comunicazione in rete. In particolare un protocollo prevede la definizione dei linguaggi costituiti dai messaggi scambiati, messaggi che devono potersi interpretare correttamente. L’aderenza ai protocolli garantisce che due software in esecuzione su diverse macchine possano comunicare efficacemente, anche se sono stati realizzati indipendentemente cioè interoperabilità1 . È evidente l’importanza della standardizzazione dei protocolli di rete. L’implementazione informatica dei protocolli di rete definisce, all’interno dell’architettura di rete, il cosiddetto software di rete, presente usualmente all’interno del sistema operativo ed elaborato dalla scheda di rete.

3.1

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 consentissero il corretto funzionamento di apparecchiature tra loro collegate anche se di costruttori diversi. Uno di questi organismi è l’ISO (International Standard Organization) che nel 1978 stabilì l’Open Systems Interconnection (meglio conosciuto come modello ISO/OSI) che stabilisce per l’architettura logica di rete un’architettura a strati composta da una pila di protocolli suddivisa in 7 livelli, i quali insieme espletano in maniera logico-gerarchica tutte le funzionalità della rete come mostrato in fig. 3.1 nella pagina successiva. I diversi protocolli sono organizzati con un sistema detto a livelli : a ciascun livello viene usato uno specifico protocollo. La divisione in livelli è fatta in modo tale che ciascuno di essi utilizzi i servizi offerti dal livello inferiore, e fornisca servizi più ricchi a quello superiore. I diversi livelli in un host comunicano tra loro tramite capacità di diversi sistemi e servizi tecnologici di comunicare e scambiare informazioni tra loro e con altri sistemi secondo standard condivisi. 1

6


3 – Protocolli di comunicazione

le interfacce chiamate SAP (Service Access Point) 2 . Ogni livello parla solo con quello immediatamente superiore e con quello immediatamente inferiore. I protocolli regolano invece la comunicazione tra due entità dello stesso livello, che serve a fornire servizi al livello superiore. In una rete a pacchetto ciascun livello aggiunge ai pacchetti una intestazione, attraverso una operazione detta imbustamento. In particolare l’unità dati di ciascun livello o protocollo è detta PDU (Protocol Data Unit) suddivisa a sua volta in SDU (Service Data Unit) che rappresenta la parte di dati utili proveniente dagli strati superiori e la PCI (Protocol Control Information) che rappresenta l’informazione di overhead aggiunta dal protocollo del livello N, cioè l’intestazione. Ciascun protocollo quindi regola normalmente solo una parte degli aspetti di una comunicazione e le funzionalità stesse del protocollo sono immediatamente ricavabili dall’intelligibilità, cioè dal significato logico, dei loro campi dato aggiuntivi. I vari livelli sono dunque organizzati in pile di protocolli.

Applicazione Presentazione Sessione Trasporto

Applicazione con il suo protocollo (FTP, HTTP, SMTP, ecc.) Protocolli TCP, UDP,

ICMP Protocollo IP

Rete Collegamento Dati Fisico

TCP/IP

Protocollo della rete fisica sottostante

Figura 3.1: Schema di principio del protocollo di comunicazione ISO/OSI.

La struttura serve ad adempiere ad alcuni compiti: • controllo dell’errore; • controllo del flusso; • frammentazione e riassemblaggio; • multiplexing, in modo che sessioni dello strato più alto possano condividere una singola connessione dello strato più basso; • instaurazione della connessione. 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 punto di accesso ad un servizio che un livello offre al suo soprastante, in un’architettura in cui ciascun livello offre una serie di servizi a quello gerarchicamente superiore e usufruisce dei servizi offerti da quello sottostante. 2

7


3 – Protocolli di comunicazione

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.). Di seguito si fornisce una descrizione dei livelli ISO/OSI. 1. Livello Fisico: ha il compito di trasmettere dei bit lungo il mezzo di trasmissione. Gestisce i tipi di connettori, il voltaggio per i segnali logici di uno o zero, la durata temporale di un bit, le trasmissioni simultanee (full duplex) o meno (half duplex), aprire e chiudere una connessione, ecc. Quindi gestisce, in generale, la parte elettrica. 2. Livello Collegamento Dati: 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 le varie periferiche. Di seguito vengono elencati i servizi appartenenti a tale livello. • Senza connessione e senza riscontro; vengono inviati dei frame3 indipendenti e non vengono confermati dal destinatario quando questi vengono ricevuti, non viene instaurata una connessione diretta tra i 2 sistemi in comunicazione. Può capitare che alcuni frame non vengano ricevuti, e con questa strategia viene ignorato (a livello data link) il mancato recupero. È un servizio conveniente per reti con basso tasso di errore, con traffico che richiede una elevata trasparenza temporale (ad esempio per traffico vocale), in particolare viene usato nelle reti locali quando si preferisce la velocità all’integrità dei dati. • Senza connessione e con riscontro; caso analogo al precedente, solo che al momento della ricezione viene inviato dal destinatario un messaggio che conferma la corretta ricezione (acknowledge - ack ) del frame. Il mancato ricevimento dalla sorgente del segnale ack comporta la ritrasmissione del frame non confermato. Questo servizio è utile per reti non affidabili, ad esempio connessioni wireless. È possibile che un frame non riscontrato sia spedito più volte, inoltre questo meccanismo di riscontro è utile ma non necessario, infatti è possibile implementarlo a livelli superiori. • Con connessione e con riscontro; è il servizio più sofisticato, prevede tre fasi, instaurazione della connessione, invio dei dati e chiusura connessione. In questo modo è possibile garantire che ogni frame sia consegnato correttamente e nel corretto ordine. Viene fornito al livello di rete un flusso di bit affidabile. 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. La principale differenza rispetto al livello 2 è nel fatto che deve effettuare una vera e propria funzione di instradamento (routing). I servizi offerti dal livello di rete possono essere sia con connessione che senza. • Servizio con connessione; le entità coinvolte nella comunicazione stabiliscono una connessione, negoziando i vari parametri, e a questa connessione viene associato un identificatore. Questo identificatore viene inserito in ogni pacchetto inviato dalle due entità, la comunicazione è bidirezionale e i pacchetti viaggiano in sequenza lungo il percorso prestabilito in fase di negoziazione. Con questa strategia il controllo di flusso è operato automaticamente grazie ai parametri

3

pacchetto di bit che costituisce un’unità strutturata di informazioni

8


3 – Protocolli di comunicazione

prestabiliti all’inizio. In questo modo si opera in modo da fornire un servizio di tipo affidabile. • Servizio senza connessione; la sottorete viene considerata inaffidabile, pertanto sono il sorgente e il destinatario del flusso informativo che devono preoccuparsi di gestire sia gli errori che il controllo di flusso, in pratica è il livello di trasporto che si deve occupare di queste cose. Il servizio offerto è di tipo datagramma, cioè i pacchetti viaggiano indipendentemente l’uno dall’altro e devono contenere tutti un indirizzo di destinazione. Per realizzare correttamente la principale funzione del livello di rete, ossia l’instradamento o routing, sono necessari opportuni algoritmi. L’algoritmo di routing deve calcolare su quale uscita di un commutatore instradare il flusso dati in ingresso. Se il servizio è con connessione, questo algoritmo si applica solo in fase di setup della connessione, se invece è senza connessione allora si applica su ogni pacchetto. I requisiti per un algoritmo di routing sono: • semplicità, al fine di non richiedere ai nodi grandi sforzi di elaborazione; • robustezza, per garantire buone funzionalità anche in presenza di malfunzionamenti della rete; • stabilità, per non creare inconsistenze che possano rendere inefficace l’instradamento dei dati; • equità al fine di fornire la stessa qualità di servizio a tutte le connessioni; • ottimalità nelle scelte di percorso. Gli algoritmi di routing possono essere statici e adattivi. Gli algoritmi statici sono eseguiti solamente all’avvio della rete e le decisioni prese non vengono più modificate. Gli algoritmi che rientrano in questa classe sono riportati di seguito. • Shortest path routing; ogni router viene considerato come un nodo e una connessione punto punto come un ramo. Vengono calcolati i cammini minimi tra ogni coppia di nodi e vengono inviati a ogni router. I cammini minimi vengono calcolati in base al numero di nodi che devono essere attraversati, alla lunghezza dei rami, tempo medio di immagazzinamento e rilancio. • Flooding; il pacchetto viene rinviato su tutti i rami tranne quello da cui è arrivato. In questo modo però si potrebbe generare un numero infinito di pacchetti, quindi per ridurre il traffico generato si possono utilizzare alcuni stratagemmi. Uno di questi richiede l’inserimento nei pacchetti di un numero massimo di nodi da attraversare, successivamente se questo numero viene superato il pacchetto viene scartato. Un altro richiede la verifica da parte di ogni router che quel pacchetto non sia già transitato, altrimenti lo scarta. Questo algoritmo è più robusto e affidabile anche se genera una quantità di dati tale da non essere usabile con efficacia. • Flow-based routing; questo algoritmo effettua una stima del traffico atteso su ogni ramo, poi calcola il tempo medio di attraversamento, quindi decide su quale ramo instradare. Nelle reti moderne sono in uso algoritmi dinamici di routing, in grado di adattarsi ai cambiamenti della rete stessa. Questi algoritmi funzionano non solo all’avvio della rete, ma rimangono in esecuzione durante il normale funzionamento della rete stessa. Di seguito vengono riportati gli algoritmi dinamici utilizati nel livello di rete. • Distance vector routing; ogni router mantiene al proprio interno una tabella in cui vengono indicizzati tutti gli altri router conosciuti fino a quel momento nella rete. In questa tabella viene memorizzato per ogni altro router la distanza e il ramo d’uscita per arrivarci. Il router a intervalli di tempo manda degli speciali 9


3 – Protocolli di comunicazione

pacchetti, chiamati echo, a tutti gli altri nodi adiacenti e misura il tempo di risposta. Appena completata la tabella il router la invia ai nodi adiacenti. In questo modo non viene a conoscenza del router la topologia totale della rete, ed inoltre la convergenza dell’algoritmo è piuttosto lenta quando si verificano eventi che modificano la topologia della rete. • Link state routing; ogni router controlla lo stato dei collegamenti con i router adiacenti, misurando i ritardi di attraversamento, e distribuisce queste informazioni agli altri nodi adiacenti. Considerando tutti i pacchetti arrivati, si costruisce un grafo della rete e si calcola il cammino minimo per ogni nodo della subnet. Questo algoritmo è molto usato, ad esempio una sua implementazione in internet è piuttosto affermata, questa corrisponde al nome di OSPF (Open Shortest Path First). Quando la grandezza della rete diventa tale da non permettere un efficace utilizzo di questi algoritmi, viene utilizzato il metodo del routing gerarchico. La rete viene suddivisa in regioni e gli algoritmi si applicano su due livelli; all’inizio si opera all’interno di una regione, successivamente si applica l’algoritmo una seconda volta su tutti i router che fanno parte del confine di una regione. 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. Non tutti le applicazioni hanno bisogno delle stesse funzioni, per cui si possono definire diverse classi di servizi di trasporto. Ad esempio nel modello internet lo strato di trasporto prevede diversi protocolli per la fornitura di diverse tipologie di servizio. I più usati fra questi protocolli sono: • TCP (Transmission Control Protocol) per un trasferimento dati end-to-end connection oriented con recupero degli errori e controllo del flusso; • UDP (User Datagram Protocol) per un trasferimento dati end-to-end connectionless; • RTP (Real-time Transfert Protocol) per un trasferimento dati end-to-end che rispetti il più possibile stretti requisiti di temporizzazione. Un’applicazione di trasferimento file tipicamente utilizzerà TCP, mentre l’applicazione di invio di un e-mail utilizzerà UDP ed un collegamento audio via Internet utilizzerà RTP. 5. Livello di Sessione: ha il compito di stabilire e mantenere la comunicazione tra due computer. In generale, si tratta di un processo a tre fasi: • stabilire le regole iniziali per la connessione logica, scegliendo tra i tipi di comunicazione simplex (flusso unico), half-duplex (doppio flusso alternato) e duplex (flusso bidirezionale); • muovere i dati da un host all’altro ; • rilasciare la connessione. Lo scambio d’informazioni avviene in termini di dialogo, per indicare, ad esempio, da dove ricominciare la trasmissione, se una connessione è stata temporaneamente perduta, o dove terminare un data set (insieme di dati) e iniziarne un altro. Due esempi di protocolli che operano anche allo strato di sessione sono: • RPC (Remote Procedure Call) per attivare a distanza moduli di programma; • NFS (Network File System) per accedere a dischi condivisi in rete in ambiente Internet. 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. Nell’architettura dei protocolli di internet non sono previsti strati di sessione e 10


3 – Protocolli di comunicazione

presentazione, per cui le relative funzioni sono demandate alle applicazioni. Per questa ragione, ad esempio, dobbiamo preoccuparci di specificare il tipo di codifica quando inviamo un allegato ad un e-mail, oppure dobbiamo ricominciare da capo una navigazione se per qualche ragione cade il collegamento. Se queste funzioni fossero previste in rete, la rete stessa si preoccuperebbe di svolgerle, senza renderle visibili all’utente. 7. Livello di Applicazione: fornisce l’interfaccia di rete per protocolli applicativi che vengono utilizzati direttamente dall’utente finale, come HTTP (Hyper Text Transfer Protocol) per accedere alle pagine web, POP3 (Post Office Protocol 3) per scaricare la posta elettronica, FTP (File Transfert Protocol) per trasferire file. Tale strato non ha a che fare con la parte di applicazione che s’interfaccia con l’utente, e che non rientra nel modello OSI. Lo strato 7 si occupa solo di determinare lo stato delle comunicazioni tra due applicazioni. L’obiettivo è stabilire se le risorse sono disponibili per poter iniziare la comunicazione tra due o più host, e scoprire se i computer interessati sono in grado di comunicare. Lo strato 7 comprende numerosi protocolli e applicazioni, molti dei quali sono in grado di fornire un certo servizio anche da soli, ma più spesso si integrano a vicenda per fornire all’utente una gamma di funzionalità più ricca.

11


Capitolo 4 Trasmissione seriale Questo capitolo descrive le caratteristiche della trasmissione seriale relativamente al livello fisico del modello ISO/OSI e quindi verranno presentati i concetti e le funzionalità che stanno alla base della realizzazione di un collegamento quale quello mostrato in fig.4.1. L’ interconnessione tra computer o dispositivi digitali remoti può essere realizzata mediante la trasmissione dei dati sulla Rete Telefonica (RTG, Rete Telefonica Generale1 ) originariamente progettata per la trasmissione di segnali vocali. Per consentire questo tipo di comunicazione vengono usati dei modem in grado di operare in banda fonica e per questo motivo denominati modem fonici. Tale modalità di collegamento è stata originariamente realizzata per consentire l’accesso a calcolatori di grandi dimensioni da parte di utenti remoti dotati di terminali equiparabili in termini di funzionalità ad una semplice telescrivente. la comunicazione seriale asincrona viene oggi correntemente utilizzata per l’accesso a reti a vasta estensione geografica quale la rete Internet mediante tecniche di accesso i dial-on-demand (o dial-up). L’interconnessione di due computer mediante una linea telefonica in realtà corrisponde all’impiego di un canale fonico su una vera e propria rete di telecomunicazione (doppino d’utente, selettore d’utente, organi di commutazione, apparati di trasmissione intercentrale, etc.). Il collegamento del computer con il modem fonico avviene invece mediante l’impiego di una interfaccia per collegamenti seriali (denominata porta seriale).

RS232 DTE RS232 PSTN

DCE

DCE Figura 4.1: Esempio di un sistema di trasmissione dati.

1

Denominata in lingua inglese PSTN: Public Switched Telephone Network.

12

DTE


4 – Trasmissione seriale

Le principali funzioni svolte dal modem sono le seguenti: 1. Formazione ed abbattimento della connessione; 2. Trasmissione/ricezione di dati mediante la generazione di segnali analogici compatibili con il canale fonico; 3. Rivelazione e correzione di errori in linea; 4. Codifica e compressione di blocchi di informazioni. Quindi i modem fonici sono in grado non solo di permettere la trasmissione bidirezionale2 dei dati con diverse modalità su una singola linea telefonica, ma anche di compiere le operazioni necessarie alla codifica di sorgente, alla codifica di canale ed alla gestione della connessione. Nei paragrafi successivi saranno quindi presentate le modalità di comunicazione seriale sincrona ed asincrona, le specifiche funzionali di una interfaccia seriale.

4.1

Trasmissione seriale asincrona e sincrona

Il trasferimento numerico della informazione tra due dispositivi può avvenire con modalità seriale o con modalità parallela. Nel seguito, per semplicità faremo riferimento alla trasmissione di simboli binari (binary digit o bit).

Trasmissione Dati

Parallela

Seriale

Asincrona

Sincrona Figura 4.2: Trasmissione dati

La modalità di comunicazione seriale consiste nel trasmettere su una sola linea, sequenzialmente nel tempo, i simboli binari forniti dalla sorgente. Per effettuare una trasmissione con modalità parallela bisogna prima convertire il flusso di simboli binari di sorgente in n flussi binari, il primo costituito dai simboli di posto 0, n, 2n,... , il secondo dai simboli di posto 1, n+1, 2n+1,... , l’n-esimo dai simboli di posto n-1, 2n-1,3n-1,... , e così di seguito. Si ricorda che le trasmissioni monodirezionali sono denominate simplex, le trasmissioni bidirezionali full-duplex, le trasmissioni monodirezionali ma a direzione alternata half-duplex 2

13


4 – Trasmissione seriale

Gli n flussi binari così ottenuti vengono trasmessi contemporaneamente (e quindi in parallelo) su altrettante linee distinte. Generalmente si sceglie n=8, in tal modo ad ogni atto di segnalazione si trasmettono in parallelo 8 simboli binari, cioè un byte. A titolo di esempio si ricorda che corrisponde alla prima modalità di comunicazione dati l’interfaccia parallela HP IB(IEEE 488), molto usata nell’ambito della strumentazione elettronica, in grado di consentire velocità trasmissive di circa 10 Mbit/s su distanze non superiori ai 15 m. Tra le porte seriali invece la più diffusa è l’interfaccia EIA RS-232 (vedi capitolo 4.2 a pagina 18)che pur essendo oggi in grado di raggiungere velocità maggiori è stata definita secondo specifiche che prevedevano una velocità massima di 20 Kbit/s su una distanza pari a 30 m. Un notevole vantaggio offerto dalle comunicazioni seriali è quello di poter permettere una comunicazione a distanza impiegando anche una sola linea telefonica. Si osservi però che la banda passante3 di un canale telefonico è compresa tra 300Hz e 3400 Hz mentre lo spettro S(f) del segnale dati è concentrato attorno allo zero. A titolo di esempio la fig. 4.3 nella pagina successiva riporta l’andamento di S(f) quando la velocità di segnalazione è 1200 baud4 .Non potendosi quindi impiegare direttamente la rete telefonica per la trasmissione digitale da estremo ad estremo della rete è necessario convertire tale trasmissione numerica in un segnale analogico più adatto ad essere inviato sulla rete telefonica. Il dispositivo che opera questa conversione è denominato modem fonico o modem per banda fonica. Il caso più frequente di impiego di modem fonici corrisponde alla comunicazione seriale asincrona nell’ambito della quale i due modem remoti non si sincronizzano a livello di bit. I due modem cioè pur sincronizzandosi perfettamente a livello di segnalazione analogica5 non si scambiano una informazione esplicita relativa alla temporizzazione al livello di bit.

La banda 300-3400 Hz non è la banda passante del collegamento d’utente (doppino telefonico) ma del canale fonico reso disponibile dalla rete telefonica tra le due estremità della rete o come si dice end-toend. Sul collegamento d’utente è disponibile una banda molto più larga impegnata ad esempio nella trasmissione xDSL (es. ADSL: Asymmetric Digital Subscriber Loop). 3

I termini bit rate e baud rate non vanno confusi: con bit rate si intende il numero di bit trasmessi in un secondo con baud rate si intende la velocità con cui si susseguono gli atti di segnalazione elementari ovvero la trasmissione di certe forme d’onda nei successivi intervalli di tempo. Nel caso di simboli binari bit rate e baud rate coincidono numericamente. 4

I primi modem FSK per banda fonica si limitavano banalmente ad associare un certo stato del segnale in linea a partire dalla presenza o meno di un certo tono all’interno di una certa banda. Non era quindi assolutamente necessario che i due modem si sincronizzassero a livello di portanti fisiche cosa che invece risulta indispensabile nei modem moderni. 5

14


4 – Trasmissione seriale

Figura 4.3: Spettro di un segnale in banda base trasmesso a 1200 baud.

Nominalmente i due modem dovrebbero trasmettere i dati ad una identica velocità di cifra, ma proprio a causa di leggere differenze nella temporizzazione il modem ricevente potrebbe non essere in grado di ricostruire una lunga sequenza di bit. Per ovviare a questo inconveniente si trasmettono brevi blocchi di informazioni di 7 o 8 bit. Nel caso della codifica ASCII ciascuno di questi blocchi corrisponde ad un singolo carattere. L’intervallo temporale tra la fine di un blocco di informazione e l’inizio della trasmissione del successivo può essere completamente arbitraria. Nella trasmissione seriale asincrona, come in ogni tipo di trasmissione seriale è indispensabile poter ottenere una informazione di allineamento delle sequenze binarie trasmesse, questa informazione di inizio/fine sequenza binaria, viene codificata con un bit di start e con uno o più bit di stop. Tale situazione è rappresentata in Figura 4.4 nella quale viene evidenziata la trasmissione di un carattere codificato su sette bit, impiegando una parità dispari ed un bit di stop (tale configurazione viene spesso denominata 7o1 dal termine inglese odd ).

Bit di Start

1

0

1

1

1

0

1

0

Stop

Bit di Start

Carattere Successivo

Bit di Parità (Dispari)

t

Figura 4.4: Trasmissione seriale asincrona di un carattere rappresentato su 7 bit.

Come si può osservare il livello logico della linea in condizioni di riposo è alto (tale livello viene anche denominato mark ). Per indicare l’inizio di una sequenza di bit corrispondenti ad un carattere il bit di start impone un livello logico basso (denominato anche space). A partire da tale transizione, vengono trasmessi i 7 bit del carattere ed il bit di parità. Il bit di stop impone un livello logico alto e indica la fine del carattere precedente. In generale il ritardo che intercorre tra la trasmissione di due caratteri successivi risulta variabile. 15


4 – Trasmissione seriale

Il bit di parità è un bit di ridondanza che può consentire la rilevazione di una condizione di errore ipotizzando che al più si ottenga un solo bit errato per ogni blocco di bit trasmessi (In Figura 4.4 nella pagina precedente il blocco di informazione è pari a 7 bit). Il bit di parità viene impostato dal trasmettitore secondo la seguente Tabella 4.1; Parità

Configurazione dei bit

Pari o even

il numero di bit “1” della sequenza dati,compreso il bit di parità, deve essere pari il numero di bit “1” della sequenza dati, compreso il bit di parità, deve essere dispari il bit di parità è sempre imposto a livello logico alto il bit di parità è sempre imposto a livello logico basso

Dispari o odd Mark Space

Tabella 4.1: Tipi di parità.

Per meglio comprendere come avvenga il processo di ricezione nel caso della comunicazione seriale asincrona, in banda base, con codifica NRZ, si consideri in maggior dettaglio il comportamento del ricevitore. Lo stato della linea è inizialmente quello di mark (livello logico 1) la transizione da Mark a Space (livello logico 0) può essere dovuta ad un disturbo oppure alla presenza di un bit di stop. Per questo motivo il ricevitore comincia a campionare con periodo pari a T/10 l’intervallo [T0, T0+T/2], (avendo denominato con T la durata nominale di un singolo bit calcolabile come reciproco della bit rate) se in questo intervallo il livello logico si mantiene basso si assume la presenza di un bit di start e quindi si campiona a partire da T0+T/2 per nove volte consecutive (assumendo 7 bit per carattere, un bit di parità ed un bit di stop). Poiché l’ultimo bit è un bit di stop deve necessariamente riportare il livello della linea allo stato alto, consentendo nuovamente al ricevitore il riconoscimento di un carattere successivo. La semplicità di questa tecnica si paga in termini di efficienza poiché una parte dei bit trasmessi viene utilizzata dal ricevitore per sapere l’inizio e la fine di ogni carattere; se si definisce efficienza di trama il rapporto tra il numero di bit non informativi e il numero di bit totali si ha che l’efficienza in questo caso risulta:

n=

Numero bit utili Numeri bit trasmessi

=

7 10

= 70%

o in alternativa si può affermare che si deve accettare un overhead del 30%. Si osservi inoltre che anche la strategia di “decisione” adottata dal ricevitore sul livello logico assunto da un certo bit risulta molto elementare. E’ facile immaginare come tale tecnica possa condurre a decisioni errate in presenza di un disturbo in corrispondenza degli istanti di campionamento e tale da trasformare un certo livello di tensione nel livello corrispondente allo stato complementare. Inoltre se fossero presenti un numero pari di decisioni errate, neppure il bit di parità potrebbe essere d’aiuto nella rivelazione di sequenze di bit errate. Il tema della decisione potrebbe quindi essere meglio affrontato in relazione alle caratteristiche del segnale di disturbo e della natura statistica dei simboli trasmessi (ad esempio nel caso di rumore gaussiano bianco l’analisi condotta per la determinazione del filtro adattato conduce alla scelta di un integratore prima della decisione qualora i simboli siano equiprobabili ed indipendenti). 16


4 – Trasmissione seriale

Trasmissione Seriale Asincrona Bit di START

Trasmissione Seriale Sincrona

Bit di STOP

01011011 Data

Clock

Intervallo temporale variabile

Trasmettitore

Ricevitore

Trasmettitore

Ricevitore

Figura 4.5: Trasmissione seriale asincrona e seriale.

Nel caso di comunicazione seriale sincrona i due modem si scambiano un informazione di temporizzazione (sincronismo di bit) che viene imposta a partire da un riferimento (generalmente uno dei due modem). E’ in questo caso possibile trasmettere lunghe sequenze di simboli specificando il formato di trasmissione dei singoli blocchi di dati e le modalità con cui provvedere alla ritrasmissione in caso di errore. Possono distinguersi due principali tipi di tecniche: quella dei protocolli orientati al carattere (BCP - Byte Control Protocol) e quella dei protocolli orientati al bit (BOP - Bit Oriented Protocol). Alla prima classe appartiene il protocollo BSC (Binary Synchronous Communication) alla seconda l’HDLC (High level Data Link Control). Nel primo caso ogni sequenza informativa è trasmessa in blocchi multipli di 8 bit e più che su una struttura di trama 6 ci si basa sull’impiego di opportuni caratteri di controllo (codificati su 8 bit) impiegati per definire, ad es., l’inizio di un blocco dati (carattere SYN - Synchronous Idle), l’inizio di un testo (carattere STX Start of Text), la fine di un blocco di trasmissione (carattere ETB - End of Transmission Block ), etc. Mediante l’impiego di sequenze molto brevi di caratteri di controllo è inoltre possibile per il ricevitore inviare dei messaggi di riscontro (ACK - riscontro positivo o NAK - riscontro negativo) al fine di farsi ritrasmettere gli eventuali blocchi informativi corrotti a causa di errori. Questi primi sistemi a carattere di controllo avevano comunque lo svantaggio intrinseco del funzionamento di tipo “stop and go”.7 Nei protocolli orientati al bit lo scambio di informazioni tra computer avviene mediante l’invio di strutture dati di formato ben definito denominate trame (o frame). Nella comunicazione può essere trasferito qualunque tipo di messaggio grazie alla proprietà di completa trasparenza dei dati (nel caso dei protocolli orientati al byte sono necessari particolari accorgimenti per evitare che un carattere di controllo che compare come informazione utile nel messaggio venga interpretato erroneamente, ad es. Un carattere End of Text nel campo dati interpretato come fine del testo). Nel caso dei protocolli della famiglia HDLC è consentita la trasmissione di blocchi di informazione di notevole lunghezza (migliaia di bit). L’inizio e la fine di una trama (sincronismo di trama) viene identificata da una sequenza particolare denominata flag. La configurazione della sequenza di flag è 01111110. Naturalmente perché tale campo identifichi in maniera univoca l’inizio Nelle trasmissioni seriali il formato con il quale vengono spediti i dati è chiamato frame (in Inglese significa cornice o riquadro, in Italiano viene sempre tradotto con trama). 6

7

Ogni blocco deve essere confermato prima che il blocco successivo possa essere inoltrato.

17


4 – Trasmissione seriale

o la fine di una trama è necessario che tale sequenza di bit non si presenti mai nel campo contenuto all’interno della trama. Onde evitare questo inconveniente il trasmettitore inserisce uno zero aggiuntivo dopo una sequenza di cinque bit “1” del campo informazione. In questo modo anche se i dati all’interno della trama corrispondessero esattamente alla sequenza di flag non verrebbero inviati come tali ma modificati per la presenza di uno zero dopo i primi 5 bit “1”. Il ricevitore elimina lo zero aggiuntivo ricostruendo la reale sequenza dei dati; tale tecnica è denominata bit stuffing 8 . Si osservi che tali protocolli non sono stati proposti esclusivamente per definire il formato della trama in trasmissione, ma per poter gestire la rivelazione di condizioni di errori sui dati trasmessi mediante l’impiego di codici di ridondanza (CRC Cyclic Redundancy Checking) ed il recupero da tali condizione di errore mediante ritrasmissione automatica (ARQ Automatic Repeat Request).

4.2

L’interfaccia seriale EIA RS-232-C

Tornando allo schema mostrato in Figura 4.1 a pagina 12, come già osservato, per poter trasmettere dei dati impiegando un canale telefonico analogico9 è necessario usare un modem che viene interconnesso al computer tramite una interfaccia seriale. La più diffusa interfaccia seriale è la EIA RS-232-C8 10 : EIA sta per Elettronics Industries Association; RS sta per Recomended Standard. La RS-232 può essere impiegata nelle seguenti modalità di comunicazione: • Comunicazioni seriali sincrone o asincrone. • Comunicazioni tramite modem su linee affittate o private mediante modem a 2 fili o 4 fili. • Comunicazioni tramite modem su linee commutate. La normativa EIA RS -232-C definisce il collegamento elettrico e meccanico e lo scambio di segnali dati e di controllo tra i modem nella trasmissioni seriali sincrone. Per un corretto funzionamento delle interfacce è necessario che siano tra loro compatibili. Esistono due tipi di porte seriali: • Seriali Bilanciate RS-422 (Velocità Max 1 Mbit/sec su una distanza di 1500 metri) • Seriali Sbilanciate RS-232-C,D (Velocità Max 20 Kbit su una distanza 30 metri). L’EIA RS-242 è stata sancita dal CCITT, oggi ITU-T, nell’ambito dello standard V.24 che ne specifica le caratteristiche funzionali ed i circuiti e lo standard V.28 che ne specifica le caratteristica elettriche.

Nonostante il nome tale tecnica non ha nulla a che vedere con le tecniche di stuffing impiegate nelle reti trasmissive plesiocrone (PDH). 8

In realtà il tratto analogico è ormai sempre più spesso il solo collegamento d’utente a causa della elevata numerizzazione degli apparati di commutazione, multiplazione e trasmissione intercentrale 9

Tale interfaccia è stata studiata per il collegamento seriale tra un modem ed un terminale o computer ma che può essere impiegata anche per il collegamento diretto tra due dispositivi mediante un cavo denominato “null-modem”. 10

18


4 – Trasmissione seriale

4.3

Descrizione dei Principali segnali dell’Interfaccia EIA RS232 C,D.

La specifica dell’interfaccia RS232 C,D prevede un connettore a 25 pin standard ISO 2110 generalmente maschio sul DTE e femmina sul DCE11 . Tale connettore collega un numero di pin superiore al numero di segnali previsti per l’interfaccia EIA RS232C,D12 , inoltre la normativa stabilisce che su tale connettore sia accessibile sia una porta seriale principale che una porta seriale secondaria.

DCE (Modem)

DTE (Terminale o Computer) ITU-T N.

103 104 105 106 107 102 109 122 121 118 114 119 115 141 120 108 140/110 125 111/125 113 142

EIA Label

AA BA BB CA CB CC AB CF SCF SCB SBA DB SBB D LL SCA CD RL/CG CE CH/CI CI DA

Name

TxD RxD RTS CTS DSR CD S-CD S-CTS S-TxD TxClk S-RxD RxClk LL S-RTS DTR RL/SQD RI DSKP TxClk TM

Maschio

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25

Femmina

TERRA TRASMISSIONE DATI RICEZIONE DATI RTS CTS DCE READY MASSA CARRIER DETECT RISERVATO AI TEST RISERVATO AI TEST NON ASSEGNATO CD SECONDARIO CTS SECONDARIO TxD SECONDARIO TxCLK SECONDARIO RxD SECONDARIO RxClk LOCAL LOOPBACK RTS SECONDARIO DATA TERMINAL READY REMOTE LOOPBACK RING INDICATOR DATA SIGNAL TxClk SE STABILITO DAL DTE TEST MODULE TERRA

Figura 4.6: EIA RS232 C,D nomenclatura dei pin e segnali corrispondenti.

Nella fig.4.6 sono descritti tutti i pin del connettore DB25 impiegato per la seriale RS232. Sono riportate le nomenclature di ciascun pin relativi allo standard ITU-T V.24 (che identifica ciascun pin con un numero compreso tra 102 e 142) ed EIA (che identifica ciascun pin con una sigla di due o tre caratteri delle quali la prima A corrisponde ai segnali di riferimento o terre, la prima B ai segnali che trasferiscono dati, la prima C ai segnali di controllo e la prima D ai segnali di temporizzazione – la lettera S precede le sigle corrispondenti ai segnali della porta seriale secondaria). Nella figura sono anche riportati i I Personal Computer molto spesso utilizzano un connettore DB25 anche per la porta parallela che è riconoscibile poichè a differenza della porta seriale il suo connettore a 25 pin è femmina. 11

12

pin in eccesso o sono riservati al testing o risultano non assegnati.

19


4 – Trasmissione seriale

significati dei singoli segnali ed i loro nomi in sigla. Nel seguito verranno descritti i segnali utilizzati nel più semplice cavo per comunicazioni seriali asincrone con controllo del flusso in hardware che tipicamente ha un connettore a 25 pin verso il DCE ed un connettore a 9 pin (DB9) verso il DTE. I pin hanno la stessa numerazione sia sul connettore maschio che sul connettore femmina ma la loro nomenclatura è stabilita con riferimento al DTE (es. il TxData si chiama così perché è il DTE a trasmettere su questo pin. Naturalmente per il DCE tale pin corrisponde ad un segnale in ricezione). • Il pin n.1 corrisponde al Protective Ground (Terra) Tale pin è collegato allo schermo esterno del connettore ed alla calza esterna del cavo. In generale tale segnale corrisponde al collegamento di terra degli apparati e delle rispettive alimentazioni. • Il pin n.2 corrisponde al Trasmitted Data TXD o TD Direzione DTE-DCE. È il pin dove transitano le informazione utili (dati) spediti dal DTE al DCE. Quando non si trasmette nulla si mantiene al livello MARK ovvero al livello logico 1. Perché si possa trasmettere devono essere presenti le seguenti 4 condizioni: 1. CA Request To Send (4) deve essere al livello logico 1: è il DTE che dice di voler trasmettere al DCE. 2. CB Clear to Send (5) deve essere al livello logico 1: il DCE ha autorizzato il DTE a trasmettere. 3. CC DCE ready a livello logico 1 ovvero modem ready (6): il modem è acceso e correttamente funzionante. 4. CD DTE ready a livello logico 1 ovvero terminale ready (20): il terminale è acceso e correttamente funzionante. • Il pin n.3 corrisponde al Received Data.direzione DCE-DTE. Se la portante CD (Carrier Detect) (pin n.8) non è correttamente rilevata dal DCE il livello di RxD resta su MARK. In caso contrario i dati demodulati dalla linea telefonica vengono trasferiti al DTE. Se si sta operando in Half Duplex qualora il DTE abbia segnalato Request to Send (pin n.4) si deve mantenere il MARK sul pin n.3. • Il pin n.4 è denominatol Request to Send. Direzione DTE-DCE. Tale segnale è stato originariamente previsto nell’interfaccia RS232 per poter segnalare nella comunicazione Half Duplex che il DTE ha da trasmettere. Nelle comunicazioni Full Duplex è usato invece per il controllo di flusso RTS/CTS denominato anche Hardware Flow Control. Il significato è in questo caso completamente diverso: il DTE indica che è in grado di ricevere i dati che il gli sta inviando13 . • Il pin 5 corrisponde al Clear to Send. Direzione DCE-DTE. E’ stato anch’esso inserito per consentire il colloquio che portava all’inversione della direzione della trasmissione nelle comunicazioni Half Duplex (hadshaking)14 Il DCE comunica al DTE che aveva precedentemente segnalato un Request to Send che è autorizzato a trasmettere. Recentemente nei modem Full Duplex tale pin come

Si osservi che il fatto che il DTE ed il DCE trasmettano e ricevano nominalmente alla stessa velocità trasmissiva non garantisce che all’interno dei due dispositivi sia possibile trasferire le unità informative (in questo caso caratteri) con la stessa regolarità. Potrebbe succedere che in certi istanti le memorie tampone (buffer) impiegate per questi trasferimenti risultino piene ed in questo caso è necessario rallentare chi trasmette. 13

Si osservi che tale colloquio tra DTE e DCE per stabilire i diversi periodi di comunicazione monodirezionale corrisponde ad un vero e proprio protocollo. 14

20


4 – Trasmissione seriale

• • •

avviene per il pin n.4 viene usato per il controllo di flusso in Hardware RTS/CTS. In questo caso il DTE indica al DCE che riesce a trasferire dal buffer di ricezione i dati all’interno del terminale (ad esempio per stamparli o presentarli sullo schermo). Nel momento in cui per qualche motivo non fosse più in grado di farlo tale segnale verrebbe abbassato ed il DCE deve moderare la velocità con cui passa i caratteri al DTE eventualmente interrompendo la trasmissione15 . Il pin n.6 corrisponde al Data Set Ready (modem Ready16 ). Direzione DCE-DTE. Indica che il modem è acceso e che sono terminate le operazioni di autotest. Il pin n.7 è il segnale di massa o comune. Tale pin non ha una direzione è il segnale rispetto al quale sono riferite le tensioni di tutti i segnali. Il pin n.8 è denominato Data Carrier Detect o Carrier Detect. La direzione è DCE-DTE. Tale pin indica che il DCE riceve correttamente a rilevare la portante dal segnale ricevuto dalla linea. Affinché ciò sia possibile è necessario che i due modem abbiano terminato le operazioni di sincronizzazione che precedono la comunicazione. In tale fase i modem stabiliscono in funzione delle proprie capacità, delle proprie configurazioni e dello stato della linea la massima velocità trasmissiva alla quale poter trasmettere. Il Pin n.20 è denominato Data Terminal Ready o Terminal Ready. La direzione è DTE- DCE. Tale segnale indica che il terminale è connesso e funziona. Resettando questo segnale si ottiene un veloce sgancio (HANG-UP ) della connessione poiché il modem crede che il terminale sia stato spento. Se si vuole evitare che il modem si sganci dalla linea al reset del terminale o del PC è necessario configurare il modem abilitando la funzione DTR override che rende il modem insensibile a tale segnale. Il pin n.22 è denominato Ring Indicator. La direzione è DCE-DTE. Indica l’arrivo di una chiamata in linea (ringing) e segnala questa condizione al DTE17 .

I pin descritti sono sufficienti alla realizzazione di un cavo per la comunicazione seriale asincrona tra un DTE ed un DCE. Tale cavo può essere realizzato impiegando un connettore a 25 pin per il DCE ed un connettore a 9 pin per il DTE. Non è necessario collegare esplicitamente i segnali di Protective Ground (pin n.1 nelle specifiche RS232) poiché tipicamente tale collegamento tra i due dispositivi avviene mediante lo schermo del connettore collegato alla calza del cavo (per tale motivo anche se sul connettore sono disponibili 9 pin sono in realtà possibili 10 collegamenti). Il segnale Ring Indicator non è indispensabile poiché come già detto il modem è in grado di segnalare la chiamata entrante al DTE trasmettendo tale informazione sotto forma di caratteri. I collegamenti necessari sono presenti nella tabella 4.2 nella pagina seguente. I pin dal n.1 al n.9 del connettore a 9 pin sono elencati nella prima colonna. La seconda colonna mostra il numero di pin sull’interfaccia DB25, la terza e la quarta colonna corrispondono rispettivamente al nome del segnale ed alla sigla impiegata per identificarlo. E’ piuttosto infrequente il collegamento Le porte seriali moderne sono dotate di un buffer di 16 caratteri più che sufficiente a gestire efficacemente il controllo di flusso in hardware. 15

Non tutti i DCE sono modem. Un adattatore di interfaccia per comunicazioni numeriche quale un terminal adapter ISDN non è un modem pur essendo un DCE. 16

I modem moderni non hanno bisogno di questo pin per comunicare la chiamata in arrivo trasmettono un messaggio di ringing al DTE tramettendo i 4 caratteri della parola RING. 17

21


4 – Trasmissione seriale

del pin 9 al pin 22 che comunque per quanto detto non comprometterebbe la corretta comunicazione tra DTE e DCE. Connettore DB9

Connettore DB25

Nome

Sigla

1

2

Carrier Detect

CD

2

3

Ricezione Dati

RxD

3

2

Trasmissione Dati

TxD

4

20

Data Terminal Ready

DTR

5

7

Signal Ground (comune)

Sgn Gnd

6

6

Data Set Ready

DSR

7

4

Request To Send

RTS

8

5

Clear To Send

CTS

9

22

Ring Indicator

RI

Tabella 4.2: Cavo 9 pin 25 pin per comunicazione seriale asincrona.

E’ importante osservare che se i collegamenti realizzati da un cavo RS232 sono quelli corrispondenti alla Tabella 4.2 tale cavo renderà possibile esclusivamente una comunicazione seriale asincrona nonostante l’interfaccia seriale sia in generale in grado di funzionare anche con modalità sincrona. La presenza dei collegamenti RTS e CTS consente il flow control in hardware. Molti modem non trasmettono e non compongono il numero senza il DTR attivo. Molti programmi o computer senza il Data Set Ready o Carrier Detect non trasmettono. Un cavo a tre fili (RxD, TxD e Signal GND) consente esclusivamente un Flow Control a software mediante la trasmissione di caratteri XON e XOFF (transmit ON, transmit OFF). Per questo motivo tali cavi raramente sono impiegati a velocità trasmissive superiori ai 9600 bit/s.

22


Capitolo 5 Modem È il dispositivo periferico che consente il collegamento seriale tra due computer remoti o tra un computer e un terminale utilizzando come linea di comunicazione quella telefonica. Col termine MODEM si intende la fusione delle parole MODulatore DEModulatore. Tale dispositivo, infatti, assolve principalmente il compito di trasformare il segnale digitale proveniente da un dispositivo DTE (Data Terminal Equipement) come, ad esempio, l’uscita seriale di un computer o la tastiera di un dispositivo terminale, in un segnale analogico con frequenze contenute in un canale telefonico che, come detto, va da 300Hz a 3400Hz. Il modem, quindi, svolge l’operazione di adattamento del segnale digitale alla linea telefonica attraverso una conversione digitale analogica. Tra la linea telefonica e il dispositivo DTE ricevitore deve essere connesso un altro modem che svolge il compito opposto a quello inserito nel lato trasmettitore: trasforma il segnale analogico proveniente dalla linea telefonica in segnale digitale perfettamente identico a quello inviato dal DTE trasmettitore. Ciascun modem, ovviamente, presenta al suo interno due canali distinti: il canale modulatore utilizzato nella trasmissione e il canale demodulatore utilizzato nella ricezione. Oltre a questi fondamentali compiti, il modem svolge altre operazioni, pur importanti, per realizzare una corretta ed efficiente trasmissione.

5.1

Classificazione dei modem

I modem possono essere classificati nelle seguenti categorie: • modem fonici; • modem a banda larga; • modem in banda base I modem fonici presentano una massima velocità di trasmissione di 57600 bps, tecniche sofisticate per la correzione degli errori e tecniche per la compressione dei dati che consentono di portare la velocità di funzionamento a 115200 bps (alcuni modem fino a 230400 bps). La comunicazione tra i due DCE avviene alla massima velocità di 57600 bps mentre quella tra DCE e DTE può portarsi fino a 230400 bps. Infatti il modem trasmettitore riceve i dati dal DTE con una velocità massima teorica di 230400 bps e li comprime con un algoritmo avente massima efficienza di compressione 4:1. I modem a larga banda sono modem utilizzati per trasmissioni ad elevata velocità. Impiegano la modulazione di ampiezza a banda laterale unica SSB con portante a 100KHz ± 2Hz nel gruppo primario FDM che si estende da 60 a 108KHz (12 canali telefonici). Essi consentono trasmissioni full-duplex a 4 fili di tipo sincrono con velocità a partire da 48Kbps. Lo standard V.35 consente velocità di 48Kbps. Il 23


5 – Modem

DCE Modulatore DTE

Interfaccia lato utente

Circuiti ausiliari

Interfaccia lato linea

Linea Telefonica

Demodulatore Figura 5.1: Schema a blocchi di un modem in banda fonica e a larga banda.

modem è dotato di uno scrambler e descrambler1 e, opzionalmente, di un canale fonico compreso nella banda 104-108KHz. Lo standard V.36 ha le stesse caratteristiche dello standard V.35 ma consente velocità di 48, 56, 64 e 72 Kbps. Infine lo standard V.37, anch’esso con le stesse caratteristiche del V.35, è il più veloce potendo operare a 96, 112, 128 e 144 Kbps. I modem in banda base sono modem che seguono lo standard V.54, utilizzati per collegamenti punto-punto o multipunto per distanze non superiori ad alcune decine di chilometro su linea telefonica dedicata a 2 fili in half-duplex o 4 fili in full-duplex. Il collegamento può essere sincrono o asincrono e le velocità consentite sono 300, 600, 1200, 2400, 4800, 9600 e 19200 bps. I modem in banda base più recenti consentono velocità fino a 96000 bps. Le prestazioni massime in termini di velocità che si possono raggiungere sono in funzione della distanza di collegamento e della sezione dei cavi di rame utilizzati fino ad un massimo di 19200 bps su tratte di 10Km., tipicamente. La massima distanza consentita, nel caso di massima velocità di funzionamento, è intorno ai 2Km con cavo in rame da 6/10 mm2.

DCE Codificatore DTE

Interfaccia lato utente

Circuiti ausiliari

Interfaccia lato linea

Linea Telefonica

Decodificatore Figura 5.2: Schema a blocchi di un modem in banda base.

L’inserimento di un circuito scrambler (rimescolatore) nello stadio di trasmissione, consente la generazione di sequenze di bit pseudo-casuali, quindi una frequente alternanza di zero ed uno anche in presenza di dati in trasmissione costituiti da bit costanti. Ciò facilita il recupero dei segnali di clock da parte del modem ricevitore ed inoltre produce una distribuzione uniforme sulla banda telefonica del contenuto energetico del segnale utile per eliminare le interferenze fra canali telefonici adiacenti presenti sulla stessa linea di comunicazione. È necessario che nel modem ricevitore sia presente un circuito descrambler in grado di compiere l’operazione opposta allo scrambler in modo da ricostruire fedelmente i dati inviati dal DTE trasmettitore affinché le informazioni ricevute possano essere correttamente interpretate. 1

24


5 – Modem

5.2

Modulazioni utilizzate

La modulazione consiste nella modifica dello spettro di frequenza del segnale digitale in tutti i tipi di modem e nella traslazione della banda di frequenza nei modem fonici e a larga banda. La traslazione dello spettro si ottiene modulando un’onda sinusoidale a frequenza fissa detta portante con il segnale digitale da trasmettere. Sono possibili varie tecniche di modulazione: • modulazione di frequenza FSK (Frequency Shift Keying); • modulazione di fase PSK (Phase Shift Keying); • modulazione di ampiezza ASK (Amplitude Shift Keying); • modulazione QAM (Quadrature Amplitude Modulation).

5.2.1

Modulazione di frequenza FSK

Nella modulazione di frequenza, come è noto, si utilizzano due frequenze differenti per rappresentare i simboli digitali 0 e 1. È utilizzata nei modem conformi alle normative del ITU-T V.21 e V.23. Poiché questi sono modem lenti tale tecnica non è più utilizzata.

5.2.2

Modulazione di fase PSK

Nella modulazione di fase si associa una diversa fase dell’onda portante ad un gruppo di bit. Generando, ad esempio, quattro sfasamenti distinti ( 45°, 135°, 225°, 315°) si associano due bit a ciascuno sfasamento ottenendo, così, un raddoppio della velocità di trasmissione in bps. È impiegata per modem a media velocità. Molto usata è, in realtà, la modulazione di fase differenziale DPSK.

5.2.3

Modulazione d’ampiezza ASK

Nella modulazione di ampiezza si associano alla portante due ampiezze differenti : una per rappresentare lo 0 e l’altra per rappresentare l’1. Nella modulazione ASK denominata OOK (On Off Keyng) l’assenza di portante si associa a 0 e la presenza di portante ad 1. La modulazione OOK non trova applicazione nei modem.

5.2.4

Modulazione QAM

Trova molta applicazione, invece, la modulazione mista di fase e di ampiezza denominata modulazione QAM (Quadrature Amplitude Modulation) nei modem a velocità superiore a 4800bps. Un gruppo di n bit da trasmettere modula la portante in modo da ottenere un segnale sinusoidale di opportuna ampiezza e fase. La velocità di trasmissione (in bps) è n volte più grande della rapidità di modulazione (in baud). Questa modulazione consente di distanziare maggiormente gli stati significativi nel diagramma di modulazione per cui presenta bassa sensibilità ai disturbi di linea.

5.2.5

Codifica in banda base

Nei modem in banda base non si trasmettono i dati digitali così come sono ma si utilizza un convertitore di codice. Infatti, in presenza di una lunga sequenza di 0 o di 1, gli eventuali circuiti traslatori presenti in linea sopprimono la componente continua dell’informazione rischiando di rendere incomprensibile l’informazione digitale. Inoltre, risulta difficoltoso estrarre il segnale di sincronismo. Si ricorre, quindi, all’utilizzo di 25


5 – Modem

particolari codici come il codice bifase2 o Manchester3 , il codice bifase differenziale4 e il codice di Miller5 noto anche come codice a modulazione di ritardo.

5.3

Correzione degli errori

I modem ad elevata velocità sono molto sensibili ai disturbi e alle distorsioni della linea. Infatti nella modulazione QAM si utilizzano molto più di due livelli di segnale: la distanza tra due livelli adiacenti è esigua e l’introduzione di un rumore può facilmente portare alla decodifica di un dato errato. È importante, quindi, che i modem adottino provvedimenti per il controllo e la correzione degli errori. I protocolli utilizzati sono quelli della serie MNP o dell’ITU-T per la rilevazione e correzione degli errori e funzionano sullo stesso principio: i dati trasmessi sono suddivisi in pacchetti che contengono informazioni supplementari (ridondanza) che dipendono dai dati stessi. Ad esempio, nel controllo di checksum si sommano i byte dei dati e si assume come controllo il byte meno significativo della somma. Il ricevitore ricalcola la somma e confronta il checksum ottenuto con quello ricevuto: se sono diversi viene richiesta la ritrasmissione del pacchetto. La frequente ritrasmissione si manifesta all’utente con una bassa produttività. In Tabella 5.1 nella pagina seguente si elencano le caratteristiche di trasmissione supportate dai protocolli proprietari6 MNP (Microcom Networking Protocol) e da quello standardizzato V.42. La negoziazione consiste nella capacità di stabilire col modem remoto la dimensione di un pacchetto in fase di inizializzazione e la lunghezza dello stesso durante la trasmissione in funzione della numerosità degli errori rilevati. Questo metodo prende il nome di fallback. Il protocollo V.42 (ITU-T del 1989) risponde agli standard del modello ISO/OSI ed usa la tecnica LAPM (Link Access Procedures for Modems) oppure MNP 2-3-4 e 10. Le principali caratteristiche della tecnica LAPM, basato sul protocollo di secondo livello orientato al bit HDLC (High Data Link Control), sono: • collegamento a modem della serie V privi della correzione automatica degli errori e aventi convertitori asincrono/sincrono; • correzione degli errori attraverso la ritrasmissione automatica dei dati; • controllo ciclico di ridondanza per la rivelazione degli errori; • i dati asincroni start-stop provenienti dal DTE sono convertiti in sincroni per la trasmissione in rete telefonica.

produce una variazione di fase di 180° rispetto al periodo di clock precedente se il bit di ingresso vale 1, viceversa non produce alcuna variazione di fase. In un periodo, l’uscita del codice bifase differenziale coincide col clock o col suo negato. 2

3 fornisce in uscita il NOR esclusivo (circuito di coincidenza) tra il clock ricevuto dal modem sulla linea C114 e il dato trasmesso dal DTE sulla linea C103. In presenza di lunghe sequenze di bit identici, l’uscita del codificatore bifase coincide col clock o con il suo negato e quindi varia nel tempo.

produce una variazione di fase di 180° rispetto al periodo di clock precedente se il bit di ingresso vale 1, viceversa non produce alcuna variazione di fase. In un periodo, l’uscita del codice bifase differenziale coincide col clock o col suo negato. 4

determina in uscita una transizione al centro del simbolo zero e nel passaggio tra i simboli uno adiacenti. 5

6

Sono quelli stabiliti da un costruttore che, di norma, non sono adottati da tutti gli altri costruttori.

26


5 – Modem

Protocollo

Sincronismo

Collegamento

Negoziazione

Standard

MNP1

Asincrono

Half-Duplex

No

No

MNP2

Asincrono

Half-Duplex

No

No

MNP3

Sincrono

Half-Duplex

No

No

MNP4

Sincrono

Half-Duplex

Si

No

V.42

Sincrono

Half-Duplex

Si

Si

Tabella 5.1: Caratteristiche di trasmissione.

5.4

Compressione dei dati

Per aumentare la velocità di trasmissione i modem moderni utilizzano tecniche di compressione dati. Ciò è possibile sfruttando le caratteristiche di ripetizione e di diversa frequenza di occorrenza di un dato di testo o grafico. Nel caso di messaggi testuali si adotta il seguente principio: si utilizzano meno di 8 bit per i caratteri più frequenti e fino a 11 bit per quelli meno frequenti. Ciò consente una notevole compressione del testo da trasmettere. Nella trasmissione di immagini il principio è diverso: nel caso di zone con pixel dello stesso colore, si può eliminare la ripetizione sostituendo la sequenza di byte uguali con una stringa costituita da un carattere di escape che consente il riconoscimento, dal dato ripetuto e dal numero di ripetizioni. Lo standard ITU-Y per la compressione dei dati è il V.42bis (anno 1990) usa la tecnica BTLZ ( British Telecom Lempel-Ziv). Esso integra lo standard proprietario MNP5, utilizza le due tecniche precedentemente descritte e consente un rapporto massimo teorico di compressione di 4:1. Ovviamente anche il modem remoto deve supportare tale standard affinché la compressione dei dati possa essere effettuata. Per realizzare tale tecnica la velocità di trasmissione tra DTE e DCE (tra computer e modem) deve, teoricamente, essere quadrupla di quella in linea tra modem e modem. Se, ad esempio, si utilizza un modem che trasmette secondo lo standard V.34 a 28800bps, la porta seriale del computer deve essere settata alla velocità pari a: 28800 x 4 = 115200bps. Se l’UART inserito nella porta seriale è il vecchio 8251 tale velocità non è supportata e se si esegue la ricezione dati ben presto si ottiene il sovraccarico (overrun) di dati che non si riescono a smaltire nella tratta modem-porta seriale. Se l’UART è il moderno 16550 la massima velocità permessa è 115200bps. Il protocollo V.42bis definisce due modi di operazioni: • compresso • trasparente Nel modo compresso le stringhe di caratteri subiscono la compressione descritta. Se il file è già compresso (.ZIP o .GIF per immagini e disegni) il modem si predispone automaticamente nel funzionamento trasparente che consiste nel non eseguire alcuna compressione.

5.5 Il • • • •

Stati del modem modem può trovarsi in uno dei seguenti cinque stati: stato di attesa (idle); stato di collegamento (dialing); stato di scambio dei segnali di controllo (handshake); stato in linea (online); 27


5 – Modem

• stato di comando in linea (online command). In fig. 5.3 si mostrano le possibili transizioni da uno stato all’altro. Scambio di segnali di controllo Collegamento

Attesa

In linea

Comando in linea

Figura 5.3: Possibili stati del modem e relative transizioni.

Nello stato di attesa il modem non comunica con nessun altro modem ed è pronto ad accettare comandi. Il modem si porta in tale stato quando lo si alimenta. Nello stato di collegamento il modem può trovarsi in attesa di un tono di collegamento, può inviare segnali di collegamento, può essere in pausa o in altre operazioni di collegamento. Il modem entra in tale stato dopo l’esecuzione di un comando D (dial) di collegamento. Nello stato di scambio dei segnali di controllo il modem può inviare una risposta di tono, può essere in attesa di una risposta di tono o scambiare segnali di controllo (handshake) con un altro modem. Il modem entra nello stato di handshake quando avviene una delle seguenti condizioni: • completamento del processo di collegamento; • modem in auto risposta; • transizione OFF-ON della linea DTR dell’interfaccia RS-232 quando il comando &M3 è in esecuzione (vedi la tabella 5.8.2 a pagina 36); • all’accensione nel caso in cui il collegamento è in linea dedicata (si scavalca lo stato di collegamento). Nello stato in linea il modem trasmette e riceve i dati con un modem remoto. Il modem può entrare nello stato in linea dallo stato di scambio dei segnali di controllo o dallo stato comando in linea. Nello stato comando in linea il modem mantiene il collegamento col modem remoto ma elabora segnali e comandi col DTE.

5.6

Modem interni ed esterni

I modem possono essere interni o esterni. I primi si inseriscono in una slot di espansione del personal computer e, pertanto, non si interfacciano direttamente con alcuna porta seriale. Essi sono configurati in fabbrica su COM4 ed utilizzano la linea di interrupt IRQ3. Queste due scelte risultano corrette per la maggior parte dei casi. Se COM4 è utilizzata da un altro dispositivo è possibile selezionare la porta seriale attraverso dei ponticelli inseriti sulla scheda seguendo le indicazioni del costruttore. I modem esterni, solitamente, presentano nella parte posteriore: • un connettore a 25 poli femmina che dovrà essere collegato, tramite un cavo, all’interfaccia seriale RS-232 del computer che si presenta, a sua volta con un connettore maschio a 25 o a 9 poli; 28


5 – Modem

• un connettore di alimentazione a 12Vac; • un connettore RJ11, contrassegnato con LINE, da collegare alla presa telefonica; • un altro connettore RJ11, contrassegnato con PHONE, a cui collegare un eventuale telefono. Sul pannello frontale, oltre all’interruttore di accensione, il modem presenta una serie di LED che indicano lo stato di funzionamento del dispositivo (tabella 5.2). Nei moderni modem esterni, l’interfaccia al computer avviene attraverso la porta USB (Universal Serial Bus) notevolmente più veloce della classica RS-232 in via di obsolescenza. Nome

Significato

Funzione

MR TR SD

Modem Ready Terminal Ready Send Data

RD OH CD AA EC

Receive Data Off Hook Carrier Detection Auto Answer Error Correction

Acceso quando il modem è alimentato. Acceso quando il segnale DTR è attivo. Acceso quando il modem trasmette ad un modem remoto.7 Acceso quando il modem riceve da un modem remoto.8 Acceso quando il modem è sganciato. Acceso quando il modem rileva la portante remota. Acceso quando è abilitata la risposta automatica. Acceso quando il modem sta effettuando la correzione degli errori.

Tabella 5.2: Indicatori LED per modem esterni

5.7

Programmazione di un MODEM

I primi modem per banda fonica richiedevano di compiere manualmente le operazioni necessarie alla loro configurazione ed all’attivazione della connessione su linee commutate. Oggi tutte le funzionalità del modem possono essere controllate da computer comprese sofisticate funzioni di ricezione e trasmissione FAX, registrazione della voce, etc. I modem dotati di queste funzioni sono denominati modem intelligenti ed operano in due possibili stati: • COMMAND STATE (modo comandi) • DATA STATE (modo trasferimento dati) Quando si trova nel primo stato il modem interpreta ciò che riceve dalla porta seriale come un comando. Il modem esegue tali azioni e risponde con i codici relativi al risultato dell’operazione. Nel modo trasferimento dati il modem trasferisce sulla linea telefonica i dati ricevuti dall’interfaccia seriale demodulando contemporaneamente (se si tratta di un modem full duplex) quanto riceve dalla linea stessa. Nonostante l’ITU-T abbia standardizzato un set di comandi per la programmazione dei modem (sincroni ed asincroni) nella raccomandazione V.25bis (Synchronous Operation Data Link Control Layer) sono oggi universalmente impiegati per il controllo dei modem comandi originariamente proposti dalla società Hayes nel modem Smartmodem 300. Il set di comandi AT è stato così denominato a causa del prefisso AT (Attention) che precedeva quasi ogni comando. All’atto dell’accensione un modem attiva le seguenti funzioni • Esegue una sequenza di AUTO Test • Si inizializza secondo il settaggio originario (factory settings) • Ascolta ciò che gli viene trasmesso sulla porta seriale. 29


5 – Modem

Perché possa ricevere quello che gli invia il DTE dovrebbe essere configurato esattamente con la stessa configurazione con cui è configurato il terminale (velocità trasmissiva, numero di bit per carattere, numero di bit di stop, parità). Il Modem è però in grado di autoconfigurarsi poiché assume di ricevere un carattere A che come già osservato precede qualunque comando AT inviato dal DTE. Nel set di comandi Hayes standard l’unico comando che non comincia con AT è A/ (che ripete l’ultimo comando trasferito al modem). Una prima verifica della corretta autoconfigurazione del modem può essere ottenuta inviando da un emulatore di terminale il comando “AT” al modem se il modem risponde “OK” vuol dire che si è correttamente autoconfigurato9 .

5.8

Il set dei Comandi AT

Nel seguito sono elencati i più comuni comandi AT impiegati per la configurazione di un modem intelligente. Il set di comandi esteso varia da modem a modem e da costruttore a costruttore e per tali comandi è necessario far riferimento al manuale del modem. Se un comando prevede un valore numerico non viene specificato si assume di default il valore 0. Nel caso in cui si trasmetta al modem un comando o un parametro non valido il modem risponde con la sequenza di caratteri “ERROR”. La linea di comando può contenere o un singolo comando o una serie di comandi che possono essere separati da uno spazio per aumentarne la leggibilità. Il comando è eseguito dopo l’invio di un ritorno carrello (per il modem tale codice di default è conformemente al codice ASCII il carattere 13 in decimale). E’ possibile correggere il comando impiegando il carattere “backspace” (default decimale 0) e con CTRL-X è possibile annullare l’intera riga comandi. A questa azione il modem risponde “OK ”. Quando si sta operando in modo trasferimento dati (dopo aver attivato la connessione con il modem remoto) per tornare in modo comandi è necessario inviare una sequenza di di caratteri denominata sequenza di escape 10 . Tre caratteri di escape in rapida successione producono il passaggio al modo comando. Generalmente tale sequenza corrisponde alla trasmissione di tre caratteri “+”. I parametri numerici che possono seguire i comandi AT e AT& (questi ultimi appartengono al set di comandi esteso) sono limitati al range 0-255. Se si utilizzano valori superiori ed esempio nel memorizzare un dato in un registro ad 8 bit non viene mostrata nessuna condizione di errore ma il dato registrato è quello specificato modulo 256. Nel seguito sono elencati i comandi del set di base ed alcuni principali comandi del set esteso. Tutti i comandi sono preceduti da AT e terminati da CR (ritorno carrello). N.B: I comandi preceduti dal simbolo “•” corrispondono al default di fabbrica del modem.

Può succedere che il modem non mostri i due caratteri AT poiché è stato precedentemente configurato per non fornire sullo schermo una echo del carattere inviato. In tal caso è sufficiente inviare il comando ATE1 per ottenere la corretta visualizzazione dei comandi inviati da tastiera. 9

deve essere comunque rispettato un certo tempo dopo l’ultimo carattere trasmesso ed il primo carattere di escape trasmesso. Tale ritardo è per default pari ad 1 secondo; tale precauzione permette di evitare che il modem possa passare in modo comandi a seguito della trasmissione della sequenza di escape come informazione da trasferire. 10

30


5 – Modem

5.8.1

Basic AT

ATA Connessione in answer Pone il modem in linea (On-Line) in modo answer. Viene attivata la procedura relativa all’impegno della linea, seguito dalla trasmissione del tono di risposta e quindi della portante sul canale answer secondo lo standard specificato. A/ Riesegue l’ultimo comando dato Comanda la riesecuzione dell’ultimo comando “AT” dato. Questo comando non deve essere preceduto da “AT” e non deve essere seguito da “CR”. ATD Selezione numero telefonico Questo comando porta il modem in On-Line selezionando il numero che è stato inserito di seguito al comando. Se nessuna cifra viene introdotta di seguito al comando il modem cercherà di collegarsi senza selezionare numeri telefonici in modalità originate. Se il modem non completa la procedura di connessione entro il tempo specificato dal registro S7, abbatterà il collegamento visualizzando il messaggio NO CARRIER. Qualsiasi carattere trasmesso dal DTE durante la fase di connessione fa abbattere il collegamento. ATE Gestione eco Questo comando abilita e disabilita l’esecuzione dell’eco nei confronti dei caratteri provenienti dal DTE.

E0

Disabilita l’eco

E1

Abilita l’eco

ATH Sconnessione •

H0

Il modem si sconnette dalla linea.

H1

Il modem impegna la linea fino alla ricezione del comando ATH0.

ATL Volume dell’altoparlante

L0

Altoparlante a volume basso.

L1

Altoparlante a volume medio.

L2

Altoparlante a volume alto.

ATM Gestione dell’altoparlante

M0

Speaker disabilitato.

M1

Speaker abilitato fino alla ricezione della portante.

M2

Speaker sempre abilitato.

M3

Speaker disabilitato durante la selezione e abilitato fino a ricezione della portante. 31


5 – Modem

ATO Ritorna in On-Line O0

Se il modem si trova in modo comandi in On-Line, questi passa in modo trasferimento dati.

O1

Se viene inviato il comando ATO1 il modem torna in modalità trasferimento dati eseguendo un retrain.

ATP Imposta la selezione ad impulsi Abilita la selezionare ad impulsi come default. Nel comando di chiamata ATD il modem selezionerà ad impulsi anche se l’estensione “P” viene omessa. ATQ Controllo codici di risposta da modem •

Q0

Codici di risposta abilitati.

Q1

Codici di risposta disabilitati.

ATT Imposta la selezione in multifrequenza Abilita la selezionare in DTMF come default. Nel comando di chiamata ATD il modem selezionerà in DTMF anche se l’estensione “T” viene omessa. ATV Formato codici di risposta

V0

Codici di riposta in forma numerica.

V1

Codici di riposta in forma estesa.

ATW Formato messaggi di risposta

W0

Alla connessione apparirà il messaggio CONNECT seguito dalla velocità del DTE (interfaccia), senza indicazione relativa al protocollo.

W1

Alla connessione apparirà il messaggio CONNECT seguito dalla velocità del DTE (interfaccia), con l’ indicazione relativa al protocollo.

W2

Alla connessione apparirà il messaggio CONNECT seguito dalla velocità del DCE (linea), con l’ indicazione relativa al prot ocollo.

ATX Abilitazione rilevazione toni

X0

Nessun controllo viene effettuato sui toni di linea.

X1

I toni di libero ed occupato vengono ignorati.

X2

Viene rilevato il tono di libero.

X3

Viene rilevato il tono di occupato.

X4

Tutti i toni vengono rilevati. 32


5 – Modem

ATZ Reset con profilo di utente Z0

Richiama la configurazione utente 0.

ATS Lettura/Scrittura dei registri Sn=x Scrive nel registro n il valore x Sn? Visualizza il valore memorizzato nel registro n

Registro Descrizione Numerica

Range

Unit

Default

S0

Numero di ring per la risposta automatica

0-255

Ring

0

S1

Contatore di ring

0-255

Ring

0

S2

Carattere per la sequenza di escape

0-255

ASCII

43

S3

Carattere di return

0-127

ASCII

13

S4

Carattere di line feed

0-127

ASCII

10

S5

Carattere di backspace

0-32

ASCII

8

S6

Tempo di attesa prima della chiamata

2-255

Sec

2

S7

Tempo di attesa dalla connessione con il modem remoto

1-255

Sec

50

S30

Timer di inattività dat

i0-255

Min

0

S37

Velocità di linea

fino a 0-19 33.6K

0

S38

Velocità di recezione 56K

0-23

1

S91

Livello di trasmissione

6-25

S109

Standard 56K

0-2

dBm

10 1

Si conclude dalla pagina precedente

S37 S38 S109 Questi tre registri con il commando AT+MS permettono di impostare nel modem la modulazione e la velocità che si vuole utilizzare. S37 Velocità di linea Questo registro imposta la massima velocità di linea. In V.90 e K56Flex il registro S37 controlla la velocità di trasmissione. 33


5 – Modem

Valore

Velocità bps

Valore

Velocità bps

0 1 2 3 4 5 6 7 8 9

Automatica

10 11 12 13 14 15 16 17 18 19

12000 14400 16800 19200 21600 24000 26400 28800 31200 33600

300 1200 2400 4800 7200 9600

S38 Velocità di recezione 56K Con il registro S38 (vedere anche S109) sarà possibile impostare la massima velocità di ricezione con gli standard V.90 e K56Flex.

Valore 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23

Velocità V.90 bps Numerica

Velocità K56flex bps

Automatica 28000 29333 30666 32000 33333 34666 36000 37333 38666 40000 41333 42666 44000 45333 46666 48000 49333 50666 52000 53333 54666 56000

Automatica 32000 34000 36000 38000 40000 42000 44000 46000 48000 50000 52000 54000 56000

Si conclude dalla pagina precedente

S109 Standard 56K 34


5 – Modem

S109=0

Sono possibili connessioni K56flex

S109=1

Sono possibili connessioni sia V.90 che K56Flex

S109=1

Solo possibili solo connessioni V.90

5.8.2

Extended AT Command

AT&C Gestione C109 DCD •

&C0

Il C109 è fisso allo stato di lavoro.

&C1

Il C109 segue lo stato della portante in linea.

AT&D Gestione C108 DTR

&D0

C108 ignorato.

&D1

Il passaggio da ON ad OFF del C108 viene interpretato come una sequenza di escape. La transizione ON/OFF del DTR è valida solo con modem in on line. Con il modem in off line la transizione viene ignorata.

&D2

La discesa del DTR abbatte il collegamento.

&D3

La discesa del DTR è interpretata dal modem come il comando reset ATZ.

AT&F Carica la configurazione di fabbrica &F

Fabbrica 0.

AT&K Gestione controllo di flusso •

&K0

Controllo di flusso disabilitato.

&K3

Controllo di flusso con RTS e CTS.

&K4

Controllo di flusso con Xon e Xoff

AT&S Gestione C107 DSR •

&S0

C107 sempre ON.

&S1

C107 andrà ad ON quando si stabilisce la connessione.

AT&V Visualizza la programmazione corrente Esempio: Option

Selection

AT Cmd

Comm Standard CommandCharEcho Speaker Volume Speaker Control

CCITT Enabled Medium OnUntilCarrier

B E L M 35


5 – Modem

AT&W Memorizza la configurazione attiva &W0

Salva configurazione utente 0.

AT&Zn=x Memorizza numero di telefono E’ possibile memorizzare nella rubrica del modem fino a tre numeri telefonici, nelle posizioni 0,1 e 2. AT\N Gestione correttore d’errore

\ N0

Modalità buffer, senza correttore d’errore.

\ N1

Modalità diretta

\ N2

MNP reliable. Connessione in MNP o sconnessione.

\ N3

Attiva V.42, LAPM/MNP autoreliable. Una connessione con un modem che non possiede la correzione d’errore provoca il declassamento del collegamento in una connessione senza correzione d’errore, modalità autoreliable (Forza &Q5).

\ N4

Attiva V.42 LAPM in modo reliable (Forza &Q5).

\ N5

Attiva MNP in modo reliable (Forza &Q5).

AT&M Impostare modo sincrono/asincrono L’adattatore di terminale supporta un modo asincrono e tre diversi modi sincroni. Il comando Hayes AT&M seleziona il modo desiderato. Nella seguente tabella sono elencati tutti i parametri che può avere l’AT&M. Nel caso che venga usato un parametro non riportato, esso viene sostituito dal valore di default. •

&M0

Modo asincrono.

&M1

Modo 1 sincrono.

&M2 &M3

Modo 2 sincrono. Modo 3 sincrono.

• AT&M0 Modo asincrono Con questo comando si imposta il modo asincrono. • AT&M1 Modo 1 sincrono Con questo comando si imposta il modo 1 sincrono. In questa variante l’adattatore di terminale resta nel modo asincrono durante la costituzione della connessione. Dopo aver ricevuto l’annuncio ’CONNECT’ esso attiva il modo asincrono. In tal caso la velocità di trasmissione dati è regolata nel modo seguente: – per il modo asincrono nel registro; S23 – per il modo sincrono nel registro. S27. La connessione può essere interrotta con la linea DTR - DIS. Dopo l’interruzione della connessione, l’adattatore di terminale ritorna nel modo asincrono. • AT&M2 Modo 2 sincrono Con il comando AT&M2 viene impostato il modo 2 sincrono. In tal caso il modo 36


5 – Modem

sincrono è permanentemente attivo (velocità di trasmissione impostata nel registro S27). Sono attivati il controllo flusso del modem e la selezione automatica. • AT&M3 Modo 3 sincrono Con il comando AT&M3 si imposta il modo 3 sincrono. In tal caso il modo sincrono è permanentemente attivo (velocità di trasmissione regolata nel registro S27). AT%C Controllo compressione dati Mediante questo comando è possibile abilitare/disabilitare la compressione dati nel modem. Questo comando è attivo solo se la connessione con uno dei due protocolli di correzione d’errore (MNP o V.42bis). In caso di connessione senza correttore anche la compressione sarà disabilitata.

%C0

Compressione disabilitata

%C1

Compressione abilitata

AT%E Controllo autoretrain

%E0

Autoretrain disabilitato.

%E1

Fallback abilitato e fallforward disabilitato. Il modem in presenza di rumore abbasserà la velocità.

%E2

Fallback e fallforward abilitati. Il modem in presenza di rumore abbasserà la velocità, per rialzarla nel caso in cui il rumore diminuisca.

AT+MS Tipo di modulazione in linea Con la configurazione di fabbrica il modem è in grado di collegarsi in maniera automatica (automode) con il modem remoto, adeguandosi allo standard massimo comune nei due dispositivi. In alcuni casi, diventa indispensabile selezionare un particolare standard o ridurre la velocità massima, questo è possibile attraverso il comando AT+MS e i registri S37, S38 e S109. Il formato del comando AT+MS è il seguente: AT<spazio> +MS=<Mod>, <Automode>, <0>, <Max_Tx_Rate>, <0> , <Max_Rx_Rate> . Mod = tipo modulazione Automode = funzionamento multistandard (1=abilitato, 0=disabilitato) Max_Tx_Rate = velocità massima di trasmissione Max_Rx_Rate = velocità massima di ricezione. Nella tabella seguente sono riportati i possibili valori del parametro Mod: Mod V90, K56, V34, V32B, V32, V22B, V22,V21 Nella tabella seguente sono riportati i possibili valori del parametro Max_Tx_Rate: 37


5 – Modem

Max_Tx_Rate Modulazione

Velocità possibili (bps)

V90, K56, V34 V32B V32 V22B V22 V21

Da 33600 a 2400 con steps di 2400 bps Da 14400 a 4800 con steps di 2400 bps 9600 e 4800 2400 e 1200 1200 300

Nella tabella seguente sono riportati i possibili valori del parametro Max_Rx_Rate: Max_Rx_Rate Modulazione

Velocità possibili (bps)

V90 K56 V34 V32B V32 V22B V22 V21

Da 56000 a 28000 con steps di 1333 bps Da 56000 a 32000 con steps di 2000 bps Da 33600 a 2400 con steps di 2400 bps Da 14400 a 4800 con steps di 2400 bps 9600 e 4800 2400 e 1200 1200 300

AT+MR Gestione report mudulazione Con questo comando è possibile definire se il modem deve trasmettere al DTE (PC) le risposte relative alla modulazione e alla velocità negoziata. +MR=0

Report modulazione disabilitati

+MR=1

Report modulazione abilitata

5.8.3

Codici di risposta

Di seguito viene riportata la tabella relativa ai codici di risposta del modem. Sono previsti due modalità di risposta, forma estesa e la forma numerica (vedere comando ATV). Risposta forma estesa

Forma Numerica

Descrizione

OK CONNECT RING NO CARRIER ERROR CONNECT 1200 EC* NO DIALTONE

0 1 2 3 4 5 6

Comando valido Modem connesso alla linea Chiamata in arrivo Il modem ha perso la connessione Comando non valido Connessione a 1200 bps Tono di libero non presente

Continua nella prossima pagina

38


5 – Modem

Continua dalla pagina precedente

Risposta forma estesa

Forma Numerica

Descrizione

BUSY NO ANSWER CONNECT 2400 EC* CONNECT 4800 EC* CONNECT 9600 EC* CONNECT 14400 EC* CONNECT 19200 EC* CONNECT 7200 EC* CONNECT 12000 EC* CONNECT 16800 EC* CONNECT 300 EC* CONNECT 21600 EC* CONNECT 24000 EC* CONNECT 26400 EC* CONNECT 28800 EC* CONNECT 31200 EC* CONNECT 33600 EC* CONNECT 38400 EC*

7 8 10 11 12 13 14 24 25 86 40 55 56 57 58 59 60 28

CONNECT 57600 EC*

18

CONNECT 115200 EC*

87

CONNECT 32000 EC*

70

CONNECT 34000 EC* CONNECT 36000 EC*

71 72

CONNECT 38000 EC* CONNECT 40000 EC*

73 74

CONNECT 42000 EC* CONNECT 44000 EC*

75 76

CONNECT 46000 EC* CONNECT 48000 EC*

77 78

CONNECT 50000 EC* CONNECT 52000 EC*

79 80

CONNECT 54000 EC* CONNECT 56000 EC*

81 82

CONNECT 28000 EC*

100

Linea occupata Il remoto non risponde Connessione a 2400 bps Connessione a 4800 bps Connessione a 9600 bps Connessione a 14400 bps Connessione a 19200 bps Connessione a 7200 bps Connessione a 12000 bps Connessione a 16800 bps Connessione a 300 bps Connessione a 21600 bps Connessione a 24000 bps Connessione a 26400 bps Connessione a 28800 bps Connessione a 31200 bps Connessione a 33600 bps Connessione a 38400 bps (velocità d’interfaccia) Connessione a 57600 bps (velocità d’interfaccia) Connessione a 115200 bps (velocità d’interfaccia) Connessione a 32000 bps (K56flex o V.90) Connessione a 34000 bps (K56flex) Connessione a 36000 bps (K56flex o V.90) Connessione a 38000 bps (K56flex) Connessione a 40000 bps (K56flex o V.90) Connessione a 42000 bps (K56flex) Connessione a 44000 bps (K56flex o V.90) Connessione a 46000 bps (K56flex) Connessione a 48000 bps (K56flex o V.90) Connessione a 50000 bps (K56flex) Connessione a 52000 bps (K56flex o V.90) Connessione a 54000 bps (K56flex) Connessione a 56000 bps (K56flex o V.90) Connessione a 28000 bps (V.90)

Continua nella prossima pagina

39


5 – Modem

Continua dalla pagina precedente

Risposta forma estesa

Forma Numerica

Descrizione

CONNECT CONNECT CONNECT CONNECT CONNECT CONNECT CONNECT CONNECT CONNECT CONNECT CONNECT CONNECT CONNECT CONNECT

101 102 103 104 105 106 107 108 109 110 111 112 113 114

Connessione Connessione Connessione Connessione Connessione Connessione Connessione Connessione Connessione Connessione Connessione Connessione Connessione Connessione

29333 30666 33333 34666 37333 38666 41333 42666 45333 46666 49333 50666 53333 54666

EC* EC* EC* EC* EC* EC* EC* EC* EC* EC* EC* EC* EC* EC*

a a a a a a a a a a a a a a

29333 30666 33333 34666 37333 38666 41333 42666 45333 46666 49333 50666 53333 54666

bps bps bps bps bps bps bps bps bps bps bps bps bps bps

(V.90) (V.90) (V.90) (V.90) (V.90) (V.90) (V.90) (V.90) (V.90) (V.90) (V.90) (V.90) (V.90) (V.90)

Si conclude dalla pagina precedente

EC* A seconda del correttore d’errore utilizzato verrà visualizzato uno dei seguenti messaggi: V42bis, V42, MNP5, MNP4 o NoEC

40


Capitolo 6 Protocolli di trasmissione Fissate le interfacce elettrica e meccanica, ad esempio la RS-232 o la USB, ed il canale di comunicazione, ad esempio la linea privata in cavo, in fibra ottica o la linea telefonica commutata o dedicata, restano da stabilire le modalità di trasferimento dei dati in ordine alla velocità di trasmissione, al numero di bit dei dati, alla presenza di bit di parità, di bit di stop, ai codici di correzione degli errori, alle procedure di inizializzazione, al sincronismo ed a tutta una serie di informazione che il trasmettitore deve inviare al ricevitore affinché quest’ultimo sappia come sono organizzati i dati ricevuti e da chi li ha ricevuti. La risposta a questi interrogativi viene fornita dai protocolli di trasmissione noti anche come protocolli di secondo livello o protocolli di linea, tenendo conto dei livelli gerarchici previsti dal modello ISO/OSI. Possiamo affermare che i protocolli di trasmissione rappresentano le regole che i terminali di elaborazione devono rispettare affinché la trasmissione e la ricezione dei dati avvenga correttamente. I protocolli utilizzati si possono suddividere in due categorie: • protocolli asincroni start-stop; – XMODEM; – Kernit; – YMODEM; – ZMODEM. • protocolli sincroni: – orientato al byte BSC (Binary Synchronous Communications); – orientato al bit HDLC (High Data Link Control).

6.1

Protocolli asincroni

I protocolli asincroni start-stop consentono la trasmissione per singolo carattere senza che sia definito il tempo tra due caratteri successivi. Ogni bit del carattere deve, comunque, durare un tempo prefissato detto bit-time. Ogni carattere è costituito da un bit di start che indica l’inizio della trasmissione del carattere, dal dato vero e proprio che può essere costituito da 7 o 8 bit espresso in un particolare codice come, ad esempio il codice ASCII a 7 bit, il codice ASCII esteso a 8 bit o il codice EBCDIC (Extended Binary Coded Decimal Interchange Code) a 8 bit, un eventuale bit di parità che segnala la parità pari o dispari del dato per il controllo degli errori, uno o due bit di stop. La correttezza della trasmissione può essere valutata misurando, al ricevitore, la durata dei bit di stop. Se essa non corrisponde a quanto previsto si ha un errore di framming. La trasmissione si dice asincrona perché l’intervallo temporale tra il bit di stop di un carattere e il bit di start del carattere successivo è indefinito. 41


6 – Protocolli di trasmissione

6.1.1

XMODEM

La comunicazione è gestita dal terminale Rx mediante l’invio di caratteri di conferma in codice ASCII. È il terminale Rx che comincia e termina la comunicazione. Quando il terminale Rx è pronto a ricevere i dati, invia ogni 10 secondi il carattere NAK (Negative Acknowledge) al terminale Tx. Se il terminale Tx è disponibile alla trasmissione di un file, esso suddivide il file in blocchi da 128 byte. II Tx trasmette un blocco di dati alla volta. Ogni blocco di dati è preceduto e seguito da caratteri di controllo. La trasmissione dei dati è organizzata secondo la trama indicata nella fig. 6.1:

SOH

8 bit

N° Blocco Complemento a 1 del N° Blocco 8 bit 8 bit

Dati

Checksum

128 bit

8 bit

Figura 6.1: Struttura dei dati in una trasmissione XMODEM.

dove: SOH (Start of Header) : è un campo a 8 bit per l’inizio del blocco. N° Blocco : campo a 8 bit per indicare il numero del blocco; possono essere indicati sequenzialmente 256 blocchi. Se i blocchi dati sono in numero superiore a 256, la numerazione ricomincia da 0. Complemento a 1 del N° Blocco : campo a 8 bit per controllare la sequenzialità dei blocchi trasmessi. Dati : campo a 128 byte riservato al file. Checksum : campo a 8 bit per controllare la correttezza dei dati ricevuti. Il campo del Checksum (somma di controllo) è uguale al resto della divisione della somma di tutti i byte relativi ai dati per 255. Il terminale Rx, dopo aver ricevuto il blocco, effettua il controllo sui campi della trama: • controlla il campo SOH; • verifica che il no del blocco corrente sia uguale al n° blocco precedente +1; • controlla la sequenzialità dei blocchi ricevuti eseguendo l’operazione di ex-or, bit a bit, tra i campi 2 e 3; l’operazione ha esito favorevole se il risultato fornisce la configurazione (FF)HEX; • calcola il campo di controllo con il metodo del Checksum e lo confronta con quello ricevuto. Se il controllo ha esito positivo allora Rx invia a Tx il carattere ACK (Acknowledge), altrimenti invia il carattere NAK per richiedere la ritrasmissione del blocco corrente. Quando Tx non ha alcuna informazione da trasmettere, invia il carattere EOT (End of Transmission); Rx, dopo aver riconosciuto il carattere EOT, termina la comunicazione inviando al Tx il carattere ACK. I campi di controllo non sono protetti dagli errori, ed eventuali errori sui caratteri ACK, NAK, EOT determinano il blocco della comunicazione con l’impossibilità da parte del sistema di riprendere la trasmissione dal punto di interruzione. Pertanto il protocollo XMODEM è stato sostituito dai protocolli YMODEM e ZMODEM.

6.1.2

Kernit

Condivide molte delle caratteristiche del protocollo YMODEM. Può inviare più di un file per volta e può mantenere il nome originale di un file e la dimensione. Inoltre 42


6 – Protocolli di trasmissione

Figura 6.2: Diagramma temporale del protocollo XMODEM.

fornisce un migliore rilevamento degli errori. Di solito è però più lento dei protocolli YMODEM e ZMODEM. Il protocollo Kermit viene spesso usato per le comunicazioni da PC a mainframe perché permette di trasferire file binari (file di programmi, file grafici o qualunque altro file formattato) a un mainframe. Molti mainframe supportano solo dati ASCII (sette bit) e non comprendono gli speciali caratteri di controllo dei dati binari. Quando Kermit si imbatte in caratteri di controllo in dati binari (otto bit), li converte in caratteri a sette bit che l’host può capire. Si devono inviare e ricevere pacchetti lunghi solo su linee telefoniche pulite. Altrimenti, il tempo impiegato nel rinviare blocchi di dati corrotti supererà i vantaggi dell’invio di grandi blocchi di dati. Durante un collegamento full-duplex, Kermit può inviare pacchetti senza aspettare una risposta, permettendo così una trasmissione continua. Questo migliora molto la trasmissione dei dati di Kermit.

6.1.3

YMODEM

Questo protocollo è una versione migliorata del protocollo Xmodem. Oltre a usare il rilevamento degli errori CRC e inviare blocchi di dati da 1024byte (1Kbyte), mantiene il nome originale e la dimensione del file, una caratteristica importante quando si mandano 43


6 – Protocolli di trasmissione

file di programmi. Questo protocollo inoltre permette di inviare e ricevere più di un file per volta.

6.1.4

ZMODEM

È un ulteriore miglioramento del protocollo Ymodem. Zmodem è un protocollo a flusso continuo con correzione degli errori, che invia i dati in un flusso continuo. Invece di aspettare sempre conferma ricezione dopo aver inviato ciascun blocco di dati, Zmodem interrompe una trasmissione solo quando rileva un errore. Quando trasferisce file su una lunga distanza, il metodo di flusso continuo di Zmodem può migliorare molto il trasferimento di dati rispetto ai protocolli come Xmodem, Ymodem e Kermit. Zmodem permette anche di inviare e ricevere più file, e mantiene i nome, la dimensione e la data di creazione originale di ciascun file. Inoltre, Zmodem comprende caratteristiche come il trasferimento automatico dentro il computer e il recupero dei file, che permettono di riprendere un trasferimento di file interrotto.

6.2

Protocolli sincroni

Nei protocolli sincroni sono assenti i bit di start e stop e la sincronizzazione del messaggio è affidata a particolari caratteri di sincronismo (SYN) inviati all’inizio di ciascun blocco. L’unità fondamentale di trasmissione è detta trama e il numero di bit che la costituisce dipende dal protocollo. Il protocollo può essere orientato al carattere o al bit. Si descrivono i protocolli sincroni più utilizzati.

6.2.1

Protocollo sincrono BSC

Il protocollo sincrono BSC ( Binary Syncronous Communications) è un protocollo di 2° livello orientato al carattere introdotto dalla IBM ed utilizzato in trasmissioni half-duplex con velocità comprese tra 1200 e 19200 bps. La trama è costituita da un insieme di byte, circa un centinaio, che contengono il messaggio da trasmettere ed i caratteri di controllo. Nella fig. 6.3 si mostra la struttura della trama BSC.

SOH

Intestazione

STX Start of Text

Testo

ETX End of Text

Figura 6.3: Struttura dei dati in una trasmissione BSC.

I protocolli BSC sono classificati in BSC1, BSC2 e BSC3 in funzione della rete utilizzata. Il BSC1 è utilizzato su rete dedicata punto-punto, il BSC2 su rete commutata puntopunto mentre i BSC3 su rete multipunto. I codici binari impiegati sono: il codice ASCII (American Standard Code for Information Interchange), il codice EBCDIC (Extend Binary Coded Decimal Interchange Code) e il codice SBT (Six Bit Transcode), derivato dall’ASCII e usato dall’IBM. Il più utilizzato è il codice ASCII. La trama di un protocollo BSC può essere di controllo se contiene solo caratteri per il controllo del collegamento o informativa se contiene anche il testo del messaggio da trasmettere. I caratteri di controllo sono fondamentali per stabilire il sincronismo di trasmissione, fornire l’indirizzo del terminale ricevente in un collegamento multipunto, aprire e chiudere il collegamento, verificare gli 44


6 – Protocolli di trasmissione

errori di trasmissione, ecc. Nella tabella 6.1 si riportano i caratteri di controllo insieme al loro significato. Tabella 6.1: Caratteri di controllo per il protocollo BSC.

Tipo carattere

Carattere

Codice ex

Commento

Sincronismo

PAD SYN

55 16

Sincronismo di carattere. Sincronismo di bit.

Interrogazione

ENQ(Enquiry)

05

Richiesta di trasmissione.

Controllo

DLE(Data Escape)

Risposta

ACK0

10 0

ACK1

10 1

Link 10

(Acknowledgement) NAK ACK)

(Negative 15

WAK (Wait ACK)

Testo

10 B3

Indica che il carattere successivo non è un dato ma un carattere di controllo. Segnali di riconoscimento inviati dal ricevitore alternativamente. Sono codificati con DLE seguito da 0 per ACK0 e DLE seguito da 1 per ACK1. Risposta negativa del ricevitore. Il ricevitore non è momentaneamente pronto a ricevere. WAK è formato da DLE seguito da B3.

RVI (Reverse Inter- 103C rupt)

Il ricevitore informa il trasmettitore che ha un messaggio ad alta priorità da trasmettere.

STX (Start of Text)

82

Inizio del testo

SOH (Start Of Heading)

81

Inizio dell’intestazione

ETB (End Trasm. Block)

17

File del blocco

ITB 9F (Intermediate Trasm. Block)

Fine del blocco intermedio

ETX (End of Text)

03

Fine del testo

EOT

84

Fine della trasmis-

Continua nella prossima pagina

45


6 – Protocolli di trasmissione

Continua dalla pagina precedente

Tipo carattere

Controllo errori

Carattere

Codice

Commento

(End Of Trasmission)

sione

BCC (Block Character Check)

Blocco di caratteri per la rivelazione degli errori. Esempio : codice CRC-16.

Si conclude dalla pagina precedente

Nel caso di collegamento punto-punto, la procedura di colloquio prevede che il trasmettitore invii una sequenza di controllo costituita da caratteri di sincronismo e da quello di ENQ per la richiesta di trasmissione. In genere i due DTE possono essere sia trasmettitore che ricevitore. Nel caso in cui entrambi i dispositivi richiedano contemporaneamente di trasmettere (contesa) uno dei due DTE assume il ruolo di stazione primaria e l’altro il ruolo di stazione secondaria. In caso di contesa la stazione primaria ripete l’invio di ENQ mentre la stazione secondaria deve rinunciare. Se il ricevitore è pronto ad acquisire i dati risponde con ACK, altrimenti invia un carattere NAK. Il trasmettitore invia dei caratteri di controllo sul testo (STX, SOH) e successivamente il messaggio ed i caratteri di controllo sugli errori. Se il blocco contiene errori il ricevitore risponde con NAK e il trasmettitore ripete l’inoltro del blocco. La ripetizione della trasmissione può avvenire più volte. Il collegamento ha termine con il carattere EOT. Nel caso di collegamento multipunto (protocollo BSC3), l’elaboratore centrale, mediante una tecnica di interrogazione ciclica (polling) individua il terminale con cui collegarsi. In questo caso il protocollo di comunicazione deve contenere anche l’indirizzo del destinatario. L’efficienza del protocollo BSC non è molto elevata per la presenza di un alto numero di caratteri di controllo e per il tipo di trasmissione che è half-duplex.

6.2.2

Protocollo sincrono HDLC

Il protocollo HDLC (High Level Data Link Control) e’ stato progettato per canali geografici di tipo punto-punto o multipunto e puo’ percio’ collegare due o piu’ stazioni. E’ il protocollo previsto esplicitamente dallo standard OSI anche se esistono altri protocolli di linea, che sono varianti di HDLC, quali LAPB e SDLC. In HDLC la connessione puo’ essere: • bilanciata; • sbilanciata. Nella connessione bilanciata il numero di stazioni e’ limitato a due (punto-punto), le stazioni sono paritetiche ed il protocollo e’ full-duplex ossia ogni stazione puo’ trasmettere in caso di necessita’ indipendentemente dalle operazioni che sta eseguendo l’altra. Nella connessione sbilanciata esiste una stazione primaria e le altre secondarie. La trasmissione avviene in modalita’ half-duplex, con la stazione primaria che opera come master del canale multi-punto e le secondarie come slave. In questo tipo di connessione i messaggi mandati dal master sono detti command mentre quelli delle secondarie response Il formato della trama HDLC, che e’ composta da tre parti principali che sono un header, un campo information a lunghezza variabile e un trailer, e’ riportato nella fig. 6.4 nella pagina seguente: 46


6 – Protocolli di trasmissione

Header

Flag

Address

Trailer

Control

Information

FCS

Flag

Figura 6.4: Struttura dei dati in una trasmissione HDLC.

La trama e’ delimitata da due caratteri flag che corrispondono alla configurazione binaria 01111110 e che marcano univocamente l’inizio e la fine di una trama, oppure la separazione tra due trame successive. Affinche’ il flag risulti un marcatore univoco, HDLC utilizza la tecnica del Bit Stuffig che garantisce che il solo carattere flag possa contenere una sequenza di sei 1 consecutivi. Questa tecnica, infatti, prevede la scansione dell’intera trama da spedire (esclusi ovviamente i caratteri di flag) e l’inserimento di un bit a 0 ogni volta che si trovano all’interno della stessa cinque 1 consecutivi indipendentemente dal valore del bit successivo. Il ricevitore dovra’ a sua volta eliminare il bit a 0 che segue ogni sequenza di cinque bit 1 controllando prima che non si tratti del carattere di flag.

47


Capitolo 7 Link Link è un software svillupato interamente in ambiente LabWindows/CVI versione 9.1.0. In fig. 7.1 è possibile visualizzare l’interfaccia all’utente che compare all’avvio di Link.

COM Port

Baud Rate

Parity

Data Bits

Input Queue Size

Output Queue Size

Set CTS Mode Set XON/XOFF On On Off Off

Stop Bits 1 2

Timeout (sec)

Figura 7.1: Link

LabWindows/CVI è un ambiente per lo sviluppo di programmi in linguaggio ANSI C per il controllo di strumentazione, il test automatico, e l’acquisizione dati con il PC. Per questo lavoro di tesi CVI viene usato per inviare e ricevere dati e per spedire comandi al DCE attraverso la porta seriale del PC utilizzando un dispositivo USB to RS232 Converter. Per gestire questa comunicazione seriale è stata utilizzata la libreria RS-232 Library, la quale permette di controllare le porte seriali del proprio personal computer. All’avvio del software bisogna impostare, nella sezione Configure RS232 Port in fig. 7.2 nella pagina seguente, dei parametri per la comunicazione seriale. 48


7 – Link

Figura 7.2: Link, Configure RS232 Port

• COM Port: seleziona la porta COM. Valori possibili: da COM1 a COM30. • Baud Rate: permette di impostare il Baud rate sulla porta. Valori possibili: 110, 300, 600, 1220, 2400, 4800, 9600, 19200, 38400, 56000. • Parity:imposta il tipo di parità. Valori possibili: none, odd, even, mark, space. • Data bits: il numero di data bits. Valori possibili: 5, 6, 7, 8. • Input Queue Size: Dimensioni della coda d’ingresso per la porta selezionata. • Output Queue Size: Dimensioni della coda d’uscita per la porta selezionata. • Set CTS Mode: Abilità o disabilità l’ hardware handshaking. • Set XON/XOFF: Abilità o disabilità il software handshaking. • Stop Bits: il numero dei bits di stop per la porta selezionata. Valori possibili:1 e 2. Instaurata la comunicazione seriale, Link invia una serie di comandi AT per impostare e interrogare il DCE. Di seguito verrano elencati tali comandi. +++ Codice di escape : impone al DCE di passare nella modalità comandi nel caso non lo fosse, e di rimanere in tale stato nel caso contrario. AT Codice attenzione : il comando AT da solo, fa si che il modem risponda con OK o 0 nel caso in cui sia pronto a ricevere comandi. ATE0 Eco dei comandi : disabilità l’eco. AT+CLIP Presentazione dell’ID del chiamante : abilita la presentazione del numero del chiamante se supportata. AT+CMGF=1 Formato dei messaggi : seleziona il formato testo se supportato. ATI Informazioni sul DCE : permette di conoscere l’identificatore del dispositivo. AT+CSQ Livello di segnale : verifica la potenza del segnale GSM se supportato. Tale potenza è espressa in dBmW 1 (decibel milliwatt). Nella sezione Info in fig. 7.3 nella pagina successiva è possibile visualizzare le risposte inviate dal DCE alla ricezione dei comandi ATI e AT+CSQ sopra descritti. Nella sezione 1

In elettronica è diffuso l’uso di abbreviare la sigla dBmW in dBm, sottintendendo l’unità di misura.

49


7 – Link

Figura 7.3: Link, Info

Receive from device in fig. 7.4 è possibile leggere i messaggi salvati sul dispositivo, potendo scegliere se leggere tutti i messaggi (ALL), quelli già letti (READ) o quelli non ancora letti (UNREAD). Transmit to device mostrata in fig. 7.5 nella pagina successiva invece

Figura 7.4: Link, Receive from device

è la sezione dedicata alla gestione di messaggi e chiamate in uscita. In questa sezione è possibile: • inviare un messaggio; • effettuare una chiamata voce; • effettuare una chiamata dati; • inviare un file. Un discorso a parte merita l’invio file. Premendo il pulsante Send File si visualizza il pannello Send File mostrato in fig. 7.6 nella pagina seguente nel quale è possibile: • visionare le classi supportate dal dispositivo; • caricare il file da inviare; • impostare lo standard utilizzato nell’invio. I possibili valori delle classi di un dispositivo sono: • 0 modalita dati; • 1 modalità fax di classe 1; • 2 modalità fax di classe 2; • 2.0 modalità fax di classe 2.0; • 2.1 modalità fax di classe 2.1; 50


7 – Link

Figura 7.5: Link,Transmit to device

• 8 modalità voce. Il pulsante Load permette all’utente di selezionare il file .bmp da inviare, attraverso una finestra di dialogo di selezione. Selezionato il file è possibile visualizzare una serie di parametri di quest’ultimo quali:

Figura 7.6: Link, Send file

• Row Bytes numero di byte su ciascuna linea di scansione dell’immagine; • Depth numero di bits per pixel; • Width lunghezza dell’immagine in pixel; 51


7 – Link

• Height altezza dell’immagine in pixel; • Color Table Size numero di byte nella tabella dei colori dell’immagine; • Bitmap Size numero di bytes nell’immagine; • Mask Size numero di bytes nella maschera dell’immagine. In molti casi può essere utile impostare manualmente lo standard di modulazione o visualizzare quelli supportati. Premendo sul pulsante Set Mod. si apre il pannello Modulation mostrato in fig. 7.7. Dove è possibile impostare:

Figura 7.7: Link, Modulation

• • • •

7.1

Standard Modulations: standard di modulazione; Automatic Modulation Negotiation: funzionamento multistandard; Minimum Rate: velocità massima di trasmissione; Maximum Rate: velocità massima in ricezione.

Standard di modulazione

Approfondiamo il discorso relativo agli standard di modulazione. La maggior parte dei standard di modulazione più usati attualmente richiedono una fase iniziale durante la quale viene stabilito la modulazione e la velocità massima che i due modem adotteranno. Il processo tramite il quale avviene la decisione sulla velocità di trasmissione viene detto negoziazione. Durante la prima fase del collegamento, che può durare anche 15 s, avviene anche un procedimento detto training, durante il quale i due modem misurano le caratteristiche dinamiche ed il rumore della linea telefonica. In base a queste misure essi saranno 52


7 – Link

in grado di effettuare una equalizzazione2 del segnale diversa per ogni linea che troveranno. La velocità di trasmissione di modem ad alta velocità non dipenderà perciò solo dal tipo di standard adottato da entrambi i modem, ma anche dalla qualità della linea telefonica effettivamente presente fra di essi. Per ottenere collegamenti full duplex gli standard per modem possono usare due tecniche. Nei standard più antiquati, che fanno un uso non ottimizzato della banda, la banda telefonica è di fatto suddivisa in due sottobande, una per la trasmissione e l’altra per la ricezione. In questo caso, siccome le bande di ricezione e di trasmissione sono distinte, si può filtrare dal segnale ricevuto la banda del segnale trasmesso, per ottenere solo quello effettivamente spedito dall’altro modem. Questa tecnica FDM viene di solito definita split band (banda suddivisa). Negli standard più avanzati, per ottimizzare fino in fondo la stretta banda a disposizione, la bidirezionalità è ottenuta con tecniche di cancellazione dell’eco fonico (echo cancelation). In questo caso le bande di ricezione e di trasmissione non sono distinte. Peraltro, se la linea di trasmissione fosse perfettamente adattata, non si avrebbero riflessioni del segnale trasmesso e l’unico segnale ricevuto sarebbe quello buono proveniente dall’altro modem. Dato che non è possibile che una linea telefonica sia adattata, in ricezione si leggerà sia il segnale effettivamente spedito dall’altro modem, sia una copia, ritardata, attenuata e distorta del segnale trasmesso. Misurando durante la fase di training il ritardo, l’attenuazione e la distorsione del canale telefonico, il modem è in grado di togliere dal segnale ricevuto una stima del segnale riflesso. In questo modo si filtra il segnale ricevuto da quello riflesso e si ottiene una buona stima del segnale effettivamente trasmesso dall’altro modem. I modem più moderni, se la comunicazione ha luogo con molti errori, possono accordarsi per passare automaticamente ad una velocità minore (fall back). Peraltro se tutto funziona senza errori per un certo tempo e non si sta procedendo alla massima velocità possibile, determinata all’atto della negoziazione, i modem possono accordarsi per aumentare la velocità (fall forward). Un modem moderno ad alta velocità potrebbe perciò funzionare a velocità molto più basse della sua massima, a causa della cattiva qualità della linea e dell’altro modem con cui comunica. Sia la rinegoziazione che il fall back o fall forward possono essere richiesti da uno dei modem ma possono essere eseguiti solo dopo che l’altro modem ha dato il consenso. Il retrain è un processo che richiede molto tempo, per cui non va eseguito troppo spesso. Gli standard di modulazione della serie V sono Raccomandazioni sulla comunicazione dati su rete telefonica. Essi sono stati emanati in tempi diversi, ma hanno mantenuto una costante attenzione a che i nuovi standard fossero sempre compatibili con i precedenti. • V.110 É uno standard di adattamento di velocità a frame fisso che suddivide il canale ISDN in un canale dati a velocità singola. • V.120 Consente a un canale B di trasportare più canali con velocità secondarie in una successione di frame in multiplex statistico. • V.21 Standard per 300 bit/s, a due fili, full duplex, usa la modulazione FSK. V .21 usa un canale 1, su cui trasmette il modem che chiama, e che ha una portante di 1080 Hz. Il modem che risponde trasmette la portante sul canale 2, a 1750 Hz. Il segnale

nei protocolli più moderni le condizioni della linea vengono continuamente monitorate durante il collegamento (line probing), se le condizioni della linea cambiano i modem sono perciò in grado di cambiare durante la trasmissione l’equalizzazione che applicano al segnale. 2

53


7 – Link

• • •

• • •

modulato ha frequenza di 100 Hz in più della portante se il bit è space (0) e di 100 Hz in meno se il bit è mark (1). V.24 Standard per 1200 bit/s, full duplex. V.22 Standard per 1200 bit/s, per linee commutate o dedicate a due fili. La velocità del collegamento è negoziata dai due modem all’inizio della comunicazione. V.23 Standard asimmetrico per 1200 bit/s in una direzione e 75 bit/s nell’altra. Questo standard è stato usato per i servizi di videotex (in Italia Videotel, fornito da Telecom), oggi in disuso per via dell’esplosione della telematica su Internet. V.22bis Estensione del V .22 per 2400 o 1200 bit/s, per linee commutate o dedicate a due fili. Standard per 9600 bit/s su linee dedicate a 4 fili. La modulazione utilizzata è di tipo QAM, con 4 livelli e 16 stati che si differenziano sia per l’ampiezza che per la fase. V.27ter Standard ITU-T per operazioni via fax che specifica la modulazione a 4.800 bps, con fall back a 2.400 bps. V.29 Standard ITU-T per operazioni via fax che specifica la modulazione a 9.600 bps, con fall back a 7.200 bps. V.32 (1984) Standard per 4800 o 9600 bit/s, su due fili, full duplex, su linee commutate o dedicate. Modulazione 8-QAM , con codifica trellis 3 . Questo tipo di codifica richiede l’uso di un DSP (processore per calcoli aritmetici) dedicato. La trasmissione bidirezionale non avviene mandando toni diversi, ma sottraendo dal segnale ricevuto il segnale spedito (cancellazione dell’eco fonico). Ciò avviene anche nei standard successivi. V.32bis (1991) Funziona in full duplex su due fili. Estensione del protocollo V.32 a 7200, 12000 e 14400 bit/s. Il modem sceglie la giusta velocità a seconda della condizione reale della linea, rallentando od aumentando la velocità se la qualità della linea peggiora o migliora, per fare questa variazione di velocità non è indispensabile un retraining completo. Le velocità di scambio sono simmetriche. V.34 (1992) Standard che usa velocità da 2400 bit/s a 28 800 bit/s. Prima che questo standard fosse ratificato erano stati prodotti modem che aderivano ad una versione draft di questo standard erano stati chiamati Vfast. I modem V .34 effettuano il line probing 4 , verificando la qualità della linea e modificando la loro equalizzazione in modo da raggiungere il massimo throughput ottenibile con la linea effettivamente presente. Lo standard supporta una modalità half duplex per i fax ed è compatibile con gli standard V ad esso precedenti. Le specifiche V .34 prevedono un canale

è molto simile alla QAM ma differisce nell’uso della codifica convoluzionale che permette all’aumentare dei numeri di stati di modulazione, l’aumentare della probabilità di errore. Questo fa sì che in fase di decodifica permette la correzione delle sequenze di simboli ricevute, così che gli errori possono essere eliminati. 3

procedura automatica che si avvia alla connessione di due modem, che controlla la qualità della linea telefonica, impostando di conseguenza, la corretta velocità di trasmissione per evitare errori di comunicazione dovuti a disturbi presenti in linea. 4

54


7 – Link

• • • •

ausiliario (opzionale) a 200 bit/s, che può essere utilizzato per il controllo dei modem. I modem V .34 usano una codifica trellis multidimensionale e sono in grado di comunicare direttamente con telefoni digitali. La versione V 34bis utilizza tre velocità di modulazione: 2400, 3000 e 3200 baud e aggiunge a V .34 le velocità di 33,6 kbit/s e 31,2 kbit/s (opzionali, il produttore potrebbe anche non implementarle e sarebbe comunque in regola con la normativa). La velocità della trasmissione viene negoziata all’atto del collegamento. I modem V .34 possono anche avere una modalità di trasmissione asimmetrica, sia come bit rate che come baud rate (caratteristica opzionale della normativa). Questa caratteristica può essere molto utile se il sistema telefonico trasmette in canali diversi i segnali nelle due direzioni (ciò accade facilmente nei tratti da centrale a centrale). In questo caso, essendo i canali diversi, potrebbe essere diversa la qualità dei segnali nelle due direzioni. Se il modem prevede il collegamento asimmetrico la comunicazione potrà funzionare alla massima velocità possibile in entrambe le direzioni. In caso contrario la velocità in entrambe le direzioni potrà solo essere la minore delle due. Data la baud rate di 3200 Hz, è chiaro che si è al limite della larghezza di banda disponibile. Per avere connessioni un minimo affidabili, ed alla velocità massima del modem, bisognerà avere una linea telefonica di eccellente qualità. Ciò significa che in moltissime linee telefoniche, di qualità non sufficiente, non sarà mai possibile ottenere la massima velocità. L’unico parametro utile per valutare la bontà di un collegamento è la misura del throughput effettivamente ottenuto, cioè del numero di bit/s effettivamente trasferiti. Più avanti verranno presentati alcuni metodi per ottenere indicazioni sulla effettiva velocità del collegamento. V.34+ Aggiornamento dello standard V.34 che consente velocità di trasmissione dati fino a 33.600 bps. V.42 Standard ITU-T per comunicazioni via modem che definisce un processo di rilevazione e negoziazione a due fasi per il controllo degli errori LAPM. K56 Standard di trasmissione (confluito nel V.90) sviluppato da Lucent Technologies e Rockwell. Permette una velocità di trasmissione di 56 Kbps. V.90 (1998) Prevede bit rate fino a 56 kbit/s. La velocità massima si ottiene in una sola direzione (downstream), mentre nell’altra (upstream) si va a normali velocità V .34. Nei protocolli esistenti uno dei due modem deve essere necessariamente collegato ad una linea di trasmissione numerica, cosa che di solito non è un problema nel collegarsi ad un fornitore di servizi, come un provider Internet, ma lo è per i collegamenti diretti punto – punto via telefono. Inoltre i modem a 56 kbit/s non tollerano conversioni da digitale ad analogico nel percorso, per cui non possono essere usati se c’è un centralino telefonico in mezzo. V.92 (2000) La differenza fondamentale del V.92 rispetto al v.90 è che la procedura di handshaking utilizzata all’inizio della connessione per negoziare i parametri di configurazione sarà molto più breve (circa 5 secondi, contro quasi il minuto richiesto attualmente quando si compone il numero del provider e i due modem remoti dialogano tra loro emettendo il caratteristico rumore). Inoltre il V.92 permetterà a chi ha abilitato il servizio di chiamata in attesa di essere avvisato dell’arrivo di una telefonata mentre si è collegati ad Internet, ed avrà la possibilità di interrompere momentaneamente la 55


7 – Link

navigazione per parlare con l’interlocutore senza doversi disconnettere. C’è da notare come in realtà il V.90 e il V.92 non siano dei modem in senso stretto: in effetti la comunicazione avviene tramite codifica PCM (Pulse Code Modulation, modulazione a codice di impulsi), ovvero i bit da trasmettere a 7 a 7 vengono codificati su uno dei possibili 128 valori di tensione ed immessi direttamente sulla linea per 125 microsecondi; il ricevente non dovrà fare altro che campionare il livello di tensione sulla linea a 8000 Hz e ricostruire la sequenza di bit. Questa tecnologia funziona solo se sono verificate certe condizioni, ovvero se la qualità del doppino telefonico è buona, priva di disturbi e se la più vicina centrale telefonica digitale è situata nel raggio di 1 Km; altrimenti, come per tutti gli standard, la velocità di connessione che viene contrattata viene automaticamente abbassata (fall-back) ad un valore consentito, ad esempio 48000, 33600 o 31200 bps.

7.2

Dial Up su rete PSTN e ISDN

Per l’invio del file ho utilizzato il protocollo Xmodem descritto nel paragrafo 6.1.1 a pagina 42. Una volta stabilita la connessione, il modem passa nella modalità DATA STATE, cioè nel modo trasferimento dati, trasferendo sulla linea telefonica i dati ricevuti dall’interfaccia seriale. Quindi utilizzando il protocollo Xmodem è possibile inviare file attravreso la banda fonica a bassa frequenza quindi sia su linea analogica PSTN che su linea digitale ISDN.

7.2.1

PSTN

Naturalmente la Public Switched Telephone Network (PSTN) è diventata obsoleta nonostante i significativi miglioramenti registrati nell’arco dei vent’anni di evoluzione. Tradizionalmente la rete PSTN è stata considerata sempre come una rete analogica. Nella realtà, però, essa è divenuta una rete interamente digitale in seguito alla conversione dei segnali vocali analogici in segnali digitali PCM (Pulse Code Modulation). L’unica parte della PSTN rimasta analogica ad oggi è in realtà il doppino telefonico. La Fig. 7.8 nella pagina successiva mostra due distinte classi di configurazione dei modem (simmetrica e asimmetrica) che si sono succedute negli anni e che interpretano due diverse visioni della rete PSTN. I modem convenzionali (gli standard fino al V.34bis) appartengono alla classe di configurazione simmetrica dei modem, in cui cioè la capacità offerta risulta la stessa in entrambe le direzioni di collegamento (downstream e upstream). La PSTN viene vista come rete analogica: i modem non sfruttano la conversione analogico/digitale (A/D) e digitale/analogica (D/A) presente sulla rete di trasporto telefonica, ma la connessione risulta una connessione analogica end-to-end in cui la realizzazione digitale della PSTN è incidentale. In un tale sistema, le prestazioni sono limitate dal rumore di quantizzazione introdotto dalla codifica PCM, utilizzata all’interno della rete di trasporto. Rapporti segnale/rumore tipici per una linea telefonica con codifica di sorgente PCM vanno dai 34 ai 38 dB. 56


7 – Link

DS Server's analog modem

Analog

A/D

A/D

PSTN D/A

US Analog DS

User's analog modem

(a) DS Server's analog modem

Cod PCM

8 bit 8 kHz

Digital

US

Analog

PSTN Dec PCM

DS

Digital

User's analog modem

(b) Figura 7.8: Configurazione dei modem di tipo simmetrico (a) e asimetrico (b).

La tecnologia che garantisce la massima capacità per i modem in banda fonica è quella utilizzata dall’ultima generazione di modem asimmetrici, a partire dai V.90, (chiamati anche modem “digitali”) i quali si differenziano dai modem convenzionali per l’utilizzo della modulazione 128-PAM indicata come “PCM”. I modem V.90 sfruttano la conversione D/A in downstream presente nella PSTN e quindi non possono prescindere dalla disponibilità di apparati digitali in centrale. In realtà, il codificatore PCM a 8 bit in centrale viene utilizzato appunto come “modulatore digitale” intendendo che la parola di 8 bit trasmessa non rappresenta un campione del segnale vocale, bensì semplicemente un byte di dati da trasmettere. Per evitare problemi di sovraccarico sistematico della linea, il bit meno significativo del “campione” di un byte non viene utilizzato, e quindi vengono trasmessi 7 bit alla cadenza di 8 kHz (128 livelli in banda base), per un totale di 56 kbit/s. L’incremento di capacità rispetto ai modem delle generazioni precedenti si spiega tenendo conto del fatto che in questa maniera viene a mancare il rumore di quantizzazione della codifica PCM che di fatto disturba negli altri modem la ricezione del segnale analogico modulato. Si fa notare inoltre che tale tecnica, contrariamente agli altri standard per i modem telefonici, ha una limitazione: può funzionare solo con una singola conversione D/A sulla linea d’abbonato, tipicamente nella sede del fornitore di servizi IP. La parte restante della rete deve garantire trasmissione digitale dell’informazione. Viceversa, il segnale in banda fonica degli altri standard di modem fino al V.34 può transitare su di una rete analogica o analogica digitalizzata PCM senz’alcuna limitazione. L’incremento di bitrate è comunque possibile solo nel canale downstream. Per questo motivo il modem V.90 risulta asimmetrico: la capacità massima dell’upstream è fissata a 33.6 kbit/s come nello standard V.34bis. Il segnale in upstream viene ricevuto in centrale come se fosse un segnale vocale ed il convertitore A/D effettua normalmente un conversione PCM ignaro del fatto che si tratta di un segnale dati. Se in upstream ci fosse un segnale PCM simile a quello del downstream, non essendoci alcun sistema di sincronizzazione in entrale, il convertitore A/D originerebbe dei campioni non coerenti del segnale che non consentirebbero una corretta ricostruzione dell’informazione. Utilizzando invece una modulazione QAM come avviene nello standard V.34bis, il modem destinatario, pur avendo una piccola degradazione pari a quella introdotta a causa dell’errore di quantizzazione, riesce comunque a ricostruire correttamente l’informazione. Dall’emanazione del nuovo standard V.92 , la capacità in upstream viene aumentata fino a 48 kbit/s utilizzando espedienti che sfruttano la connessione PCM anche nel flusso upstream. 57


7 – Link

7.2.2

ISDN

La rete ISDN (Integrated-Services Digital Network) ha una certa importanza storica perché ha introdotto le tecniche di trasmissione numerica direttamente sulla linea d’abbonato, con la digitalizzazione del segnale telefonico. Come è noto, lo standard ISDN prevede trasmissione numerica in banda base con formato 4-PAM (Pulse Amplitude Modulation) (chiamato 2B1Q), codifica di linea 4B3T 5 per la soppressione delle componenti continue e duplexing a cancellazione d’eco. Dal punto di vista della capacità, l’ISDN non rappresenta un significativo passo in avanti rispetto alla tecnologie di accesso dei modem in banda vocale. Infatti, la linea standard (o accesso base) d’abbonato, denominata 2B+D, consta di due canali B a 64 kbit/s con suddivisione di tempo (TDM) con capacità massima netta di 2x64=128 kbit/s nelle due direzioni ed un canale di controllo (D) a 16 kbit/s che consente anche il trasporto di dati ausiliari. Sebbene la qualità e l’affidabilità delle linee digitali ISDN sia nettamente superiore a quella ottenibile con i modem in banda vocale, i 128+16=144 kbit/s sono comunque una capacità troppo piccola per soddisfare le esigenze delle più moderne applicazioni multimediali come videotelefonia, distribuzione di programmi video ecc.

raggruppa i bit di ingresso a gruppi di 4 e li codifica con una sequenza di tre simboli ternari secondo una legge di codifica a 4 alfabeti. Questo codice è ridondante perché a 24 possibili stadi di ingresso corrispondono 33 stadi di uscita. 5

58


Capitolo 8 Conclusioni e sviluppi futuri Nonostante l’avvento di un accesso Internet a banda larga ampiamente disponibile a livello mondiale, un certo numero di persone in tutto il mondo preferisce collegarsi tramite la connessione dial-up. Un accesso dial-up è facilmente reperibile nelle regioni in cui sono presenti le linee telefoniche. Esso si rivela essere un vantaggio per gli utenti della rete ristretti in aree, dove connessioni a banda larga non sono disponibili. L’accesso dial-up prevede il pagamento del traffico telefonico a consumo e ha un canone di accesso più basso rispetto all’ADSL . Uno dei principali svantaggi e sicuramente la velocità della connessione che è di 64 Kbit/s nelle soluzioni dedicate a utenti singoli e di 128 Kbit/s (dove disponibile) nel caso si impieghi un doppio canale ISDN. Il presente lavoro di tesi è stato volto a realizzare un software in grado di gestire l’invio e ricezione di un file su tali connessioni. Per la realizzazione di quanto detto, il percorso di ricerca è stato centrato sui seguenti argomenti; • connessioni Dial-Up, reti PSTN e ISDN; • protocolli di comunicazione; • trasmissione seriale; • modem (modulazioni supportate, programmazione attraverso i comandi AT, stati di un modem); • protocolli di trasmissione; • programmazione in ambiente LabWindows/CVI; • sviluppo e test del software. Il lavoro svolto si è concluso con la realizzazione di Link, un dialer che permette di gestire, se supportati dal DCE, molteplici aspetti, quali; • configurazione della connessione con la porta seriale secondo parametri scelti; • avvio e ricezione di una chiamata voce o dati; • invio e ricezione di SMS (Short Message Service); • visualizzazione dell’identificativo del modello collegato; • visualizzazione della potenza del segnale; • visualizzazione delle classi supportate; • visualizzazione dei standard di modulazione supportate e possibilità di impostare quale utilizzare nel trasfermimento file; • visualizzazione di informazioni sul file caricato per il trasferimento; • trasferimento file su connessione Dial up. Per la realizzazione dell’ultimo punto elencato è stato utilizzato il protocollo Xmodem, il più popolare per il trasferimento dei file, ideato nel 1977 da Ward Christensen. Questo protocollo continua ad essere utilizzato per il semplice fatto che è l’unico protocollo comune a programmi di comunicazione diversi. 59


8 â&#x20AC;&#x201C; Conclusioni e sviluppi futuri

Dai test effettuati su Link si evince che gli obbiettivi prefissati sono stati raggiunti con successo. Nei test sono stati utilizzati tutti gli standard di modulazione, e questo ha condizionato i tempi di invio, mostrando lâ&#x20AC;&#x2122;importanza di tali standard. Gli sviluppi futuri sono molteplici, tra questi ci sono sicuramente il supporto al protocollo T.38 per lâ&#x20AC;&#x2122;invio e ricezione fax e una sezione per impostare parametri di accesso dial up a internet.

60


61


Appendice elettronica Appendice Elettronica Documentazione AT Command Set Version 04.00.pdf File Transfer Protocol.pdf LabWindows CVI Standard Libraries.pdf LabWindows CVI User Manual.pdf Reti di Telecomunicazioni.pdf Security in Telecommunications and Information.pdf Series V data communication over the telephone network.pdf TC35i Terminal Hardware Interface Description.pdf Link cvibuild.Link Debug Link.cdb Link.cws Link.exe Link.h Link.prj Link.uir Main.c Presentazione Presentazione Tesi di Laurea.ppt Tesi di Laurea Figures Tesi.aux Tesi.lof Tesi.log Tesi.lot Tesi.out Tesi.pdf Tesi.synctex.gz Tesi.tex Tesi.toc Tesi.doc

62


Bibliografia [1] G. Saccardi, Trasmissione dati. Dispositivi standard e protocolli, Gruppo Editoriale Jacksoni, Milano, 1986 [2] G. Bacci, L. Giugno, M. Luise,Le reti radio cellulari , Servizio Editoriale Universitario, Pisa, Dicembre 2007 [3] A. Roveri, Reti di Telecomunicazioni: principi generali, Edizioni SSGRR, L’Aquila, 1995 [4] S. Giordano, La comunicazione seriale asincronae l’impiego di modem per la banda fonica, Università di Pisa, 2001 [5] C. Forsberg, XMODEM and YMODEM, File Transfer Protocols, Omen Technology Inc, Portland, Febbraio 1988 [6] I. Harris, Data in the GSM cellular network, Cellular Radio Systems. Artech House, Boston, 1993 [7] R. Gallager, D. Bertsekas, Data Networks, Prentice Hall, Massachusetts Institute of Technology, Dicembre 1992 [8] R.L. Freeman, Telecommunications Transmission Handbook 4th Edition, WileyInterscience, New York, Aprile 1998 [9] L. Peterson, B. Davie, Computer networks, A Systems Approach, 3rd Edition , Morgan Kaufmann, Maggio 2003 (trad. it. M. Dalpasso Reti di calcolatori, Apogeo, Aprile 2012) [10] M.S. Moore,N.T. Pitsky,C. Riggs,P.V. Southwick (Hills Associates), Telecommunications: A Beginner’s Guide, McGraw-Hill, 2001 (trad. it. di A Rivalta ,Telecomunicazioni. Reti, trasmissione dati, telefonia, wireless, Apogeo, 2003) [11] J. Postel, J. Reynolds, File Transfer Protocol (FTP), RFC 959, BBN, Ottobre 1985 http://tools.ietf.org/html/rfc959 [12] Siemens, AT Command Set Version 04.00, Maggio 2002 http://www.tc485.od.ua/docs/at_commands_tc35.pdf [13] International Telecommunication Union, Security in Telecommunications and Information Technology, Dicembre 2003 http://www.itu.int/itudoc/itu-t/85097.pdf [14] International Telecommunication Union, Series V: data communication over the telephone network. Simultaneous transmission of data and othe signals, Novembre 2000 http://hackipedia.org/Protocols/Telephone,%20ITU%20V%20standards/pdf/TREC-V.92-200011-I!!PDF-E.pdf [15] Siemens, TC35i Terminal Hardware Interface Description. Agosto 2003 http://www.vega.com/downloads/ext-BA-EN/Siemens-TC35i-EN.pdf [16] National Instruments, LabWindows/CVI. Standard Libraries. Reference Manual, Febbraio 1998 http://www.ni.com/pdf/manuals/320682c.pdf 63


[17] National Instruments, LabWindows/CVI User Manual, Febbraio 1998 http://www.tau.ac.il/ roichman/CVI/manual.pdf

64


Ringraziamenti Desidero ringraziare di cuore la mia famiglia per tutto il supporto che mi hanno dato in questi anni, senza il quale non sarei certamente arrivato a questo traguardo. Voglio ringraziare Marika per aver creduto in me, sostenendomi nei momenti di sconforto. Un ringraziamento vĂ  anche a loro, gli amici di una vita che hanno allietato giorni difficili con il calore di una famiglia. Grazie a tutti voi.

65


Protocolli di comunicazione