You are on page 1of 64

Komendy AT modemw analogowych, ISDN, GSM i SDI

Wstp: W ksice poruszony bdzie temat sterowania modemem przy uyciu jakiegokolwiek procesora i to zarwno od strony programowej jak i sprztowej. Opisane bd dokadnie standardowe komendy AT oraz ich rozszerzenia. Wiedza ta moe by przydatna konstruktorom urzdze wsppracujcych z modemami jak i osobom konfigurujcym modemy komputerowe. Opisane bd programy i uytkowanie modemw z platformami: - Win dla PC (komputery osobiste) - DOS PC (sterowniki urzdze) - Linux (cza zapasowe w serwerach, komputery osobiste) - AmigaOS (serwery, komputery osobiste)

Modem (MODulator-DEModulator) - to urzdzenie, ktrego zadaniem jest konwersja sygnau cyfrowego na analogowy oraz sygnau analogowego w cyfrowy. Modemy analogowe su do przesyania danych cyfrowych z wykorzystaniem analogowych cz telefonicznych. cza takie przeznaczone byy pierwotnie przeznaczone do transmisji audio (gosu). Aby wic umoliwi transmisj sygnau cyfrowego pomidzy komputerami, poprzez cza telefoniczne, konieczna jest zamiana sygnau cyfrowego w analogowy podczas nadawania. Proces taki odbywa si poprzez modulacj sygnau i nazywany jest modulacj. Po stronie odbiorczej przeprowadzana jest demodulacja, zamiana sygnau analogowego na cyfrowy. Proces zamiany sygnau cyfrowego na analogowy. Modemy, ktre komunikuj si za porednictwem analogowych cz telekomunikacyjnych musz stosowa takie same techniki komunikacyjne jak dla pocze audio. Do najwaniejszych z nich nale standardy CITT (ang. Consultative Committee for International Telegraph and Telephone). Drugi popularnym standardem jest MNP (ang. Microcom Networking Protocol). W dzisiejszych czasach, w modemach cyfrowych (ISDN, DSL) nie zachodzi konieczno zamiany sygnaw z/do komputera na analogowe, ze wzgldu na to, e caa transmisja przebiego w sposb cyfrowy. Mona by sprzecza si czy tor transmisyjny pomidzy central a modemem jest cyfrowy czy analogowy poniewa nie ma tam jak w typowej transmisji cyfrowej dwuch stanw lecz kilka lub nawet kilkadziesic. Jednat te kilkadziesic poziomw sygnau z pewnoci nie mona zaliczyc do transmisji analogowej, poniewa dynamika tekigo sygnau analogowego bya bardzo maa, a co za tym idzie mowa niezrozumiaa.. Rys historyczny History of the AT Command Set In the early 1980s, a company called Hayes began manufacturing the Hayes Smartmodem 1200. Shortly after that, Hayes was forced to quickly release the Smartmodem 2400, as the market for 1200 baud/bps modems evaporated almost overnight. In the rush to get the Smartmodem 2400 completed and onto the market, there was no time for design alterations or embelishments between these two modem designs. This inadvertantly created a new era in modem standardization that continues today. The fact of the matter is that the claim that these two modems were "smart" was somewhat feeble, even compared to modems of that day. The Smartmodem 1200 and Smartmodem 2400 could dial telephone numbers by themselves, rather than the typical situation of expecting a human to dial the number on an attached telephone, and when the human heard the remote modem answer carrier, the human would press a "start" button on the modem and hang-up the extension telephone, allowing the two modems to establish a connection. The manual dialing process was fairly common in modems that had been manufactured for use with POTS/PSTN (Plain Old Telephone Service/Public Switched Telephone Network) lines up to the early 1980s. Automatic dialing modems were fairly rare, or the ability for a modem to dial telephone numbers was an extra-cost option. As an example, in 1983 the Radio Shack 1200baud/bps DC-1200 (a relabeled Ventel modem) cost $699 and the auto-dial module cost an additional $150, which could only do pulse dialing. Even the ability to disconnect the data connection frequently required the human to turn the modem off or place it in an on-hook state. The Hayes Smartmodems also came with speaker, but then you really need the modem to have a speaker if you are going to let it dial numbers, so this probably really should not count as a feature. The Smartmodem 1200 and Smartmodem 2400 didn't know how to recognize a busy signal or the detect the presence of dial-tone, nor any of the dozens of other features now taken for granted in modems produced since the late 1980s. Now, the Hayes Smartmodems did have support for several specialized applications, like the ability to transmit morse code, work with RTTY and work with amateur radio repeaters, but for people who just wanted to make a

data connection, these extras weren't interesting, and most of these special (or hobbyist) features disappeared in later years and hardly any modem maker copied these capabilities. What did make the Smartmodem 1200 and Smartmodem 2400 unique at that time was that they were the first case of a vendor producing two different speed models of POTS/PSTN modems that accepted the same programming commands. As mentioned above, this was more of an accident than intentional, with Hayes doing a rushed (and minimal) rework of the Smartmodem 1200 design to support the 2400bps speed that the consumer modem market suddenly demanded. However, this did mean that any software that knew how to get a modem to dial a telephone number that worked on the Smartmodem 1200 would also work on the Smartmodem 2400. At this point in time, there were relatively few commercial dial-up computer services, with Compuserve being the largest by far. Each time a vendor brought out a new modem, it was routine to wait some months for an updated driver to be written to allow a given brand of computer to be able to control the new type of modem and allow that computer and modem to connect to Compuserve. Of course, by the time the Smartmodem 2400 came on the market, there was already a working driver for the Smartmodem 1200 for many computer platforms, so people who bought the Smartmodem 2400 didn't have to wait for the driver to be written; they could use the one written for the Smartmodem 1200. Supporting the Smartmodem 2400 required little more than placing an addendum in the documentation stating that the Smartmodem 2400 would work using the Smartmodem 1200 driver. Quite a few modem makers suddenly realized the advantage of making newer models of modems have the same command set as previous models, something that few vendors had ever bothered with, and even individual modem designers would routinely develop a completely different command set for each successive modem model that they created. The Smartmodem 1200 and 2400 largely ended that practice throughout the industry, and within six months, several vendors were offering "Hayes compatibile" command sets as an option or the only choice on their modems. Hayes promptly sued these companies for using the word "Hayes" in their product literature and packaging, so collectively, the other makers started calling their modems "AT Command Set compatible" and continued to mimic the Hayes command set. By 1986, essentially no consumer modems were made that didn't at least have an AT command set emulation mode. Years later, the TIA/EIA introduced a formal standard with the title "Data Transmission Systems and Equipment - Serial Asynchronous Automatic Dialing and Control", otherwise known as TIA/EIA-602. TIA/EIA-602 is almost identical to the data-specific commands found in the Smartmodems 1200 and Smartmodem 2400. Of course, by the time the TIA/EIA-602 standard came out, vendors were selling modems with error-correction, compression and far higher speeds. None of these newer capabilities (or the commands needed to control them) are addressed by the TIA/EIA-602 standard, although other standards or drafts of standards exist for commands specific to FAX operations on modems that support FAX transmission or reception, as well as commands specific to voice operations. For the newer modem-specific features, many manufacturers elected to copy the extensions to the original Hayes command set that appeared in the Hayes Ultra 14,400bps modems. These extensions are largely what Rockwell came up with, who was the primary provider of datapumps to Hayes at that time. Not all modem chipset makers followed the Ultra extended commands to the letter, resulting in some incompatibility that still exists in the more sophisticated commands. These incompatbilities normally surface when the chipset maker isn't Rockwell or a licensee of Rockwells modem code. However, even licensees have altered what Rockwell distributes and in some cases Rockwell has introduced incompatbilities on their own.

Typy modemw Modemy moemy podzi ze wzgldu na sposb transmisji, typ portu do wsppracy z komputerem, przeznaczenie.

modemy analogowe
W modemach tych do transmisji danych wykorzystuje si tor analogowy o pamie przenoszenia 300Hz-3400Hz. W pierwszych standardach transmisji bit o wartoci 1 reprezentowaa jedna czstotliwo, o wartoci 0 inna. Szybsze modemy dziaaj podobnie do styku U w transmisji ISDN. W jednej jednostce czasu koduje si kilka

bitw danych. Wspczesne modemy mog przesya dane z prdkoci dochodzc do 57kb/s. Naley zaznaczyc, e transmisja jest asymetryczna (odbir 57kb/s, nadawanie 33,6kb/s).

modemy cyfrowe
Do transmisji wykorzystana jest linia cyfrowa. W modemach ISDN wyrnia si dwie pary (nadawcz i odbiorcz). Dane mona przesya po jednym kanale z prdkoci rwn 64kb/s, po dwch 128kb/s. Takie sygnay wystpuj pomidzy urzdzeniem ISDN (telefon, modem) a terminalem (styk S/T). Poczenie pomidzy central a terminalem wykonane jest przewodem jednoparowym (styk U). W modemach SDI transmisja przebiega dokadnie tak samo jak w ISDN. Dane s transmitowane w dwch kanaach z prdkoci 128kb/s. Podczas rozmowy telefonicznej zwalniany jest jeden kana na rozmow. Prdko transmisji spada wwczas do 64kb/s, po drugim kanale przesyana jest cyfrowo rozmowa. Modemy SDI przeznaczone s gwnie do pocze internetowych) W modemach ADSL dane cyfrowe przesyane s w pamie ponadakustycznym. Modemy te maj do due prdkoci transmisji (np. Neostrada 512kb/s) jednak s niesymatryczne, tzn prdko nadawania jest inna ni odbioru. Czasem na modemach ADSL buduje si cza dzierawione). Po tej samej linii co dane cyfrowe w pamie akustycznym moe by przesyana rozmowa telefoniczna analogowa. Modemy SHDSL s modemami symetrycznymi, tzn. prdko nadawania i odbioru s sobie rwne. W modemach GSM wykorzystuje si transmisje cyfrow drog radiow. Niestety transmisja przebiega z ma prdkoci 9600b/s w pewnych warunkach dochodzi do 14,4kb/s.

modemy zewntrzne
Mog by wyposaone w port RS232C lub popularny ostatnio port USB. Modemy ISDN s czsto wyposaone w szybki port RS232C (460bk/s a nawet blisko 1Mb/s). Niestety popularne PC nie s w stanie pracowac z taka prdkocia, nie ma natomiast problemu aby tak prdko uzyskac na komputerach MAC czy Amiga.

modemy wewntrzne
Najczciej spotykane s karty PCI. Dawniej popularne byy karty na zcze ISA. Karty te mog by atrakcyjne dla amatorw ze wzgldu na nisk cen i prosty sposb podczenia do dowolnego mikroprocesora (nie dotyczy WinModemw). Modemy wewntrzne s dwojakiego rodzaju: Jedne symuluj port COM i zawieraj prawie takie same ukady jak modemy zewntrzne. Inne (tzw WinModemy) s tylko interfejsem pomidzy magistral procesora a lini telefoniczn. W tych ostatnich transmisj znajduje si procesor komputera. Zalet modemw wewnetrznych jest ich niska cena, i mniejsza liczba kabli poczeniowych. Wad maj znacznie wicej: - s bardziej kaprynie w uruchamianiu i uytkowaniu, - najczciej modemy analogowe (a znane mi ISDN wszystkie) s wykonywane s jako tzw WinModemy. Jeli nie posiadamy sterownika dla uywanego przez nas systemu operacyjnego modemu takiego nie da si wykozysta. Ponadto procesor komputera musi zajmowac si transmisja danych, co przy dodatkowej kompresji transmitowanych danych nie jest bez znaczenia dla wydajnoci komputera, - s mniej odporne na uszkodzenia poczodzace z linii telefonicznej - w wersji ISDN nigy nie sa wyposaone w porty POST (analogowe) i nie mog spenia dodatkowych funkcji poza transmisja danych.

Kable poczeniowe Modem naley podczy do komputera i linii telefonicznej. W wikszoci modemw zewntrznych wymagane jest jeszcze napicie zasilajce. Nie dotyczy do sporej czci modemw USB, ktre zasilanie czerpi z magistrali.

Kable komputerowe Modem wewntrzny


Przy podczaniu modemu wewntrznego ominie nas konieczno poczenia modemu z komputerem. Wystarczy umieci kart modemu w odpowiednim slocie komputera.

Modem RS232C
Jeli podczamy modem zewntrzny wyposaony w port RS232C musimy zaopatrzy si w stosowny kabelek. Przewanie jest on dostarczony wraz z modemem. Komputery najczciej s wyposaone we wtyk DB9, natomiast modemy gniazdo DB25. Kupujc modem z drugiej rki moe on nie by wyposaony w odpowiednie kabelki. Czasem producent dostarcza kabel w wtykiem DB9 od strony komputera, a jedyny wolny port szeregowy ma wtyk DB25. W tej sytuacji musimy zakupi odpowiedni kabelek lub wykona go sami. W tabelkach poniej pokazano sposb poczenia gniazda i wtyku we wszystkich moliwych kombinacjach gniazd i wtykw od strony komputera jak i modemu: Nazwa sygnau Wtyk DB9 (do komputera) Transmit Data 3 Receive Data 2 Request to Send 7 Clear to Send 8 Data Set Ready 6 System Ground 5 Carrier Detect 1 Data Terminal Ready 4 Ring Indicator 9 Nazwa sygnau Wtyk DB9 (do komputera) Transmit Data 3 Receive Data 2 Request to Send 7 Clear to Send 8 Data Set Ready 6 System Ground 5 Carrier Detect 1 Data Terminal Ready 4 Ring Indicator 9 Gniazdo DB25 (do modemu) 2 3 4 5 6 7 8 20 22 Gniazdo DB9 (do modemu) 3 2 7 8 6 5 1 4 9

Nazwa sygnau Wtyk DB25 (do komputera) Shield Ground 1 Transmit Data 2 Receive Data 3 Request to Send 4 Clear to Send 5 Data Set Ready 6 System Ground 7 Carrier Detect 8 Data Terminal Ready 20 Ring Indicator 22

Gniazdo DB25 (do modemu) 1 2 3 4 5 6 7 8 20 22

Nazwa sygnau Wtyk DB25 Gniazdo DB9 (do komputera) (do modemu) Transmit Data 2 3 Receive Data 3 2 Request to Send 4 7 Clear to Send 5 8

Data Set Ready 6 System Ground 7 Carrier Detect Data Terminal Ready Ring Indicator

6 5 8 20 22 1 4 9

Niektre modemy s wyposaone w kabel uniwersalny ze zczami DB9 i DB25 od strony komputera. Nie oznacza to, e do jednego modemu mona bezporednio podczy dwa komputery.

Modem USB
Jeli podczamy modem USB potrzebny jest typowy kabel USB taki sam jak dla innych urzdze (skaner, drukarka).

Modem z portem rwnolegym


Zdarzaj si take modemy z wejciem rwnolegym. czymy je najczciej kabelkiem z wtyczk DB25 od strony komputera i gniazdem DB25 od strony modemu. Kabel jest wykonany przez poczenie ze sob stykw w gniazdach o tych samych numerach (tzn pin 1 gniazda do pinu 1 wtyku, pin 2 gniazda do pinu 2 wtyku, itd.). Styki 18...25 stanowice mas mog by ze sob zwarte i poczone jednym przewodem.

Kable telefoniczne
Aby modem mg si poczy z innym modemem musi by podczony do linii telefonicznej.

Podczenie modemu analogowego


Problemy mog pojawi si z podczeniem linii telefonicznej. Wikszo modemw posiada dwa gniazda oznaczone jako Tel lub Phone oraz Line. Bardzo czsto modem jest tak zbudowany, e w stanie spoczynku modemu linia przechodzi z gniazda Line do Phone. W czasie pracy modemu (transmisji danych, nawizywaniu poczenia) sygna dochodzcy do gniazda Phone jest odcinany. Dziki temu podniesienie suchawki nie powoduje zakce w transmisji danych. Gdy posiadamy taki modem najlepiej aby by on

pierwszym urzdzeniem telekomunikacyjnym Rysunek R1.jpg Bywaj modemy w ktrych oba gniazda s ze sob poczone. W tej sytuacji podobnie zreszt jak i w tej w ktrej modem jest wyposaony w jedno gniazdo, umiejscowienie modemu nie ma znaczenia, poniewa nie potrafi on odczy dodatkowych urzdze podczonych do linii telefonicznej. Podczas podczania modemu mona natkn si na ciekawy problem. W wikszoci pastw linia telefoniczna jest doprowadzona do rodkowych zaciskw zcza RJ

rysunek R2.jpg Producenci modemw buduj je tak, e mona je podczy kablem z wtykami RJ poczonym 1-1 (bez skrzyowa y). W Niemczech przyj si standard gdzie linia jest doprowadzona do skrajnych zaciskw

rysunek R3.jpg i najczciej modemy z tego kraju s zbudowane tak, eby mona byo je poczy kablem 1-1. Problem powstaje gdy chcemy podczy modem z Niemczech do linii w Polsce. Trzeba wykona specjalny kabelek w ktrym para rodkowa jest skrzyowana z pra zewntrzn. Podobny kopot dotyczy take innych urzdze (telefony, faksy) produkowanych w Niemczech. Po podczeniu wymagana jest instalacja sterownikw w komputerze (W PC wymagana w Amigach i MACach niekoniecznie). Procesu instalacji nie bd opisywa poniewa jest on zaleny od typu modemu i systemu operacyjnego, a jest on opisany w instrukcji obsugi modemu.

Podczenie modemu ISDN


Poczenie modemu ISDN jest tak proste jak i modemu analogowego. Lini telefoniczn ISDN czymy typowym kabelkiem z wejciem ISDN w modemie. Na

rysunku r8.jpg jest to trzecie gniazdo od lewej.

Zdarzaj si modemy ISDN, ktre posiadaj dwa wyjcia analogowe do podczenia faksu czy telefonu analogowego. W tym przypadku urzdzenia te podczamy kablem telefonicznym analogowym do gniazd PHONE1 i PHONE2 (dwa pierwsze gniazda od prawej na rysunku r8.jpg). Istotne jest podczenie do terminala ISDN zwaszcza gdy rwnolegle z modemem pracuj inne urzdzenia ISDN. Przy transmisji cyfrowej wykorzystywane s dwie pary nadawcza i odbiorcza jakkolwiek gniazda i wtyki maj po cztery pary (osiem zaciskw). Jedna z par jest doprowadzona do rodkowych zaciskw gniazda, druga do kolejnych

rysunek R4.jpg Zasadniczo polaryzacja y w parze nie ma znaczenia, wane aby nie zamieni pary nadawczej z odbiorcz (w przypadku zamiany nic si nie uszkodzi tyle, e mog przesta dziaa urzdzenia przyczone do terminala). Uwaga ta jedna nie dotyczy sytuacji gdy do linii ISDN podczone jest wicej urzdze. Wtedy to polaryzacja y ma znaczenie. Na

rysunku R5.jpg opisano sposb poczenia zaciskw w gniedzie z wkadem RJ. Jak atwo zaway pary wykorzystywane przez ISDN to para zielona/czerwona i ta/czarna. Podczas prowadzenia instalacji naley wic uwaa aby we wszystkich gniazdach kolor by poczony z kolorem oraz aby para przewodw tworzya par w kablu. Rozparowanie przewodw, zwaszcza na duszej linii, moe spowodowa zakcanie si pary odbiorczej sygnaem nadawanym co zaowocuje zwikszeniem stopy bdw a co za tym idzie nisz jakoci poczenia lub nawet jego brakiem. Prawidowe poczenie gniazd przedstawia

rysunek R6.jpg. Pozostaje jeszcze problem terminowania linii gdy jest ona duga (dusza ni 10m). W takim przypadku na kocach linii wcza si rezystory o wartoci 100ohm zarwno na par nadawcz jak i odbiorcz. O tym w ktrym miejscu naley wczy terminatory mona dowiedzie si z rysunku

rysunek R7.jpg.

Rnice w kablach analogowych i ISDN


Kable i gniazda analogowe i cyfrowe w urzdzeniach telekomunikacyjnych maj rne wtyki, aby byo je atwo odrni. Urzdzenia analogowe s wyposaone w zcza typu RJ-11

rysunek r9.jpg i do poprawnej pracy wystarczy jedna para przewodw (dwa druty oznaczone na rysunku cyframi 2 i 3). Urzdzenia ISDN wyposaone s w zcza typu RJ-45 (jak w sieciach Ethernet) z tym, e do pracy wystarcza dwie pary przewodw.

Budowa modemw

Modemy analogowe

Rysunek budowa.gif Budowa modemu: Poniszy rysunek przedstawia schemat pogldowy pozwalajcy pozna relacje pomidzy poszczeglnymi skadowymi modemu.

Opis schematu: * Pompa danych (ang. Data Pomp) - ktrej zadaniem jest modulacja/demodulacja sygnaw.W jej rodku znajduje si procesor sygnaowy DSP, ktry posiada zawarte w pamici ROM okrelone procedury modulacji (np. zgodnie ze standardem CCITT), rwnie przetworniki AC/CA, dziki ktrym moliwa jest konwersja cyfra/analog i analog/cyfra. Ponadto zadaniem ukadu jest eliminacja rnego rodzaju zakce. * Mikroprocesor - steruje ca prac ukadu. Posuguje si on wewntrznym jzykiem AT, za pomoc rozkazw ktrego moliwa jest komunikacja pomidzy komputerem i modemem, wybieranie numeru adresata, kompresja danych i kodowanie zabezpieczajce. Program sterujcy mikroprocesorem znajduje si w postaci ROM. Procesor dysponuje rwnie pamici podrczn RAM. * RS-232 - czyli ukad transmisji szeregowej, zajmuje si transmisj danych pomidzy komputerem a modemem. * cze - odpowiedzialne jest za pulsacyjne wybieranie numeru oraz izolacj galwaniczn linii telefonicznej od modemu.

Modemy cyfrowe

Zasada modulacji sygnau w modemach

Transmisja analogowa
Modem podczony jest zazwyczaj do komputera zczem RS-232 i moe by wykonany jako karta rozszerzajca (modem wewntrzny), jak i osobne urzdzenie montowane na zewntrz komputera.

* cza modemowe. Pasmo przenoszenia dla linii telekomunikacyjnych wynosi okoo 3000 Hz. Jest ono wystarczajce do transmisji gosu. Podczas transmisji danych musimy wzi pod uwag fakt, e ze wzgldu na rnice w jakoci pocze telefonicznych nie jest moliwe, aby cae pasmo byo przeznaczone do transmisji danych. Dlatego te stosowane s pasma ochronne, ktrych rola jest prosta: oddzieli czstotliwo nadawcz od odbiorczej (dla trybu duplex). Zadaniem pasma ochronnego jest zabezpieczenie sygnau przed zakuceniami.

cza telefoniczne Istniej dwa rodzaje cz pozwalajacych komunikacje modemow: * cze komutowane - poczenie odbywa si poprzez dzielenie cza. Poczenie jest zestawiane pomidzy dwoma adresatami. Zakoczenie rozmowy powoduje likwidacj cza. * cze dzierawione - rni si tym od cza komutowanego, e nie wystpuje nawizywanie i rozczania poczenia. Poczenie zestawiane jest na stae.

Protokoy i standardy transmisji telefonicznej Protokoy i standardy s zbiorem regu i uzgodnie, wedug ktrych mog komunikowa si modemy. Standaryzacj w dziedzinie modemw zajmuje si Midzynarodowa Unia Telekomunikacyjna ( ang. International Telecommunications Union, ITU), ktra reprezentuje rzdy, instytucje naukowe i organizacje badawcze z caego wiata. Zagadnienia dotyczce modemw, ITU publikuje w serii zalece oznaczonych symbolem V.xx (np.: V.22). Jeli producent informuje, i jego modem pracuje zgodnie z protokoem V.22, oznacza to, e musi on spenia wszystkie wymagania podane przez ITU w zaleceniu V.22, ponadto moe wsppracowa tylko z takim modemem, ktry rwnie realizuje to zalecenie. Protokoy cile definiuj sposoby modulacji sygnaw przesyanych pomidzy komputerami, szybkoci transmisji, sekwencje sygnaw w kanale telefonicznym podczas inicjowania transmisji itd. Dla kadego sposobu modulacji okrelona jest czstotliwo nonej. Nona to sygna sinusoidalny o okrelonej czstotliwoci. Czstotliwo ta musi da si przesa bez znieksztace przez lini telefoniczn, czyli nie moe by wiksza od 3,4 kHz. Dla kadego sposobu modulacji norma okrela szybko bitowego strumienia wejciowego. Dane zawarte w tym strumieniu bitowym zmieniaj jeden lub kilka parametrw nonej. Kady sposb modulacji zwizany jest cile ze sposobem kodowania. Przed modulacj wejciowy strumie danych podlega pewnym procesom matematycznym - kodowaniu. Transmitowany cig bitw podlega zamianie na inny, dogodniejszy dla transmisji. Po stronie odbiorczej nastpuje demodulacja i dekodowanie zgodnie z procedurami dokadnie odwrotnymi do kodowania. Moemy wyrni nastpujce rodzaje protokow dotyczcych transmisji danych za pomoc faksw i modemw: Zalecenie Szybko transmisji V.21 300 b/s modem V.22 1200/6000 b/s V.22 bis 2400/1200 b/s modem V.23 1200/600 b/s V.27 4800/2400 b/s V.29 9600 b/s fax V.17 14400 b/s V.32 9600 b/s modem V.32 bis 14400 b/s modem V.34 28800 b/s V.34 bis 33600 b/s modem V.90 56 kb/s modem V.92 56 kb/s modem Zastosowanie modem modem fax fax

modem

Protok V.21 Obecnie rzadko stosowany, suy do transmisji asynchronicznej. Modem, ktry nawiza poczenie generuje non fn= 1080 Hz - jest to sygna pauzy. W takt napywajcego strumienia bitowego zmienia si czstotliwo nonej z szybkoci 300 bps. Kademu stanowi niskiemu - zeru odpowiada czstotliwo 1180 Hz, kademu stanowi wysokiemu - jedynce odpowiada czstotliwo 980 Hz. Modem odbierajcy, do ktrego zadzwoniono, nadaje dupleksowo modulujc czstotliwo w granicach 1850 Hz dla zera i 1650 Hz dla jedynki. Sygna pauzy to czstotliwo 1750 Hz. Owa modulacja czstotliwociowa nazywana jest w skrcie FSK (Frequency Shift Keying). Po stronie odbiorczej modem prbkuje sygna odebrany, eliminuje wasny sygna nadawany, przeprowadza detekcj czstotliwoci i stara si zlokalizowa w czasie chwil zmiany czstotliwoci nonej odebranej z linii telefonicznej. Te chwile zmiany czstotliwoci wystpuj tylko wtedy, gdy w odbieranym cigu bitowym wystpuje zmiana stanu niskiego na wysoki lub wysokiego na niski. Odbiornik demodulator synchronizuje swj zegar do zlokalizowanych chwil czasu. Zegarem tym bdzie taktowany odebrany asynchroniczny cig bitowy.

Protok V.22 Modulacja stosowana w tym protokole nazywana jest w skrcie PSK (Phase Shift Keying). Polega ona na skokowej zmianie fazy nonej w stosunku do fazy biecej. Protok V.22 przewiduje szybko modulacji 600 bodw (szybko modulacji Vm podajemy w bodach, okrela ona liczb elementw przesyanych w cigu sekundy,przy szybkoci transmisji np. 2400 b/s, gdy element sygnau utworzony jest przez cztery bity szybko modulacji wyniesie 600 bodw). Wybrany parametr (faza) nonej zmienia si 600 razy w cigu sekundy. Nie oznacza to wcale, e szybko przesyanego strumienia bitowego bdzie rwna wanie 600 bps. Przed modulacj warstwa przygotowania danych dokonuje skramblowania, to znaczy miesza wejciowy strumie danych z cigiem zwikszajcym czstotliwo zmian bitw na przeciwny i nie dopuszcza dugich cigw zer czy jedynek. Istniej dwie moliwoci modulacji. Pierwsza moliwo (wolniejsza) polega na tym, e warstwa przygotowania danych dostarcza dane bitowe z szybkoci 600 bodw. Kady bit rwny zero zmienia faz nonej o 90o, kady bit rwny jeden zmienia faz nonej o 270o. Odbiornik, podobnie jak w protokole V.21, odtwarza zegar i dane, by przekaza je warstwie przygotowania danych, ktra wykonuje proces odwrotny do skramblowania, czyli deskrambling. Transmisja moe by synchroniczna lub asynchroniczna. Druga moliwo polega na tym, e w nadajniku warstwa przygotowania danych dostarcza strumie bitowy dwa razy szybciej, z przepywnoci 1200 bodw. Przychodzce bity po skramblowaniu w specjalnym rejestrze grupowane s w pary. Kadej parze przyporzdkowano okrelon zmian fazy. Aby jednoznacznie okreli par bitw naley zdefiniowa cztery stany: 00, 01, 10, 11. Kademu stanowi przyporzdkowano jedn zmian fazy o warto 90stopni, 0 stopni, 180 stopni, 270 stopni . Odbiornik wykrywa zmiany fazy, odtwarza zegar dwa razy szybszy i w jednej chwili czasu dekoduje nie jeden bit, ale dwa, stanowice zakodowan par. W ten sposb do warstwy przygotowania danych wysyany jest z demodulatora strumie dwa razy szybszy od szybkoci modulacji. Mechanizm ten jest typowy dla wszystkich nowszych protokow. W ten sposb moliwe stao si przesyanie wskopasmowym kanaem telefonicznym strumieni o wyszych przepywnociach. Transmisja midzy modemami jest dupleksowa. Modem nawizujcy poczenie wykorzystuje non 1200 Hz, modem odbierajcy 2400 Hz.

Protok V.22 bis Jest to uzupenienie protokou V.22 o szybko 2400 bps. Stosuje si te same none 1200 Hz i 2400 Hz, t sam szybko modulacji 600 bodw. Dane wyjciowe po skramblowaniu formowane s w czwrki bitw. Kadej czwrce, a moe ich by 16 rnych, przyporzdkowano jeden stan zmiany parametrw nonej. Zmiana parametrw nonej polega na rwnoczesnej zmianie fazy i amplitudy. Pierwsze dwa bity koduj zmian fazy tak, jak w protokole V.22, tworzc cztery stany fazowe sygnau nonej. Nastpne dwa bity koduj amplitud. Moliwe s te cztery stany fazowe sygnau nonej. W sumie 16 stanw. Ten typ modulacji nosi nazw QAM (Quadrature Amplitude Modulation). Praktycznie sygna nony powstaje w wyniku sumowania dwch przebiegw sinusoidalnych przesunitych w fazie o 90o. Kluczowana jest rwnoczenie amplituda obu skadowych.

Protok V.23 Umoliwia przesyanie danych dupleksowo z szybkoci 1200 bodw dla modemu odpowiadajcego i 75 bodw dla wywoujcego. Dla przesyu pdupleksowego szybko wynosi 1200 bps.

Protok V.27 Stosowany do transmisji faksw. Prdko transmisji Vtran=4800/2400 b/s. Wykorzystywana dupleksowa transmisja synchroniczna.

Protok V.29 Kolejny z protokow dotyczcych transmisji danych za pomoc faksw. Oferuje szybko transmisji 9600 b/s, podobnie jak V.27 korzysta z dupleksowej transmisji synchronicznej.

Protok V.17 Protok stosowany do transmisji faksw. Prdko transmisji wynosi: 14400 b/s, 12000 b/s, 9600b/s, 7200 b/s. Wykorzystywana jest modulacja QAM z synchroniczn zmian parametrw nonej z szybkoci 2400 bodw, fn=1800 Hz. Przed modulacj wejciowy strumie bitw dzielony jest na grupy: po 6b dla Vtran= 14400 b/s po 5b dla Vtran= 12000 b/s po 4b dla Vtran= 9600 b/s po 3b dla Vtran= 7200 b/s Dwa najmodsze bity podlegaj operacji skramblowania. Zabieg ten polega na zamianie pary bitw na inn par wyjciow zalen od pary bitw wejciowych i poprzedniej pary bitw wyjciowych. Proces ten jest stosowany w celu uniknicia dugich czasw bez zmiany parametrw nonej. Na podstawie pary bitw wyjciowych generowany jest dodatkowy bit umieszczany na najmodszej pozycji grupy bitw (w ten sposb dodaje si 1b) i uzyskujemy 3b. Taka grupa bitw (3b) zmienia parametry nonej , zarwno faz jak i amplitud tworzc: 128 rnych stanw dla Vtran=14400 b/s 64 rne stany dla Vtran= 12000 b/s 32 rne stany dla Vtran=9600 b/s 16 rnych stanw dla Vtran=7200 b/s

Protok V.32 Oba modemy stosuj t sam non 1800 Hz. Sygna modemu odlegego uzyskuje si metodami numerycznymi poprzez eliminacj sygnau wasnego. Szybko modulacji jest staa i wynosi 2400 bodw. Koduje si dwjki lub czwrki bitw uzyskujc szybkoci bitowe 4800 bodw lub 9600 bodw Stosuje si modulacj QAM w poczeniu z metod kodowania TCM (Trellis Coded Modulation). Metoda TCM polega na zastpieniu kadej kodowanej czwrki bitw kombinacj piciu bitw, nie wykorzystujc wszystkich 32 moliwoci. Sposb kodowania dobrano w ten sposb, by zmniejszy rnic parametrw sygnau nonej dla ssiednich kombinacji. Wprowadza si w ten sposb korekcj polegajc na eliminowaniu stanw niemoliwych z zaoenia. Norma przewiduje, e w wyniku duej stopy bdw system automatycznie zmieni szybko bitow.

Protok V.32 bis Rozszerzenie normy V.32 o szybkoci bitowe 7200 b/s, 1200 b/s i 14400 b/s. Wsplna nona 1800 Hz, szybko modulacji 2400 bodw, kodowane dwjki, trjki, czwrki i pitki bitw. Dla szybkoci od 4800 b/s poczwszy stosuje si kodowanie kratowe TCM. Przewiduje si zmian szybkoci bitowej w zalenoci od stanu linii. Dopuszcza si powtrn negocjacj szybkoci.

Protok V.34 Protok modulacji umoliwiajcy szybkoci bitowe 19200 b/s i 28800 b/s. Protok opracowany przez firm Rockwell. Umoliwia on stosowanie czteroprzewodowej linii dzierawionej lub dwuprzewodowej linii komutowanej (normalna linia telefoniczna). Protok umoliwia skuteczn kontrol jakoci transmisji, a na podstawie ktrej zmieniana jest nie tylko szybko modulacji, ale take czstotliwo nonej.

Protok V.34 bis Protok ten to rozszerzenie metod stosowanych w V.34 do szybkoci bitowych 31200 b/s i 33600 b/s.

Protok V.90 Jest to obecnie najnowszy protok modulacji, umoliwiajcy nawizanie poczenia midzy modemami przy prdkoci do 56 kbs. Protok ten powsta w lutym 1998 roku i by kompromisem koczcym spr midzy firmami Rockwell/Lucent i 3COM/USR. Firmy te niezalenie opracoway swoje protokoy modulacji K56flex i X2. Istnienie dwch rnych protokow powodowao niemoliwo poczenia si przy prdkoci 56 kbs przy stosowaniu modemw konkurujcych ze sob producentw. Obecnie do wszystkich modeli modemw pracujcych z protokoem K56flex lub X3 dostpne s, na stronach producentw, nowe wersje oprogramowania, umoliwiajce prac z protokoem V.90. Aby moliwe byo nawizanie poczenia przy protokole V.90 midzy dwoma modemami, przez komutowan sie telefoniczn, wymagana jest linia dobrej jakoci oraz odlego midzy modemami mniejsza od 3 km. Gdy odlego przekracza 3 km, prawdopodobiestwo nawizania poczenia midzy modemami w protokole V.90 staje si niewielkie. Protok V.90 wykorzystuje transmisj danych cyfrowych, uywa modulacji impulsowo-kodowej (PCM). Jeeli niemoliwe jest poczenie si w protokole V.90, modem automatycznie wybiera modulacj V.34. V.90 umoliwia transmisj danych z szybkoci 56 kb/s tylko w jednym kierunku- od serwera internetowego do uytkownika. Natomiast uytkownik moe wysya dane z szybkoci 33.6 kb/s.

Protok V.92 Gwne zalety protokou V.92 zwizane s z jego funkcjonalnoci. Modemy wykorzystujce nowy standard maj znacznie szybciej nawizywa poczenia dziki bardziej efektywnemu systemowi uzgadniania warunkw transmisji. Zapewnia to opracowana specjalnie na potrzeby standardu V.92 nowa technologia QuickConnect. Kolejn i chyba najwaniejsz konsekwencj wdroenia V.92 bdzie moliwo przyjmowania gosowych pocze telefonicznych podczas surfowania. Jest to funkcja przydatna szczeglnie uytkownikom indywidualnym, czcym si z Internetem z domu. Wikszo z nich ma tylko jedn lini telefoniczn i zajmowanie jej przez modem uniemoliwia rwnoczesne tradycyjne poczenia. Uytkownik modemu zgodnego z V.92 otrzyma powiadomienie o przychodzcym poczeniu i bdzie mg zawiesi przesyanie danych na czas rozmowy (z moliwoci powrotu do surfowania po sieci w dowolnej chwili). Pauza zostanie jednak prawdopodobnie ograniczona do okoo 15 minut. Zmiany, ktre wnosi V.92, dotycz rwnie wydajnoci modemw. Szybko przesyania (wysyania) danych od uytkownika zwikszy si z 33,6 do 48 Kb/s, a dziki zastosowaniu nowego systemu kompresji (V44) zwikszy si take oglna prdko przesyania danych. Do korzystania z dobrodziejstw nowej technologii modemowej niezbdna bdzie jednak modernizacja urzdze dostpowych w centralach telefonicznych. Polscy operatorzy i dostawcy usug internetowych zapowiadaj poczynienie odpowiednich krokw, jednak od zatwierdzenia V.92 minie jeszcze troch czasu, zanim uytkownicy bd mogli odnie wszystkie korzyci zwizane z wprowadzeniem nowego standardu. Mimo e specyfikacja V.92 funkcjonuje wci poficjalnie, wielu producentw modemw zapewnia o wstpnej zgodnoci oferowanych urzdze z tym standardem.

Naley rwnie wspomnie o innych standardach. Przed kilkunastoma laty, gdy koncern AT&T (American Telephone and Telegraph) by dominujc firm telefoniczn, wszystkie modemy musiay spenia standard BELL'a. Wraz ze zmniejszeniem dominacji AT&T, standardy BELL'a stay si rwnie mniej dominujce. Jednake nadal w wykazach specyfikacyjnych modemw mona zobaczy te standardy, gdy definiuj one sposb komunikacji z mniejszymi szybkociami szczeglnie w USA. Inna grupa zalece definiuje parametry i procedury modemu nie zwizane z transmisj danych:

Protok V.24 Definiuje linie interfejsu szeregowego. Interfejs V.24 wyposaony jest w linie pozwalajce zorganizowa ptl testujce: laokaln (Local Analog Loopback, LAL, lina 141) oraz zdaln (Remote Digital Loopback, RDL, linia 140). Ponadto V.24 posiada lini TI (142), zwan wskanikiem testu, za pomoc ktrego modem sygnalizuje DTE (komputerowi) fakt wykonania testu.

Protok V.28 Okrela charakterystyki prdowo-napiciowe interfejsu.

Protok V.42

Okrela korekcj bdw. Norma V.42 przewiduje dwa protokoy: LAPM (Link Access Protocol for Modems) i MNP-4 jako dodatkowy. LAPM dzieli dane na bloki o wielkoci zalenej od szybkoci przesyania danych i jakoci linii oraz szybkoci portu szeregowego. Kady blok uzupeniany jest o tzw. sum kontroln CRC(Cyclic Redundancy Code-kod cyklicznej kontroli nadmiarowej), to jest dodatkowe bity wyliczane na podstawie bitw tworzcych dany blok. W modemie odlegym odbierane s bity danych, a na ich podstawie obliczany wedug tej samej funkcji ten sam CRC i porwnywany z odbieranym. Wynik porwnania jest transmitowany do nadajnika, a ten, w wypadku wystpienia bdu, retransmituje cay blok. Warstwa przygotowania danych usuwa, z napywajcego portem szeregowym strumienia danych, bity startu i stopu, ale dodaje bity CRC, co ostatecznie spowalnia transmisj danych okoo 10 %. Im krtszy jest CRC w stosunku do odlegoci bloku tym transmisja jest szybsza, ale skuteczno korekcji mniejsza. MNP-4 dziaa na podobnej zasadzie: uzupenianie blokw o CRC, potwierdzanie i retransmitowanie.

Protok V.42 bis W normie tej zawarto opis procedur kompresji danych. Przewiduje si stosowanie dwch algorytmw BLTZ (British Telecom Lempe Ziv) i MNP-5. Metoda BLTZ polega na wielokrotnym stosowaniu procedury RLE. Metoda RLE przewiduje zastpowanie cigw znakw innym cigiem zgodnym ze sownikiem, ktry jest cigle tworzony. W przypadku braku efektw kompresji procedura jest przerywana. W przypadku wikszoci danych efektywno kompresji wynosi 4:1. Metoda MNP-5 to te procedura RLE, inny jest nieco sposb kodowania. Znak koduje si rn iloci bitw, zalen od czstoci wystpowania znaku. Efektywno kompresji rednio wynosi 2:1.

Protok V.44 Niedawno opracowany i zatwierdzony zosta nowy standard kompresji - V.44. Charakteryzuje si on znacznie lepszym wspczynnikiem upakowania informacji ni V.32 bis. Niestety, V.44 zwizany jest z protokoem V.92, na ktrego wprowadzenie bdziemy musieli jeszcze troche poczeka.

Protok V.54 Okrela system testw modemu. Modemy mog obsugiwa kilka rnych testw, zwanych ptlami.

Szumy i znieksztacenia wprowadzane przez lini telefoniczn s powodem powanych problemw podczas transmisji danych. Nowoczesne modemy wyposaane s wic w sprztow korekcj bdw, zgodn z protokoem V.42 (ITU) lub protokomi MNP (Microcom Networking Protocol) firmy Microcom. Podczas transmisji z korekcj bdw dane przesyane s blokami o dugociach od 64 do 256 znakw.

Protok MNP-1 Dotyczy korekcji bdw podczas transmisji asynchronicznej znakowej w trybie pdupleksowym. Efektywna szybko transmisji wynosi tu 70%. (jeli modemy pracuj z szybkoci 2400 b/s, to efektywna szybko transmisji, tzn. szybko midzy komputerami wynosi 1690 b/s).

Protok MNP-2 Jest to rwnie protok transmisji asynchronicznej znakowej. Stosuje on jednak dupleksowy tryb wymiany danych dziki czemu jego efektywno wynois okoo 84%. Modem o szybkoci 2400 b/s pracujcy z protokoem MNP-2 osiga efektywn szybko rwn 2000 b/s.

Klasa 3 protokou MNP Jest protokoem transmisji synchronicznej bitowej. Z uwagi na to, e protok synchroniczny umoliwia eliminacj (niezbdnych w transmisji asynchronicznej) bitw "startu" i "stopu", protok klasy 3 MNP jest bardziej efektywny. Oczywicie wymiana danych pomidzy komputerem i modemem odbywa si w dalszym cigu asynchronicznie, ale modemy przesyaj dane pomidzy sob w sposb synchroniczny. Protok klasy 3 stosuje dupleksowy sposb wumiany danych. Jest to pierwsza z klas MNP, ktra zapewnia zarwno korekcj bdw jak i skrcenie czasu transmisji. Efektywno wynosi tu okoo 108%. Uywajc tej klasy w modemoe o szybkoci 2400 b/s, osiga si efektywne przesyanie danych z szybkoci 2600 b/s.

Klasa 4 protokou MNP Posiada cechy klasy 3 uzupenione o dalsze udoskonalenia. Modem pracujcy w klasie 4 MNP nieustannie ledzi liczb bdw spowodowan szumami linii telefonicznej. Jeli linia telefoniczna umoliwia bezbdn transmisj, modem automatycznie zwiksza rozmiar kolejnych blokw danych, tzn jeli przesyane s bezbdnie bloki np. 64-bajtowe, modem zwiksza ich dugo do 128 bajtw, itd. Gdy jako linii jest niska i pojawiaj si bdy, rozmiar bloku jest zmniejszany, dziki czemu skraca si sumaryczny czas retransmisji (ponownej transmisji blokw w ktrych wykryto bdy). Mniejszy rozmiar bloku zwiksza prawdopodobiestwo bezbdnej transmisji za pierwszym razem. Efektywno protokou wynosi okoo 120%. Dziki temu modem, 2400 pracujc z MNP klasy 4 uzyskuje efektywn przepywno binarn 2900 b/s.

Modem pracujcy z protokoem V.42 moe transmitowa dane z korekcj do modemu pracujcego z protokoem MNP klasy 3 lub 4.

Wspczesne modemy umoliwiaj kompresj danych, dziki ktrej skrcony zostaje czas transmisji (skompresowane pliki maj mniejsze rozmiary). Oprcz protokou V.42 bis kompresj danych opisuje take protok MNP 5. Kompresja zgodna z V.42 bis moe by zastosowana tylko wtedy, gdy wymiana danych kontrolowana jest przez protok korekcji bdw V.42 (podobnie kompresja z protokoem MNP5 stosowana jest dla wymiany danych z korekcj MNP4). Skuteczno kompresji zaley od typu transmitowanego zbioru. Zbiory COM i EXE poddaj si kompresji sabo. Najlepsze efekty uzyskuje si dla zbiorw tekstowych. Dziki kompresji danych, protok MNP5 zwiksza efektywn szybko transmisji dwukrotnie, natomiast protok V.42 bis- czterokrotnie.

Przykady maksymalnych szybkoci przepywu danych pomidzy komputerami, dla rnych standardw modulacji, z zastosowaniem kompresji MNP5 i V.42 bis:

Maksymalna efektywna szybko tr. danych komputer-komputer Standard modulacji Szybko transmisji modem-modem MNP5 V.42 bis V.22 1200 bit/s 2400 bit/s 4800 bit/s V.22 bis 2400 bit/s 4800 bit/s 9600 bit/s V.32 9600 bit/s 19200 bit/s 38400 bit/s V.32 bis 14400 bit/s 28800 bit/s 57600 bit/s V.34 28800 bit/s 57600 bit/s 115200 bit/s Najnowszy protok MNP 10 pozwala zrealizowa poczenia dotychczas niemoliwe. Zosta on opracowany w zasadzie dla telefonii komrkowej, chocia moe by przydatny rwnie dla czy kablowych o niskiej jakoci. Protok ten charakteryzuj nastpujce cechy: - negocjowanie i zwikszanie szybkoci transmisji (modem rozpoczyna transmisj od niskiej szybkoci, a nastpnie zwiksza j do wartoci na ktr pozwalaj warunki panujce w linii), - wymuszanie poczenia (modem czy si nawet wtedy, gdy w linii wystpuj zakcenia), - dynamiczne zmiany prdkoci (w czasie trwania poczenia, modem stale dopasowuje szybko transmisji do warunkw panujcych w linii), - szybka zmiana dugoci ramki (rozmiar ramki w niesprzyjajcych warunkach moe zmienia si od 256 bajtw do 8 bajtw), dopasowanie poziomu nadawanego sygnau (modem ustala odpowiedni poziom nadawanego sygnau dla warunkw panujcych w linii).

Transmisja cyfrowa
W modemach ISDN wyrnia si dwie pary (nadawcz i odbiorcz). Dane mona przesya po jednym kanale z prdkoci rwn 64kb/s, po dwch 128kb/s. Takie sygnay wystpuj pomidzy urzdzeniem ISDN (telefon,

modem) a terminalem (styk S/T). Poczenie pomidzy central a terminalem wykonane jest przewodem jednoparowym (styk U). Wykorzystuje si tam kodowanie 2B1Q

rysunek 2b1q.gif Polega ono na wyodrbnianiu z pakietu danych przeznaczonych do wysania kolejno dwch bitw, ktrym to przyporzdkowywuje si jeden z czterech stanw (+1, -1, +3, -3). Przykad kodowania cigu bitw do 2B1Q

rysunek 2b1q-przyklad.gif Skrt HDSL pochodzi od sw Hight-bit-rate Digital Subscriber Line, ktre w wolnym tumaczeniu znacz tyle, co Cyfrowa Linia Abonencka o Wysokiej Przepywnoci Bitowej. Czasem mona si spotka z rozwiniciem tego skrtu majcym posta Hight Digital Subscriber Loop, co rozumie si podobnie jak powyej. HDSL korzysta ze starych czy telefonicznych, nawet takich, co pamitaj jeszcze czasy Bell'a (XIX wiek). Fenomen tego rozwizania polega na tym, e uywa ono pasma znacznie szerszego ni 300 - 3400Hz, jakie jest stosowane do przenoszenia gosu, ale rzdu 6 - 259kHz. Wasno ta wynika cile z Prawa Shannona. Pocztkowo technologia DSL korzystaa z trzech par skrtki telefonicznej do przesania 2Mb/s, lub jednej do przesania 384kb/s (SDSL). Nastpnie pojawiy si na tyle skuteczne metody kodowania sygnau, ktre umoliwiy budowanie cz 2Mb/s w technologii HDSL za pomoc dwch par kabli telefonicznych. Ostatnio nawet realizuje si takie przepywnoci za pomoc jednej pary kabli. W szybszych modemach wykorzystuje si inne sposoby kodowania ni 2BQ1. Charakterystyka widmowa rnych technik kodowania:

Rysunek widma_kodowanie.gif Tablica kodowania CAP64 wyglda jak na rysunku powyej. Jest to konstelacja dwuwymiarowa. Skada si ona z 64 punktw charakterystycznych nie nakadajcych si na siebie, tak wic jednoznacznie rozpoznawalnych. 64 jest 6 (szst) potg 2. Tak wic 6 jest liczb bitw, jak reprezentuje jeden punkt na tablicy. Modulacja przebiega w nastpujco: kolejnym 6 bitom jest przyporzdkowywany jeden punkt konstelacji, ktrego opisem jest amplituda sygnau, czyli odlego punktu do rodka ukadu oraz przesunicie fazowe, czyli kt midzy odcinkiem czcym pocztek ukadu i punkt konstelacji z osi poziom OX.

rysunek cap_64.gif W przypadku kodowania CAP 128 ilo punktw konstelacji wzrasta do 128 i na tym waciwie polega gwna rnica midzy CAP 64, a CAP 128.

Konfigurowanie modemu i programw Aby modem dziaa poprawnie musimy skonfigurowa program terminala lub inny o podobnym przeznaczeniu i modem. Bardzo czsto zadanie to wykonuje za nas instaler, ale gdy co dziaa nieprawidowo, chcemy poprawi

parametry transmisji lub po prostu pozna dokadniej modem warto zaznajomi si ze szczegami zwizanymi z konfiguracj.

Konfigurowanie programu terminala


Pierwszym krokiem bdzie zapoznanie si z komendami AT. Zanim jednak to nastpi opisz konfiguracj najpopularniejszych programw.

HyperTerm
Z menu "Start" wybieramy "Programy/Akcesoria/HyperTerminal"

Rys TermE1.pcx W oknie ktre pojawi si, klikamy na ikonce "HyperTerm.exe". Po uruchomieniu programu pojawi si oko

TermE2.pcx Wpisujemy nazw (np TestModemu), wybieramy ikonk (domylna jest OK) i zatwierdzamy przez nacinicie OK. W nastpnym oknie

Ekran TermE3.pcx przechodzimy od razu do listy "Pocz uywajc" i wybieramy "Bezporednio do COM2" (nr COM zaley od tego do jakiego portu komputera podczylimy si). Zmiany zatwierdzamy naciskajc OK. Jeli posiadamy tzw. WinModem, modem na karcie PCI lub modem USB musimy koniecznie wybra odpowiedni sterownik. W przypadku wikszoci modemw analogowych mona zamiast Bezporednio do COM2 wybra Modem Standardowy. UWAGA! W niektrych edycjach Windows nie mona skonfigurowa bezporedniogo dostepu do portu COM nie wypeniajc wczeniej nr telefonu i innych zbednych w takim przypadku rzeczy. Jedyne wyjcie w takiej sytuacji to przebrn przez trudnoci lub zmieni system operacyjny. W oknie "Waciwoci" ustawiamy nastpujce parametry transmisji

Ekran TermE4.pcx: - Prdko transmisji: 2400 - Bity Danych: 8 - Parzysto: Brak - Bity stopu: 1 - Sterowanie przepywem:Sprzt Oczywicie prdko transmisji jest do dowolna. Zmiany zatwierdzamy naciskajc OK. Program jest ju skonfigurowany i mona go uywa. Po wyjciu z programu mona go uruchomi klikajc na ikonce "TestModemu.ht". Maa uwaga dla uytkownikw profesjonalnych wersji Windows: Blil G. Stwierdzi, e wszystko wie najlepjej i nie pozwala skonfigurowac HyperTerma od razu z ustawieniem Bezporednio do portu Com xx. Konieczne jest wpisanie nr telefonu i wiele innych niepotrzebnych czynnosci. Dopiero po takiej konfiguracji mona wybra ustawienia bezporednio do portu COM. Kolejna rewelacjia programw Microsoftu. To brak moliwoci wybrania przez program dialera dla Windows znaku !, ktry generuje FLASH na linii. Funkcja taka jest potrzeban w niektrych centralach abonenckich, bez niej moemy odci si od moliwoci obsugi wewnetrznych pocze modemowych (przydatne przy zdalnej obsudze centrali abonenckiej).

Term90
Program "Term90" wchodzi w skad pakietu NortonCommander dla PC. W "Term90" w menu "Setings" wybieramy "Line.."

ekran TermE5.pcx Ten sam efekt da nacinicie kombinacji klawiszy Alt+P. W oknie, ktre ukae si, ustawiamy parametry transmisji (ekran TermE6.pcx).

Term 4.6
Program "Term" dla Amigi konfigurujemy wybierajc w menu "Ustaw" podmenu "Port szeregowy". Opcje ustawiamy jak na zrzucie z ekranu

ekran TermE7.pcx akceptujemy naciskajc "Uyj". !!!!!! Linux miniterm W chwili pisania ksiki nie miaem dostpu do MACa i nie mgbym zrobi zrzutw ekranowych. Konfiguracja programu dla tego komputera rwnie jest banalnie prosta. Jak wida najbardziej pracochonny i mao logiczny w konfiguracji jest program terminala pod Windows (gratulacje dla Microsoftu).

Konfigurowanie modemu
W dalszej czci ksiki opisz sposb skonfigurowania modemu. Do penej konfiguracji potrzebna jest znajomo wielu komend AT, opisanych w kolejnych rozdziaach. Na szczcie do podstawowej konfiguracji wystarczy kilkanacie komend AT.

Podstawowe rozkazy modemu analogowego


Uruchamiamy program terminala, wydajemy komend "AT". Komendy bd ujmowa w cudzysw, kad komend koczymy naciniciem klawisza enter. W odpowiedzi na "AT" powinnimy otrzyma komunikat "OK". Modem potwierdza kad komend, "OK" jeli j wykona, "ERROR" jeli nie (np. zy parametr). Nastpnie wydajemy komend "ATZ" i czymy si z innym modemem. Proponuje przed dalszymi prbami wczy gonik modemu tak aby byo w nim sycha wybieranie nr i ustalanie parametrw transmisji. Po nawizaniu poczenia gonik wyczy si. Robimy to komend: ATL3&M2 Nie kady ma pod rk drugi modem, ale to nie problem, mona skorzysta z modemu TPSA. Wpisujemy w terminalu ATDT0202122 jeli central wybiera tonowo lub ATDP0202122 jeli impulsowo. Modem powinien nawiza poczenie, przerywamy je wysyajc kod esc ("+++"). Kod znaku escape (+++) moemy zmieni w rejestrze S2. Po otrzymaniu komunikatu "OK" (czas od odebrania znakw +++ do wysania OK.

ustawiamy w rejestrze S12) wysyamy "ATH". Jeli powysza prba powioda si, modem jest wstpnie ustawiony, ale moemy tam co nie co poprawi. Jeli modem wogule nie wybra nr, ale zaj lini telefoniczn (najczciej sycha klapnicie przekanika) musimy zmieni ustawienia rozkazem ATX. Standardowe ustawienie (na 4) powoduje, e modem nie wybierze nr zanim nie rozpozna tonu zgoszenia centrali 400Hz. Czas oczekiwania na ton mona zmieni w rejestrze S6. Na centralach analogowych od momentu podniesienia suchawki do momentu otrzymania tonu 400Hz mija od 0,5 do nawet kilku sekund. Po wydaniu komendy ATX4 mamy gwarancj, e modem nie zacznie wybiera nr dopki centrala nie wyle tonu 400Hz dziki czemu cay nr wybrany przez modem zostanie odebrany przez central. Gdyby wybieranie rozpoczo si przed otrzymaniem tonu 400Hz pocztek nr mgby zosta zjedzony. Po wczeniu usugi telekomunikacyjnej (np. przeniesienie nr) ton 400Hz z centrali nie jest cigy lecz ma krtkie (okoo 500ms) przerwy. Uniemoliwia to niektrym modemom poprawne rozpoznanie sygnau zgoszenia centrali. Podoba sytuacja moe mie miejsce w przypadku podczenia modemu do centrali PABX. Rozkaz ATX umoliwia prace modemu w takich warunkach. Wystarczy wyda rozkaz ATX0 i modem nie bdzie czeka na ton 400Hz. Wskazane jest wtedy przed wydaniem komendy wybierania nr odczekanie kilku sekund lub komend wybierania wyda w postaci ATD,123. Przecinek da pauz przed nr dziki czemu centrala powinna ju rozpozna nasze zgoszenie (podniesienie suchawki). Jeli poczenie nie zostao nawizanie lub zaraz po jego nawizaniu przerwane, to musimy przywoa ustawienia fabryczne, wydajc komend "AT&F"`. Ponawiamy prb poczenia, jeli nie powiedzie si, prbujemy innych ustawie fabrycznych "AT&F1". Niektre modemy oferuj wicej ustawie fabrycznych np. "AT&F2". Szczerze mwic nie spotkaem modemu, ktry odmwiby poprawnego dziaania po wydaniu komendy "AT&F0". Warto zaznaczy, e "AT&F" i "AT&F0" znacz to samo, po prostu modem jeli nie podamy parametru komendy przyjmuje zero. Jeli ustawienia fabryczne nie przyniosy spodziewanego skutku prosz sprbowa wyda komend: "AT&F&R0&K3&D2W2X4". Po jej wydaniu 99% modemw zaczyna dziaa. Przed dalszymi "manewrami" zapisujemy aktualn konfiguracj modemu "AT&W1". W razie kopotw zawsze moemy ja przywrci wydajc komend "ATZ1". Czsto standardowe ustawienia modemu powoduj, e w komunikacie o poczeniu informowani jestemy o prdkoci modem-komputer. Prdko ta jest dua ale ma si nijak do faktycznej prdkoci transmisji. Proponuj komend ATW2 ustawi sobie wywietlanie prdkoci modem-modem. Jeli modemem skonfigurowalimy tak jak chcemy, zapisujemy konfiguracj komend "AT&W". Teraz w programach, z ktrych korzystamy, zmieniamy tzw. init stringi na "ATZ\r". "\r" oznacza kod klawisza enter, w niektrych programach jest zastpowany sekwencj "M^". Jeli mamy dwa rodzaje programw wymagajcych rnych konfiguracji, to drug zapisujemy komend "AT&W1". W init string takiego programu wpisujemy "ATZ1". Jeli chcemy korzysta z wikszej liczby konfiguracji, nie pozostaje nam nic innego jak wpisa j w initstring. Przykadowa sprawdzona konfiguracja wyglda tak: "AT&F&R0&K3&D2W2X4"

S-rejestry
Kady modem posiada S-rejestry. Umoliwiaj one bardziej zaawansowane konfigurowanie modemu. Aby zapisa dana do rejestru wydajemy komend ATSx=y gdzie x nr rejestru, y warto wpisywana do rejestru. Wszystkie dane wprowadzamy w systemie dziesitnym. Aby odczyta rejestr naley wyda komend ATSx=?, gdzie x nr rejestru. Po wydaniu komendy na ekranie terminala ujrzymy zawarto rejestru. Wynik zawsze jest trzycyfrowy, jeli trzeba warto jest poprzedzona zerami. Rejestr 0 odpowiada za to po ilu dzwonkach modem automatycznie odbierze poczenie. Jeli wpiszemy 0 modem nie odbierze poczenia. Ustawienia tego rejestru mog by mylce, poniewa poczenie moe odebra program terminala komend "ATA" po ustawionej w nim liczbie dzwonkw. Rejestr1 - licznik odebranych dzwonkw. Po kadym dzwonku licznik ten jest zwikszany o 1. Rejestr2 - kod znaku escape, standardowo 43 (znak "+"). Aby w czasie poczenia przej do trybu rozkazowego naley wysa trzy znaki esc. Po wysaniu kodw escape naley poczeka na komunikat OK. Jeli w tym czasie (czas ustawiamy w rejestrze S12) modem odbierze jakie znaki uzna, ze sekwencja esc znalaza si w transmitowanym pliku, nie wyle komunikatu OK. i nie przejdzie do trybu rozkazowego. Takie postpowanie ma na celu uniknicie przypadkowego przerwania transmisji. Rejestr 2 decyduje jaki to bdzie znak. Rejestr3 - kod znaku CR, standardowo 13. Rejestr ten decyduje znak bdzie traktowany przez modem jako kod powrotu karetki. Kod ten bdzie take wysyany przez modem do terminala gdy bdzie on chcia przesun karetk. Rejestr4 - kod znaku LF, standardowo 10. Rejestr ten decyduje znak bdzie traktowany przez modem jako kod wysunicia wiersza. Kod ten bdzie take wysyany przez modem do terminala gdy bdzie on chcia przej do nowej linii.

Rejestr5 - kod znaku bakspace, standardowo 8. Rejestr ten decyduje znak bdzie traktowany przez modem jako kod usunicia znaku. Kod ten jest istotny gdy pracujemy w terminalu i pomylimy si. Po wysaniu kodu bakspace ostatni znak zostanie usunity z bufora modemu umoliwiajc poprawienie pomyki. Rejestr6 - czas oczekiwania na sygna zgoszenia centrali w sekundach, standardowo 5. Zalenie od ustawienia modemu rozkazem ATX modem przed wybraniem nr moe oczekiwa na ton zgoszenia centrali 400Hz. Jeli w odpowiednim czasie ton nie pojawi si otrzymamy komunikat NO DIAL TONE Rejestr8 - czas trwania pauzy (znak ",") w sekundach, standardowo 2. Jeli w rozkazie wybierania nr (ATD) uyjemy znaku pauzy wybieranie zostanie na chwil przerwane. Opcja przydatna w centralach PABX gdzie po wybraniu 0 (wyjcie na miasto) naley chwile zaczeka na sygna. Dziki pauzie mamy gwarancj, e cz nr nie zostanie zjedzona Rejestr10 - opnienie od zmiany stanu linii DCD na nieaktywny do rozczenia (zwolnienia linii telefonicznej) w 1/10 sek, standardowo 7 (0.7sek). Gdy modem wykryje brak nonej zmienia stan linii DCD. W rejestrze tym decydujemy po jakim czasie ma to nastpi. Ustawienie duszego czasu moe uchroni nas przed rozczaniem poczenia w przypadku chwilowej utraty fali nonej. Rejestr11 - czas trwania tonu DTMF w ms (od 50 do 100), standardowo 70. Minimalny czas nadawania i czas przerwy tonw DTMF jest cile okrelony w normach telekomunikacyjnych. Im czas ten jest krtszy tym szybciej zostanie wybrany nr. Jeli jednak czas ten bdzie zbyt may centrala moe nie rozpozna wybranej cyfry. Rejestr12 - czas od wysania kodu ESC do otrzymania komunikatu "OK" w 1/50 sek. standardowo 75. Aby w czasie poczenia przej do trybu rozkazowego naley wysa trzy znaki esc (standardowo +, kod znaku mona zmienic w rejestrze S2). Po wysaniu kodw escape naley poczeka na komunikat OK. Jeli w tym czasie modem odbierze jakie znaki uzna, ze sekwencja esc znalaza si w transmitowanym pliku, nie wyle komunikatu OK. i nie przejdzie do trybu rozkazowego. Takie postepowanie ma na celu uniknicie przypadkowego przerwania transmisji. Rejestr S12 decyduje o tym przez jaki czas po wysaniu znakw esc modem nie moe odbierac znakw aby przej do trybu rozkazowego. Rejestr18 - Test timera, jeli 0 to timer wyczony, standardowo 0 Rejestr25 - czas przez ktry modem ignoruje stan linii DTR w sek. standardowo 0. Jak byo wspomniane wczeniej lini DTR moemy rozczy poczenie lub przej do trybu rozkazowego. Rejestr 25 decyduje o tym po jakim czasie to nastpi. Rejestr26 - czas opnienia od momentu zmiany stanu linii RTS na nieaktywny (wysania znaku XOFF) do odpowiedzi na CTS w sek. standardowo 0. Zalenie od ustawienia modemu rozkazem AT&R i AT&K stan linii CTS moe odzwierciedla stan RTS. Rejestr29 - czas trwania impulsu FLASH w 1/10sek, standardowo 20. Modem podczas wybierania nr moe generowa flasch. Rejestr S29 decyduje jaki dugi ma to by impuls. W polsce najczciej flash zawiera si w granicach 500-700ms. Rejestr32 - kod znaku XON, standardowo 17. Gdy komend AT&K ustawimy programowe sterowanie przepywem rejestrem S32 moemy zadecydowa jaki znak bdzie wznawia transmisj. Rejestr33 - kod znaku XOFF, standardowo 19. Gdy komend AT&K ustawimy programowe sterowanie przepywem rejestrem S33 moemy zadecydowa jaki znak bdzie powstrzymywa transmisj. Rejestr38 - czas od wysania komendy "ATH" do rozczenia (zwolnienia linii telefonicznej) w sek., standardowo 0 Rejestr95 - odpowiada za komunikaty dotyczce protokow pocze. Jeli wpiszemy tam warto 255 uzyskamy najwicej i najbardziej szczegowych komunikatw. Warto zaznaczy, e wszystko co ustawiamy innymi komendami ma odzwierciedlenie w rejestrach, np. ustawiajc bit 0 rejestru S14 wczamy echo. Oczywicie nie musi to dotyczy wszystkich modeli modemw.

Konfiguracja modemu ISDN na przykadzie modemu TA128

Fotografia asmax_isdn_ta128.jpg

Modem mona skonfigurowa wydajc odpowiednie komendy AT. Mona tez skorzysta z programw konfiguracyjnych dostpnych w Internecie. Pierwszy sposb jest niezbyt wygodny, drugi zupenie niepotrzebny poniewa oprogramowanie modemu zawiera prosty i przejrzysty program konfiguracyjny. Po wydaniu komendy At@ naszym oczom ukae si ekran programu konfiguracyjnego:

PLIK TAE1.JPG
Po naciniciu klawisza 2 zobaczymy okno:

PLIK TAE2.JPG Klawiszami kursora poruszamy si po oknach. Miejsce edycji wskazuje kursor. Znaczenie parametrw jest nastpujce: SWITCH TYPE - rodzaj centrali ISDN wybieramy EURO ISDN CODEC - rodzaj kodeka dla portw analogowych, wybieramy A-LAW STANDBY TIME - okres czasu pomidzy wybraniem ostatniej cyfry w porcie analogowym a wysaniem dania (wybraniem nr), najlepsze ustawienie 03-05 sec MSN (Incoming) - w przypadku posiadania nr MSN wpisujemy na jakie nr maja reagowa porty analogowe, a na jakie modem. MSN (Outcoming) - jak wyej tyle, ze dla ruchu wychodzcego (jakim nr maja prezentowa si porty analogowe, a jakim modem) SPID - ten parametr ustawiamy tylko w Stanach Zjednoczonych, w pozostaych przypadkach bezwzgldnie wyczy. SAD - sub-adres

Komendy Hayes AT Rozdzia ten opisuje komendy Hayes AT, uznawane za standardowe, ich skadni i rezultat zwracany przez komend. Opisane zostan te komunikaty generowane przez modem. Komendy AT moemy przetestowa przy uyciu dowolnego komputera wyposaonego w port szeregowy lub USB (Amiga, AtariST, PC, MAC a nawet C64 czy Atari) i modemu zewntrznego. Moliwe s tez testy na PC i modemie w postaci karty PCI lub ISA. W przypadku kart naley ostronie podchodzi do tzw. WinModemw, z ktrymi komunikacja nie zawsze przebiega przez port szeregowy (tak samo zreszt jak i z modemami USB) lecz przez odpowiedni sterownik. Z tego powodu programy, ktre odwouj si bezporednio do rejestrw portw szeregowych nie koniecznie bd dziaa (np. Term90). Jedyne wyjcie jakie mamy w tej sytuacji to programy windosowe (np. Hyper Term), korzystajce ze sterownikw systemowych.

Standardowe komendy AT
Po podczeniu modemu do komputera i wczeniu komputera uruchamiamy program terminalowy. Nastpnie wpisujemy AT po czym naciskamy ENTER. W oknie terminala powinnimy ujrze odpowied "OK. Jeli w modemie wczone jest ECHO (wczamy je komend ATE1 [ENTER]) to wszystkie znaki ktre naciskamy na klawiaturze bdziemy widzie w oknie terminala. Jeli po komendzie AT nie otrzymalimy odpowiedzi OK to oznacza, e wybralimy zy nr portu szeregowego, modem jest nie wczony lub nie podczony. Po usuniciu usterki moemy wyprbowa wszystkie komendy AT.

Przed opisaniem komend zaznacz, e na rnych modemach niektre komendy dziaaj rnie. Aby by pewnym co dana komenda tak naprawd robi naley przeczyta instrukcj obsugi danego modemu. Rne jest tez zachowanie modemw podczas odsyania echa. Wikszo z nich odsya wszystkie znaki jakie wysyamy do modemu. Spotkaem si jednak z takim modemem, ktry odsya znaki tylko gdy ukaday si one w komend AT. Na CD doczonym do ksiki znajduje si spis wszystkich standardowych komend AT. Aby uproci opis komend pominem w nich pocztkowe znaki AT. Naley wic pamita, e wszystkie opisane poniej komendy poprzedzamy znakami AT. Komend zatwierdzamy naciskajc klawisz enter (wysyajc znak CR o kodzie $0D). Poniej spis komend z komentarzami. Pogrubion czcionk oznaczono komend, a w przypadku gdy komenda ma parametry pogrubiona czcionka oznacza standardowe ustawienie. A/ powtrz ostatni komend. Po wydaniu tego rozkazu modem wykona ponownie poprzedni rozkaz. Gdy np. wydamy komend wybierania nr (ATDT0123456789) i nie poczymy si, to aby nr wybra ponownie nie musimy powtarza tasiemcowej komendy wystarczy e wpiszemy ATA/. A odebranie poczenia. Gdy w oknie terminala ujrzymy komunikat RING a modem nie ma ustawionego samozgoszenia (rejestr S0 ma warto rwna 0) po wydaniu rozkazu ATA modem odbierze poczenie i bdzie prbowa dogada si z modemem po drugiej stronie drutw. Owo dogadanie si polega najczciej na wynegocjowaniu jak najwikszej prdkoci transmisji oraz ustaleniu protokou kompresji danych. Gdy modemu ustanowi poczenie zostaniemy zawiadomieni o tym komunikatem CONNECT. Bn protok poniej 2400, gdzie n=[0..1] 0 - CCITT v.21/v.22 1 - Bell 103/212A Rozkazem tym wybieramy protok komunikacyjny dla pocze o prdkoci mniejszej ni 2400bd. Przy dzisiejszych modemach i prdkociach transmisji rzdu dziesitek a nawet (w przypadku ISDN) setek kbps (kilo bodw na sekund) rozkaz ten mona traktowa jako ciekawostk. Cn Carrier control 1 - Return OK message D wybieranie nr. Wydajc komend ATD1234 spowodujemy wybranie numeru 1234. Sposb wybierania (tonowy czy impulsowy) bdzie zalea od konfiguracji modemu. W komendzie poza cyframi mona uywa znakw specjalnych, oto ich znaczenie: @ czeka 5 sekund , pauza 2 sekundy (ustawianie w rejestrze S8) ! wygenerowanie flasha (czas flasha ustawiamy w rejestrze S29) ; po wybraniu nr powraca do interpretacji komend, nie prbuje nawiza poczenia z drugim modemem. Par sw wyjanienia do powyszej opcji. Moe ona by przydatna gdy modem, z ktrym czymy si jest podczony do centrali abonenckiej i osigalny po przez wybranie nr na tle zapowiedzi sownej (tzw DISA). Zamy, e centrala ma numer 1234567 modem nr wewntrzny 123. Aby poczy si z takim modemem wysyamy komend ATDP1234567; lub ATDT1234567; jeli centrala wybiera tonowo. Po zgoszeniu DISY (sucha zapowied w goniczku) wydajemy komend ATDT123. Numer mozna wybiera take wydajc komend ATDnnnn. O tym czy wybieranie bdzie tonowe czy impulsowe bdzie decydowa konfiguracja modemu. UWAGA! W Windosowych programach Dialerw (Dial-Up Networking) osignicie niektrych funcji zwiazanych z komend ATD jest utrudnione lub wrcz niemoliwe. Jeli s one potrzebne konieczna jest zmiana programu na inny (najlepjej odej od jedynie susznego systemu) lub wydanie komendy wybierajacej nr z palca w programie terminala. P wybieranie impulsowe. Wydanie rozkazu ATDP123 spowoduje impulsowe wybranie nr 123. T wybieranie tonowe. Wydanie rozkazu ATDP123 spowoduje impulsowe wybranie nr 123. Dwie powysze opcje nie maj znaczenia w przypadku modemw ISDN, GSM czy SDI. Modemy te bez wzgldu na ustawienia wybior nr w waciwy dla siebie sposb. W przypadki SDI nie nastpuje nawet wybieranie nr. SDI bez wzgldu na wpisany nr modem czy si z dostawc usug internetowych. Sn wybranie numeru z ksiki modemu (n=0...3). Komenda ATDS0 powoduje wybranie nr z ksiki zapisanego pod pozycj 0. Nowsze modemy udostpniaj ksik z kilkunastoma, a modemy GSM kilkudziesicioma czy nawet kilkuset wpisami. Ponadto niektre modemy (wszystkie modemy GSM) umoliwiaj dopisanie do nr komentarza np. nazwiska. Modemy GSM umoliwiaj przeszukiwanie ksiki na podstawie komentarzy. To ju ostatnia opcja do rozkazu ATD. Przechodzimy do kolejnych komed. L powtrz ostatni nr En echo komend, gdzie n=[0..1] 0 - wyczone

1 wczone Wczenie echa uatwia posugiwanie si programem terminala. Dziki temu widzimy znaki, ktre naciskamy na klawiaturze. Wyczenie echa moe by przydatne w programach, ktre steruj modemem. Dziki temu program nie otrzymuje znakw, ktre wysya, a tylko te, ktre s odpowiedziami od modemu. Czasem uatwia to pisanie oprogramowania, poniewa mamy mniej danych do analizy. H rozczenie poczenia (Hang-Up), przyczenie do linii. Rozkaz ATH lub ATH0 rozcza lub odrzuca poczenie. Jeli rozkaz ATH zostanie wydany po nawizaniu poczenia nastpi jego rozczenie. Niektre modemy (najczciej te z dekoderem CLIP, modemy GSM i ISDN) umoliwiaj odrzucenie poczenia. W tym celu po odebraniu dzwonka wydajemy rozkaz ATH. Abonent wywoujcy usyszy w suchawce sygna zajtoci lub komunikat Poczenie nie moe by zrealizowane a zaley od tego do jakiej centrali jest podczony. Rozkaz ATH1 przycza modem do linii. Rozkaz ten moe by przydatny gdy czymy si z modemem za porednictwem telefonistki. Wtedy to wydajemy komend ATD0123456;. Po wybraniu nr podnosimy suchawk w telefonie podczonym do modemu i wydajemy komend ATH1. Gdy zgosi si telefonistka prosimy o wybranie nr wewntrznego. Nastpnie wydajemy komend ATH1, modem po drugiej stronie zgosi si i nastpi nawizanie poczenia. In identyfikacja typu modemu, gdzie n=[0..6] 0 - kod produktu 1 - suma kontrolna ROM 2 - statystyka pocze 3 - wersja ROMu 6 - typ modemu Dziki tej komendzie mona zidentyfikowa typ modemu, producenta, i wersje oprogramowania. Przydatne jest to w urzdzeniach PnP. Jednak na maych procesorach nie starczyoby pamici programu na zapamitanie danych wszystkich modemw a co dopiero na programy sterownikw. Dlatego w maych urzdzeniach stosuje si standardowe komendy AT a modem przed podczeniem do urzdzenia konfiguruje tak aby zachowywa si w standardowy sposb. Ln poziom dwiku gonika, gdzie n=[0..3] Modemy analogowe maj wbudowany gonik. Dziki niemu mona sysze proces wybierania, uzgadnianie parametrw transmisji czy sama transmisj. W tanich modemach gonik zastpiony jest marnej jakoci blaszka piezzo. W modemach tych gono dwiku mona regulowa wanie komend ATL w granicach od 0 (dwiki najcichsze) do 3 (dwiki najgoniejsze). S modemy, w ktrych gono regulujemy potencjometrem. Oczywiste jest, e w tym przypadku modem nie interpretuje komendy ATL. Tak samo jest w przypadku modemw ISDN oraz SDI gdzie waciwie negocjacja prdkoci nie ma miejsca. W przypadku modemw GSM rozkaz ATL bardzo czsto reguluje gono dwiku w suchawce, ktr do takiego modemu mona podczy. Wtedy to parametr rozkazu zawiera si w szerszych granicach np. 0..63. Mn praca gonika, gdzie n=[0..2] 0 - wyczony 1 - wyczony po nawizaniu poczenia 2 - gonik zawsze wczony Jeli modem ma gonik mona zadecydowa kiedy ma by wczany. Najczstsze ustawienie to 1 (gonik wyczany po nawizaniu poczenia). Dziki temu syszymy proces wybierania nr i moemy okreli przyczyn nie dogadania si modemw. Pozatym jest to jedyna moliwo wybrania nr na tle zapowiedzi (DISY). Nn dozwolona prdko transmisji, gdzie n=[0..1] 0 - ustalona w rejestrze S37 1 - maksymalna moliwa Rozkazem tym ustawiamy czy prdko transmisji pomidzy modemami ma by negocjowana czy z gry ustalona. Qn kody zdarze, gdzie n=[0..2] 0 - wczone 1 - wyczone 2 - wczone podczas inicjalizacji poczenia, wyczone gdy odbiera Komenda ta umoliwia wyczenie komunikatw. Wtedy to nie pojawi si komunikat o dzwonku czy poczeniu. Praca z takimi ustawieniami jest moliwa poniewa czy nastpio poczenie, czy jest dzwonek, czy poczenie zostao zerwane mona dowiedzie si badajc stan odpowiednich linii modemu. P wybieranie impulsowe Wydanie rozkazu ATP ustawia impulsowy sposb wybierania. Rozkaz nie ma znaczenia dla modemw ISDN, SDI, GSM. Sn=x zapis rejestru specjalnego "n" wartoci "x" Rejestry specjalne bd opisane w kolejnych rozdziaach.

Sn=? wywietla zawarto rejestru x (zawsze trzycyfrowo) T wybieranie tonowe Wydanie rozkazu ATT ustawia tonowy sposb wybierania. Rozkaz nie ma znaczenia dla modemw ISDN, SDI, GSM. Vn rodzaj kodw wynikowych, gdzie n=[0..1] 0 - numeryczna 1 - numeryczna i tekstowa Komenda ta wybiera w jaki sposb modem bdzie informowa nas o bdach, dzwonieniu, itp. Przy rcznej obsudze korzystniejsze s komunikaty tekstowe, jednak dla programu obsugujcego modem atwiej jest analizowa komunikat na podstawie zwrconej liczby. Spis kodw wynikowych znajduje si w kolejnych rozdziaach. Wn informacja o szybkoci, gdzie n=[0..2] 0 - prdko modem-komputer 1 - j/w + rodzaj korekcji bdw 2 - prdko modem-modem Przy tej komendzie zatrzymamy si na chwil. Czsto cieszymy si, e program pokazuje prdko poczenia rwn np. 57600, a poczenie odbywa si na niszej prdkoci. Za ten stan jest odpowiedzialny powyszy rejestr. Jeli ustawimy go na 2 bdziemy wiedzieli z jak faktycznie prdkoci modem poczy si. Xn rodzaj dzwonienia (wybierania) , gdzie n=[0..4] 0 - nie czeka na 400Hz, ignoruje zajto, daje komunikat CONNECT po nawizaniu poczenia 1 - j/w + prdko poczenia 2 - czeka na 400Hz, ignoruje zajto, CONNECT 3 - nie czeka na 400Hz, daje BUSY gdy zajto, oraz CONNECT po nawizaniu poczenia 4 - czeka na 400Hz, daje CONNECT, BUSY lub NO DIAL gdy brak sygnau z centrali przez 5 sekund Standardowe ustawienie (na 4) powoduje, e modem nie wybierze nr zanim nie rozpozna tonu zgoszenia centrali 400Hz. Czas oczekiwania na ton mona zmieni w rejestrze S6. Na centralach analogowych od momentu podniesienia suchawki do momentu otrzymania tonu 400Hz mija od 0,5 do nawet kilku sekund. Po wydaniu komendy ATX4 mamy gwarancj, e modem nie zacznie wybiera nr dopki centrala nie wyle tonu 400Hz dziki czemu cay nr wybrany przez modem zostanie odebrany przez central. Gdyby wybieranie rozpoczo si przed otrzymaniem tonu 400Hz pocztek nr mgby zosta zjedzony. Po wczeniu usugi telekomunikacyjnej (np. przeniesienie nr) ton 400Hz z centrali nie jest cigy lecz ma krtkie (okoo 500ms) przerwy. Uniemoliwia to niektrym modemom poprawne rozpoznanie sygnau zgoszenia centrali. Podoba sytuacja moe mie miejsce w przypadku podczenia modemu do centrali PABX. Rozkaz ATX umoliwia prace modemu w takich warunkach. Wystarczy wyda rozkaz ATX0 i modem nie bdzie czeka na ton 400Hz. Wskazane jest wtedy przed wydaniem komendy wybierania nr odczekanie kilku sekund lub komend wybierania wyda w postaci ATD,123. Przecinek da pauz przed nr dziki czemu centrala powinna ju rozpozna nasze zgoszenie (podniesienie suchawki). Yn reakcja po odebraniu okrelonej liczby spacji, gdzie n=[0..1] 0 - brak reakcji 1 - przerwanie poczenia Odpowiednie ustawienie umoliwia alternatywny (do znakw +++ o czym dalej) sposb przerwania poczenia. Liczb spacji ustawiamy w S-rejestrach. Zn przywrcenie zapisanej konfiguracji 0 - przywrcenie profile0 (zapisane wczeniej komend &W0) 1 - przywrcenie profile1 (zapisane wczeniej komend &W1) Po skonfigurowaniu modemu ustawienia mona zapisa. Najczciej s dostpne dwa miejsca do zapisania konfiguracji. &Cn sterowanie DCD, gdzie n=[0..1] 0 - zawsze 1 1 - 1 po uzyskaniu poczenia Dziki ustawieniu w opcji wartoci 1 ledzc stan linii DCD moe okreli kiedy nastpio poczenie (DCD aktywne) oraz zerwanie transmisji (DCD niekatywne) &Dn reakcja na DTR, gdzie n=[0..2] 0 - brak reakcji 1 - przyjmowanie komend gdy DTR=0 2 - gdy DTR przyjmie 0: przerwanie poczenia, przyjmowanie komend, wczenie auto answer

Przy standardowym poczeniu w atwy sposb mona uzyska przerwanie poczenia ustawiajc lini DTR w stan nieaktywny. Natomiast po wydaniu rozkazu AT&D1 mamy atwy sposb przechodzenia pomidzy trybem rozkazowym, a transmisj danych. &Fn przywoanie konfiguracji z ROMu, gdzie n=[0..1] Rozkaz przydatny, gdy po naszych dowiadczeniach modem nie chce poprawnie zestawia pocze. Wydanie tego rozkazu ustawia konfiguracja, zalecana przez producenta. Nie jest ona moe optymalna, ale nie spotkaem jeszcze modemu, ktry nie dziaaby po wydaniu rozkazu AT&F. Niektre modemy posiadaja wicej profili (np. dla czy dzierawionych). &Kn rodzaj potwierdzenia, gdzie n=[0..5] 0 - wyczone 3 - RTS/CTS 4 - programowe Xon/Xoff 5 - transparent Xon/Xoff Komenda ta wybiera w jaki sposb modem bdzie zawiadamia procesor o moliwoci odbierania od niego znakw i na odwrt. Szczegowy sposb sterowania liniami RTS/CTS bdzie opisany w kolejnych rozdziaach. &Qn (zalecane 5) &Pn parametry wybierania impulsowego (czas zwarcia/czas przerwy), gdzie n=[0..3] 0 -39%/61% 10Hz 1- 33%/67% 10Hz 2- 39%/61% 20Hz 3- 33%/67% 20Hz Obowizujcym w Polsce standardem jest 33%/67% 10Hz i nie mamy tu innego wyboru. &Rn synchronizacja RTS/CTS, gdzie n=[0..1] 0 - CTS reaguje na RTS 1 - CTS=1 Komend t wybieramy Czy stan linii CTS ma odzwierciedla stan linii RTS terminala, czy ma zawsze by ustawiony na 1 gdy modem ma wczone zasilanie. &Sn kontrola DSR (zalecane n= 0) &Vn wywietlenie konfiguracji, gdzie n=[0..2] 0 - aktualna konfiguracja 1 - konfiguracja profile0 (zapisane wczeniej komend &W0) 2 - konfiguracja profile1 (zapisane wczeniej komend &W1) Niektre modemy po komendzie AT&V wywietlaj wszystkie konfiguracje. Warto przed testami modemu wydrukowa sobie aktualn konfiguracj. Dziki temu atwiej wrci do ustawie przy ktrych modem dziaa. Ja osobicie drukuj sobie konfiguracje modemu dobr dla danego typu pocze (internetowe, transmisja danych do innego modemu). Dziki temu atwiej jest skonfigurowa kolejne modemy. &Wn Zapisanie aktualnej konfiguracji w NVRAM, gdzie n=[0..1] Komenda zapisuje aktualna konfiguracj modemu do pamici NVRAM (w nowych modemach w FLASH). Dostpne s najczciej dwie pamici konfiguracji (np. poczenia internetowe i poczenia transmisji danych). Zapisane wczeniej konfiguracje mona przywrci komend ATZ lub ATZ1. &Xn zegar synchronizujcy, gdzie n=[0..1] 0 - wewntrzny 1 zewntrzny &Yn konfiguracja po wczeniu, gdzie n=[0..1] 0 - profile0 1 - profile1 Rozkazem tym decydujemy, ktra konfiguracja ma by wczytana po wczeniu zasilania (ta zapisana przez AT&W0 czy AT&W1). &Zn=x zapisanie numeru w ksice telefonicznej modemu, gdzie x=[0..3] Wydajc komend AT&Z0=1234 pod pozycja 0 ksiki zostanie zapamitany nr 1234. Nr ten moemy wybra wydajc komend ATDS0. Ksik telefoniczn najczciej mona obejrze na kocu konfiguracji (po wydaniu rozkazu AT&V). %Cn kompresja, gdzie n=[0..3] 0 - wyczona 1 - wczona MNP 2 - wczona V.42 3 - V.42 i MNP Jeli wykorzystujemy modem do wasnych celw, polecam ustawi opcj na 0. W przeciwnym wypadku po "dogadaniu si" modemw i wysaniu komunikatu "CONNECT" nastpi ustalanie protokou kompresji, co moe objawi si wysaniem sporej iloci "krzaczkw".

%En

reakcja na zmian parametrw linii, gdzie n=[0..2] 0 - brak reakcji 1 - ponowna negocjacja prdkoci zaczynajc od 4800 2 - j/w z prbami zwikszania/zmniejszania prdkoci Najlepsze ustawienie to oczywicie 2. Dziki temu po zmianie parametrw linii na gorsze modemy nie rozcz si czy te nie bd wieczno czekay na przesanie danych przy lepszych parametrw lecz na nowo ustal najwiksz moliw prdko transmisji. Dziki temu transmisja bdzie odbywa si dalej cho wolniej. %Gn j/w dla V32.bis \An maksymalna wielko bloku przy kompresji MNP 0 - 64 1 - 128 2 - 192 3 256 Najkorzystniejsze jest ustawienie najwikszego moliwego bloku wtedy to dodatkowe dane (nagwki, sumy kontrolne) zajmuj procentowo mniej danych. Jeli jednak zdarzaj si czste powtrzenia blokw (bdy CRC) naley go zmniejszy. Dziki temu powtarzane s mniejsze porcje danych. W konsekwencji transmisja jest szybsza. \Nn wybr protokou (zalecane n=0) Warto zaznaczy, e to nie wszystkie komendy. Jedne modemy maj ich wicej, inne mniej. O szczegach mona poczyta w instrukcji obsugi. Dostpne rejestry i konfiguracj moemy zobaczy po wydaniu komendy AT&V. Ponadto niektre komendy mog mie wicej parametrw, czasem mniej. Na niektrych typach modemu zdarzyo mi si, e po wpisaniu nieodpowiedniego parametru modem zawiesza si (czyby by tam Win?). Najczciej jednak wywietlany jest napis ERROR. Czasem od modemu mona uzyska informacje jakie parametry akceptuje, wydajc komend w postaci komenda=? np.: AT&Y=?

W jednym rozkazie mona wyda kilkanacie komend. Kolejne komendy czymy znakiem &, natomiast AT piszemy tylko raz, np.: AT&F&R0&K3&D2W2X4

Kody wynikowe
Komunikaty (liczbowe i tekstowe) zwracane przez modem. Komend ATV decydujemy w jaki sposb modem bdzie zwraca nam komunikaty. Komenda ATV1 wybiera komunikaty tekstowe, ATV0 numeryczne. Pierwsza opcja jest wygodna podczas pracy z modemem za porednictwem programu terminala, druga uatwia analiz odebranych kodw przez mikrokontroler. 0 OK. nie wymaga komentarza 1 RING odebranie sygnau dzwonka 3 NO CARRIER poczenie przerwano 4 ERROR bd 5 CONNECT 1200 poczenie z prdkoci 1200bd 6 NO DIALTONE brak sygnau zgoszenia centrali 7 BUSY abonent wybrany zajty 8 NO ANSWER nie doszo do poczenia 9 CONNECT 0600 poczenie z prdkoci 600bd 10 CONNECT 2400 poczenie z prdkoci 2400bd 11 CONNECT 4800 poczenie z prdkoci 4800bd 12 CONNECT 9600 poczenie z prdkoci 9600bd 13 CONNECT 7200 poczenie z prdkoci 7200bd 14 CONNECT 12000 poczenie z prdkoci 12kbd 15 CONNECT 14400 poczenie z prdkoci 14,4kbd 16 CONNECT 19200 poczenie z prdkoci 19,2kbd 17 CONNECT 38400 poczenie z prdkoci 28,4kbd 18 CONNECT 57600 poczenie z prdkoci 57,6kbd 19 CONNECT 115200 poczenie z prdkoci 115,2kbd 22 CONNECT 75TX/1200RX poczenie nadawanie 75bd odbir 1200bd 23 CONNECT 1200TX/75RX poczenie nadawanie 1200bd odbir 75bd 24 DELAYED opnienie 33 FAX poczenie faksowe 35 DATA poczenie transmisji danych

61 CONNECT 16800 poczenie z prdkoci 16,8kbd 62 CONNECT 21600 poczenie z prdkoci 21,6kbd 63 CONNECT 24000 poczenie z prdkoci 24kbd 64 CONNECT 26400 poczenie z prdkoci 26,4kbd 65 CONNECT 28800 poczenie z prdkoci 28,8kbd 66 CONNECT 33600 poczenie z prdkoci 33,6kbd 67 COMPRESSION: CLASS 5 kompresja CLASS 5 68 COMPRESSION: V.42 bis kompresja V.42 bis 69 COMPRESSION: NONE brak kompresji 70 PROTOCOL: NONE brak protoku 77 PROTOCOL: LAPM protoku LAPM 80 PROTOCOL: ALT protoku ALT 81 PROTOCOL: ALT-CELLULAR protoku ALT-CELLULAR

Nawizanie poczenia
Wydajc komend ATDnnnn, gdzie nnnn nr dany, czy si z drugim modemem (np. internet). Jeli poczenie dojdzie do skutku, otrzymamy komunikat CONNECT xxxx gdzie xxxx prdko transmisji. Dodatkowo linia DCD zmieni stan na aktywny. Po poczeniu, modem stanie si przeroczysty dla przesyanych znakw. Poczenie rozczamy komend ATH, ale jak j wyda skoro modem jest przeroczysty i nie interpretuje komend? W tryb rozkazowy wchodzimy naciskajc trzy razy znak plus, po czym czekamy na komunikat OK., ktry pojawi si po okoo 1,5 sekundy. Od tego momentu jestemy w trybie rozkazowym i moemy wyda komend ATH. Jeli chcemy wrci z powrotem do transmisji, wydajemy komend ATO. Po niej dostaniemy komunikat CONNECT.

Odbieranie pocze
Poczenie przychodzce jest sygnalizowane komunikatem RING. W momencie kiedy modem odbiera dzwonek linia RI przyjmuje stan aktywny. Poczenie odbieramy wydajc komend ATA. Gdy dojdzie do poczenia otrzymamy komunikat CONNECT. Dodatkowo linia DCD zmieni stan na aktywny. Niektre modemy posiadaj dekoder CLIPu. O standardach i formatach ramek CLIP mona dowiedzie si wicej w kolejnych rodziaach. W DipModemie formy MultiTech do jego obsugi su dwie komendy: AT+VCID i AT+VCDT. Komend AT+VCID uaktywniamy bd dezaktywujemy CLIP. AT+VCID=0 wycza CLIPa, AT+VCID=1 wcza formatowany CLIPa natomiast AT+VCID=2 wcza CLIPa w standardzie RAW. W tym przypadku modem nie ingeruje w przysyan informacj i wywietla j bezporednio na ekranie. Swoj drog przy CLIPie RAW mona czasem wyczyta ciekawe informacje o centrali. Polecam jednak formatowany CLIP. W takim przypadku jeli modem odbierze dzwonek na ekranie terminala zobaczymy: RING CIDM DATE = 0614 TIME = 1014 NMBR = 0123456789 Znaczenie poszczeglnych pl jest chyba jasne, nadmieni tylko, e: CIDM to informacja, e rozpoznano CLIP, DATE wywietla dat w formacie MM/DD, TIME wywietla czas w formacie gg/mm. Rozkazem AT+VCDT wybieramy rodzaj CLIPa. AT+VCDT=0 wybiera CLIP FSK dekodowany po dzwonku. Taki CLIP obowizuje oficjalnie od 03.2003 w TPSA (w praktyce bywa jednak rnie). Jeli jednak mamy cze ISDN, to moemy w terminalu wybra standard DTMF. AT+VCDT=1 wybiera CLIP FSK z tym, e oczekuje na CLIP zawsze. AT+VCDT=2 wybiera standard UK AT+VCDT=3 wybiera standard Japan AT+VCDT=4 wybiera CLIP w standardzie DTMF. W tym standardzie nie mamy jednak informacji o dacie i godzinie. Informacja ta jest czasem przydatna, bo moe synchronizowa wewntrzny zegar RTC. Reasumujc, aby odbiera CLIP FSK naley wyda komendy: AT+VCID=1 AT+VCDT=0 Jeli CLIP jest dostpny w DTMF wydajemy komendy: AT+VCID=1 AT+VCDT=4

Niestety modem nie ma komendy zapamitujcej konfiguracj w NV-RAM (AT+&W) i po kadym resecie naley modem ponownie konfigurowa. Dla urzdze, w ktre wbudowano modem nie stanowi to adnej niedogodnoci. Procedury z ROM mog wpisa do modemu wymagan konfiguracj po resecie. Do programowego zerowania modemu suy komenda ATZ. Po jej wykonaniu modem znajdzie si w takim stanie jak po sprztowym resecie.

Standardy i formaty ramek CLIP


Na czach analogowych moliwe jest wysyanie do abonenta informacji o nr abonenta wywoujcego go. Istniej dwa standardy informacji CLIP: DTMF i FSK. Na amach EP pojawi si kilka rozwiza dekoderw clip. W artykuach jednak po macoszemu omwiono standardy przesyanych ramek skupiajc si tylko na podstawowych ramkach (w przypadku FSK daty/godziny i nr abonenta wywoujcego). Warto pozna dokadniej typy przesyanych. Wiele central (Siemens, Slican) generuje dodatkowe ramki, a np. rejestrator telefoniczny AVT-50xx przesya ramk w formacie RAW na port szeregowy umoliwiajc jej zdekodowanie. Ponadto niektre telefony i identyfikatory wywietlaj dodatkowe ramki (np. opis tekstowy). Na pocztku omwi prostszy standard DTMF (Dual Tone Multi Frequency): Spotkaem si z dwoma sposobami wysyania kodw CLIP: Kody DTMF (80ms ton, 80ms Pauza min 250ms max 1sek. Dzwonek przerwa) Oraz: Dzwonek (najczciej krtki okoo 500ms)

Pauza min 250ms max 1sek.

Kody DTMF (80ms ton, 80ms przerwa)

Pauza min 200ms

Dzwonek

W Polsce spotyka si pierwsz z omwionych tu metod. Kody DTMF ukadaj si w ramk zoona z trzech p: Znak startu ramki nr abonenta znak koca ramki Numer abonenta moe by 20cyfrowy, przykadowa ramka moe wyglda tak: D012345678A Powysza ramka jest prawdziwa dla centrali ESS5. Majc doczynienia z rnymi typami central spotkaem si z rnymi kodami znakw startu i koca ramki. Np. dla SIEMENSa ramka wygldaa tak: D0123456789C Na szczcie jest pewna regua - znak startu i koca jest rny od 0...9, najczciej s to kody A, C, D. Ramka abonenta zastrzeonego lub bez moliwoci identyfikacji w miejscu nr ma dziewi lub dziesi zer (zalene od modelu centrali). Aby program dekodujcy clip dziaa prawidowo naleao by postpowa wg poniszego algorytmu: 1. Czekaj na znak 2. Jeli odebrano znak z zakresu 0..9 lub # czy * skok do 1 do tej czci program przejdzie gdy odebrano kod z zakresu A..D 3. Jeli znak z zakresu 0..9 zapisz do bufora, zwiksz wskanik w buforze i skocz do 3 do tej czci program przejdzie gdy odebrano kod z zakresu A..D 4. Jeli w cigu 3 sek. Nie ma dzwonka skacz do 1 5. Jeli wszystkie odebrane znaki w buforze s zerami to nie ma moliwoci zidentyfikowania rozmwcy 6. Znaki w buforze rne od zera wywietl je Powyszy algorytm zapewnia dekodowanie CLIPa na kadej centrali bez wzgldu na sposb przesyania CLIPa i znaki startu oraz stopu. Naturalnie procedur oczekiwania na znak naley zaopatrzy w timeout aby program nie zawiesi si. Jak atwo zauway standard DTMF jest stosunkowo prosty, ale przekazuje mao informacji (nie mona odrni abonenta z nr zastrzeonym od abonenta bez moliwoci identyfikacji). Ponadt wysanie tylko 10 cyfr bdzie trwao 12(cznie ze znakami Start i Stop) x 160ms(czas tonu + czas przerwy) = 1920ms czyli prawie 2 sekundy! Przy 20 cyfrach bd to prawie 4 sekundy! Znacznie bardziej zaawansowany i majcy wicej moliwo jest standard FSK: I tu s dwie metody wysyania CLIPa.. Standard BELLCORE (stosowany w Polsce):

Dzwonek (najczciej krtki okoo 500ms)

Pauza min 250ms

Transmisja FSK od 500ms do 200ms

Pauza min 200ms

Dzwonek (standardowa dugo 1sek.)

Motoda druga BT (British Telecommunications): Zmiana Pauza min Sygna Pauza min 45 polaryzacji 100ms synchronizacji max 75ms y

Transmisja FSK od 500ms do 200ms

Pauza min 200ms

Dzwonek (standardowa dugo 1sek.)

W standardzie FSK jedynce logicznej odpowiada ton 1300Hz, zeru logicznemu 2100Hz (standard V.23), prdko transmisji wynosi 1200bd. Kompletna ramka skada si z: Synchronizacji sygna SMRR Bitw stopu sygna MARK Meldunku (MESSAGE) 80-250ms 55-160ms 500-2000ms Pierwsze dane ramki (znak SMRR) skadaj si z bitw, ktrych warto zmienia si naprzemiennie 0,1,0,1...Sygna ten jest uywany do zsynchronizowania dekodera FSK. Sygna MARK zoony jest ze 180 bitw o wartoci 1. Po nim wysyany jest meldunek. Budowa meldunku jest nastpujca: Bajt okrelajcy rodzaj Bajt okrelajcy liczb Rekord/rekordy meldunku Bajt sumy kontrolnej danych TYPE bajtw meldunku LEN CRC (zalena od dugoci (suma modulo 2) rekordw meldunku) Pole TYPE najczciej zawiera warto $80 identyfikacja dzwonicego. Rekord meldunku ma nastpujc budow: Bajt rodzaju danych (BYPE) Bajt okrelajcy liczb bajtw danych (LEN)

Dane (DATA)

Caa ramka CLIP FSK moe wyglda np. tak: SMRR MARK TYPE LEN TYPE

MESSAGE Rekordy meldunku LEN DATA TYPE

CRC LEN DATA

Typowe rekordy: - rekord czasu i daty (kod $01) - rekord numeru abonenta wywoujcego (kod $02) Spotykane rekordy: - rekord numeru wybranego przez abonenta wywoujcego (kod $03) - rekord okrelajcy typ centrali (kod $04) - rekord opisu tekstowego (kod $07) - status centrali (kod $13) Poniej przykadowe ramki CLIP. Wygubion czcionk oznaczono pierwsze bajty ramek oraz sum kontroln. Przykadowy prosty meldunek moe wyglda tak (kody hex i ascii): HEX ASCII OPIS $80 Wiadomo CLIP $15 21 bajtw meldunku (czenie z CRC) $01 rekord daty i czasu $08 8 bajtw w rekordzie $30 0 znaki ascii ukadajce si w dat 05-16 godz 17:35 $35 5 jeli pierwszy bajt nr ma warto $50 (znak ascii P) oznacza to nr zastrzeony $31 1 jeli pierwszy bajt ma warto $4F (znak ascii O) oznacza to, e abonent nie ma identyfikacji (np. jest podczony do centrali analogowej) $36 6 $31 1 $37 7

$33 $35 $02 $09 $30 $31 $32 $33 $34 $35 $36 $37 $38 $xx

3 5 rekord numeru abonenta wywoujcego 9 bajtw w rekordzie znaki ascii nr abonenta wywoujcego 012345678

0 1 2 3 4 5 6 7 8

CRC suma modulo 2 wszystkich danych (wyczajc CRC)

Niektre centrale wysyaj dodatkowe ramki. Np. Siemens ESWD wysya ramk: HEX ASCII OPIS $80 Wiadomo CLIP $31 liczba bajtw meldunku (czenie z CRC) $01 rekord daty i czasu $08 8 bajtw w rekordzie $30 0 znaki ascii ukadajce si w dat 05-16 godz 17:35 $35 5 $31 1 $36 6 $31 1 $37 7 $33 3 $35 5 $02 rekord numeru abonenta wywoujcego $09 9 bajtw w rekordzie $30 0 znaki ascii nr abonenta wywoujcego 012345678 $31 1 $32 2 $33 3 $34 4 $35 5 $36 6 $37 7 $38 8 $03 rekord nr wybranego $07 7 bajtw w rekordzie $31 1 znaki ascii wybranego nr 1234567 $32 2 $33 3 $34 4 $35 5 $36 6 $37 7 $04 rekord typu centrali $11 17 bajtw w rekordzie $45 E znaki ascii tekstu ESWD from SIEMENS $53 S $57 W $43 D $20 $66 f $72 r $6F o $6D m

$20 $53 $49 $45 $4D $45 $4E $53 $xx

S I E M E N S CRC suma modulo 2 wszystkich danych (wyczajc CRC)

Wielu moe zdziwi po co wysya nr ktry wybra abonent wywoujcy? Przecie doskonale wiadomo do jakiej linii podczony jest telefon. Zgadza si w 99% procentach przypadkach nr wybierany bdzie taki sam jak nr linii telefonicznej, ale gdy abonent trafi do nas z przekierowanej rozmowy nr ten bdzie inny. Przykadowo abonent o nr 1111111 przekierowa poczenia na nr 2222222. Abonent 3333333 wybierajc nr 11111111 dodzwoni si pod nr 2222222 a nie pod 11111111. W tej sytuacji na linie o numerze 2222222 zostanie wysana nastpujca informacja: Rekord $01 - DATA i CZAS Rekord $02 3333333 (nr abonenta wywoujcego) Rekord $03 2222222 (wybrany przez niego nr niezgodny z nr linii) Rekord $04 - ESWD from SIEMENS Gdyby abonent 3333333 zadzwoni 1111111 bez wczonej funkcji przekierowania pocze otrzymali bymy ponisz ramk: Rekord $01 - DATA i CZAS Rekord $02 3333333 (nr abonenta wywoujcego) Rekord $03 1111111 (wybrany przez niego nr zgodny z nr linii) Rekord $04 - ESWD from SIEMENS Podobnie bdzie w przypadku posiadania numerw PBX. Dziki rekordowi $03 mamy namiastk nr MSN/DDI z ISDN w ruchu przychodzcym na czach analogowych. Dziki rekordowy $03 mona odrzuca poczenia. Algorytm odbioru CLIPa powinien by nastpujcy: 1. Czekanie na SMRR 2. Odebranie MARK, nie MARK to skocz do 1 3. Zeruj CRC 4. Odebranie TYPE, jeli rne od $80 to skocz do 1 5. Odbierz LEN i zapamitaj w zmiennej LenMsg 6. Odbierz TYPE, zmniejsz LenMsg 7. Odbierz LEN, zapamitaj w zmiennej LenRec, zmniejsz LenMsg 8. Odbierz dan, zapisz w buforze, zmniejsz LenMsg i LenRec 9. Jeli LenRec<>0 to skacz do 8 10. Jeli znane pole TYPE to przygotuj do wywietlenia/analizy (np. rekord daty/czasu mona przygotowa do zapisania w zegarze, jeli pole nieznane nie interpretuj danych 11. Jeli LenMsg<>0 to skacz do 6 12. Odbierz CRC 13. Porwnaj CRC, jeli ok. to wywietl dane Taki algorytm zagwarantuje, e CLIP bdzie wywietlony bez wzgldu na liczb rekordw w komunikacie oraz ich kolejno. Na tej zasadzie dziaa CLIP w rejestratorze AVT-50xx i bez problemu radzi sobie z rekordami typu $01, $02 (data/czas/numer) jak i $03, $04, $07, ktre przy wywietlaniu informacji o nr pomija. Niestety nie mona tego powiedzie o niektrych konstrukcjach dekoderw dostpnych w internecie, gdzie analiza kodu rdowego dowodzi i identyfikator zadziaa tylko z ramkami typu $01 i $02. Pojawienie si dodatkowych ramek w komunikacie spowoduje odczytanie zej sumy kontrolnej w konsekwencji czego program nic nie wywietli. Inna kolejno ramek moe natomiast spowodowa ze ustawienie zegara oraz wywietlenie czasu zamiast numeru. Jak wynika z powyszego tekstu urzdzenie zbudowane i przetestowane u autora, ktry nie zagbi si w odpowiednie normy moe doprowadzi do sytuacji, ze urzdzenie bdzie poprawnie dziaao tylko u niego!

Na koniec warto doda, e obydwa standardy umoliwiaj przekazanie numeru poczenia oczekujcego (DIDCW Calling Identity on Call Waiting_. Po uaktywnieniu usugi, na czas przekazywania informacji o numerze rozmowa jest wyciszana. Operacje ta przedstawiono na rysunku (REDAKCJA: rysunek 10a, w pliku cml612.pdf).

Rozszerzone komendy AT Komendy modemw analogowych na przykadzie modemu MultiTech (DipModem):


Na pocztek musimy zapozna si z komendami AT akceptowanymi przez modem. Nie jest to powtrzenie poprzednich rozdziaw poniewa niektre komendy dziaaj w odmienny sposb oraz dodano wiele nowych ciekawych rozkazw. Warto zaznaczy, e nie wszystkie popularne komendy modem akceptuje oraz to, ze niektre dziaaj w troch odmienny sposb. Wszystkie komendy poprzedzamy znakami AT. Komend zatwierdzamy naciskajc enter. Poniej spis komend z komentarzami. Pogrubion czcionk oznaczono standardowe ustawienia (po resecie): $ wywietla podstawowe ustawienia modemu A/ powtrz ostatnia komend A odebranie poczenia Dnnnn wybranie numeru nnnn. W komendzie poza cyframi mona uywa znakw specjalnych, oto ich znaczenie: ! lub & wygenerowanie flasha, czas flasha ustawiamy w rejestrze S29 (standardowo 500ms) , lub < pauza 2 sekundy (ustawianie w rejestrze S8) ; po wybraniu nr powraca do interpretacji komend, nie prbuje nawiza poczenia z drugim modemem. P wybieranie impulsowe (akceptuje 0 1 2 3 4 5 6 7 8 9) T wybieranie tonowe (akceptuje * # A B C D 0 1 2 3 4 5 6 7 8 9) W czeka na ton wybierania przez czas ustawiony w S12 (standardowo 12 sekund) En echo komend 0 - wyczone 1 - wczone H rozczenie poczenia (Hang-Up) In identyfikacja typu modemu 0 - rewizja 1 wersja programu 6 - typ modemu Mn praca gonika 0 - wyczony 1 - wyczona po nawizaniu poczenia 2 - gonik zawsze wczony Qn kody zdarze 0 - wczone 1 - wyczone 2 - wczone podczas inicjalizacji poczenia, wyczone gdy odbiera Sn=x zapis rejestru specjalnego "n" wartoci "x" Sn=? wywietla zawarto rejestru x (zawsze trzycyfrowo) Vn rodzaj kodw wynikowych 0 - numeryczna 1 - numeryczna i tekstowa Xn rodzaj dzwonienia (wybierania) 0 - nie czeka na 400Hz, ignoruje zajto, daje komunikat CONNECT gdy poczenie 1 - j/w + prdko poczenia 2 - czeka na 400Hz, ignoruje zajto, daje CONNECT gdy poczenie 3 - nie czeka na 400Hz, daje BUSY gdy zajto oraz CONNECT gdy poczenie 4 - czeka na 400Hz, daje CONNECT gdy poczenie, BUSY gdy abonent zajty lub NO DIAL gdy brak sygnau z centrali przez 5 sekund

reakcja po odebraniu okrelonej liczby spacji 0 - brak reakcji 1 - przerwanie poczenia Z sprztowy reset :Dn monitor DTMF 0 wyczony 1 wczony :Fn Generator tonw 0 wyczony 1 wczony :I odczytuje rdo przerwania :P zapisuje pami ram modemu (upgrade), przykad: AT:Paaaa,xxxx,yyyy,... gdzie aaaa adres w pamici RAM, xxxx yyyy dane zapisywane pod kolejne adresy :R czyta U-rejestry, przykad: AT:Raa odczytuje 16-bitowy rejestr z pod adresu aa :U zapisuje U-rejestry, przykad: AT:Uaa,xxxx,yyyy,zzzz,... wpisuje do rejestrw uytkownika poczwszy od adresu aa 16bitowe dane xxxx yyyy zzzz itd. +VCID=n wczenie dekodera CLIP 0 wyczony 1 wczony tryb formatowany 2 wczony format RAW +VCDT=n 0 - FSK po dzwonku 1 FSK zawsze oczekujcy 2 UK 3 Japan 4 - DTMF &$ wywietla ustawienia komend rozszerzonych AT& &G maksymalna prdko transmisji 5 4.8kbps 6 7.2kbps 7 9.6kbps 8 12kbps 9 14.4kbps (standardowe dla modemu SI2414) 10 16.8kbps 11 19.2kbps 12 21.6kbps 13 24kbps 14 26.4kbps 15 28.8kbps 16 31.2kbps 17 33.6kbps (standardowe dla modemu SI2433) &H wybr standardu poczenia 0 V.90 z automatyczn zmian protokou (56kbps do 300bps) (standard dla SI2456) 1 tylko V.90 (56kbps do 28kbps) 2 V.34 z automatyczn zmian protokou (33.6kbps do 300bps) (standard dla SI2433) 3 tylko V.34 (33.6kbps do 2400bps) 4 V.32bis z automatyczn zmian protokou (14.4kbps do 300bps) (standard dla SI2414) 5 tylko V.32bis (14.4kbps do 480bps) 6 tylko V.22bis (2400bps lub 1200bps) 7 tylko V.22 (1200bps) 8 tylko Bell 212 (1200bps) 9 tylko Bell 103 (300bps) 10 tylko V.21 (300bps) 11 tylko V.23 (1200/75bps) &Tn testowanie modemu 0 terminate test mode 2 test DSP i DAA (zaptla sygna analogowy)

Yn

3 j/w dodatkowo testuje ukad SI3015) 6 test sumy kontrolnej &Z przejcie w tryb obnionego poboru mocy %$ wywietla ustawienia komend rozszerzonych AT% %Cn kompresja 0 - wyczona 1 - wczona MNP 2 - wczona V.42 3 - V.42 i MNP %On tryb odbioru \$ wywietla ustawienia komend rozszerzonych AT\ \Bn liczba bitw znaku 0 6N1 1 7N1 2 7P1 3 8N1 5 8P1 6 8X1 \Nn wybr protokou 0 Wire mode (bez korekcji bdw, bez kompresji) 3 V.42 automatyczny wybr protokou \Pn typ parzystoci 0 even 1 space 2 odd 3 mark \Qn sposb kontroli przepywu 0 wyczona kontrola 2 tylko sygna CTS 3 para sygnaw RTS/CTS 4 potwierdzenia Xon/Xoff \Tn szybko transmisji do terminala 0 300bps 1 600bps 2 1200bps 3 2400bps 4 4800bps 5 7200bps 6 9600bps 7 12.0kbps 8 14.4kbps 9 19.2kbps 10 38.4kbps 11 57.6kbps 12 115.2kbps 13 230.4kbps 14 245.760kbps 15 307.200kbps \U gdy modem pracuje w trybie szeregowym (UARTowym) wysya impuls 25ms na wyjciu RI i DCD. INT przyjmie zanegowany poziom ESC, RTS zanegowany CTS. Gdy modem pracuje w trybie rwnolegym, wyle impuls 25ms na wyjciu INT. \Vn typ komunikatw 0 raporty o poczeniu i protokole 1 raporty tylko o poczeniu

S-Rejestry
Modem posiada oczywicie S-rejestry. Rejestr 0 odpowiada za to, po ilu dzwonkach modem automatycznie odbierze poczenie. Jeli wpiszemy 0 modem nie odbierze poczenia. Ustawienia tego rejestru mog by mylce, poniewa poczenie moe odebra program terminala komend "ATA" po ustawionej w nim liczbie dzwonkw. Naley uwaa z

ustawieniem rnym od zera, poniewa modem nie wysya wtedy komunikatu RING tylko CONNECT lub NO CONNECT. Standardowe ustawienie 0. Rejestr1 licznik odebranych dzwonkw Rejestr2 kod znaku escape, standardowo 43 (znak "+") Rejestr3 kod znaku CR, standardowo 13 Rejestr4 kod znaku LF, standardowo 10 Rejestr5 kod znaku bakspace, standardowo 8 Rejestr6 czas oczekiwania na sygna zgoszenia centrali w sekundach, standardowo 3 Rejestr7 czas na nawizanie poczenia. Jeli w zadanym czasie modem nie nawie poczenia, rozczy si. Standardowe ustawienie 60 Rejestr8 czas trwania pauzy (znak "," lub <) w sekundach, standardowo 2 Rejestr9 (std=6) 1/10 sek. Rejestr10 opnienie od zmiany stanu linii DCD na nieaktywny do rozczenia (zwolnienia linii telefonicznej) w 1/10 sek, standardowo 6 (0.6sek) Rejestr12 czas od wysania kodu ESC (standardowo "+++") do otrzymania komunikatu "OK" w 1/50 sek. standardowo 50

U-Rejestry
Modem poza S-rejestrami posiada jeszcze specyficzne dla niego 16-bitowe U-Rejestry. Rejestrw tych jest do duo dlatego omwi najwaniejsze z nich: Pierwsze U-Rejestry ustawiaj filtry dekodera DTMF do wymaga w danym kraju. W PDFie znajduje si spis ustawie dla wielu krajw. Lista ta jest do duga i co cieszy, znajduje si na niej Polska. W rejestrach U37-U40 ustawiamy liczb impulsw odpowiadajc cyfrze wybieranej w systemie impulsowym. U42-U45 ustala czas przerwy/zwarcia i czas pomidzy wybieranymi cyframi w systemie impulsowym. U47-U48 ustalaj czas trwania i czas przerwy tonw DTMF. Bit 1 w rejestrze U67 decyduje o minimalnym napiciu dzwonienia. Warto 0 rejestru wybiera napicie 1122V, warto 1 17-33V. Jeli modem zmienia stan linii RI podczas wystpowania impulsw zakcajcych na linii warto bit ten ustawi na 1. Znaczenie pozostaych rejestrw jest opisane w PDFie.

Wykrywanie podczonego rwnolegle telefonu


Wydajc komend AT:U69,0004 wczamy monitorowanie napicia na linii telefonicznej. Napicie to moemy odczyta komend AT:R79. Podczas testw przy wolnej linii telefonicznej odczytaem warto 0018. Jeli suchawka przyczonego rwnolegle telefonu bya podczona, odczytaem warto 0004. Jeli linia bya odczona (uszkodzona) odczytywaem warto 0000. Jeden bit odpowiada napiciu 2,75V. Jak atwo si zorientowa na testowanej linii przy odoonej suchawce panowao napicie 77V, przy podniesionej 11V. Funkcja monitorowania napicia moe by wykorzystana take do wykrycia faktu uszkodzenia linii telefonicznej.

Upgrade
Do upgrade oprogramowania suy komenda AT:Paaaa,xxxx,yyyy,... gdzie aaaa adres w pamici RAM, xxxx yyyy dane zapisywane pod kolejne adresy. Jak wic wida od producenta cigamy najnowsz wersje programu w postaci pliku tekstowego, wysyamy do modemu, po czym wykonujemy komend ATZ. Jeli sumy kontrolne bd si zgadzay, modem wykona program z pamici RAM, jeli nie z ROM.

Komendy modemw ISDN na przykadzie TA128


Opisywany modem ISDN nie ma zbyt wielu komend AT, ale s one odmienne od standardowych komend stosowanych w modemach analogowych. Zmiany dotycz gwnie programowania nr MSN, ustawiania protokow transmisji oraz reakcji modemu na wybrany protok transmisji danych. ATA Odebranie przychodzcego wywoania. ATBx X=0 X=3 X=4 Ustawienie protokou kanau B. 64K HDLC (domylny). X.75 Transparent, podobnie jak ATB30. Konwersja Async PPP to Sync PPP

X=5 X=11 X=12 X=13 X=14 X=15 X=16 X=20 X=30 X=31 X=32 X=41 X=42

Bit Transpancy (Ta komenda jest uywana jedynie przy wykorzystaniu soft-G3Fax w progrmie RVS-COM). V.110 Async. Prdko=1200 bps (opcja). V.110 Async. Prdko=2400 bps (opcja). V.110 Async. Prdko=4800 bps (opcja). V.110 Async. Prdko=9600 bps (opcja). V.110 Async. Prdko=19200 bps (opcja). V.110 Async. Prdko=38400 bps (opcja). V.120 Async. X.75 Transparent. X.75 T.70 NL X.75 ISO 8208 Konwersja Async PPP to Sync PPP w trybie ML-PPP (kompatybilne z Microsoft ISDN Accelerator Pack) Konwersja Async PPP to Sync PPP w trybie ML-PPP z funkcj "pasmo na danie". Ustawienie lub wywietlenie rodzaju kodeka w porcie analogowym. n=0 dla A-Law n=1 dla U-Law Wywietlenie biecych ustawie. Wybranie numeru. Wybranie numeru 0202422. Powtrzenie wybierania ostatniego numeru. Wywietlanie wprowadzonych znakw na ekranie w trybie AT (tzw. Echo) Echo wyczone Echo wczone Zaczenie/ Wyczenie sygnau linii. Wyczenie (to samo co ATH) - powoduje rwnie zerwanie poczenia. Zaczenie. Wywietlenie iformacji o adapterze. Wywietlenie informacji o wersji adaptera, bierzcym protokole i prdkoci poczenia. Wywietlenie nastpujcych informacji: typ centrali, kodek, SPID,MSN. Wywietlenie informacji o ostatnio nawizanych poczeniach gosowych (poprzez interfejsy POTS). Wywietlenie informacji o ostatnio nawizanych poczeniach (transmisja danych). Przeczenie z trybu komend do trybu on-line Ustawienie lub wywietlenie kraju, lub typu centrali.

ATCODEC ATCODEC=n ATCODEC? ATD ATD0202422 ATDL ATEx X=0 X=1 ATHx X=0 X=1 ATIx X=0 X=1 X=2 X=3

ATO ATP ATP=n N=1 N=2 N=3 N=4 N=5 N=6 N=7

Belgia Chiny Kolumbia Dania Holandia Euro ISDN Finlandia

N=8 N=9 N=10 N=11 N=12 N=13 N=14 N=15 N=16 N=17 N=18 N=19 N=20 N=21 N=22 N=23 N=24 N=25 N=26 N=27 ATP=? ATQx X=0 X=1 ATS ATS0=1 ATSr? ATS1? ATS2 ATS3 ATS4 ATS5 ATS7 ATS12 ATS25 ATS30

Francja Niemcy Izrael Wochy Japonia Korea Korea Singapur Sowenia Poudniowa Afryka Hiszpania Szwecja Szwajcaria Tajwan Wielka Brytania USA(AT&T Multi-P) USA(AT&T P-T-P) USA(AT&T NI-1) USA(AT&T NI-2) USA(AT&T NT1/DMS) Wywietlanie aktualnie wybranego kraju lub typu centrali. Zwracanie kodw wynikowych. Zwracaj kody wynikowe. Nie zwracaj kodw wynikowych. Ustawienie lub wywietlenie wartoci rejestru. Wpisanie do rejestru S1 wartoci "0" (domylnie S0=0-brak automatycznej odpowiedzi na wywoania). Wywietlanie aktualnej wartoci rejestru r. Rejestr S1 nie moe by zapisywany, zawiera licznik dzwonie. Kod znaku "Escape" (domylnie S2=43,ASCII "+"). Kod znaku "carriage return" (powrt karetki)(domylnie S3=13). Kod znaku "line feed"(przejd do nastpnej linii) (domylnie S4=10,"CTRLJ"). Kod znaku "back space"(domylnie S5=8,"CTRLH"). Czas oczekiwania na non po wybraniu numeru (domylnie S7=30 sekund). Czas oczekiwania na kod "escape" (domylnie S12=50 =5 sekund). Czas rozpoznawania sygnau DTR (domylnie S25=5 =0,5 sekundy). Czas po ktrym nastpuje automatyczne zerwanie poczenia, jeli nie wystpuje transmisja danych n*10 sekund (n=0 do 255, domylnie s30=0 co nie powoduje zrywania poczenia). Wysylanie informacji "Low layer Compatybility" S37=0 - nie wysyaj LLC (domylne), S37=1 - wysyaj LLC. Rozmiar okna dla HDLC 56K lub 64K (domyslnie 7). Rozmiar pakietu dla HDLC 56K lub 64K, od 1 do 2048 (domyslnie 1024). Rozmiar okna dla V.120 (domylnie 7). Rozmiar pakietu dla V120 (domylnie 256). Rozmiar okna dla X.75 (Transparent) (domylnie 2). Rozmiar pakietu X.75 (Transparent),od 1 do 2048 (domylnie 2). Rozmiar okna dla X.75 T.70 NL (domylnie 2). Rozmiar pakietu X.75 T.70 NL,od1 do 2048 (domylnie 128). Rozmiar okna dla X.75 ISO 8208 (domylnie 2). Rozmiar pakietu X.75 ISO 8208, od 128 do 2048 (domylnie 1024). Od 1000 do 7000 bajtw (domylnie 4 co oznacza 4000 bajtw). Zestawienie poczenia w drugim kanale B przy poczeniu za pomoc protokou ML-PPP BOD (ATB42) nastpuje, jeli zapisana

ATS37

ATS38 ATS39 ATS40 ATS41 ATS44 ATS45 ATS46 ATS47 ATS50 ATS51 ATS53

ATS54

ATS55=n

ATS56=n

w tym rejestrze rednia prdko transmisji utrzymuje si przez min. 10 sekund. Okres czasu, od 5 do 20 sekund (domylnie 5), po ktrym nastpuje zwolnienie drugiego kanau B (zerwanie poczenia w tym kanale) jeli prdko transmisji znajdzie si poniej wartoci zapisanej w rejestrze S53, (tylko w poczeniach przy protokole ML-PPP BOD). Wybr sposobu dzwonienia dla urzdzenia podczonego do interfejsu POTS 1,(n=0 do 7) "n" Ring On Ring Off 0 0,5 sekundy 0,5 sekundy 1 0,5 1,0 2 0,5 1,5 3 1,0 1,0 4 1,0 2,0 (domylne) 5 1,0 3,0 6 2,0 2,0 7 2,0 3,0 Wybr sposobu dzwonienia dla urzdzenia podczonego do interfejsu POTS 2, (n=0 do 7), tabela jak dla POTS 1. Ustawia czas przejcia w tryb "standby", n=3 do 10 (domylnie 3). Wywietla warto "n".

ATSTBY=n ATSBY?

ATUPG Uaktualnienie oprogramowania firmowego adaptera, naley postpowa zgodnie ze wskazwkami ukazujcymi si na ekranie. AVTx X=0 X=1 ATXn N=0 N=1 ATZn ATZn Wybr postaci wywietlanych kodw wynikowych. Wywietlaj kody w postaci cyfr. Wywietlaj kody w postaci sw. Zacza / wycza zwracanie rozszerzonych kodw wynikowych. Wycz j.w. Zacz j.w. Resetuje adapter i powoduje powrt do ustawie zawartych w profilu 0. Resetuje adapter i powoduje powrt do ustawie zawartych w profilu n, n=0 lub 1. Wykrywanie prdkoci. Automatycznie wykrywaj prdko portu szeregowego, (domylne). Nie wykrywaj prdkoci, uywaj aktualnych ustawie portu. Wywietl aktualne parametry portu szeregowego. Wykrywanie protokou nadchodzcego wywoania. Wycz automatyczne wykrywanie. Wcz automatyczne wykrywanie. Komenda powoduje wygenerowanie kodu "escape". Kontrola sygnau DCD. Dygna DCD, domylnie zawsze aktywny, (domylne). Sygna DCD aktywny po nawizaniu poczenia. Kontrola sygnau DTR. Ignoruj sygna DTR, domylnie zawsze aktywny. Zaniknicie sygnau DTR powoduje zerwanie poczenia,(domylne). Wybr prdkoci transmisji w kanale B. 64K bps (domylne). 56K bps.

AT&ABx X=0 X=1 AT&AB? AT&APx X=0 X=1 +++ AT&Cx X=0 X=1 AT&Dx X=0 X=2 AT&Ex X=0 X=1

AT&F AT&Kx X=0 X=3 X=4 X=6 AT&Nx X=0 X=1 AT&Tn AT&TEST AT&V AT&Wn AT&Yn

Resetowanie rejestrw do ustawie fabrycznych. Kontrola przepywu DTE/Modem. Wycz kontrol przepywu DTE//DCE. Wcz kontrol przepywu DTE/DCE - RTS/CTS,(domylne). Wcz kontrol przepywu DTE/DCE - XON/XOFF. Wcz kontrtol przepywu DTE/DCE - RTS/CTS oraz XON/XOFF. Wybierz tryb transmisji voice. Wybierz "mowa". Wybierz 3.1K audio. Ta komenda jest uywana jedynie w procesie homologacji. Uruchomienie auto-testu. Wywietlenie zawartoci profili Y1 i Y2. Zapisz aktualn konfiguracj profilu n. Zaaduj konfiguracj zawart w profilu n. Ustawienie parametrw decydujcych o reakcji adaptera na przychodzce wywoania."n" - lokalny numer telefonu (MSN), "*"- symbol pod-adresu, "m"- pod adres. Druga "*"- jest opcjonalna, "p"- identyfikator protokou.Jeli p=0 s akceptowane wszystkie dostpne protokoy (domylne). p=1 odbir tylko V.110 (opcja) =2 odbir tylko V.120 =3 odbir tylko V.75 Transparent =4 odbir tylko X.75 T.70NL =5 odbir tylko X.75 EFT =6 odbir tylko HDLC(PPP...). r=1 do 5, 0 dla POTS 1, 1 dla POTS 2, 2 do 5 dla danych. Maksymalna dugo numeru MSN wynosi 18, dla pod-adresu 8. Na przykad jeli chcesz, aby byy przyjmowane wywoania z protokoem X.75 Transparent komenda moe wygda tak AT&ZI2=81722043**3(bez pod-adresu). Wywietla biece ustawienia przychodzcych wywoa.

AT&Zir=n*m*p

AT&ZI?

AT&Zor=n*m Ustawia numery MSN i pod-adresy dla portw POTS 1, POTS 2 oraz portu danych dla wywoa wychodzcych. "n"- lokalny numer telefonu (MSN), "*"- symbol pod-adresu, "m"- pod-adres. AT%Sn N=0 N=1 AT#Cn N=0 N=1 N=2 AT#C? A/ AT@ Parametry portu szeregowego. N=0,1. Tryb automatycznego wyboru prdkoci (domylny) - 300, 1200,2400,4800,9600,19200,38400,57600 lub 115200 bps. Ustawienie stae DTE=230400 bps. Ustawienie identyfikacji wywoujcego (CallerID). Wycz CallerID (domylnie) Wcz CallerID Pozwl na wywietlanie CallerID, CallerSub, CLIP, CalledID, CalledSub Wywietl aktualne ustawienia. Powtrz ostatnia komend Uruchom program konfiguracyjny adaptera.

Upgrade modemu TA128


Pierwszym krokiem jest cignicie najnowszej wersji oprogramowania ze strony producenta. Jest to plik z rozszerzeniem .ABS. W Internecie mona znale programy ktre przeprowadzaj upgrade. Maj one jednak powana wad, spowodowan tym, e przed uaktualnieniem sprawdzaj wersj programu. Gdy programu w modemie nie ma nie potrafi przeprowadzi upgrade. Sytuacja taka moe mie miejsce gdy operacja upgrade zostanie przerwana. Wtedy to modem czeka na now wersje programu i nie reaguje na adne inne komedy! Stan taki jest sygnalizowany miganiem diod AA. Gdy taka sytuacja przydarzy si nam lub po prostu chcemy wiedzie jak wyglda upgrade musimy zrobi to z programu terminala. Od razu zaznaczam, ze nie uda si to z Terma90. Upgrade sprawdziem natomiast w HyperTermie dla PC i Termie4.6 dla Amigi i powiodo si bez problemw. Podczas upgrade znaczenie maja parametry transmisji, ktre naley ustawi nastpujco: Baud Rate (prdko transmisji) 115200 Data Bit (bitw danych) 8 Parity (parzysto) NONE (Brak) Stop Bit (bitw stopu) 1 Flow Control (sterowanie przepywem) RTS/CTS (Sprzt) Wydajemy komend AT@. Naszym oczom ukae si menu:

(PLIK TAE1.JPG) Naciskamy klawisz 1. Modem odpowie: Are you sure to upgrade the new firmware <Y/N>:_ Gdy naciniemy N wrcimy do menu. Gdy naciniemy Y na ekranie ujymy: ISDN TA upgrade procedure starts: Erase current driver <Y/N>:_ To ostatnia chwila aby wycofa si z upgrade. Gdy naciniemy Y nastpi skasowanie programu w pamici flash. Podczas kasowania na ekranie zobaczymy: Erasing ISDN driver...... (wait about 5 sekonds) Finishing erase procedure Waiting for new firmware through ASCII mode transmission If you want to exit upgrade, press $ to exit now. Zaznaczam od razu, e po skasowaniu programu wyjcie przez nacinicie klawisza $ nie oywi modemu. Jedyna czynno jaka bdzie on potrafi wykona to skasowa flash i zapisa now zawartoci. Mylcy troche jest tez komunikat Waiting for new firmware through ASCII mode transmission, ktry sugeruje, e plik naley wysa wybierajc w menu terminala Transmisja/Wylij plik tekstowy. Ot nie! Plik naley wysa wklejajc go w okno terminala. Aby to zrobi naley plik z rozszerzeniem ABS wczyta do edytora ascii (np. TextPad dla PC czy CED dla Amigi). Nastpnie naley zaznaczy cay tekst i skopiowa do schowka. Tekst taki wklejamy do okna terminala. Tu kolejna niespodzianka od Microsoftu. Po naciniciu kombinacji CTRL+V tekst nie zostanie wklejony cho wynikaoby to ze skrutu klawiszowego (na Terminalu dla Amigi nie ma takiego problemu). Na szczcie wklejenie mona wykona wybierajc w menu Edycja/Wklej do hosta. Po tej operacji nastpi upgrade. Trwa ono okoo 20 minut. Podczas upgrade w oknie terma widzimy: Compare S0-rekord OK. Load Addr = ###### gdzie za tekstem Load Addr = ukazuje si adres zapisywanego rekordu. Osoby zorientowane w programowaniu rnych procesorw na podstawie tekstu S-rekord mog podejrzewa, e w modemie siedzi jaka Motorolla. I nie myl si. Modem napdza Motorolla 68302 z zegarem 14MHz. PCtowcy zadadz pytanie Dlaczego nie Intel?. Odpowied jest prosta, w modemie wymagana jest szybko i pewno, a tego Intel w prosty i tani sposb nie moe zapewni. Jak to dua moc obliczeniowa i 14MHz? O mocy Motorolli moe wiadczy fakt, e procesor MC68302/25MHz potrafi w czasie rzeczywistym dekodowa programowo dwa strumienie MP3! Jaki byby potrzebny do tego Pentium? Wracajc do tematu, po udanym upgrade ujrzymy komunikat: Finish upgrade procedure Press N to exit this program and go into AT command mode.

ISDN TA upgrade procedure starts: Erase current driver <Y/N>:_ Oczywicie naciskamy N i mamy zainstalowane nowe oprogramowanie. Na koniec uwaga dotyczca sytuacji gdy w modemie nie ma oprogramowania. Wtedy to po wczeniu wchodzi on do upgrade wysyajc tekst: ISDN TA upgrade procedure starts: Erase current driver <Y/N>:_ Oczywiste jest, e tego tekstu nie zobaczymy poniewa program terminala bdzie uruchomiony na dugo po wczeniu zasilania modemu. Jeli jest to modem zewntrzny to wystarczy na chwil wyczy mu zasilanie aby ujrze tekst, albo w ciemno nacisn Y. UWAGA! Nie zalecam programw do upgrade napisanych pod Win. Nie s one zbyt inteligentne i w przypadku przerwania procedury upgrade nie bd potrafiy wgra oprogramowania. Upgrade przez terminal jest proste i pewne. Poza tym skuteczne na wszystkich platformach sprztowych i programowych.

Komendy modemw SDI


Modem SDI interpretuje kilka komend AT ale odpowiada na wszystkie standardowe komendy, cho ich nie wykonuje. Waciwie najistotniejsz komend w SDI jest ATD. Jakkolwiek nr podany za t komend i sposb wybierania nie jest istotny to jest ona potrzebna aby modem poczy si z Internetem. Modem SDI po prostu symuluje modem analogowy czy ISDN, ale suy tylko i wycznie do pocze z Internetem. Po wydaniu komendy ATD czy si z dostawc usug Internetowych, nastpnie kontrol na transferem danych peni stos TPC/IP. Taka realizacja poczenia z Internetem ma t zalet, e nie ma problemw z podczeniem modemu do rnych platform sprztowych. Wymagany jest jedynie port RS232C, standardowy sterownik modemu oraz program obsugujcy stos TCP/IP. Krtko mwic przy zmianie z modemu (analogowego czy ISDN) na SDI nie s wymagane (prawie) adne zmiany. Komenda ATH przerywa poczenie po uprzednim wydaniu komendy ESCAPE (+++). Podczas podczania modemu SDI naley zwrci uwag aby przed modemem nie byy wczone adne urzdzenia. Co prawda gdy wyczymy zasilanie modemu SDI linia z cyfrowej zamienia si w analogow i mona na niej przeprowadzi poczenia telefoniczne zwykym telefonem, to jednak w przypadku gdy linia pracuje jako cyfrowa wczone w ni telefony analogowe bd przeszkadza w transmisji danych i gosu.

Komendy modemw GSM na przykadzie modemu Wismo firmy WaveCom:


Fotografia (strona 3 pliku WaveCom Integra.pdf) W tym rozdziale zajmiemy si moduami GSM. Wybraem modu firmy WaveCom. S to dobre moduy a ponadto osigalne w promocyjnych cenach u niektrych operatorw. Du zaleta moduw jest to, e mona wykorzysta jego pami i procesor do wasnych celw. Dziki temu w prostych zastosowaniach modu bez pomocy zewntrzego procesora moe realizowa rne zadania (np. pomiar temperatury i przekazanie wynikw SMSem). Ciekawostk jest fakt, e za drobn opat (okoo 5 euro) w modemie zostan zaimpementowane komendy AT obsugujce stos TCP/IP. Dziki nim korzystanie z GPRSa jest dziecinnie atwe. Na pocztek proponuje modu FastRack. Jest to kompletny modem wymagajcy tylko anteny i zasilania. Modem wyposaony jest w gniazdo karty SIM, antenowe, zasilania i port RS232C. Nie ma wic problemu aby podczy modem do komputera z RS232C. O tym, e moe to by dowolny komputer wiadczy fakt, e wikszo testw przeprowadzono Amig. W seryjnej produkcji korzystniejsze jest zastosowanie moduu QUIK. Jest to bardzo may modu, zasilany napiciem 3,6V, stosowany take w telefonach komrkowych.

Inicjalizacja moduu
Przed rozpoczciem pracy z moduem naley go zainicjalizowa (np. wpisa pin). Opisze tu obsug modemu z poziomu programu terminala. Gdy bdziemy chcieli podczy modem do mikrokontrolera naley pamita, e sekwencje obsugi linii TXD, RXD, RTS, CTS s takie same jak w modemach analogowych. Modem dostarczony przez producenta ma ustawione nastpujce parametry transmisji: Prdkoc: 9600 Format ramki: 8 N 1

i takie parametry naley ustawi w programie terminala. Aby sprawdzi czy dobrze ustawilimy parametry transmisji wydajemy komend: AT Modem powinien odpowiedzie: OK. Jeli tak nie jest naley przeczyta dalsz cz rozdziau powicona ustawieniu parametrw transmisji. Gdy parametry transmisji s dobrze ustawione moemy przystpic do inicjalizacji, ktra wyglda nastpujco: wydajemy komend: AT+CPIN? W odpowiedzi moe my ujrze jeden z komunikatw: +CPIN: SIM PIN oznaczajcy, e wymagane jest wpisanie kodu PIN +CPIN: SIM PUK oznaczajcy, e wymagane jest wpisanie kodu PUK +CPIN: OK oznaczajcy, e nie jest wymagane wpisanie kodu Aby wpisa kod PIN naley wyda komend: AT+CPIN=xxxx gdzie xxxx waciwy kod Ujrzymy odpowied: ERROR jeli wpisalimy zy kod PIN, lub OK gdy kod bdzie poprawny. Jeli konieczne jest wpisanie kodu PUK spowodowane trzykrotnym wpisaniem niepoprawnego kodu PIN wydajemy komend: AT+CPIN=xxxxxxxx,yyyy gdzie xxxxxxxx kod PUK, yyyy nowy kod pin Po wpisaniu PINu modem zaloguje si do sieci. Objawia si to miganiem diody w modemie oraz komunikatem +WIND: 4 Rozkazem AT+CSQ moemy zmierzy poziom sygnau docierajcy do anteny. W odpowiedzi otrzymamy dwie liczby. Jeli s to 99,99 oznacza, ze nie mona zmierzy sygnau (jestemy poza zasigiem). Warto pierwszej liczby mniejsza ni 15 oznacza saby sygna i mog by problemy z cznoci. Komend AT+CMEE=1, AT+WIND=63 i AT+CRC=1 wczamy szczegowe komunikaty o bdach i szczegowe informacje o procesie poczenia. Zwaszcza ta druga komenda jest przydatna przy poczeniach audio, gdzie atwo moemy okreli w jakim stanie (czenie, wysyanie sygnau dzwonka, itp) znajduje si modem. Naleao by jeszcze ustali w jakim formacie chcemy otrzymywa i wysya SMSy. Suy do tego komenda AT+CMFG=1 konfigurujca SMS jako tekst. SMSy mona take skonfigurowa w formacie RAW, ale jest to format mniej przejrzysty dla czowieka. Komenda AT+CNMI=2,1,0,0,0 powoduje, e przychodzce SMSy bd zapisywane na karcie SIM, a my powiadamiani o fakcie ich odebrania. Po przeczytaniu SMSa z pamici bdziemy mogli go skasowa lub pozostawi. Komenda AT+CNMI=2,2,0,0,0 spowoduje, e przychodzce SMSy nie bd zapamitywane na karcie SIM tylko wysyane na port RS. Zapomniaem jeszcze wspomnie o komendzie AT+CLIP=1 wczajc identyfikacje pocze przychodzcych. Dziki temu mona odrzuca poczenia z niechcianym numerw przez co nasze zdalnie obsugiwane urzdzenie bdzie bardziej odporne na prby wamania. Prdko transmisji ustawiamy komend AT+IPR. Aktualne ustawienie mona odczyta przez: AT+IPR? Moliwe do ustawienia prdkoci moemy pozna wydajc komend: AT+IPR=? Zalecam ustawienie AT+IPR=0 uaktywniajce automatyczne wykrywanie prdkoci transmisji. Komend AT+ICF ustawiamy format ramki. Podobnie jak dla komendy AT+IPR i tu moemy podejrze aktualne ustawienia, jak i moliwe do wpisania wartoci. Konfiguracj dotyczc np. SMSw mona zapisa w pamici modemu komenda AT+SAS. Cz ustawie (aby zobaczy jakich naley wyda komend AT&V) zapisujemy komend AT&W. Naley jednak pamita, e nie wszystkie ustawienia zostan zapisane (np. CLIP). Dla ciekawskich proponuje wydanie sekwencji rozkazw AT+COPS=3,0 i AT+COPS? w wyniku, ktrej otrzymamy informacje o naszym operatorze.

Transmisja danych
Transmisja danych przebiega dokadnie tak samo jak i w przypadku modemw analogowych. Po wydaniu komendy ATDxxxxx nastpi prba poczenia z drugim modemem. Warto wspomnie, e modem, z ktrym czymy si nie musi by modemem GSM. Moe to by modem analogowy lub cyfrowy. W trakcie nawizywania poczenia ujrzymy komunikaty: +WIND: 5,1 oznaczajcy rozpoczcie procesu zestawiania poczenia

+WIND: 2 oznaczajcy wysyanie sygnau dzwonienia BUSY oznaczajcy, e abonent dany jest zajty Wybieranie moemy przerwa wysyajc komend ATH. Gdy dojdzie do poczenia ujrzymy komunikat CONNECT 9600. Poczenie rozczamy tak samo jak w przypadku modemu analogowego wysyajc +++ po otrzymaniu OK ATH. Podczas poczenia przychodzcego otrzymamy komunikat RING lub jeli wczylimy szczegowe raporty komend AT+CREG=1 komunikat: +CRING: xxxx, gdzie xxxx typ poczenia (np. VOICE, DATA, FAX). Jeli wczylimy CLIP pojawi si dodatkowo komunikat: +CLIP xxxxxxxx,145,,,yyyy gdzie xxxxxx nr abonenta wywoujcego, yyyy wpis w ksice przypisany do danego numeru. Poczenie odbieramy rozkazem ATA. Jeli nie chcemy przyj poczenia wydajemy rozkaz ATH. W modemie GSM tak jak w przypadku innych modemw istnieje rejestr S0 w ktrym moemy ustawi po ilu dzwonkach modem ma odebra poczenie.

Wysyanie i odbieranie SMSw


O konfiguracji modemu dla SMSw wspominaem ju w poprzednich rozdziaach. Zakadam, e modem skonfigurowano dla SMS tekstowych zapamitywanych na karcie SIM. Aby wysa SMS naley wyda rozkaz: AT+CMGS=xxxx gdzie xxxx nr na ktry chcemy wysa SMSa (dla testu moemy wysa SMSa do samego siebie) Modem odpowie znakiem zachty: > wpisujemy po nim tre SMSa. Naciskajc kombinacje CTRL+Z (znak o kodzie $1A) powodujemy wysanie SMSa. Jeli chcemy zrezygnowa z wysyania naciskamy klawisz ESC (kod $1B). Po chwili dostaniemy odpowied: +CMSS: xxx gdzie xxx nr kolejny wysanego SMSa Gdy otrzymamy SMSa modem wyle komunikat: +CMNI: SM,x gdzie x nr komrki pamici na karcie SIM gdzie zapisano SMSa. Odczyta go moemy komend: AT+CMGR=x gdzie x nr komrki modem odpowie komunikatem: +CMGR: REC UNREAD,xxxx,,dddd,gggg gdzie: REC UNREAD informacja, e SMS nie by jeszcze czytany xxxx nr telefonu z ktrego wysano SMSa dddd data wysania gggg godzina wysania Gdybymy wczeniej skonfigurowali komend AT+CNMI=2,2,0,0,0 odbieranie SMSw bez ich zapisywania na karcie SIM, to gdy otrzymamy SMSa modem wywietli jego tre w nastpujcy sposb: +CMT: xxxx,,dddd,gggg gdzie jak w poprzednim przypadku: xxxx nr telefonu z ktrego wysano SMSa dddd data wysania gggg godzina wysania Jak wida nie ma tu informacji o statusie SMSa. Przeczytanego ju SMSa moemy skasowa komend: AT+CMGD=x gdzie x nr komrki ktra chcemy skasowa. SMSy moemy te odczyta komend AT+CMGL=xx gdzie xx rodzaj SMS do odczytu. XX moe przyj jedna z poniszych wartoci (wileko znakw ma znaczenie!): ALL odczytuje wszystkie SMSy REC UNREAD odczytuje tylko nieprzeczytane REC READ odczytuje przeczytane STO UNSENT odczytuje nie wysane STO SENT odczytuje wysane Komenda AT+CMGL=ALL odczyta wiec wszystkie SMSy z pamici. SMSy moemy take zapisywa na karcie np. w celu pniejszego ich wysania. Suy do tego komenda:

AT+CMGW=xxxx gdzie jak w przypadku komendy +CMGS xxxx to nr telefonu. W tym przypadku take ukae si znak zachty. SMSa koczymy naciskajc CTRL+Z lub rezygnujemy przez ESC. Po zapisaniu SMSa otrzymamy komunikat: +CMGW: x gdzie x nr komrki pod ktra SMS zosta zapisany. SMS zapamitany na karcie moemy wysa komend: AT+CMSS=x gdzie x nr komrki pamici z ktrej wysyamy SMSa. Podobnie jak w przypadku komendy AT+CMGS tak i tu otrzymamy informacje o nr wysanego SMSa. To ju wszystko na temat SMSw. Zapomniaem tylko wspomnie, e aby wogule wysya SMSy naley wpisa nr centrum SMS. Najczciej karta SIM, ktr kupujemy od operatora ma wpisany nr centrum. Gdyby jednak tak nie byo nr ten wpisujemy komend: AT+CSCA=xxxx gdzie xxxx nr centrum. Nr ten mona odczyta wydajc rozkaz: AT+CSCA? Na CD-ROM znajduje si rdowa wersja programu w Pascalu wysyajcego SMSy.

Poczenia audio
Modemy firmy WaveCom maja wbudowany interfejs do suchawki i mikrofonu. Bez problemu mona tam podczy zwyk suchawk telefoniczna i wykonywac poczenia audio. Zakadam, e modem jest skonfigurowany tak jak opisaem to wczeniej (komendy +CLIP, +CMEE, +WIND, +CRC). Aby poczy si z innym telefonem naley wyda rozkaz: ATDxxxx; gdzie xxxx wybierany nr. Naley koniecznie pamita o redniku za nr. rednik ten informuje, e w poczeniu ktre realizujemy nie bdzie transmisji danych. Podczas zestawiania poczenia, podobnie jak przy transmisji danych ujrzymy komunikat: +WIND: 5,1 nastpnie: +WIND: 2 oznaczajcy, ze do abonenta danego jest wysyany sygna dzwonienia. Gdy abonent zgosi si otrzymamy komunikat OK. Poczenie mona przerwa wydajc rozkaz ATH. Jeli przerwanie poczenie przyjdzie od abonenta lub poczenie zostanie zerwane zostaniemy o tym poinformowani komunikatem: NO CARRIER +WIND 6,1 Poczenie przychodzce jest sygnalizowane komunikatem: +CRING: VOICE +CLIP: xxxx,145,,,yyyy gdzie xxxx nr wywoujcy yyyy wpis z ksiki (jeli istnieje) Gdy abonent wywoujcy przerwie wywoywanie otrzymamy komunikat: +WIND: 6,1 Poczenie odbieramy rozkazem ATA, odrzucamy przez ATH.

Obsuga ksiki telefonicznej


Modu obsuguje ksik telefoniczn. Zamiast wpisywa nr wystarczy poda nazw z ksiki. W przypadku komendy ATD dla poczenia audio wyglda to nastpujco: ATD>xxxx; gdzie xxxx wpis w ksice. Jeli wpisu w ksice nie bdzie otrzymamy komunikat: +CME ERROR: 22 Komenda AT+CPBS? informuje nas jakie ksiki moemy obsugiwa (na karcie SIM, w pamici telefonu, itd.). AT+CPBS? zwraca nam informacje o aktualnie obsugiwanej ksice. Przykadowa odpowied na w/w komend moe wyglda tak: +CPBS: SM,66,250 oznacza ona, e ksika na karcie SIM ma pojemno 250 rekordw, zapisanych jest 66. Wyboru ksiki na karcie SIM dokonujemy komend: AT+CPBS=SM

Komenda AT+CPBW=? Poinformuje nas o tym jak pojemno ma ksika, jak dugie mog by wpisy. Przykadowa odpowied: +CPBW: (1-250),20,(129,145),14 oznacza, e zakres wpisw w ksice zawiera si w granicach 1-250, zapamitany nr moe mie 20 cyfr, opis moe zawiera 14 znakw. Ksik odczytujemy rozkazem: AT+CPBR=x,y gdzie x pocztkowa pozycja ksiki, y kocowa. Np. AT+CPBR=1,10 wywietli pierwsze 10 wpisw z ksiki, AT+CPBR=1,250 ca ksik. AT+CPBW=x gdzie x nr rekordu, kasuje wybrany wpis w ksice. AT+CPBW=x,yyyy,129,zzzz zapisuje dane do ksiki, gdzie: x nr zapisywanej komrki yyyy nr do zapamitania zzzz opis np.: AT+CPBW=250,+48600700800,129,Test zapisze pod 250 komrk, nr +48600700800 opisany tekstem Test. Wpis moemy odczyta AT+CPBR=250 w wyniku czego otrzymamy: +CPBR: 250,+48600700800,129,Test Moemy te szuka wpisw w ksice komend: AT+CPBF=xxx gdzie xxx szukany fragment znakw. W odpowiedzi zobaczymy wszystkie pasujce do wzorca wpisy np. w odpowiedzi na komend: AT+CPBF=Ko otrzymamy: +CPBF: 10,+48123456789,129,Kowalski +CPBF: 23,+48111222333,129,Kochanski Jeli nie ma pasujcego wpisu modem odpowiada: +CME ERROR: 22 Podczenie modemu do dowolnego procesora: W dziale tym opisz sposb podczenia i obsugi modemw wyposaonych w port RS232C oraz RS o poziomach TTL.

Podczenie modemu GSM firmy WaveCom do CPU:


Podczenie tego modemu w wersji FastRack jest banalne. Modem jest wyposaony w typowy port RS232C. Z procesora musimy wic wyprowadzi linie TXD, RXD, oraz sterujce. Naley uy konwertera poziomw z TTL na RS232C (np. dwa ukady MAX232). Przykad poczenia widzimy na schemacie (REDAKCJA plik w protelu Mod51_R3.sch). Modem czymy typowym kablem modemowym ze zczami DB9pin. Programowa obsuga modemu bdzie opisana w dalszych rozdziaach.

Podczenie DipModemu firmy MultiTech do CPU:


Fotografia ((REDAKCJA: plik Insingth_SLM24xx_DIP_Modem_spec.pdf str. 1) Na pocztek opisz moliwoci modemu. Modem jest zasilany napiciem z zakresu 3.3 do 3.6V (typowo 3.3V) ale na wejciach akceptuje poziomy TTL. Dziki temu nie ma problemu z podczeniem modemu do urzdze zasilanych napiciem 5V. Rozkad wyprowadze modemu i rozmiary obudowy widzimy na rysunku (REDAKCJA: plik Insingth_SLM24xx_DIP_Modem_spec.pdf str. 2). Modem moe pracowa w jednym z dwch trybw: rwnolegym i szeregowym. Pierwszy z trybw jest przeznaczony do podczenia modemu do magistrali mikroprocesorowej. W drugim trybie (szeregowym) modem udostpnia nam sygnay RXD, TXD, RTS, CTS, RI, DCD. S to typowe sygnay wystpujce w UARTach. Tryb szeregowy mona stosowa w urzdzeniach, ktre obsuguj modem UARTem. Nie wymaga to duej przebudowy urzdzenia i oprogramowania. Jeli jednak urzdzenie projektujemy od podstaw warto zastosowa tryb rwnolegy zwaszcza, e mamy dostpny tam bufor FIFO (12 bajtw dla odbiorczego, 16 dla nadawczego). Dziki wyeliminowaniu UARTa koszt urzdzenia bdzie mniejszy. DIP-Modem rozpoznaje typowe komendy AT oraz wiele przeznaczonych tylko i wycznie dla niego. Poza typowymi komendami mamy grupy przeznaczone do: dekodowania CLIP, ustawienia standardu sygnau dla danego kraju, upgrade oprogramowania i wykrywania telefonu podczonego rwnolegle do linii telefonicznej.

Tryb szeregowy
W trybie szeregowym modem czymy z UARTem. Do komunikacji su linie TXD i RXD. Pozostae linie steruj przepywem danych (RTS, CTS), informuj o dzwonu (linia RI) oraz pojawieniu si fali nonej (linia DCD). Modem nie ma wyprowadzonych sygnaw DSR i DTR sucych do wykrywania gotowoci terminala i modemu. Nie jest to duym problemem, poniewa obecno modemu mona wykry wydajc komend AT, modem powinien odpowiedzie OK. Jeli komu bardzo zaley na sprztowym wykrywaniu modemu wystarczy, e wyjcie wolnej bramki logicznej, na ktrej panuje poziom niski doprowadzi na wejcie DSR UARTa. Dziaa to dlatego, e sygna gotowoci to przewanie nic innego jak wczenie zasilania modemu. Mona te zaptli sygna DTR na DSR UARTa, ale wtedy nawet gdy modem nie bdzie zasilany, terminal wykryje jego obecno. Najbardziej poprawnym rozwizaniem stosowanym zreszt w wielu modemach jest zaptlenie sygnau DTR na DSR za porednictwem nie negujcych bramek. W trybie szeregowym z DIPModemem komunikujemy si tak jak z kadym modemem zewntrznym. Nie bd tu szczegowo opisywa tego zagadnienia, poniewa uczyniem to przy okazji artykuu Przystawka modemowa.

Tryb rwnolegy
W tryb rwnolegy wchodzimy podajc na linie AOUT/INT poziom niski (mona cign linie rezystorem <=10k do masy), a na lini CS wysoki podczas aktywnego poziomu na wejciu reset. Znaczenie sygnaw w trybie rwnolegym opisano w tablicy (REDAKCJA: plik SiLab_programguide.pdf str. 47 tab. 48). W trybie rwnolegym mamy typowe sygnay magistrali Intelowskiej (RD, WR, CS, INT, A0, D0..D7). W trybie tym mamy dostp do dwch rejestrw. Rejestr wystpujcy pod ofsetem 0 jest rejestrem danych. Podczas zapisu umieszczamy w nim znak do wysania, przy odczycie modem zwraca nam odebrany znak. Pod ofsetem 1 znajduje si funkcja stanu. Znaczenie bitw tego rejestru jest nastpujce:
Nr bitu Bit 7 Bit 6 Bit 5 Bit 4 Bit 3 nazwa RXF TXE REM INTM INT R/W R R R R/W R opis 0 bufor odbiorczy ma wolne miejsca (poniej 10 znakw w buforze) 1 - przepeniony bufor odbiorczy (ponad 10 znakw) 0 bufor nadawczy ma wolne miejsca (poniej 10 znakw w buforze) 1 - przepeniony bufor nadawczy (ponad 10 znakw) 0 w buforze odbiorczym s znaki 1 pusty bufor odbiorczy maskowanie przerwa rejestr przerwa 0 nie byo przerwania 1 wystpio przerwanie od (CID, OCD, PRD, RI lub DCD). Bit INT kasujemy komend AT:I, ktr to mona odczyta rdo przerwania. Znaczenie bitw w rejestrze U70: 5 wykonano reset 4 wykryto CLIP 2 wykryto rwnolegy telefon 1 wykryto dzwonek 0 wykryto non modemu (DCD) ustawienie stanu wirtualnej linii RTS (po ustawieniu modem przerwie wysyanie znakw do CPU) odczyt stanu wirtualnej linii CTS

Bit 2 Bit 1 Bit 0

ESC RTS CTS

R/W R/W R

(jeli ustawiona, to modem nie moe przyjmowa znakw z CPU) Uwaga! Nie wszystkie modemy MultiTech posiadaj wyprowadzon lini umoliwiajc wprowadzenie modemu w tryb rwnolegy. W trybie szeregowym podczenie DipModemu jest jeszcze prostrze ni modemu GSM poniewa nie s wymagane adne konwertery z TTL na RS232C. Jest to spowodowane tym, e DipModem mam wyprowadzone wszystkie sygnay w standardzie TTL. Dip modem MuliTechu nie by niestety wyposaony w moliwo uruchomienia trybu rwnolegego (nie wyprowadzono odpowiednich pinw za zcze), jakokolwiek sam ukad zastosowany w modemie posiada taka moliwo.

Podczenie modemu do magistrali procesora (na przykadzie przystawki modemowej)


Fotografia (REDAKCJA: Model w EP) Sposb podczenia modemu z RS232C do procesora omwi na przykadzie procesora 8051 oraz ukadu UART 16C550. UART ma t cenn zalet, e posiada sprztowy bufor FIFO, dziki czemu procesor moe zawiesza przerwania a przychodzce znaki nie bd gubione. Omwi najistotniejszy dla nas fragment przystawki czyli sposb podczenia UARTa do procesora oraz modemu. Na rysunku (REDAKCJA plik protela Mod51_R1.sch) widzimy schemat caej przystawki, na (REDAKCJA plik protela Mod51_R2.sch) szczegy dotyczce poczenia uarta z procesorem i modemem. Sygna z dekodera adresowego uaktywnia UART lini CS_SIO. Pozostaem linie (RD, WR, D0..7) s typowe dla mikroprocesorw Intelowskich. Jeli UART bdziemy chcieli podczy do procesorw rodziny Motorolla naley doda ukad na bramkach NAND (np. 74HC00) wg schematu w ramce. Jest to konieczne poniewa ukady Motorolli dysponuj par sygnaw R/W i E. Wejcia/wyjcia ukadu UART akceptuj sygnay o poziomach TTL, natomiast modem o poziomach RS232C. Do konwersji sygnaw mona uy ukadw MC1488/89. Jest to rozwizanie tanie, ale ukady konwerterw wymagaj zasilania napiciem +/- 12V. Jeli napicia takie nie s dostpne mona uy konwerterw z przetwornic MAX232. S to ukady do popularne i tanie, ale trzeba uy a 3 szt. Najlepszym wyjciem wydaje si by ukad MAX241 posiadajcy odpowiedni liczb konwerterw. Istnieje te wersja zabezpieczona przed ESD. Dlaczego proponuje zewntrzny uart? Do sterowania modemem uyto ukadu UART (U2) typu 16C550. Podyktowane byo to ma liczb pinw procesora, aby obsuy linie kontrolne modemu (DTR, DSR, RTS, CTS, DCD, RI). Dziki zastosowaniu UARTa port procesora mona przeznaczy na inne cele. UART ma jeszcze inna przyjemn cech - posiada 16 bajtowy bufor FIRO. Moe on mie znaczenie przy duych prdkociach transmisji. Jeli prdkoci nie bd due mona zastosowa troch taszy ukad 16C450. Program wykrywa z jakim ukadem ma do czynienia i ewentualnie korzysta z FIFO. Poza tym oprogramowanie realizuje programowy bufor FIFO 256bajtw. Zalety sprztowego FIFO mona odczu jeli do procesora podczymy ukady wyposaone w magistral 1-Wire. Podczas transmisji po tej magistrali trzeba zawiesi przerwania, przez co bufory programowe nic nie daj. W tablicy 1 (REDAKCJA: str 13 pliku 16c550.pdf) przedstawiono rejestry ukadu 16C550. Rni si on od 16C450 dodatkowym rejestrem FCR obsugujcym FIFO. Program moe odrni z jakim ukadem ma doczynienia. Wystarczy do rejestru FCR zapisa 1. Odczyt rejestru ISR powinien da warto %1100xxxx ($Cx). FIFO w uarcie moe pracowa w jednym z dwch trybw: DMA lub zgodnym z 16C450. Tryb DMA jest szybszy, ale nieco bardziej skomplikowany w obsudze. atwiej i prociej korzysta z trybu zgodnego z 16C450. Po wczeniu FIFO kade przyjcie znaku wywouje przerwanie. Jeli procesor obsuy je zanim przyjdzie kolejny znak nic szczeglnego si nie stanie, program zakoczy procedur przerwania. Przyjcie kolejnego znaku spowoduje wygenerowanie kolejnego przerwania itd. Jeli natomiast przerwanie nie zostanie obsuone na czas, kolejne znaki bd zapamitane w FIFO. Gdy program przerwa odbierze jeden znak i wyjdzie z przerwania natychmiast zostanie wywoane kolejne przerwanie. W przypadku procesora 8051 wykona on jeden rozkaz programu gwnego. Jak wida program obsugujcy FIFO od programu bez jego obsugi rni si tylko ustawieniem odpowiedniego bitu w rejestrze FSR. Program obsugi przerwa pozostaje bez zmian. Dlatego przerbka programu napisanego dla 16C450 na 16C550 polega na ustawieniu rejestru FSR. FIFO dziaa take podczas nadawania. Po wpisaniu znaku do rejestru THR uart natychmiast zgasza przerwanie informujce o zakoczeniu nadawania. Program gwny sdzi, e znak ju zosta wysany i wpisuje kolejny do THR. Po zapenieniu bufora kolejne przerwanie przyjdzie, gdy w buforze zwolni si miejsce. FIFO nadawcze niesie za sob pewne niebezpieczestwo. Gdy np. uart steruje magistral RS485 po wysaniu wszystkich znakw naley odaczy nadajnik od magistrali. Pojawia si wic problem: kiedy uart skoczy nadawa znaki? Wystpienie przerwania jak wida nie jest na to dowodem. Po maym wykadzie na temat FIFO przejdmy do tematu gwnego. Do sprzgnicia uarta z modemem uzyto ukadu MAX241E (U3). Ukad ten konwertuje sygnay z poziomw TTL na RS232C i na odwrt. Ukad jest do kosztowny, ale ma wiele zalet (np. w budowan przetwornic, zabezpieczenie przed ESD). Zamiast niego mona byo uy ukadw MC1488 i MC1489, ale wymagaj one dodatkowych napi +12 i -12V. Mona te uy trzech popularnych konwerterw MAX232, ale po uwzgldnieniu duo wikszej powierzchni na pytce i zwizanych z tym kosztw okazuje si, e cena MAX241E jest do przyjcia. Poza tym MAX232 w standardowym wykonaniu nie daj nam ochrony przed ESD. Jeli juz jestemy przy UARCIE to warto wspomnie o funkcji spenianej przez bramk U9E. Neguje ona sygna przerwania. Jest to konieczne, poniewa UART (a waciwie jego pierwowzr 8250) by zaprojektowany z myl o PC, a tam przerwania s uruchamiane zboczem narastajcym (poziom H na wyjciu UARTa).

Dane z wbudowanego w procesor portu szeregowego s konwertowane do standardu TTL w ukadzie U11 typu MAX232. Sygnay w standardzie RS232C s dostpne na zczu J12. Mona te wykorzysta optoizolowany RS232 dostpny na zczu J6. Z drugiej strony naley zastosowa ukad przedstawiony na rysunku 2 (REDAKCJA: plik RYS2.JPG). Wszystkie elementy mieszcz si we wntrzu wtyczki DB25. Do poprawnego dziaania konwertera naley ustawi na linii DTR napicie +12V na RTS -12V. Jak wida izolacja jest zapewniona w obie strony dziki obecnoci transoptorw na liniach odbiorczych. Gdyby poczy dwie wtyczki DB25 z ukadami z rysunku 2 z komputerami mielibymy optoizolacj optoizolowany RS232 w komputerze. Wad takiego rozwizania jest maa prdko transmisji (dla CNY17 wynosi 9600b/s). Jeli zaley nam na wikszej prdkoci naley zastosowa transoptory typu 6N137 (max 1Mb/s). Warto wspomnie o funkcji spenianej przez multiplekser U5 i zcza JP1 i JP2. W pierwotnej wersji przystawka miaa obsugiwa takie urzdzenia przez modem, ktre mogy by sterowane tylko za porednictwem portu RS. Sygna wchodzcy na zcze JP1 jest kierowany do CPU i na zcze JP2. Dziki temu CPU moe "podsuchiwa" dane pojawiajce si na zczu JP1. W stanie spoczynku dane pojawiajce si na zczu JP2 s za porednictwem multipleksera U5 przesyane do JP1. W dowolnej chwili CPU moe odczy sygna przychodzcy z JP2 i wysa tam swoje dane z linii TxD. Dziki multiplekserowi urzdzenie moe by poczone z komputerem czy innym urzdzeniem. Na czas poczenia modemowego CPU moe "przej" kontrol nad sterowanym urzdzeniem. Zcza JP1 i JP2 mona wykorzysta do przyczenia komputera i komrki za porednictwem odpowiednich translatorw poziomu napicia . W stanie spoczynku komputer moe sterowa komrk, po nawizaniu poczenia modemowego kontrol nad komrk przejmuje przystawka modemowa. Port szeregowy nie daje duych moliwoci dlatego przystawk wyposaono w port rwnolegy. Omiobitowy port wyjciowy zrealizowano na ukadzie U20 typu 74HCT273. Zastosowano go dlatego, e posiada wejcie reset. Dziki temu po wczeniu zasilania na portach jest cile ustalony stan (same zera). Dane w zatrzasku s zapamitywane podczas narastajcego (tylnego) zbocza na wejciu CLK. Na wejcie to doprowadzono sygna z dekodera adresowego. Sygna z dekodera jest sumowany z sygnaem WR w bramce U21A, dziki czemu aktywny sygna pojawia si tylko podczas zapisu. Takie rozwizanie daje to, e pod tym samych adresem moe znajdowa si port wejciowy. Nie zaleca si tu stosowania ukadu typu LS, ktre posiadaj ma wydajno prdow w stanie wysokim. Najlepiej zastosowa ukady serii CMOS (HC, HCT, ACT). Jeli zaley nam na duej wydajnoci prdowej to mona uy ukadw serii F. Sygnay z portu s dostpne na zczu JP4. W modelowym urzdzeniu do zcza tego podczono diody LED, ktrych stan mona zmienia odpowiednim rozkazem. Port wejciowy zrealizowano na ukadzie U22 typu 74HCT245. Jest to dwukierunkowa brama 8-bit. Mona by zastosowa ukad 74HCT244 (brama jednokierunkowa), ale cena tych ukadw jest taka sama, a przy HCT245 o wiele atwiej zaprojektowa przebieg cieek. Brama jest uaktywniana po podaniu stanu niskiego na wejcie G ukadu. Sygna ten pochodzi z dekodera adresowego i jest sumowany z sygnaem RD w bramce U21B, dziki czemu aktywny sygna pojawia si tylko podczas odczytu. Drabinka rezystorowa RP2 podciga wejcia do +5V. Dziki czemu wejciami tymi maj sterowa transoptory czy styki przecznika lub przekanika. Wywietlacz LCD jest opcjonalny (wywietla dodatkowe komunikaty). Brak wywietlacza LCD w niczym nie przeszkadza. Program gdy nie wykryje wywietlacza nie zawiesi si tylko pominie procedury jego obsugi. Wywietlacz przyczony jest do zcza J3. Ze wzgldu na to, e magistrala wywietlaczy LCD jest "Motorolowska", a magistrala procesora "Intelowska" trzeba byo zastosowa ukad dopasowujcy na U19. Magistrala "Intelowska" ma t nieprzyjemn cech, e s problemy z podczeniem bufora dwukierunkowego. Przy standardowym podejciu do tego problemu sygna strobujcy (zalenie od wykonania RD lub WR) zanikaby rwnoczenie z danymi na magistrali. Taka praca "na styk" jest do ryzykowna. Aby unikn takich problemw lini RW wywietlacza podczono do linii A1 procesora. Spowodowao to, e adresy do zapisu i odczytu s rne, ale mamy gwarancj, e sygna RW (sterujcy kierunkiem w magistrali "Motorolowskich") ustali si przed sygnaem strobu E wywietlacza. Uaktywnianiem wszystkich ukadw peryferyjnych i pamici RAM steruje dekoder adresowy. Zbudowano go na ukadzie U12 typu 74HCT138. Jest to dekoder 1 z 8 i dzieli 64kB przestrze adresow procesora na osiem obszarw po 8kB. Sygnay z pierwszych czterech wyj dekodera s sumowane w bramkach U13A i U13B. Dziki temu sygna CS_RAM (pin 8 U13B) jest aktywny gdy procesor zaadresuje pierwsze 32kB. Pozostae stroby uaktywniaj ukad UART ($8000-$9FFF), wywietlacz LCD ($A000-$BFFF), porty I/O ($C000-$DFFF). Ostatni strob ($E000-FFFF) jest niewykorzystany. W tym miejscu mona by zastosowa ukad programowany GAL. Poza dekodowaniem adresw generowaby te sygnay zapisu i odczytu do portu rwnolegego i sterowa strobem wywietlacza LCD. Nie zastosowaem go dlatego, e wikszo Czytelnikw nie ma dostpu do programatora ukadw GAL i mogliby mie kopoty z samodzielnym wykonaniem przystawki modemowej. Ostatnim elementem przystawki jest pami EEProm (U16), w ktrej przechowywana jest konfiguracja, kody dostpu itp. Magistrala IIC ktr jest sterowany ukad EEProm jest wyprowadzona na zcze J11. Na zcze to wyprowadzone jest take napicie zasilania i lini przerwa procesora. Dziki czemu w razie potrzeby mona przystawk rozbudowa o zegar (np. PCF8583), dodatkowe porty (np: PCF8574) czy sterownik LED (np:

SAA1064). Zaznacz tylko, e zcze rozszerzajce IIC jest identyczne jak w Rejestratorze Telefonicznym AVT-5056. Na koniec warto wspomnie o przyciskach SW1 i SW2. Rwnoczesne ich przytrzymanie podczas resetu procesora spowoduje ustawienie standardowej konfiguracji (brak kodu dostpu, liczba dzwonkw autozgoszenia 3). Naciskanie ich podczas pracy nie powoduje adnych reakcji, ale nie ma problemu, aby doda w programie kilka linii i przyciski bd speniay jakie funkcje. Diody D3...D5 sygnalizuj stan pracy przystawki. D3 informuje o bdach, D4 o poprawnej pracy, D5 o ustawieniu standardowej konfiguracji lub o poziomie aktywnym na optoizolowanym wejciu J7. Dwa sygnay wyjciowe s dostpne na zczach J4 i J5. Dziki zastosowaniu inwerterw 74LS06 wyjcia mona obciy znacznym prdem.

Sterowanie modemem
Aby wysa czy odebra jakikolwiek znak do/z modemu naley odpowiednio ustawi linie sygnaowe. - ustawiamy lini DTR w stan aktywny. - modem powinien odpowiedzie ustawieniem linii DSR. Jeli sygna ten nie pojawi si, oznacza to, e modem jest nie podczony lub ma wyczone zasilanie. - ustawiamy w poziom niski lini RTS informujc modem, e jestemy godowi do przyjmowania danych od niego. - aby wysa znak do modemu sprawdzamy stan linii CTS. Jeli jest nieaktywna oznacza to, e modem nie jest w stanie przyj danych i musimy poczeka a zmieni stan linii CTS na aktywny. - dane z modemu zapamitujemy w buforze. Jeli bufor jest prawie peny ustawiamy linie RTS w stan nieaktywny. Gdy bufor oprni si, stan linii RTS zmieniamy na aktywny zezwalajc na wysyanie kolejnych danych przez modem. Po zaincjalizowaniu w/w linii warto do modemu wysa komend "ATZ" aby przywoa standardowe ustawienia. Prawie zawsze konieczne jest wysanie jakiegokolwiek znaku (np. komendy AT) aby modem mg okreli z jak prdkoci wysyamy do niego znaki. W przeciwnym wypadku komenda RING przysana zostanie do UARTa ze standardow prdkoci modemu, ktra niekoniecznie musi by taka sama jak ustawiona w UARCIe. W konsekwencji odczytamy krzaczki a nie komunikat RING. - przyjcie dzwonka objawia si zmian stanu linii RI i wysyaniem przez modem komunikatu "RING". UWAGA! Znaczenie linii CTS/RTS i DTR/DSR jest zalene od trybu pracy (simpleks/pdupleks/dupleks) i w literaturze mona spotka si z innymi opisami. Jeli nie mamy ochoty na zabaw z liniami CTS, RTS lub wykorzystujemy je do innego celu, modem mona ustawi tak, aby ich stan by ignorowany. Odpowiadaj za to komendy "Rn", "Kn" i "Dn". Przykadowa sprawdzona sekwencja ustawiajca taki tryb wyglda tak: "AT&F&R1&K0&D0W2X4" Sprawdzone fragmenty programu wysyajcego i odbierajcego znaki z/do modemu mona zobaczy na listingu poniej.
;=========================================== org $0000 ljmp start ;---------------------------------------------------------------------------org $03 ;Int0 ljmp irq_uart

;---------------------------------------------------------------------------;Inicjalizuje UART typu 16C550 (musi byc przed "init_timer") ; init_16C550: mov a,quart ;Zapisz rejestr prdkoci (na podstawie "quart") rl a rl a anl a,#%11111100 push ACC mov dptr,#tab_quartDL movc a,@a+dptr ; odczytaj DLM do R7 mov R7,a pop ACC ; odczytaj DLL do R6 inc a movc a,@a+dptr

mov

R6,a

mov dptr,#LCR ;Wybierz rejestry podzielnika mov a,#$80 movx @dptr,a mov dptr,#DLL ; zapisz modszy mov a,R6 movx @dptr,a inc dptr ; zapisz starszy mov a,R7 movx @dptr,a mov dptr,#LCR ;parametry transmisji mov a,#%11 movx @dptr,a mov dptr,#IER ;wczenie przerwa IF UARTIRQ=1 ;------- Obsuga UARTa na IRQ -----mov a,#%0001 ELSE ;------- Obsuga UARTa przez poling ---mov a,#%0000 ENDI movx @dptr,a mov dptr,#FCR ;wczenie FIFO mov a,#%1
movx @dptr,a mov dptr,#MSR mov a,#%1111 movx @dptr,a ;linie aktywne

mov wsk_rx_mod_w,#0 ;Wskanik bufora odbiorczego mov wsk_rx_mod_r,#0 setb EX0 ;Zezwlna IRQ od UARTa clr IT0 ; wyzwalane poziomem mov dptr,#ISR ;Odczyt ISR (starawdzanie typu UARTa) movx a,@dptr anl a,#%11000000 ; jesli bit 6 i 7 ustawiony cjne a,#%11000000,init_16C_1 setb FL_16C550 ; to jest uart 16C550 ret init_16C_1: clr FL_16C550 ; nie to uart 16C450 ret Powyszy listing wpisuje do ukadu UART z tablicy tab_quartDL prdko transmisji. Ze wzgldu na to, e pod adresem rejestrw podzielnika znajduj si take rejestry bufora nadawczego i odbiorczego odpowiednim wpisem do rejestru LCR (ustawiony bit 7) wybieramy rejestry podzielnika. Po zapisaniu ich wpisem do rejestru LCR wybieramy rejestry nadawczy i odbiorczy oraz rwnoczenie ustawiamy parametry transmisji 8N1. Ponadto procedura ustawia linie gotowoci w stan aktywny ZAPISUJC ODPOWIEDNIE DANE DO REJESTRU MSR. Zalenie od opcji kompilacji wczane s przerwania zapisem do rejestru IER. Procedura uaktywnia take bufor FIFO (rejestr FCR), ktry w tej konfiguracji nie wymaga dodatkowej obsugi. Ustawiane s take wskaniki bufora odbiorczego (wsk_rx_mod_w i wsk_rx_mod_r) oraz sprawdzany jest typ UARTa (czy posiada FIFO czy nie) przez sprawdzenie bitw 6 i 7 rejestru ISR. UWAGA! FIFO moe pracowa w dwch trybach. Pierwszy tryb jest kompatybilny z ukadami 16C450 czy 8250. Po obebraniu bajtu po RSie ukad ustawia bit w rejestrze statusu i (jeli s ustawione) generuje przerwanie. Gdyby, zanim CPU odczyta bajt przyszed kolejny znak, UART odebra dane zostan one zapamitane w FIFO. Po obsueniu przez CPU pierwszego odebranego bajtu UART znw ustawi bajt w rejestrze statusu (i ewentualnie wygeneruje przerwanie). Dziki temu znaki nie s tracone a program obsugi odbioru znakw nie musi by modyfikowany (poza ustawieniem FIFO UARTa). Drgi tryb, tze DMA, pozwala na ustawienie po ilu znakach w FIFO zostanie wygenerowane przerwanie. Gdy np. ustawimy, e przerwanie ma by generowane po odebrani 8 znaku, to po jego odebraniu musimy z uarta odczyta 8 znakw. Jako, e bufor ma 16 bajtw, to kolejne ewentualnie przychodzce znaki s gromadzone w buforze. Tryb ten sprawdza si przy szybkiej transmisji duej iloci danych, jest natomiast bardzo kopotliwy przy transmisji maych pakietw danych.

;---------------------------------------------------------------------------clr_buf_modem: lcall get_char_mod ;Oczyc bufor odbiorczy jc *-3 ret Powysza procedura odczytuje wszystkie znaki z ukadu UART. W konsekwencji oprnia bufor odbiorczy FIFO. T sama funkcje mona by osign ustawiajc odpowiedni bit w rejestrach UARTa. ;---------------------------------------------------------------------------;rdo przerwania okrela zawarto rejestru ISR: ; Level 1: %0000 MSR - kasowanie: odczyt MSR ; 2: %0010 TXRDY - kasowanie: odczyt THR lub ISR ; 3: %0100 RXRDY - kasowanie: odczyt RHR lub ISR ; 4: %0110 LSR - kasowanie: odczyt ISR ; irq_uart: push PSW push ACC push DPH push DPL

mov dptr,#ISR ;Odczyt ISR pozwala okreli rdo przerwania movx a,@dptr ; ;--------------------------------------cjne a,#%0100,irq_uart_msr ;Czy przerwanie odbiorcze? mov dptr,#RHR ; tak wic odczytaj dan z UARTa movx a,@dptr mov dptr,#BUF_RX_MOD ; oblicz adres w buforze mov DPL,wsk_rx_mod_w movx @dptr,a ; zapisz znak do bufora inc wsk_rx_mod_w ; next adres push ACC ;zapamitaj odczytany bajt IF RTSCTS=1 lcall zuzycie_bufora ;Sprawd zajeto bufora cjne a,#255-BUF_MARG,*+3 ;czy bufor prawie peny ? jc *+2+3 ; - nie to skok lcall clr_rts ; - tak wic powstrzymaj nadawanie modemu ENDI lcall zuzycie_bufora ;Sprawd zajeto bufora cjne a,#255,*+3 ;czy bufor zapeniony ? jc *+2+3 ; - nie to skok ljmp error ; - tak wic mamy problem pop ACC ;odtwrz zapamitany bajt sjmp irq_uart_exit ;--------------------------------------irq_uart_msr: cjne a,#%0000,irq_uart_lsr ;Czy przerwanie od MSR? mov dptr,#MSR ; tak wic kasuj przerwanie movx a,@dptr sjmp irq_uart_exit ;--------------------------------------irq_uart_lsr: cjne a,#%0110,irq_uart_exit ;Czy przerwanie od LSR? mov dptr,#LSR ; tak wic kasuj przerwanie movx a,@dptr sjmp irq_uart_exit ;--------------------------------------irq_uart_exit: pop DPL pop DPH pop ACC pop PSW reti Powysza procedura obsugi przerwania jest wywoana gdy w UARCIE znajdzie si cho jeden znak. Na pocztku okrelane jest rdo przerwania przez sprawdzane rejestru ISR. Jeli jest to przerwanie odbiorcze odczytywany jest bajt danych z rejestru RHR i zapisywany w buforze odbiorczym w mieszczcym si w pamici RAM. Nastpnie sprawdzane jest zuycie bufora odbiorczego procedur zuzycie_bufora. Jeli bufor jest prawie peny procedura clr_rts zmienia stan linii RTS informujc modem aby zaprzesta przesyania znakw do procesora. Jeli bufor zostanie zapeniony cakowicie (co w normalnych warunkach nie moe mie miejsca) wywoywana jest obsuga bdu (procedura error). Jeli przerwanie pochodzi z innego rda ni bufora odbiorczego jest kasowane po czym procesor koczy obsug przerwania. ;----------------------------------------------;Oblicz rznic pomidzy wskanikami "wsk_rx_mod_w" a "wsk_rx_mod_w" ;WE: "wsk_rx_mod_w" ; "wsk_rx_mod_w" ;WY: Acc - rnica pomiedzy wskanimami ;Zmienia: Acc ; zuzycie_bufora: clr C mov a,wsk_rx_mod_w subb a,wsk_rx_mod_r jnc zuzycie_bufora1 ;jeli liczba dodatnia to skoczu setb C ; liczba ujemna to oznacza e mov a,wsk_rx_mod_w ; wskaniki przewiny si subb a,wsk_rx_mod_r ; i trzeba obliczy odwrotnie zuzycie_bufora1:ret Powysza procedura sprawdza zajto bufora odbiorczego. ;----------------------------------------------;Wycz RTS (zatrzymaj nadawanie przez modem) ;WE: -;WY: -;Zmienia: Acc, Dptr ; clr_rts: mov dptr,#MCR movx a,@dptr clr ACC+DTR ;RTS

movx ret

@dptr,a

Procedura przez wpis do rejestru MCR powstrzymuje nadawanie znakw przez modem. ;----------------------------------------------;Wcz RTS (zezwl na nadawanie przez modem) ;WE: -;WY: -;Zmienia: Acc, Dptr ; set_rts: mov dptr,#MCR movx a,@dptr setb ACC+DTR ;RTS movx @dptr,a ret

Procedura przez wpis do rejestru MCR zezwala na nadawanie znakw przez modem. ;---------------------------------------------------------------------------;Czyta znak z bufora odbiorczego ;WY: Acc - odczytany znak ; C - status (C=1 jest znak) ;Zmienia: Acc ; get_char_mod: IF UARTIRQ=1 ;------- Obsuga UARTa na IRQ -----mov a,wsk_rx_mod_w ;Czy jest znak w buforze? cjne a,wsk_rx_mod_r,get_char_mod_y clr C ;Znacznik - nie ma znaku ret get_char_mod_y: push DPH ; jest - rejestry na stos push DPL IF RTSCTS=1 lcall zuzycie_bufora ;Sprawd zajeto bufora cjne a,#BUF_MARG,*+3 ;czy bufor prawie pusty ? jnc *+2+3 ; - nie to skok lcall set_rts ; - tak wic zezwl na nadawanie modemu ENDI mov dptr,#BUF_RX_MOD ; oblicz adres w buforze mov DPL,wsk_rx_mod_r movx a,@dptr ; odczytaj znak z bufora inc wsk_rx_mod_r ; next adres lcall inc_bodb ;Incrementuj licznik bajtw odebranych pop DPL ; wyjd ze znacznikiem - jest znak pop DPH setb C ret ELSE ;------ Obsuga UARTa przez poling ----push DPH push DPL mov dptr,#LSR ;Sprawdz czy jest cos w rejestrze movx a,@dptr anl a,#1 cjne a,#0,get_chat_mod1 ;-jest to skok pop DPL pop DPH clr C ;Znacznik nie ma znaku ret get_chat_mod1: mov dptr,#RHR ;Odczytaj znak movx a,@dptr pop DPL pop DPH setb C ;Znacznik OK ret ENDI Powysza procedura czyta znaki z bufora odbiorczego, ktry jest zapisywany w przerwaniu.

;---------------------------------------------------------------------------;Wpisuje znak do bufora THR i czeka na koniec transmisji ; put_char_mod: push ACC push B

push DPH push DPL IF RTSCTS=1 push ACC ;Jeli modem powstrzymuje transmisje to czekaj mov B,#CONST_CTS mov dptr,#MSR put_char_mod2: movx a,@dptr jnb ACC+CTS,put_char_mod3 ; jeli CTS nieaktywne to odliczaj czas sjmp put_char_mod4 ; CTS aktywne wic skocz do nadawania znaku put_char_mod3: mov a,#1 ;Ptla czasowa lcall wait_10ms djnz B,put_char_mod2 ;jeli niemin czas to skok lcall break ; - tak wic rozcz modem mov a,#ERR_CTS lcall print_err ljmp restart ; i restartuj system put_char_mod4: pop ACC ENDI mov dptr,#THR movx @dptr,a mov dptr,#LSR ;Czeka na koniec transmisji wait_thr: movx a,@dptr jnb Acc.5,wait_thr pop pop pop pop ret DPL DPH B ACC

Procedura wysya znak do UARTa. Zalenie od opcji kompilacji przed wysaniem znaku sprawdza czy modem moe przyjmowa dane (czy uaktywni linie CTS) sprawdzajc rejestr MSR. Jeli modem za dugo bdzie powstrzymywa transmisj (np. wyczono mu zasilanie) to zostanie wywoana procedura break rozczajca poczenie oraz zasygnalizowany zostanie bd. Jeli mona wysa znak do modemu bajt danych jest wpisywany do rejestru THR po czym procedura czeka na wysanie znaku sprawdzajc rejestr LSR. Dziki buforowi FIFO procesorowi wydaje si, e znak zosta wysany natychmiast. Nie bdzie oczywicie dziao si tak w nieskoczono poniewa po 16 znaku UART da sygna, e znak nie zosta jeszcze nadany i procesor bdzie musia poczeka na koniec transmisji. Opisano tylko najwaniejsze fragmenty procedur obsugi UARTa. Cae listingi s dostpne na CD doczonym do ksiki.

Uruchomienie przystawki
W pierwszej kolejnoci sprawdzamy napicia zasilania. Jeli wszystkie s poprawne umieszczamy ukady w podstawkach. Wczamy zasilanie i potencjometrem P1 ustawiamy kontrast wywietlacza. Wywietlacz nie jest konieczny do pracy przystawki, ale uatwia procedur uruchamiania. Podczamy wczeniej skonfigurowany modem do przystawki (typowa konfiguracja "AT&F&R0&K3&D2W2X4"). Po wczeniu zasilania dioda D4 powinna zawieci, a po chwili na wywietlaczu przystawki powinny pojawi si nastpujce komunikaty: "Modem 51 Vww" gdzie ww-nr wersji programu "(C)2003 by AVT" "16C550 xxxxx" gdzie xxxxxx-czstotliwo kwarcu UARTa "MEM yyyy/zzkB" gdzie yyyy-zajto pamici programu, zz-wielko zainsalowanej RAM "System Init OK" "Ready..." a dioda D4 zacznie pulsowa. Jeli pami konfiguracji bdzie "czysta" rwnoczenie z D4 pulsuje D5. Jeli program stwierdzi jak nieprawidowo pojawi si komunikat o bdzie. Kademu komunikatowi towarzyszy odpowiednia liczba migni diody D3. Dziki temu nawet jeli do przystawki modemowej nie podczono wywietlacza LCD na podstawie diody D3 mona wywnioskowa o jaki bd chodzi. Poniej lista moliwych bdw: "Err: Init Modem" (3 mignicia D3) Nie wykryto modemu (modem nie odpowiedzia tekstem OK na komend AT. Przyczyna moe lee w konwerterze U3, zczu J2 kabelkach lub modemie. Do dalszych testw musimy zapewni sobie dobr widoczno diod LED modemu. Wyczamy zasilanie przystawki. Po wczeniu zasilania DTR powinna zawieci, a po chwili (zaraz po pojawieniu si tekstu "System Init OK" i zapaleniu diody D3) na modemie powinna mign dioda RX czasem opisana jako RXD lub RD. Gdy RX przestanie wieci, modem powinien odpowiedzie migniciem diod TX opisan czasem TXD lub SD. Jeli modem odpowiada, problem ley w torze odbiorczym (od modemu do przystawki) jeli na modemie nie zawieca si led RX, problem ley w torze nadawczym. Brak wiecenia DTR take oznacza problemy z torem nadawczym. "Err: Stos" (4 mignicia)

Bd taki nie powinien pojawi si i jest spowodowany bdem w programie. W przypadku jego pojawiania si naley skontaktowa sie z autorem przystawki. UWAGA! Czasem bd ten pojawia si jeli program nie wykryje modemu. "ERR: Q-UART xxxx (5 migni D3) Bd ten pojawia si, gdy do UARTa doczono kwarc o nieodpowiedniej czstotliwoi lub gdy generator nie wzbudza si. W miejscu znakw xxxx pojawi si liczba szesnastkowa okrelajca zawarto timera mierzcego czstotliwo kwarcu. Jeli znajduje si tam liczba 0000 oznacza to, e generator UARTa nie pracuje. Inne cyfry oznaczaj wykrycie kwarcu, ktrego czstotliwo nie znajduje si w tablicy programu, w zwizu z czym nie da si zaprogramowa rejestru podzielnika (rejest DLL i DLM). "Err: XRam" (6 migni D3) Bd pojawia si, gdy procesor nie wykryje pamici SRAM w U4. Przyczyny naley szuka w samej pamici dekodera adresowego (U12 i U13). Przyczyna moe lee te w nieprawidowym funkcjonowaniu zatrzasku U7. "Err: SIO" (7 migni D3) Nie wykryto ukadu SIO w U2. Problem moe lee w dekoderze adresowym U12 lub generatorze ukadu SIO opartym o kwarc Q1. Nieprawidowoci w funkcjonowaniu zatrzasku U7 naley wyeliminowa, poniewa ukad SIO jest sprawdzany po pamici RAM. Jei nie wykryto bdu pamici RAM to zatrzask musi pracowa poprawnie. "Err: EEProm" (8 migni D3) Nie wykryto sygnau ACK pamici EEPROM w U16. Prawdopodobna przyczyna to uszkodzona pami lub nie wlutowane lub wlutowane o zych nominaach rezystory R14, R15. "Err: Init IIC" (9 migni) Nie mona zainicjalizowa magistrali IIC. Prawdopdobna przyczyna to zwarcie na magistrali IIC lub ze rezystory R14 i R15. Zwarcie moe powodowa ukad podczony do magistrali. W pierwszej kolejnoci naley usun pami U16 i ponowi test. Jeli bdu nie bdzie to znaczy, e powodem problemu z zainicjalizowaniem magistrali jest ukad U16. "Err: CTS" (10 migni) Bd ten raczej nie powinien pojawi si. Program monitoruje lini CTS powstrzymujc transmisj. Jeli transmisja bdzie powstrzymywana zbyt dugo, pojawia si ten wanie bd. Teoretycznie bd moe pojawi si, gdy modem jest bardzo wolny, a program wysya dane do modemu bardzo szybko. W obecnych czasach znalezienie wolnego modemu jest raczej niemoliwe, zwaszcza e procesor wysya dane z prdkoci 2400bd. Bd ten moe pojawi si te, gdy wczymy modem podczas inicjalizacji przystawki. Po pojawieniu si ktregokolwiek z wyej wymienionych bdw, program podejmuje ponown prb uruchomienia przystawki. Dziki temu chwilowe zakcenia nie powoduj zawieszenia si programu.

Obsuga przystawki
Modem ktry chcemy uywa z przystawk, naley wczeniej skonfigurowa na komputerze programem terminala. Spowodowane jest to tym, e przystawka inicjalizujc modem wysya do niego komend "ATZ". Po podczeniu modemu do komputera i uruchomieniu programu terminala wysyamy komend: "AT&F&R0&K3&D2W2X4". Powinnimy uzyska potwierdzenie "OK". Nastpnie wydajemy komend "AT&W". Konfiguracja komplikuje nieco proces uruchamiania przystawki, ale daje moliwo dowolnego skonfigurowania modemu, zalenie od potrzeb. Po konfiguracji modem mona przyczy do przystawki. W standardowej konfiguracji modem zgasza si po trzecim dzwonku i nie jest wymagane wprowadzenie kodu dostpu. Standardowa konfiguracja jest sygnalizowana przez rwnoczesne miganie ledw D4(zielona) i D5(ta). Korzystajc z programu terminala i dowolnego modemu, dzwonimy na modem przyczony do przystawki. Po pierwszym dzwonku pojawi si komunikat "Ring...". Po odebraniu ustawionej liczby dzwonkw pojawia si napis "Modem Busy...". Jeli w konfiguracji ustawiono zgoszenie, po pierwszym dzwonku nie pojawia si napis "Ring" tylko od razu "ModmBusy" . Jeli modemy nawi poczenie na wywietlaczu ujrzymy napis "CONNECT", dioda D3 zawieci si, natomiast do drugiego modemu zostanie wysany tekst "POCZENIE" oraz informacja o autorze programu. Pierwsze co powinnimy zrobi to zmieni kod wydajc komend "KOD". Zostaniemy wtedy poproszeni o wprowadzenie szecioznakowego kodu oraz jego weryfikacj. Kod podczas wpisywania nie jest widoczny. W kodzie rozrniane s mae i wielkie litery. Jeli operacja zmiany kodu powiedzie si ujrzymy komunikat "Kod zosta zmieniony". Od teraz po nawizaniu poczenia bdziemy proszeni o wypisanie kodu. Po 6-ciu nieudanych prbach modem rozczy poczenie. Wydajc komend "AUTOANSWER" moemy zmieni liczb dzwonkw po ktrej modem zgosi si. Komend "ProgOn" i "ProgOff" aktywujemy i dezaktywujemy wyjcie wyprowadzone na zcze J4. "InitOn" i "InitOff" steruje wyjciem J5. Komenda "PioOut" ustawia stan portu rwnolegego JP4. Warto wpisujemy w

kodzie HEX. Stan optoizolowanego wejcia J7, rwnolegego wejcia JP5 oraz wyj J4, J5, JP4 mona odczyta komend Input". Ciekawa jest komenda "CallBack". Po jej wpisaniu wprowadzamy nr telefonu na ktry przystawka bdzie oddzwania. Przystawka przerwie poczenie, po czym podejmie pi prb oddzwonienia i nawizania cznoci z modemem. Podczas oddzwaniania na wywietlaczu pojawia si napis "Dial xx yyy", gdzie xx-nr prby oddzwonienia liczony od gry, yyy-odliczany czas na nawizanie poczenia. Gdy czas ten minie, pojawi si napis "Delay yyy", gdzie yyy-odliczany czas opnienia. Gdy czas dojdzie do zera, nastpi kolejna prba poczenia si. Oddzwanianie mona przerwa dzwonic na nr modemu przystawki. Po odebraniu dwch dzwonkw przystawka przejdzie do stanu oczekiwania, po kolejnych nastpi zgoszenie przystawki. Warto te wspomnie, e wpisywanie parametru do komendy mona przerwa naciskajc klawisz ESC. Komend "CntCall"` ustawiamy liczb prb poczenia dla funkcji oddzwo. "WaitCall" ustawia maksymalny czas na nawizanie poczenia (od zgoszenia modemu do pojawienia si aktywnego stanu linii DCD). "DelCall" ustawia czas pomidzy kolejnymi prbami dodzwonienia si. "MemCall" umoliwia wpisanie nr, na ktry przystawka oddzwoni jeli otrzyma mniej dzwonkw ni ustawiono rozkazem "AutoAnswer". Dziki temu jeli ustawimy auto zgoszenie po np. 3 dzwonkach, a zadzwonimy na przystawk i po pierwszym lub drugim dzwonku rozczymy si, przystawka oddzwoni na wczeniej zaprogramowany numer. Dziki temu moemy inicjowa poczenie na koszt linii, do ktrej przyczono przystawk. Jeli nr nie zostanie wpisany komend "MemCall" (po i wydaniu komendy naciniemy enter) przystawka nie bdzie oddzwania po odebraniu dzwonka. Podobnie bdzie, gdy ustawimy liczb dzwonkw rwn 1. Na rozkaz "Info" przystawka odpowiada wywietlajc ustawienia przystawki (liczba dzwonkw auto zgoszenia, czasy opnie dla funkcji oddzwaniania, itp) Poczenie mona przerwa na dwa sposoby. Mona wysa komend "Break", wtedy przystawka przerwie poczenie. Drugi sposb to wysa do modemu sekwencj rozczajc modem (typowo +++ ATH). W programach terminala funkcja rozczania jest przewanie "podpita" pod skrt klawiszowy. Nie jest istotne jakim sposobem rozczymy poczenie, poniewa programy ledz stan linii DCD i w razie zaniku sygnau nonej rozczaj poczenie. Spis wszystkich komend przystawki moemy otrzyma wydajc komend "HELP" lub "?".

Poczenie z innym modemem


Wysyamy polecenie "ATDT1234567" i czekamy na komunikat CONNECT. Jeli nie pojawi si w odpowiednim czasie (np. 40 sekund) rozczamy si wysyajc "ATH". Jeli tego nie uczynimy to i tak modem rozczy poczenie po czasie ustawionym w S-rejestrach. Fakt nawizania poczenia z drugim modemem moemy wykry badajc stan linii DCD. Jeli jest aktywna modemy "widz si". Zanik sygnau DCD oznacza zerwanie poczenia. Modem sam zwolni lini telefoniczn wracajc do przyjmowania komend. Po wydaniu polecenia "ATDT" moemy sprawdzi czy nie otrzymalimy innej odpowiedzi ni CONNECT. Modem moe odpowiedzie BUSY jeli dany nr jest zajty lub NO DIAL jeli nie wykryje sygnau zgoszenia centrali (ton 400Hz). Z wykrywaniem tonu 400Hz mog by pewne kopoty. Jeli na linii do ktrej podczylimy modem wczymy jak usug (np. przeniesienie numeru) to ton zgoszenia centrali nie jest cigy lecz co kilka sekund zanika na okoo 500ms. Modem moe potraktowa t sytuacj jako brak tonu 400Hz. Na szczcie komend "ATX0" moemy wyczy oczekiwanie na sygna zgoszenia centrali. Jeli otrzymalimy komunikat CONNECT (moe by z dodatkowymi informacjami o szybkoci transmisji, protokole) moemy wysya informacje do drugiego modemu. Wszystko co wylemy zostanie przesane do drugiego modemu, modem jest jakby przezroczysty i nie bdzie reagowa na komendy AT (nawet rozczenie). Przejcie do trybu rozkazowego: Aby wyda jak komend podczas poczenia musimy wysa znaki "+++". Po otrzymaniu potwierdzenia "OK" mona wyda komend np. rozczenia "ATH". A co by si stao gdyby w cigu znakw, ktre wysyamy pojawi si cig "+++ATH"? Nie stao by si nic. Aby komenda zostaa przyjta modem po odebraniu znakw "+++" przez pewien czas nie moe otrzymywa adnych znakw. Jeli jakikolwiek znak pojawi si zanim modem wyle komunikat "OK", komenda nie zostanie przyjta, modem potraktuje to jako cig znakw, ktre naley przesa do drugiego modemu. Powrt do poczenia: Po przejciu w tryb rozkazowy poczenie jest cay czas podtrzymywane. Ewentualne dane przychodzce do modemu s zapamitywane w pamici CACHE modemu. Aby powrci do poczenia naley wyda komend ATO. Po tej komendzie otrzymamy ponownie komunikat o poczeniu (CONNECT) oraz ewentualne znaki zgromadzone w CACHE modemu. Przerwanie poczenia:

Jeli rozczenie przyjdzie od drugiego modemu lub poczenie zostanie przerwane, modem przyle do nas komunikat "NO CARRIER`". Zamiast cigle sprawdza przychodzce komendy, prociej monitorowa lini DCD. Stan aktywny tej linii wiadczy o tym, e modemy "widz si". Zmiana stanu linii na nieaktywny oznacza przerwanie poczenia. Jeli chcemy przerwa poczenie naley po przejciu w tryb rozkazowy wyda rozkaz ATH. Odbieranie poczenia: Mona monitorowa stan linii RI lub czeka na komunikat "RING". Po wykryciu dzwonka wysyamy komend "ATA" po czym czekamy na komunikat "CONNECT". Jeli wczylimy automatyczne zgaszanie si modemu (warto w rejestrze S0 rna od 0) nie musimy czeka na dzwonek tylko na komunikat "CONNECT", poniewa modem zgosi si automatycznie i nie trzeba wysya komendy "ATA". Podczas pisania oprogramowania okazao si, e w niektrych przypadkach kolejnej komendy nie mona wysa odrazu po otrzymaniu komunikatu "OK", lecz trzeba odczeka pewien czas. Cay program rdowy realizujcy powysze zadanie mona znale na CD doczonym do ksiki.

Program terminala
Na potrzeby ksiki zosta napisany specyficzny program terminala. Charakteryzuje si on tym, e: - umoliwia po uzyskaniu poczenia uruchomienie dowolnego programu. Przedtem jednak zwalnia port szeregowy na jego potrzeby. Po zakoczeniu wywoanego programu port szeregowy ponownie zostanie zajety. - Umozliwia wybranie nr wewnetrzego na tle zapowiedzi DISA Program jest napisany w DOS dla PC i moe zostac wykoystany sterownikach opartych o PC. Uruchomienie programu "AVT-Term" powoduje wysanie do modemu pliku "Open.cfg" gdzie znajduje si acuch inicjalizujcy modem. Jeli program nie znajdzie pliku "Open.Cfg" uzna e to pierwsze jego uruchomienie i przejdzie do ustawiania parametrw portu szeregowego (dostpne take z menu i po naciniciu kombinacji Alt+U). W parametrach portu szeregowego mona ustawi: - nr portu COM (1...4) - szybko transmisji (600...1152000) - sposb wybierania nr (tonowy lub impulsowy) - liczb bitw danych (5...8) - liczb bitw stopu (1 lub 2) - parzysto (brak, parzysto, nieparzysto) - sterowanie przepywem (brak, sprztowe, programowe, sprztowo-programowe) - wczenie lub wyczenie zapisu danych z okna do pliku (AVT-Term.log) Uycie w plikach konfiguracyjnych ("*.cfg") sekwencji znakw "M^" powoduje wysanie kodu enter, natomiast po sekwencji "+++" program czeka na pojawienie si sekwencji "OK", ale nie duej ni 2 sekundy. W menu mamy dostpne opcje nawizujc poczenie (klawisz F1), rozczajc poczenie (Klawisz F3) uruchamiajc program (Klawisz F2) oraz odbierajc poczenie (wysanie sekwencji "ATA" - klawisz F4). Wybranie opcji "Pocz" powoduje ukazanie si okienka, w ktrym moemy wpisa wybierany nr. Jeli modem z ktrym chcemy si poczy jest podczony do centrali telefonicznej na numerze wewntrznym a centrala ma usug DISA, wypeniamy dodatkowo pole "Wew.". W tym przypadku po poczeniu z central (sycha w goniku zapowied DISY) naciskamy gadet "Wewntrzny". Po nawizaniu poczenia okienko znika, jeli natomiast poczenie nie powiodo si ujrzymy stosowny komunikat. Ta wersja programu Term ma t przyjemn cech, e pozwala na uycie w nr znakw specjalnych w numerze (np "!") na co niekoniecznie pozwalaj inne programy (np. HyperTerm czy Term90). Rozczenie poczenia powoduje wysanie do modemu pliku "Close.cfg". Podobna akcja jest podejmowana przy wyjciu z programu. Przed uruchomieniem programu (klawisz F2) do modemu jest wysyany plik "nazwa_programu.cfg" po czym zwalniany jest port szeregowy (bez przerywania poczenia). Po powrocie z programu port szeregowy ponownie jest inicjalizowany i program "AVT-Term" przejmuje kontrol nad portem szeregowym. Opcj uruchamiania programu posiada np. "Term90" tyle, e nie zwalnia on portu i s problemy z obsug UARTa pollingiem. Opcje uruchamiania programu moemy przetestowa uruchamiajc program "UartGet". Program ten jest prostym programem terminala. Z programu wychodzimy naciskajc ESC. Nacinicie klawisza F3 powoduje wysanie pliku "End.cfg" rozczajcego modem. Sekwencja ta jest wysyana take przed wyjciem z programu (Alt+X). Na koniec warto wspomnie o moliwoci zmiany sposobu wywietlania informacji w oknie terminala kombinacj Alt+F (dane Ascii lub Hex). Jeli komu nie odpowiada wyej opisany program moe skorzysta z dowolnego programu terminalowego (take na innych komputerach, np.: Mac czy Amiga). Dodatkowo na CD zamieciem programy DOSowe:

"UartTest" umoliwiajce testowanie portw w komputerze, "UartInit" programowo incjalizujacy port szeregowy, "UartGet" - prosty program umoliwiajcy wysyanie i odbieranie danych po porcie szeregowym oraz prosty program terminala Coomon napisany w VisualBasicu (umozliwja sterowanie liniami DTR/RTS). Do wszystkich programw doczone s kody rdowe Znajdziecie tam te program EzTerm dla Win. Jego charakterystyczn cech jest moliwo indywidualnego sterowania liniami DTR i RTS (podobnie jek w programie common w VB). czenie modemw na linii dzierawionej Takie poczenie modemw moe by przydatne tam gdzie trzeba transmitowa dane na due odlegoci ze redni prdkoci, a do dyspozycji mamy jedn par przewodw. Inne zastosowanie to transmisja danych na due odlegoci za porednictwem czy dzierawionych. Takimi czami ze wzgldu na wystpujce po drodze przejcia z torw analogowych na cyfrowe, wiatowd i odwrotnie mona transmitowa tylko sygnay telefoniczne z pasma 300-3400Hz przez co odpada transmisja w standardzie RS485.

Jak kady wie modemy mona poczy za porednictwem centrali telefonicznej. Wyprbowaem jednak inn moliwo, poczyem modemy ze sob kablem bez porednictwa jakichkolwiek urzdze. Ze wzgldu na to, e modem prbujcy nawiza czno nie otrzyma tonu 400Hz, trzeba wyczy jego detekcje komend ATX0. Wybieramy nr komend ATD. Na drugim modemie musimy wykona komend ATA. Po chwili modemy dogadaj si o czy zostaniemy poinformowani komunikatem CONNECT. Pojawia si pewien problem, gdy poczenie zostanie zerwane. Wtedy to jeden z modemw musi wykona komend ATA, drugi ATD. Ze wzgldu na to, e modem wydajcy komend ATA nie wie czy i kiedy drugi z modemw prbuje si z nim poczy, musi on cigle wysya rozkaz ATA, po czym czeka na CONNECT lub NO CARRIER. Jeli otrzyma CONNECT to przechodzi do transmisji, jeli NO CARRIER to ponownie wysya ATA. Jeli transmisja zostanie zerwana (najlepiej bada stan linii DCD) to ponownie wysyamy ATA. Drugi modem powinien wysya ATD i tak jak pierwszy z modemw czeka na komunikat CONNECT lub NO CARRIER. Podobnie jak pierwszy modem gdy otrzyma NO CARRIER lub starci non (nieaktywna linia DCD) prbuje ponownie nawiza poczenie wykonujc rozkaz ATD. Po wysaniu ATA (dla modemu odbierajcego) lub ATD (dla nadajcego) modem przez 60 sekund prbuje nawiza poczenie (chyba, e zmienimy to w S-rejestrach), dziki temu prdzej czy pniej modemy dogadaj si.

Zawarto CD HayesAT katalog z plikami opisujcymi komendy i obsug AT modemw analogowych, cyfrowych i GSM. Noty noty katalogowe ukadw UART. Programy.Pas Przykadowe programy rdowe i wykonywalne obsugujce UART i wysyajace SMSy. Programy.s51 Program rdowy i wynikowy przystawki modemowej. Programy.VB Program terminala napisany w VB. Schematy Schematy i rysunki pytek przystawki modemowej. Term Program terminala napisany w Pascalu wraz z kodami rdowymi. EzTerm program terminala

Sawomir Skrzyski

You might also like