tato stránka aktualizována: 5.12.2003

Ovládání mobilních telefonů pomocí procesoru

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ň.

ovlMT1

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:

ovlMT2

Výchozí, klidový, stav je log. 1. Každý byte je tvořen start bitem, osmi datovými bity a jedním stop bitem.

ovlMT3

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.

ovlMT4

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.

Ukázky některých částí programů pro procesor

Jako první je ukázka rutiny, která zajišťuje odesílání jednoho byte z procesoru do mobilního telefonu (MT).Pokud do registru TXDAT uložíte byte, který chcete do MT odeslat a vyvoláte tuto rutinu, procesor vám ho tam odešle.
Procesor: PIC16F84
Hodiny procesoru: 3,579 MHz
Komunikace s MT: 9600 Bd / 8 / N / 1 ***ERICSSON***

SCITX 9600 Bd (klikni pro zobrazení v TXT).

Komunikace s MT: 19200 Bd / 8 / N / 1 ***SIEMENS***

SCITX 19200Bd (klikni pro zobrazení v TXT).

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***

SCIRX 9600Bd (klikni pro zobrazení v TXT).

Komunikace s MT: 19200 Bd / 8 / N / 1 ***SIEMENS***

SCIRX 19200Bd (klikni pro zobrazení v TXT).

 

 

návrat na hlavní stránku | E-MAIL | tato stránka založena: 23.12.2001 | © Amnez | Osobní stránky autora |

 

Články