A modemek nevüket a MOdulator-DEModulator szavak összevonásából kapták, mivel feladatuk a számítógép soros portja és valamilyen telefon-vonal kapcsolódásának ill. azon keresztül adatok küldésének és fogadásának biztosítása. A modern modemek feladatköre és funkciója azonban már jóval túlmutat ezen: a hibamentes adatátvitel biztosítása, hívások kezdeményezése (tárcsázás) ill. fogadása. Ezen kívül a mai modemeket a gyorsabb és biztosabb adatátvitel érdekében már adattömörítési ill. hibakorrekciós képességekkel is felruházzák.
A modemek intelligens egységek melyek maguk is saját mikroprocesszorral rendelkeznek és amelynek segítségével az illesztési funkciókon túl számos más, bonyolultabb feladat ellátására is képesek.
A modemeknek két működési módjuk van: a parancs- és az adat(átviteli-)mód. A bekapcsolás után a modemek parancs módba kerülnek. Parancsmódban a számítógép soros portja felől érkező adatokat nem továbbítják, hanem parancsokként értelmezik. A legtöbb modem az ún. Hayes-parancskészlet egy többé-kevésbé módosított és/vagy bővített változtatát ismeri. A Hayes-parancsok mindegyike az 'AT' (ATtention - figyelem) karaktersorozattal kezdődik; a modem innen tudja, hogy a következő karakter(sorozato)t parancsként kell értelmeznie. A parancs végét a sorvége (carriege return, ASCII 13) karakter jelzi. A parancsok (a +++ kivételével) végrehajtását a modem a parancsot lezáró carriege return fogadása után kezdi el A parancs sikeres végrehajtását a modem az 'OK', sikertelenségét az 'ERROR' üzenet küldésével jelzi.
A legfontosabb Hayes-parancsok a következők:
A/ Utolsó parancs ismétlése
A parancs kiadása ekvivalens az utolsó parancs ismételt elküldésével.
A Válasz (Answer)
A parancs a modemet válasz módba helyezi. Hatására a modem fogadja
a bejövő hívást, vagy átveszi a vonalat, és megpróbál kapcsolatot létesíteni
a másik modemmel. Amennyiben az S7 regiszterben megadott időn belül nem
kap vivő (carrier) jelet, úgy 'NO CARRIER' üzenetet ad vissza. A
sikeres kapcsolatfelépítést 'CONNECT' v. 'CONNECT XXXX' (ahol
XXXX a kapcsolódáskori átviteli sebesség) üzenet küldésével jelzi és a
modemet adatátviteli módba helyezi.
D Tárcsázás (Dial)
A parancs a modemet hívó (originate) módba helyezi. Tárcsázandó szám
megadása nélkül a modem átveszi a vonalat és megpróbál kapcsolatot létesíteni
a másik modemmel. A tárcsázási sztring tárcsázási számok és módosítók kombinációja.
A tárcsázási módosítók a következ?k lehetnek:
0-9 A B C D # * - Tárcsázandó számok/karakterek
P - impulzus-tárcsázás (Pulse dialing) kiválasztása
R - a tárcsázás után a modemet válasz (answer) módba helyezi (Reverse
dialing)
T - hang-tárcsázás (Tone dialing) kiválasztása
W - várakozás második tárcsahangra (Wait for dial tone)
, - várakozás az S8 regiszterben meghatározott ideig
! - flash (vonal bontása 1/2 másodpercre)
; - tárcsázás után a modem azonnal parancsmódba tér vissza a vonal
bontása nélkül (csak a parancs végén használható)
A kapcsolat sikeres felépítését 'CONNECT' v. 'CONNECT XXXX' üzenet küldésével jelzi és a modemet adatátviteli módba helyezi. A foglalt vonalat 'BUSY', a tárcsázási hang hiányát 'NO DIALTONE'
Hn Vonal ejtése/emelése (Hang-up)
Az ATH ill. ATH0 parancs hatására a modem bontja a vonalat.
In Modem státusz- és diagnosztikai információinak megjelenítése (Information)
Az n paraméter értékét?l (0-9) függ?en különböz? információkat jelenít
meg. Általánosságban teljesen használhatatlan, mert minden modem másféleképpen
jeleníti meg az adatokat.
Ln Hangerő állítása (speaker Loudness)
A parancs a modembe épített hangszóró hangerejének állítására ad lehetőséget.
L0 a legkisebb, L9 a legnagyobb hangerpőt állítja be.
Mn Hangszóró vezérlése (Monitor control)
A parancs segítségével a beépített hangszóró használatát tilthatjuk/engedélyezhetjük.
Az n paraméter jelentései :
0 - a hangszóró mindig kikapcsolva
1 - a hangszóró a viv?-jel észleléséig bekapcsolva
2 - a hangszóró mindig kikapcsolva
Sr=n Regiszter állítása (Set register)
A parancs a modem r-edik (0-?) bels? regiszterébe n (0-255) értéket
ír. A bels? regiszterek tartalmának értelmezése néhány szabvány-regisztert?l
eltekintve teljesen modem-specifikus.
Sr?
A r-edik bels? regiszter tartalmának lekérdezése.
+++
A szekvencia a modemet újra parancsmódba helyezi. Azért, hogy az esetlegesen
az átviendő adatfolyamban előforduló azonos szekvencia ne váltson ki parancsmódot
a szekvencia küldése előtt legalább 1 másodperces adásszünetet kell tartani.
Az egyes modemek által ismert egyéb parancsok, a bels? regiszterek tartalmának értelmezése és egyéb specifikus tulajdonságok leírása a modemhez mellékelt kézikönyvben olvashatók.
A kapcsolat
A modemes kapcsolat felépítése a hívás kezdeményezésével történik.
A hívó fél ezt az ATDT parancs kiadásával teheti meg, minek hatására
a modem a megadott számot tárcsázza (pl. ATDT06w72345345). A hívott fél
a bejöv? hívást a kicsengés mellett a vonalra kapcsolt modem által küldött
RING v. RINGING üzenet segítségével észlelheti. Amennyiben
modemmel kívánja fogadni a hívást, úgy ezt az ATA parancs kiadásával
teheti meg. A parancs kiadásának hatására a modem "felveszi" a vonalat
és magas frekvenciájú zörejek közepette megpróbál összekapcsolódni a hívó
féllel. E folyamat során a modemek lehet?ségeik és a vonal min?ségének
függvényében próbálnak "közös nevez?re" jutni. Amennyiben a kapcsolatfelvétel
sikeres úgy ezt mindkét oldali modem a CONNECT üzenettel jelzi.
Az ezek után a modemnek küldött adatokat az a másik oldal felé továbbítja.
A parancs módba a legalább 1 másodperces adásszünet után kiadott +++
szekvenciával lehet visszatérni. Az ATH parancs kiadásával a kapcsolat
a vonal bontásával megszakítható (a túloldalon a kapcsolat megszakadását
a modem a NO CARRIER üzenettel jelzi).
Lehet?ség van azonban már fennálló vonali kapcsolat (kézi tárcsázás,
beszélgetés) esetén is a modemes kapcsolat felépítésére. Ez esetben megegyezés
alapján az egyik félnek az ATD, míg a másiknak az ATA parancsot
kell kiadnia, aminek hatására a modemek a tárcsázási/vonal-felvételi fázis
kihagyásával próbálnak meg összekapcsolódni.