Modele de operare modem

1.11. Moduri de operare modem. Mesaje și răspunsuri modem. Funcțiile efectuate de modem în diferite moduri. Acțiuni pentru trecerea de la un mod la altul

Modemul poate fi în unul din cele două moduri principale - modul de comandă sau modul de date. În modul comandă, modemul execută comenzile introduse de operator. În modul de date, modemul percepe tot ce poate fi recepționat de la calculator, ca date care trebuie transferate pe linie. Astfel, este inutil să introduceți comenzi în modul de date, deoarece modemul nu le va răspunde.







Comutarea modemului în modul de date. Modemul trece automat în modul de date după stabilirea unei conexiuni cu modemul de la distanță.

Comutarea modemului în modul comandă. Modemul trece automat în modul de comandă în următoarele cazuri:

  • la pornire;
  • când conexiunea cu modemul la distanță este întreruptă;
  • dacă modem-ul emite un număr și am apăsat o tastă de pe tastatura calculatorului. În acest caz, înainte de a trece la modul de comandă, modemul va anula apelul curent;
  • După ce operatorul intră în secvența Escape (schimbarea modului manual).

Modificarea modului manual. În cazul în care modemul este setat conexiunea asincron cu modemul de la distanță, și se află în modul de date, acesta trece în modul de comandă, fără a rupe conexiunea curentă, puteți, prin tastarea o secvență de evacuare special de caractere, numite Escape-secvență. În mod implicit, secvența Escape este o secvență de trei caractere consecutive "plus" - "+++". Dacă este necesar, aceste caractere pot fi înlocuite prin schimbarea conținutului registrului S2.

Pentru a relua transferul de date, trebuie să introduceți comanda ATO. Modemul va afișa mesajul "CONNECT nnnn", unde nnnn - parametrii conexiunii stabilite și apoi reveni la modul de date.

Principiile de bază ale modemurilor de programare.

Accesul la modem se face printr-un port asincron serial. Pentru a trimite comenzi către modem, pur și simplu trebuie să le scrieți în registrul de date al portului COM pe care este localizat modemul. Răspunsul de la modem vine și prin portul serial. Trecând la modemul comenzii, acesta poate fi inițializat, pus în modul de răspuns automat sau forțat să formeze numărul.







Deci, după stabilirea unei conexiuni cu modemul de la distanță, programul de comunicare poate începe schimbul de date. Schimbul de date precum și transmiterea comenzilor printr-un port serial, apoi folosind o Escape-secvență specială poate fi comutat de la modul de transmitere a datelor modem înapoi la modul de comandă și închide, de rupere conexiunea cu modemul la distanță.

Secvența acțiunilor de stabilire a comunicării

a) Inițializarea portului COM

Inițializăm portul COM la care este conectat modemul. Pentru aceasta, programam registrele cipului UART, specificând formatul de date și rata de schimb. Rețineți că modemul se va conecta la modemul la distanță la această viteză. Cu cât este mai mare viteza, cu atât mai rapid va avea loc schimbul de date cu modemul la distanță.

b) Inițializarea modemului

Prin transmiterea comenzii AT la modem prin portul COM, efectuăm inițializarea acestuia. Utilizând comenzile AT, puteți seta diferite moduri ale modemului - selectați protocolul de schimb, setați setul de mesaje de diagnosticare pentru modem etc.

c) Conectarea la un modem de la distanță

Trimitem comanda dial-up (ATD) la modem. În acest caz, modem-ul formează un număr și încearcă să comunice cu modemul de la distanță. Sau trimitem comanda AT S0 = 1 modemului pentru ao pune în modul de răspuns automat. După aceasta, modemul așteaptă un apel de la modemul la distanță, iar când ajunge, încearcă să stabilească o conexiune cu acesta.

d) Posibile răspunsuri la modem

În funcție de modul în care este amplasat modemul, acesta poate transmite diverse mesaje pe computer. De exemplu, dacă modemul solicită un modem la distanță (AT comanda AT), atunci modemul poate afișa următoarele mesaje:

CONNECT - Conexiune reușită
BUSY - Număr ocupat
NU DIALTONE - Nu există semnal de comutare pe linie
NU RĂSPUNS - Abonatul nu răspunde
NU TRANSPORTATOR - Încercare nereușită de a stabili o conexiune

Când un apel intră, modemul trimite un mesaj RING computerului dacă registrul modem al SO este zero. În acest caz, pentru a răspunde la apel, trebuie să trimiteți comanda ATA la modem. Dacă modemul este în modul de răspuns automat și registrul de modem al SO nu este egal cu zero, atunci modemul încearcă automat să răspundă la apel și poate da următoarele mesaje:

CONNECT - Conexiune reușită
NO DIALTONE - Nu există o frecvență purtătoare a modemului la distanță
NU TRANSPORTATOR - Încercare nereușită de a stabili o conexiune

În cazul în care modemul transmite Poștei de calculator BUSY, NU DIALTONE, nici un răspuns, nici un transportator înseamnă a face o conexiune cu modemul de la distanță a eșuat și ar trebui să încercăm să repete conexiunea.

e) Transferul modemului în modul comandă

După încheierea programului de comunicare trebuie să pună modemul în modul de comandă și-i dea o comandă pentru a închide (ATNO) se poate utiliza „+++“ Escape-secvență în modul de comandă Pentru a comuta modemul. După ce modemul a intrat în modul de comandă, este posibil să transferați din nou comenzile AT la acesta.

e) Resetarea semnalelor DTR și RTS

Nivelul scăzut al semnalelor DTR și RTS informează modemul că computerul nu este pregătit să primească date prin portul COM.

Când lucrați cu un adaptor serial asincron, puteți utiliza mecanismul de întrerupere. Deoarece transmiterea și recepția datelor de către modem este un proces îndelungat, utilizarea întreruperilor din port permite utilizarea timpului CPU pentru alte nevoi.







Articole similare

Trimiteți-le prietenilor: