Mobilní telefon (MT) komunikuje většinou po Rx a Tx vedení. Proto na mikroprocesoru (uP) vyčleníme dva I/O piny pro tuto komunikaci. Jeden nastavíme jako výstup, ten bude pro odesílání dat (Tx) a propojíme ho s Rx na MT. Další nastavíme jako vstup, ten bude pro příjem dat z MT (Rx) a propojíme ho s Tx na MT. Obě linky připojíme přes odpory (asi 10 kO) na GND viz. obrázek. To je důležité, protože některé MT nastavují v průběhu komunikace výstup do stavu vysoké impedance a linka by neměla v tu chvíli definovanou úroveň.
Z Tx odesíláme data do MT v dále popsaném formátu. Každý znak (písmeno) tvoří jeden byte (bajt). Např. příkaz AT vypadá takto:
Výchozí, klidový, stav je log. 1. Každý byte je tvořen start bitem, osmi datovými bity a jedním stop bitem.
START bit: délka = Tb, úroveň log. 0
STOP bit: délka = min. Tb , úroveň log. 1
D0 - D7: délka = Tb (každý bit), obsahují přenášenou informaci
Jednotlivé bity musí mít určitou délku danou přenosovou rychlostí. Např. pro Ericsson A1018s je přenosová rychlost 9600Bd (baudů). Délku bitu spočítáme: délka bitu Tb(s) = 1/přenosová rychlost (Bd); Tb(A1018s) = 1/9600 = 104,2 us
Teď něco o tom, jak jsou data kódována. Každý byte představuje jeden znak příkazu (viz. výše). Každý znak musíme převést na posloupnost jedniček a nul (D0 až D7). ASCI znak nejprve převedeme do tvaru HEXa např. pomocí této převodní tabulky. Potom z HEXa do tvaru BIN a je to.
Jedničky a nuly si dosadíme místo D0 až D7, doplníme start a stop bity a odešleme do MT.
Toto opakujeme s dalšími znaky AT příkazu. Na konci AT příkazu nesmíme zapomenout odeslat znak <CR> (v
hexa = 0D), aby MT věděl, že je příkaz u konce. MT na příslušné AT příkazy odpovídá po druhé lince
(z Tx mobilu na Rx procesoru). Odpovědi jsou dané typem příkazu, který jsme do něj poslali.
O tom však zase později.
Komunikace s MT: 19200 Bd / 8 / N / 1 ***SIEMENS***
Dále jsou tu ukázky rutin pro příjem znaků z MT. Po ukončení rutiny zůstane načtený byte v registru RXDAT.
Upozorňuji, že program má na začátku smyčku (s1), ve které zůstává do doby, než se na vstupu (Rx)
objeví start impuls z MT.
Procesor: PIC16F84
Hodiny procesoru: 3,579 MHz
Komunikace s MT: 9600 Bd / 8 /
N / 1 ***ERICSSON***
Komunikace s MT: 19200 Bd / 8 / N / 1 ***SIEMENS***