Echipamente si protocoale de comunicatie

 

1. Obiectivul lucrarii

 

Lucrarea isi propune, pe de o parte, familiarizarea cu setul de comenzi AT folosite de catre modemurile compatibile Hayes, iar, pe de alta parte, studiul celor mai utilizate protocoale de comunicatie Internet.

 

2. Introducere teoretica

 

2.1. Modemuri

 

In trecut, in cadrul modemurilor existau echipamente care ofereau comunicatii seriale transparente utilizatorilor, asa numitele modemuri dumb, acestea fiind ideale pentru linii dedicate. In prezent, aceste modemuri au intrat in categoria modemurilor inteligente (smart), prin faptul ca ofera doua moduri de operare:

 

·        modul de comanda: accepta secvente de control de la calculator;

·        modul de transmisie (on-line): se comporta transparent.

 

Initial, toate modemurile foloseau tehnologii analogice, dar, in ultima perioada, chiar si modemurile clasice pot utiliza tehnologii digitale pentru obtinerea unor rate de transfer imbunatatite (este vorba de tehnologiile V.90 si V.92).

In afara de modemurile pentru linii telefonice clasice, notiunea de modem a trecut granita telefoniei, existand atat modemuri pentru cablu coaxial (cable modem), modemuri in tehnologie digitala care folosesc tot linii telefonice – tehnologia xDSL (modem ADSL, SDSL), cat si modemuri radio.

 

2.2. Modemuri inteligente

 

Modemurile inteligente sau, cum mai sunt denumite, modemurile compatibile Hayes – dupa firma care a introdus acest tip de modem – permit atat comunicatii de date in mod transparent, cat si receptia si raspunsul la comenzi date de utilizator.

Un modem inteligent accepta comenzi prin aceeasi interfata prin care se realizeaza si schimbul de date. Unul dintre primele modemuri introduse pe piata a fost Smartmodem 1200, produs de Hayes Microcalculator Products Inc. Comenzile sunt in format ASCII, iar modemul poate raspunde prin aceeasi interfata cu coduri de stare sau cu mesaje.

 

Exemplu. Comanda ATDP0219494 cere modemului sa deschida linia, sa astepte tonul (modemul, in modul de dialog de tip dial-up, poate fi programat sa formeze numarul corespondentului imediat dupa deschiderea liniei, fara a verifica daca are ton) si, in cazul in care are ton, va forma numarul 0219494 in puls. In functie de ceea ce se intampla la celalalt capat al liniei, modemul va intoarce diferite informatii, cum sunt:

 

·        no dial tone (daca nu exista ton);

·        busy (daca numarul apelat este ocupat);

·        no carrier (daca nu s-a reusit conectarea cu modemul partener);

·        connect 9600 (daca s-a reusit conectarea la viteza de 9600 bps).

 

2.3. Descrierea modemului ZyXEL U90-E

 

Fig. 1. Panoul frontal al modemului ZyXEL U90-E.

 

Modemul care poate fi folosit in cadrul aplicatiei de laborator este un modem inteligent, dintre facilitatile sale putand enumera:

 

·        detectarea automata a tipului de apel voce/date;

·        mod de transmisie sincron si asincron (maxim 33,6 Kbps in mod sincron);

·        reantrenare rapida cu posibilitate de fall-forward si fall-back, permitand modemului sa reduca viteza cand comunicatia se face cu un modem mai putin rapid sau cand apar probleme datorate liniei telefonice;

·        tonuri de apel diferite in functie de tipul apelului (necesita software special);

·        posibilitate de configurare de la distanta;

·        memoria flash EPROM permite actualizarea simpla prin noi versiuni de firmware, oferind acces la noi facilitati.

Tabelul 1 prezinta semnificatia LED-urilor de pe panoul frontal al modemului.

 

Tabelul 1

Descrierea indicatorilor luminosi

 

LED

Descriere

HS

High Speed indica faptul ca modemul este in modul V.34 sau V.90; cand este in mod handshake, se aprinde intermitent.

AA

Auto-Answer este aprins cand modemul preia automat apelurile primite si se aprinde intermitent cand este apelat. In modul de corectie a erorilor, se aprinde intermitent cand retransmite date.

CD

Carrier Detect se aprinde atunci cand este detectata o purtatoare valida pe linie.

OH

Off-Hook se aprinde cand modemul este in modul date sau linia este deschisa, si este stins atunci cand modemul este in mod comunicare sau linia este inchisa.

DTR

Data Terminal Ready se aprinde atunci cand DTE-ul sau calculatorul indica faptul ca este pregatit pentru a incepe comunicarea si este stins atunci cand DTE-ul nu poate trimite date.

DSR

Data Set Ready se aprinde cand modemul este pregatit pentru comunicatie si este stins cand modemul nu este pregatit.

CTS

Clear To Send este aprins atunci cand modemul poate accepta date pentru transmisie. Indica starea semnalului RS-232 CTS.

RTS

Request To Send indica starea semnalului RS-232 de la DTE. RTS este folosit pentru controlul fluxului de date hardware in modul asincron de transmisie a datelor.

TXD

Transmit – transmisie.

RXD

Receive – receptie.

SQ

Signal Quality – calitatea semnalului.

TST

Test – testare.

 

Apasarea butonului A/O va seta modemul in modul initiator, iar eliberarea acestuia va trece modemul in mod raspuns. Butonul D/V comuta intre modul date si modul voce, fiind util cand se conecteaza un telefon la modem.

 

2.4. Comenzile AT

 

Setul de comenzi consta dintr-un numar de comenzi de baza si din extensii ale acestora. Comenzile sunt initiate prin transmiterea unui cod de atentionare, urmat de o comanda sau un set de comenzi si parametrii acestora. Codul de atentionare este reprezentat de secventa AT (prescurtare de la ATtention).

Dupa ce modemul se conecteaza cu succes la un alt modem, acesta va trece din modul de comanda in modul de transmisie de date. In acest mod, toate informatiile primite vor fi considerate ca fiind date si sunt trimise catre celalalt modem. Pentru a putea, totusi, trimite comenzi, se poate specifica o secventa de caractere escape dupa care, atunci cand va fi intalnita de catre modem, acesta va interpreta caracterele care ii urmeaza la fel ca in modul de comanda. Secventa escape implicita este +++. Aceasta poate fi modificata prin intermediul unui registru al modemului.

Formatul de baza al unei comenzi este:

 

AT comanda [parametrii] [comanda] [parametri] […] <CR>

           

Setul comenzilor AT de baza este prezentat in tabelul 2.

 

Tabelul 2

Setul de baza al comenzilor AT pentru modemuri

 

Comanda

Descriere

A

raspunde la apel

A/

repeta ultima comanda

B

selecteaza metoda de modulatie a modemului

C

porneste sau opreste putatoarea modemului

D

formeaza un numar de telefon

E

permite sau inhiba ecoul caracterelor trimise catre modem

F

comuta intre modurile full duplex si half duplex

H

inchide sau deschide linia

I

solicita codul de identificare sau suma de control

L

selecteaza volumul difuzorului

M

porneste sau opreste difuzorul

N

negociaza optiunile de handshake

O

pune modemul on line

P

apel de tip puls

Q

solicita modemului sa permita transmisia unui cod de stare

R

comuta modemul in modul "numai initiere"

S

scrie sau citeste continutul unor registre ale modemului

T

apel de tip ton

V

trimite codurile de stare ca numere sau ca mesaje

W

selecteaza mesajul de negociere a legaturii

X

selecteaza setul de baza sau setul extins de coduri de stare

Z

reinitializeaza modemul

 

Exemple: In este comanda pentru afisarea diferitelor informatii despre modem si starea sa, I0 afiseaza un cod numeric al produsului, I1 afiseaza informatii despre produs si suma de control a memoriei ROM interne etc.

 

2.5. Registrele S

 

Anumiti parametri ai modemurilor pot fi setati folosind registrele. Modemurile moderne pot oferi un numar foarte mare de registre (peste 100), dar cele mai importante sunt primele 13 registre, oferite de toate modemurile compatibile Hayes.

In tabelul 3 sunt prezentate cele 13 registre, valorile implicite si domeniul in care acestea pot lua valori

 

Tabelul 3

Setul de registre de baza pentru modemuri compatibile Hayes

 

Registru

Functie

Valoare implicita

Domeniu

S0

numar apeluri auto-raspuns

 

0–255

S1

numar apeluri

0

0–255

S2

caracter escape

ASCII 43

ASCII 0–127

S3

caracter Carriage Return

ASCII 13

ASCII 0–127

S4

caracter Line Feed

ASCII 10

ASCII 0–127

S5

caracter Backspace

ASCII 8

ASCII 0–127

S6

timp asteptare ton apel (s)

2

2–255

S7

timp asteptare purtatoare (s)

30

1–255

S8

lungime pauza de virgula (s)

2

0–255

S9

timp de raspuns fata de detectia purtatoarei

(×0,1 s)

6

1–255

S10

intarzierea dintre pierderea purtatoarei si inchiderea liniei (×0,1 s)

7

1–255

S11

durata tonurilor si a pauzelor (ms)

70

50–255

S12

timp de garda al secventelor Escape (×20 ms)

50

0–255

 

Comanda pentru citirea valorii registrului n are formatul ATSn?.

Comanda pentru setarea registrului n la valoarea x are formatul ATSn=x.

 

Exemplu. Daca se doreste citirea valorii registrului 6, se va trimite modemului comanda: ATS6? Modemul va raspunde printr-o valoare cuprinsa intre 2 si 255, care indica timpul de asteptare a tonului de catre modem, exprimat in secunde. Daca se doreste sa se modifice durata de asteptare la 4 secunde, atunci va trebui trimisa catre modem urmatoarea comanda: ATS6=4

 

2.6. Comenzi AT extinse

 

La comenzile deja prezentate, se adauga si comenzile extinse. Comenzile extinse sunt precedate de simbolul &. Exista, in functie de producatorul modemului, si alte seturi de comenzi extinse care sunt delimitate de alte caractere, cum sunt caracterele * sau \.

Una dintre comenzile extinse comune este comanda &T. Aceasta comanda cere modemului sa efectueze anumite teste pentru diagnosticare.

In tabelul 4 se prezinta pe scurt functiile asociate seriei de comenzi AT extinse &T.

 

Tabelul 4

Comenzile extinse posibile pentru &T

 

Comanda
Functie

&T0

termina testul curent

&T1

initiaza bucla locala analogica

&T2

initiaza bucla locala digitala

&T6

initiaza bucla digitala la distanta

&T7

initiaza bucla locala digitala cu auto-test

&T8

initiaza bucla locala analogica cu auto-test

 

In afara comenzilor &T, exista numeroase alte comenzi extinse, dar deoarece aceste comenzi au fost adaugate setului initial de comenzi de baza AT nu au intotdeauna aceleasi specificatii la diferiti producatori. In plus, unele dintre comenzi pot lipsi la anumite modele, facilitatile comenzilor extinse fiind date strict de producator.

 

2.7. Auto-testarea modemurilor

 

Majoritatea modemurilor isi pot executa un auto-test pentru verificarea functionarii corecte. Modul in care se realizeaza auto-testarea este urmatorul. Dupa initializarea auto-testului, emitatorul modemului este legat la receptor, taindu-se orice legatura anterioara la o linie de comunicatie. Datele emise sunt demodulate de catre receptor si trimise catre un comparator de sabloane, care include o memorie ROM continand aceeasi secventa de date care a fost emisa de generatorul de sabloane. Comparatorul de sabloane va compara datele si va intoarce OK sau O daca datele sunt corecte, respectiv ERROR (ER) daca nu s-a receptionat acelasi lucru. Schema bloc a unui modem in timpul auto-testului este prezentata in figura 2.

 

 

Fig. 2. Schema bloc a unui modem compatibil Hayes cu auto-test.

 

3. Descrierea aplicatiei

 

3.1. Aplicatia Server

 

Aceasta parte a lucrarii se refera la studiul comenzilor AT pentru modemuri compatibile Hayes. Pentru ca programul CSClient sa functioneze corect, in cadrul retelei trebuie sa existe cel putin o statie care sa ruleze programul CSServer.

Programul trebuie pornit inainte ca statiile sa se conecteze la calculatoarele care dispun de modem. Programul accepta conexiuni cu statiile din retea si asigura atat interfata dintre acestea si modem, cat si simularea unui modem in cazul in care acesta nu este disponibil. Programul poate accepta ca parametru numele portului serial la care este legat modemul, pentru cazul in care se foloseste un modem. Statiile care dispun de modem vor avea posibilitatea de a alege intre pornirea cu sau fara utilizarea modemului, prin selectarea shortcut-ului corespunzator de pe desktop:

 

·        CSServer – nu se doreste folosirea modemului;

·        CSServer COM1 – modemul se afla conectat la primul port serial,

·        CSServer COM2 – modemul se afla conectat la al doilea port serial.

 

Deoarece partea de server este implementata pentru a fi transparenta utilizatorului, programul ruleaza in mod consola si ofera in special informatii legate de statiile care se conecteaza si se deconecteaza, dupa cum se observa in figura 3.

 

 

Fig. 3. Exemplu de rulare al aplicatiei CSServer.

 

3.2. Aplicatia Client

 

Se lanseaza programul CSClient, care asigura comunicatia intre statia de lucru si calculatorul care contine programul CSServer, unde poate exista un modem la care se trimit comenzi. In cazul in care modemul nu este disponibil sau nu se doreste folosirea sa, raspunsurile modemului vor fi simulate. Un exemplu de utilizare a programului CSClient este reprezentat in figura 4.

 

 

Fig. 4. Exemplu de rulare al aplicatiei CSClient.

 

Meniul ofera acces la urmatoarele functii:

 

·        Meniu

o       Despre: ofera informatii suplimentare despre CSClient;

o       Iesire: permite terminarea lucrului cu programul CSClient;

·        Actiuni: este functional doar dupa stabilirea legaturii cu modulul CSServer. Pentru executarea comenzilor trebuie aleasa destinatia dorita, prin intermediul butoanelor Simulator sau Modem. Atentie: unele comenzi au sens numai in cazul prezentei a doua modemuri in cadrul retelei.

o       Initializare modem: modifica textul campului Comanda cu un sir corespunzator comenzilor de initializare standard (ATZ S11=50);

o       Descriere modem: modifica textul campului Comanda pentru a obtine informatii de la modem cu privire la producator (ATI1);

o       Resetare modem: modifica textul campului Comanda corespunzator comenzii de resetare modem (ATZ);

o       Initiere apel: modifica textul campului Comanda pentru a face posibila initierea unei conexiuni cu un alt modem (ATD);

o       Preluare apel: modifica textul campului Comanda pentru a face posibil raspunsul la un apel initiat de un alt modem (ATA);

·        Ajutor – Comenzi AT: prezinta o lista in care se regasesc atat comenzile AT de baza, registrele S, cat si comenzile AT extinse, fiecare cu o scurta descriere.

 

Conectarea se poate realiza fie prin introducerea numelui asignat statiei (de exemplu: Nt_1, Nt_2 s.a.m.d.), fie prin introducerea adresei IP (de exemplu: 141.85.107.xx) a statiei, in campul Adresa server, pe care ruleaza programul CSServer, dupa care se apasa butonul Conectare. Daca s-a realizat o conexiune, butonul Conectare isi modifica textul in Deconectare.

Dupa conectarea la o statie care ruleaza programul CSServer si confirmarea conectarii, se poate incepe trimiterea de comenzi. In cazul existentei unui modem conectat la statie, se pot trimite comenzi atat modemului (fizic) prin intermediul butonului Modem, cat si simulatorului prin intermediul butonului Simulator. Comenzile vor fi introduse in campul marcat Comenzi. In cazul trimiterii de comenzi catre simulator, acesta analizeaza comenzile corecte si prezinta o scurta descriere a acestora pentru o mai usoara intelegere. Daca se doreste resetarea zonei de prezentare a comenzilor si raspunsurilor, se va apasa butonul marcat X.

In partea de jos, se afla o zona unde sunt prezentate atat comenzile introduse, cat si raspunsurile obtinute de la modem sau de la simulator.

 

4. Desfasurarea lucrarii

 

1. Pentru familiarizarea cu comenzile AT, initial toate comenzile sunt recomandate a fi trimise doar Simulatorului.

Se va incepe cu comenzi simple AT din cadrul comenzilor de baza, se va continua cu controlul si afisarea parametrilor prin intermediul Registrelor S, iar in final se vor testa comenzile AT extinse.

 

·        Comenzi AT baza:

o       identificarea parametrilor modemului;

o       controlul difuzorului si al volumului difuzorului;

o       prezentarea codurilor raportate la conectare.

·        Registre S:

o       modificarea caracterelor de control escape, backspace, CR, LF;

o       modificarea timpului de asteptare a apelului;

o       numarul de apeluri pana la auto-raspuns.

·        Comenzi AT extinse:

o       modul de lucru: pe linie inchiriata sau pe linie telefonica;

o       testarea modemului;

o       tipurile de legaturi efectuate.

 

2. Dupa familiarizarea cu comenzile AT, o parte din comenzi se vor trimite modemului pentru a observa raspunsul acestuia. Comenzile alese se vor orienta catre modificarea registrelor S si autotestare.

 

3. In final, se poate realiza conectarea intre modemuri, prin intermediul “liniei telefonice”. Pentru aceasta, trebuie sa existe doua statii cu modemuri, avand programul CSServer deja lansat. Inainte de realizarea conexiunii, mai trebuie initializat modul de lucru de tip linie inchiriata (AT&L1), deoarece modemurile sunt conectate direct prin intermediul unui cablu telefonic si nu prin reteaua telefonica, in acest caz nefiind necesara identificarea lor (din cauza conexiunii punct-la-punct). De la oricare statie se poate trimite unuia dintre modemuri comanda de preluare automata apel (ATA), iar oricare alta statie poate trimite celuilalt modem comanda de formare a numarului (ATD). Observatie. Este posibil ca ambele actiuni sa fie efectuate de la aceeasi statie, cu conditia de a lansa doua instante ale programului CSClient.

3. In cea de-a doua parte a lucrarii, se parcurge prezentarea interactiva de tip html a echipamentelor si protocoalelor  de comunicatie Internet, realizata sub forma unei pagini web off-line. Sunt prezentate echipamente folosite in comunicatii: repetoare, hub-uri, switch-uri, punti, router-e, placi de retea, cat si detalii asupra comunicatiilor internet: modelul OSI si modelului TCP/IP.

 

5. Intrebari

 

1. Precizati alte tipuri de modemuri decat cele strict analogice.

2. Cum poate dobandi modemul noi facilitati, in afara de cele implicite, de exemplu V.92?

3. Care registru memoreaza caracterul ASCII backspace?

4. Prezentati (la alegere) o comanda extinsa si semnificatia ei.

5. Din care categorie face parte comanda pentru auto-testare, AT&T0?

6. Deoarece comanda D este folosita pentru efectuare de apel, de ce nu se specifica un numar in cadrul conexiunii modem-modem?

7. Comanda ATZ&L1 este corecta? Daca da, din care categorie face parte?

8. Comanda ATC este corecta? Daca da, ce realizeaza?

9. Care comenzi sunt trimise pentru initializarea modemului (din aplicatia CSClient) si care sunt semnificatiile acestora?

10. Care mod de lucru trebuie sa fie ales inainte de efectuarea conectari celor doua modemuri din retea?

11. Care sunt conditiile care trebuie indeplinite inainte de conectarea celor doua modemuri din retea?

12. Timpul de asteptare al tonului de apel se poate modifica? Printr-o comanda AT de baza sau prin una extinsa?