ˇ ´ VYSOKE ´ UCEN ˇ ´I TECHNICKE ´ CESK E Fakulta elektrotechnick´a katedra radioelektroniky
Ovl´ad´an´ı mobiln´ıho telefonu jednoˇcipov´ ym procesorem Semestr´aln´ı projekt - 37MK
ˇ aˇr Student: Jan Saf´ kvˇeten 2006
1
´ Uvod
Motivac´ı ke zpracov´ an´ı t´ematu komunikace mobiln´ıho telefonu s okoln´ımi zaˇr´ızen´ımi je diplomov´a pr´ace, jej´ıˇz souˇc´ ast´ı je pˇrenos dat z jednoduch´eho mˇeˇr´ıc´ıho syst´emu na vzd´alen´ y poˇc´ıtaˇc pomoc´ı s´ıtˇe GSM. Z´akladem d´ ale uveden´ ych zp˚ usob˚ u ovl´ad´an´ı mobiln´ıch telefon˚ u je schopnost vˇetˇsiny z nich ”rozumˇet” AT pˇr´ıkaz˚ um. AT pˇr´ıkazy jsou normou definovan´e povely p˚ uvodnˇe vyvinut´e pro ovl´ad´an´ı modem˚ u. S n´ astupem mobiln´ı telefonie byly pak sady tˇechto pˇr´ıkaz˚ u pˇr´ısluˇsn´ ym zp˚ usobem rozˇs´ıˇreny. Je ovˇsem tˇreba podotknout, ˇze ne kaˇzd´ y v´ yrobce pˇri n´avrhu sv´ ych produkt˚ u dodrˇzuje striktnˇe doporuˇcen´ı pˇr´ısluˇsn´e normy a je proto tˇreba pˇristupovat k telefon˚ um r˚ uzn´ ych v´ yrobc˚ u individu´alnˇe. Nˇekter´e mobiln´ı telefony nav´ıc nemusej´ı m´ıt vestavˇen´ y HW modem, jejich ovl´ad´an´ı je komplikov´ano potˇrebou instalace podp˚ urn´ ych ovladaˇc˚ u a pro spojen´ı s jednoˇcipov´ ym procesorem jsou proto nevhodn´e.
2
Rozhran´ı mezi PC a mobiln´ım telefonem
Pˇred pˇristoupen´ım k realizaci vlastn´ıho rozhran´ı mezi mikrokontrol´erem a telefonem je moˇzn´e snadno odzkouˇset komunikaˇcn´ı schopnosti telefonu pomoc´ı osobn´ıho poˇc´ıtaˇce. K tomu potˇrebujeme m´ıt nainstalovan´ y nˇejak´ y termin´ al, tedy program, kter´ y um´ı na urˇcen´ y port poˇc´ıtaˇce odes´ılat znaky pˇr´ımo z kl´ avesnice. Pro naˇse u ´ˇcely je vyhovuj´ıc´ı program hypertermin´al, kter´ y je bˇeˇznou souˇc´ast´ı OS Windows. D´ ale potˇrebujeme jist´ y pˇrevodn´ık mezi s´eriov´ ym portem RS232 pˇr´ıp. USB poˇc´ıtaˇce a pˇeti (resp. tˇr´ı) voltovou logikou telefonu. Poslouˇzit n´am m˚ uˇze origin´aln´ı datov´ y kabel dod´avan´ ys MT nebo, v urˇcit´ ych pˇr´ıpadech, pˇrevodn´ık vlastn´ı v´ yroby. Konstrukce tohoto pˇrevodn´ıku je z´avisl´a na typu pouˇzit´eho telefonu, uvedu zde tedy jen struˇcn´ y pˇrehled vybran´ ych ˇreˇsen´ı.
2.1
Vhodn´ e mobiln´ı telefony
Jako vhodn´e oznaˇcuji takov´e telefony, kter´e pro komunikaci se sv´ ym okol´ım nepotˇrebuj´ı ˇz´adnou pˇr´ıdavnou elektroniku (vyjma obvodu pro konverzi napˇet’ov´ ych u ´rovn´ı RS232/TTL v pˇr´ıpadˇe komunikace s PC apod.). Pro pouˇzit´ı tˇechto telefon˚ u hovoˇr´ı nejen obvodov´a jednoduchost cel´eho ˇreˇsen´ı, ale i fakt, ˇze z´ astupci t´eto skupiny jsou pˇredevˇs´ım starˇs´ı (a tedy cenovˇe dostupnˇejˇs´ı) modely telefon˚ u. V n´ asleduj´ıc´ıch tabulk´ ach je uveden pˇrehled nˇekter´ ych vhodn´ ych model˚ u spolu s ´ parametry jejich s´eriov´eho kan´ alu. Udaje jsou pˇrevzaty z [1]. Typ GA628 GF788 GF768 SH888 T10s 1018s T28s R310s A2628s T65
Parametry komunikace 9600/8/N/1 9600/8/N/1 9600/8/N/1 9600/8/N/1 9600/8/N/1 9600/8/N/1 9600/8/N/1 9600/8/N/1 9600/8/N/1 9600/8/N/1
AT pro SMS NE NE ANO ANO ANO NE ANO ANO ANO ANO
Tabulka 1: Vhodn´e modely telefon˚ u znaˇcky Ericsson
1
Typ C10 C35 C45 A50 M50 C55
Parametry komunikace 19200/8/N/1 19200/8/N/1 19200/8/N/1 19200/8/N/1 19200/8/N/1 19200/8/N/1
AT pro SMS ANO ANO ANO NE ANO ANO
Tabulka 2: Vhodn´e modely telefon˚ u znaˇcky Siemens Sch´ema rozhran´ı mezi PC a telefony tohoto typu je velmi jednoduch´e - jde o zn´am´e zapojen´ı obvodu MAX232 ve funkci pˇrevodn´ıku napˇet’ov´ ych u ´rovn´ı sign´al˚ u Rx a Tx. Tento obvod se stal revoluˇcn´ım ˇreˇsen´ım proto, ˇze pˇri pouˇzit´ı minim´aln´ıho poˇctu extern´ıch pasivn´ıch souˇc´astek a jednoho nap´ ajec´ıho napˇet´ı +5V dok´ aˇze generovat aˇz ±12V pro rozhran´ı RS232. V datov´ ych kabelech pro GSM telefony se sp´ıˇse pouˇz´ıv´ a “klon” - MAX3232. Tento obvod se totiˇz spokoj´ı s nap´ajec´ım napˇet´ı cca 3V a m´ a menˇs´ı spotˇrebu neˇz klasick´ y MAX232. Pro nap´ajen´ı pˇrevodn´ıku (pˇredevˇs´ım klasick´eho MAX232) se doporuˇcuje pouˇz´ıt extern´ı nap´ajec´ı zdroj, nebot’ napˇet´ı ze s´eriov´eho portu poˇc´ıtaˇce nemus´ı b´ yt v jist´ ych pˇr´ıpadech (typicky notebooky) dostateˇcnˇe vysok´e. Jelikoˇz se jedn´ a o pˇr´ım´e propojen´ı dvou koncov´ ych zaˇr´ızen´ı pˇrenosu, je tˇreba nav´ıc prov´est pˇri zapojov´an´ı pˇrekˇr´ıˇzen´ı komunikaˇcn´ıch sign´al˚ u Rx a Tx. Zapojen´ı v´ yvod˚ u syst´emov´ ych konektor˚ u jednotliv´ ych model˚ u telefon˚ u lze snadno zjistit na ˇcetn´ ych internetov´ ych str´ank´ach vˇenovan´ ych tomuto t´ematu - napˇr. [1].
VCC
P1
13 8 11 10 +
1 3 4 5 2 6
1M
+
MT
VCC 1M
R1IN R2IN T1IN T2IN C1+ C1C2+ C2V+ VMAX232
+ +
1M
+
VCC
R1OUT R2OUT T1OUT T2OUT
12 9 14 7
Tx Rx
5 9 4 8 3 7 2 6 1
PC CONNECTOR DB9
GND
15
U1
Tx MT
16
GND
1M
1M
Rx MT
Obr´ azek 1: Pˇr´ıklad zapojen´ı jednoduch´eho rozhran´ı PC/MT.
2
2.2
Telefony Nokia nevybaven´ e rozhran´ım USB
Zat´ımco pro komunikaci s v´ yˇse uvedenou skupinou telefon˚ u pomoc´ı AT pˇr´ıkaz˚ u postaˇcuje jednoduch´e propojen´ı s´eriov´ ych kan´ al˚ u PC a MT, telefony znaˇcky Nokia pˇredstavuj´ı jistou komplikaci. Komunikace se zde neodehr´ av´ a po bˇeˇzn´e s´eriov´e lince a vyuˇz´ıv´a se jist´ ych firemn´ıch komunikaˇcn´ıch protokol˚ u. Pˇres tyto komplikace se telefony Nokia budu d´ale zab´ yvat, jelikoˇz pouˇzit´ı telefonu pr´avˇe t´eto znaˇcky je poˇzadov´ ano ve zm´ınˇen´e diplomov´e pr´aci. V pr˚ ubˇehu evoluce tˇechto zaˇr´ızen´ı se objevila ˇrada realizac´ı propojovac´ıch datov´ ych kabel˚ u, jejichˇz hlavn´ı rysy se nyn´ı pokus´ım objasnit. MBUS Pro obousmˇern´ y pˇrenos dat mezi telefonem a PC zde slouˇz´ı pouze jeden vodiˇc. Druh´ y vodiˇc propojuje zem PC a telefonu. (Firma Bosch u sv´ ych telefon˚ u tento kabel oznaˇcuje jako CBUS.) Pomoc´ı tohoto typu kabelu lze telefon podrobit vˇsem servisn´ım u ´kon˚ um (zmˇena firmware, odblokov´an´ı, nastaven´ı kontrastu displeje, ale i zmˇena IMEI a mnoho dalˇs´ıch operac´ı). U starˇs´ıch telefon˚ u jako je Nokia 5110 nebo Nokia 6110/6150 lze nav´ıc pomoc´ı tohoto kabelu nav´azat datov´e ˇci faxov´e spojen´ı, pˇrij´ımat a vys´ılat SMS, editovat telefonn´ı seznam apod. (tyto funkce jsou ale podm´ınˇeny instalac´ı pˇr´ısluˇsn´e verze bal´ıku ovladaˇc˚ u Nokia Cellular Data Suite na PC). Tyto typy kabel˚ u pracuj´ı s pˇrenosovou rychlost´ı 9600 b/s. FBUS V´ ymˇena informac´ı mezi PC a telefonem zde prob´ıh´a po tˇrech vodiˇc´ıch s´eriov´e linky. Vodiˇce oznaˇcovan´e jako RX/TX zajiˇst’uj´ı obousmˇern´ y pˇrenos dat. Tˇret´ım vodiˇcem je spoleˇcn´a zem. Pomoc´ı tohoto typu kabelu nelze prov´ adˇet servisn´ı u ´kony ale pouze uˇzivatelsk´e operace, tzn. datov´a a faxov´a spojen´ı, pˇr´ıjem a odes´ıl´ an´ı SMS, operace s telefonn´ım seznam, zmˇena loga apod. Komunikaˇcn´ı pˇrenosov´ a rychlost je v rozmez´ı 9,6 kb/s aˇz 230,4 kb/s (napˇr. pro Nokii 5110 to je 115,2 kb/s). DAU-9(P) a DLR-3(P) Dalˇs´ı skupinou jsou kabely vyuˇz´ıvaj´ıc´ı v´ıce vodiˇc˚ u pro vz´ajemnou komunikaci neˇz v´ yˇse zm´ınˇen´e tˇri. Kromˇe vlastn´ıch dat pˇren´ aˇsen´ ych mezi telefonem a PC se pˇren´aˇsej´ı i dalˇs´ı - ˇr´ıd´ıc´ı - sign´aly a to maxim´ alnˇe tˇri z telefonu a maxim´ alnˇe dva z PC. U telefon˚ u Nokia se velmi ˇcasto setk´av´ame s kombinovan´ ymi datov´ ymi kabely FBUS/MBUS. Oznaˇcuj´ı se jako DAU-9 nebo nˇekdy jako DAU-9P. Tyto kabely se pˇrep´ınaj´ı do FBUS nebo MBUS reˇzimu bud’ pomoc´ı softwaru, nebo hardwarovˇe pomoc´ı pˇrep´ınaˇce. Reˇzimem, ve kter´em zrovna pracuj´ı, je d´ ana i pˇrenosov´ a rychlost. Co se skr´ yv´ a v kabelech typu MBUS, FBUS a DAU-9(P)? Zapojen´ı tˇechto kabel˚ u tvoˇr´ı vlastnˇe pouze pˇrevodn´ık logick´ ych u ´rovn´ı RS232 na u ´rovnˇe TTL, podobnˇe jako u telefon˚ u uveden´ ych ´ v pˇredchoz´ı ˇc´ asti textu. Urovnˇ e TTL jsou jeˇstˇe upraveny pomoc´ı Zenerov´ ych diod 2,7V nebo 3,3V (podle typu telefonu) na 3V logiku telefonu. Samotn´a realizace obousmˇern´eho pˇrevodu sign´alu RS232/TTL je d´ıky legend´ arn´ımu integrovan´emu obvodu MAX232 relativnˇe snadnou z´aleˇzitost´ı. D´ ale je tˇreba vyˇreˇsit nap´ ajen´ı uveden´eho pˇrevodn´ıku a pˇrep´ın´an´ı typu kabelu u DAU9(P) (MBUS/FBUS). Napajen´ı lze realizovat z extern´ıho zdroje, coˇz je nepraktick´e, ale u nˇekter´ ych poˇc´ıtaˇc˚ u jedin´e moˇzn´e ˇreˇsen´ı (notebooky). Dalˇs´ı variantou je nap´ajen´ı z mobiln´ıho telefonu, coˇz m´ırnˇe sniˇzuje v´ ydrˇz telefonu a posledn´ı moˇznost´ı je nap´ ajet kabel pˇr´ımo ze s´eriov´eho portu PC. Tato posledn´ı varianta je nejpouˇz´ıvanˇejˇs´ı i kdyˇz pˇrin´ aˇs´ı jist´e probl´emy, protoˇze pouˇz´ıv´a k nap´ajen´ı pˇrevodn´ıku kladn´e napˇet´ı na sign´ alov´ ych vodiˇc´ıch RTS a DTR. Tyto sign´aly je pak nutn´e na tuto u ´roveˇ n programovˇe nastavit. Dalˇs´ım, jiˇz zmiˇ novan´ ym, probl´emem se mohou st´at obvodov´e realizace s´eriov´ ych port˚ u, speci´alnˇe u notebook˚ u a na nˇekter´ ych z´akladn´ıch desk´ach ATX, kter´e nemus´ı b´ yt schopny uspokojit spotˇrebu elektroniky pˇrevodn´ıku. U kombinovan´ ych kabel˚ u MBUS/FBUS (DAU-9) se tak´e pomoc´ı kladn´eho napˇet´ı na jednom z vodiˇc˚ u RTS ˇci DTR pˇrep´ın´a kabel do m´odu FBUS ˇci MBUS.
3
Pro telefony Nokia 6210/6250/7110/6310 je urˇcen´ y kabel DLR-3(P), kter´ y je nezamˇeniteln´ y s kabelem MBUS/FBUS pro Nokie 51xx/61xx/6210/7110. Kabel slouˇz´ı k nav´az´an´ı datov´ ych a faxov´ ych spojen´ı. Zm´ınˇen´e modely telefon˚ u neumoˇzn ˇuj´ı totiˇz pˇrenos dat pomoc´ı jednoduch´ ych datov´ ych kabel˚ u MBUS/FBUS. Lze je ale pˇrepnout do m´odu DLR-3, v nˇemˇz mobiln´ı telefon akceptuje AT pˇr´ıkazy na datov´e lince FBUS, pˇri nastaven´ı s´eriov´e komunikace na rychlost 19200 b/s, 8 datov´ ych bit˚ u, ˇz´ adn´ a parita a 1 stop bit. V tomto m´odu jsou dostupn´e i sign´aly DCD, CTS, RTS a DTR. Co se skr´ yv´ a v kabelech typu DLR-3(P)? Tyto kabely jiˇz nejsou tak jednoduch´e jako pˇredchoz´ı typy. Obsahuj´ı nav´ıc mikroprocesor PIC 16x84, kter´ y zajiˇst’uje komunikaci s telefonem podle urˇcit´eho firemn´ıho protolu. D˚ uleˇzit´e je, ˇze po pˇrepnut´ı telefonu do m´odu DLR-3 je tento protokol uˇzivateli skryt a je moˇzn´e se zaˇr´ızen´ım komunikovat standardn´ımi AT pˇr´ıkazy. Tento kabel proto pˇredstavuje ide´ aln´ı ˇreˇsen´ı naˇseho probl´emu komunikace MT Nokia s PC ˇci mikrokontrol´erem. Amat´ersk´ a konstrukce tohoto kabelu je sice ponˇekud obt´ıˇznˇejˇs´ı, n´avod lze pˇresto nal´ezt napˇr. v [2].
2.3
Souˇ casn´ e telefony vybaven´ e rozhran´ım USB
V souˇcasnosti je situace komplikov´ ana skuteˇcnost´ı, ˇze vˇetˇsina v´ yrobc˚ u jiˇz plnˇe upustila od pouˇzit´ı klasick´eho s´eriov´eho kan´ alu (kter´ y pomalu miz´ı jiˇz i ze samotn´ ych poˇc´ıtaˇc˚ u) a nahrazuje jej ve sv´ ych produktech rozhran´ım USB. V pˇr´ıpadˇe pˇripojen´ı telefonu k PC pˇrin´aˇs´ı sice toto ˇreˇsen´ı jist´e v´ yhody, nebot’ sloˇzitost se pˇresouv´ a do oblasti softwaru a samotn´ y datov´ y kabel tvoˇr´ı zpravidla pouze pˇr´ım´e galvanick´e propojen´ı obou zaˇr´ızen´ı. Po nainstalov´an´ı pˇr´ısluˇsn´ ych ovladaˇc˚ u na PC se zaˇr´ızen´ı jev´ı mj. jako modem pˇripojen´ y na virtu´aln´ı s´eriov´ y port COM a lze k nˇemu tedy opˇet snadno pˇristupovat pomoc´ı AT pˇr´ıkaz˚ u odes´ılan´ ych z bˇeˇzn´eho termin´alu. Problematick´e nyn´ı ovˇsem bude spojen´ı telefonu s jednoˇcipov´ ym procesorem, coˇz je n´aˇs hlavn´ı c´ıl. K telefon˚ um znaˇcky Nokia jsou nab´ızeny v z´asadˇe dva typy USB datav´ ych kabel˚ u. Kabel s oznaˇcen´ım DKU-5 pˇredstavuje urˇcit´ y mezistupeˇ n pˇri pˇrechodu k pln´e integraci rozhran´ı USB do mobiln´ıch telefon˚ u. Obsahuje jist´ y programovateln´ y obvod, kter´ y zajiˇst’uje emulaci s´eriov´eho portu pro MT skrze USB konektor. Tento kabel je pouˇz´ıv´an u telefon˚ u bez extern´ı pamˇeti (napˇr. 6100, 3100, 3120, 3200, 3220, 6610, 7210, 7250, 68xx, 6200, 6220). Kabel oznaˇcovan´ y jako DKU-2 je prost´ ym propojen´ım pˇr´ısluˇsn´ ych vodiˇc˚ u konektoru Pop-port mobiln´ıho telefonu s klasick´ ym USB konektorem. Nen´ı zde ˇz´adn´ y procesor ani ˇz´adn´a jin´a pˇr´ıdavn´a elektronika. Kabel lze tedy, pˇrirozenˇe, pouˇz´ıt jedinˇe s telefony s u ´plnou implementac´ı USB (napˇr. 6620, 7610, 6630, 3230, 6230, 668x, 9300, 7710, 9500, 3200).
3
AT pˇ r´ıkazy pro ovl´ ad´ an´ı mobiln´ıch telefon˚ u
Pot´e, co se rozhodneme pro konkr´etn´ı model telefonu a jednu z v´ yˇse uveden´ ych variant jeho propojen´ı s PC, m˚ uˇzeme pˇristoupit k otestov´an´ı vlastn´ı komunikace zaˇr´ızen´ı. At’ uˇz p˚ ujde o pˇr´ım´ y pˇr´ıstup na s´eriov´ y port ˇci o vyuˇzit´ı virtu´aln´ıho s´eriov´eho portu v pˇr´ıpadˇe telefon˚ u s USB rozhran´ım, vystaˇc´ıme pˇri testov´ an´ı s jak´ ymkoliv bˇeˇzn´ ym termin´alem na stranˇe PC. Po odesl´ an´ı znak˚ u AT do telefonu (pˇres termin´al a pˇr´ıp. pˇrevodn´ık) bychom mˇeli obdrˇzet odpovˇed’ OK, ˇc´ımˇz d´ av´ a pˇripojen´e zaˇr´ızen´ı najevo, ˇze je schopno pˇrij´ımat a zpracov´avat AT pˇr´ıkazy a je tedy zvnˇejˇsku pˇr´ıstupn´e pro naˇse u ´ˇcely. AT pˇr´ıkazy jsou zad´av´any v jedn´e z n´asleduj´ıc´ıch podob: • AT+
=? - Test, zda je dan´ y pˇr´ıkaz v telefonu implementovan´ y. Telefon vr´at´ı parametry pˇr´ıkazu, nebo chybov´e hl´aˇsen´ı ERROR. • AT+? - Naˇcten´ı hodnot nastaven´ ych v telefonu. • AT+=<parametr> - Nastaven´ı poˇzadovan´ ych parametr˚ u pomoc´ı dan´eho AT pˇr´ıkazu m´ a tvar. Pro ilustraci uvedu nyn´ı pˇrehled vybran´ ych AT pˇr´ıkaz˚ u, kter´ y samozˇrejmˇe nen´ı vyˇcerp´avaj´ıc´ı ´ a nejsp´ıˇs ani obecnˇe platn´ y, jelikoˇz sady tˇechto pˇr´ıkaz˚ u se liˇs´ı v z´avislosti na v´ yrobci. Udaje jsou pˇrevzaty z [1]. 4
• AT - Umoˇzn ˇuje otestovat komunikaci s MT. • ATA - Vyzvednut´ı pˇr´ıchoz´ıho hovoru. Pˇr´ıchoz´ı hovor MT oznamuje hl´aˇsen´ım RING. Pokud na MT ˇz´ adn´ y hovor nepˇrich´ az´ı tak MT odeˇsle chybov´e hl´aˇsen´ı ERROR. • ATH - Zruˇsen´ı prob´ıhaj´ıc´ıho hovoru (zavˇeˇsen´ı). • ATD - Vytoˇcen´ı telefonn´ıho ˇc´ısla. Pokud nen´ı MT schopen spojen´ı nav´azat, tak m´ısto standardn´ı odpovˇedi OK vr´ at´ı NO CARRIER. ATD+<ˇ c´ ıslo>; - MT se snaˇz´ı nav´azat hlasov´e spojen´ı na tel. ˇc´ısle ˇ c´ ıslo. ATD+<ˇ c´ ıslo> - MT se snaˇz´ı nav´ azat datov´e spojen´ı na tel. ˇc´ısle ˇ c´ ıslo. • AT+CPBR - Naˇcte poloˇzku ze seznamu telefonn´ıch ˇc´ısel MT. AT+CPBR=, - Naˇcte poloˇzky s indexy dan´e hodnotami index1 a index2. Pˇred t´ımto pˇr´ıkazem je tˇreba definovat pamˇet’, ze kter´e chceme ˇc´ıst - viz AT+CPBS. • AT+CPBS - Vybere typ pamˇeti telefonn´ıho seznamu v MT. AT+CPBS=<pamet> pamet: "SM" - SIM karta, "ME" - pamˇet’ telefonu. Z uveden´eho je jiˇz zp˚ usob pr´ ace s mobiln´ım telefonem pomoc´ı AT pˇr´ıkaz˚ u asi zˇrejm´ y. S v´ yvojem r˚ uzn´ ych doplˇ nkov´ ych funkc´ı telefon˚ u jsou sady pˇr´ıkaz˚ u odpov´ıdaj´ıc´ım zp˚ usobem rozˇsiˇrov´any a tak bychom naˇsli pˇr´ıkazy napˇr. pro pr´ aci se zpr´avami SMS, pro navazov´an´ı datov´ ych spojen´ı HSCSD, GPRS a mnoh´e dalˇs´ı. Tyto sady jsou zpravidla k dispozici na internetov´ ych str´ank´ach technick´e podpory jednotliv´ ych v´ yrobc˚ u.
4
Rozhran´ı mezi jednoˇ cipov´ ym procesorem a MT
Pokud jsme si v pˇredchoz´ım kroku ovˇeˇrili pomoc´ı PC a pˇr´ısluˇsn´eho datov´eho kabelu, ˇze n´aˇs telefon je pˇr´ıstupn´ y prostˇrednictv´ım AT pˇr´ıkaz˚ u, m˚ uˇzeme nyn´ı zaˇc´ıt uvaˇzovat o zp˚ usobu jeho pˇripojen´ı k jednoˇcipov´emu procesoru. Projdu nyn´ı opˇet jednotliv´e tˇr´ıdy telefon˚ u tak, jak byly rozdˇeleny v pˇredchoz´ı ˇc´ asti textu.
4.1
Vhodn´ e mobiln´ı telefony
Zde jasnˇe vynik´ a proklamovan´ a v´ yhodnost tˇechto telefon˚ u (tj. napˇr. starˇs´ı modely znaˇcek Ericsson ˇci Siemens vybaven´e klasick´ ym s´eriov´ ym kan´alem) pro experimenty s ovl´ad´an´ım AT pˇr´ıkazy. Spojen´ı s mikrokontrol´erem je totiˇz moˇzn´e uskuteˇcnit pˇr´ım´ ym propojen´ım jeho s´eriov´eho kan´alu (tedy pouh´ ych tˇr´ı vodiˇc˚ u Rx, Tx, GND) s pˇr´ısluˇsn´ ymi v´ yvody syst´emov´eho konektoru telefonu, pˇriˇcemˇz samozˇrejmˇe kˇr´ıˇz´ıme vodiˇce Rx a Tx. Oba komunikaˇcn´ı vodiˇce je pouze nutn´e zapojit pˇres rezistory (asi 10 kΩ) na spoleˇcnou zem GND, protoˇze nˇekter´e MT nastavuj´ı v pr˚ ubˇehu komunikace v´ ystup do stavu vysok´e impedance a linka by nemˇela v tu chv´ıli definovanou u ´roveˇ n. Vlastn´ı ovl´ ad´ an´ı telefonu pak spoˇc´ıv´a v pouh´em vys´ıl´an´ı ASCII znak˚ u poˇzadovan´eho AT pˇr´ıkazu definovanou pˇrenosovou rychlost´ı do s´eriov´eho kan´alu mikrokontrol´eru.
4.2
Telefony Nokia nevybaven´ e rozhran´ım USB
Chceme-li pˇristupovat ke starˇs´ım mobiln´ım telefon˚ um Nokia (nevybaven´ ym USB rozhran´ım) prostˇrednictv´ım AT pˇr´ıkaz˚ u pos´ılan´ ych z mikrokontrol´eru, pak je zˇrejmˇe jedinou moˇznost´ı vyuˇzit´ı datov´eho kabelu DLR-3(p) a s n´ım kompatibiln´ıho telefonu. Po pˇrepnut´ı telefonu do m´odu DLR-3 pak m˚ uˇzeme opˇet vyuˇz´ıt standardn´ıho s´eriov´eho kan´alu kontrol´eru. Zm´ınˇen´ y kabel nav´ıc poskytuje sign´aly DCD, CTS, RTS a DTR pro ˇr´ızen´ı komunikace, kter´e jsou zpravidla nutn´e pro u ´spˇeˇsn´ y pˇrenos vˇetˇs´ıch objem˚ u dat.
5
Pouˇzit´ı jednoduˇsˇs´ıho kabelu DAU-9(p) by bylo moˇzn´e pouze po “prolomen´ı” pouˇzit´eho firemn´ıho protokolu (tento typ kabelu je urˇcen jen pro komunikaci prostˇrednictv´ım programov´eho bal´ıku Nokia Cellular Data Suite, nikoliv pro pˇr´ımou aplikaci AT pˇr´ıkaz˚ u). O tomto pojedn´av´a napˇr. diplomov´ a pr´ ace [4], ve kter´e se autorovi sice podaˇrilo pˇr´ısluˇsn´e ˇc´asti protokolu rozluˇstit na z´akladˇe odposlechnut´ ych paket˚ u, nepodaˇrilo se vˇsak jiˇz zjistit pˇresn´e ˇcasov´an´ı tˇechto paket˚ u, coˇz znemoˇznilo uskuteˇcnit d´ele trvaj´ıc´ı komunikaci s MT (napˇr. pˇrenos datov´eho souboru).
4.3
Souˇ casn´ e telefony Nokia vybaven´ e rozhran´ım USB
Pˇri pouˇzit´ı souˇcasn´ ych telefon˚ u, vybaven´ ych jiˇz t´emˇeˇr v´ yhradnˇe USB rozhran´ım, je situace na stranˇe mikrokontrol´eru nejkomplikovanˇejˇs´ı. Architektura USB totiˇz vyˇzaduje, aby na sbˇernici byl vˇzdy pˇr´ıtomen tzv. hostitel (host), tedy zaˇr´ızen´ı, kter´e ˇr´ıd´ı veˇsker´ y provoz na sbˇernici. T´ımto zaˇr´ızen´ım b´ yv´ a v drtiv´e vˇetˇsinˇe pˇr´ıpad˚ u PC, kter´e se ovˇsem nyn´ı snaˇz´ıme nahradit jist´ ym jednoˇcipov´ ym procesorem a ty zat´ım tuto schopnost zpravidla nemaj´ı. Je tedy tˇreba nejprve vyˇreˇsit probl´em vlastn´ıho propojen´ı vybran´eho mikrokontrol´eru s USB rozhran´ım telefonu na hardwarov´e u ´rovni a d´ale vyˇreˇsit, rovnˇeˇz nezanedbateln´ y, probl´em softwarov´e ˇc´asti rozhran´ı. HW ˇ c´ ast rozhran´ı Podaˇrilo se nal´ezt v z´ asadˇe tˇri zp˚ usoby ˇreˇsen´ı HW ˇc´asti rozhran´ı. • Nejpˇr´ımˇejˇs´ım ˇreˇsen´ım by bylo pouˇzit´ı mikrokontrol´eru s vestavˇen´ ym USB HOST rozhran´ım (napˇr. Atmel AT90USB647, AT90USB1287). Tyto kontrol´ery jsou vˇsak st´ale jeˇstˇe novinkou na trhu a byly by tedy probl´emy s dodac´ımi lh˚ utami, s nedostupnost´ı integrovan´eho v´ yvojov´eho prostˇred´ı pro jazyk C a nutnost´ı zakoupen´ı nov´eho emulaˇcn´ıho rozhran´ı JTAGmkII. • Dalˇs´ı moˇznost´ı je pouˇzit´ı extern´ıch ˇradiˇc˚ u USB HOST, zpravidla mapovan´ ych do pamˇeti hlavn´ıho syst´emov´eho procesoru, ˇc´ımˇz se zbav´ıme nutnosti pˇrech´azet na nov´ y typ mikrokontrol´eru. Takov´e ˇreˇsen´ı nab´ız´ı napˇr. obvod AT43USB380 od firmy Atmel, kter´ y obsahuje vlastn´ı procesor a komunikuje s mikrokontrol´erem pouze pomoc´ı dodan´ ych funkc´ı jist´eho aplikaˇcn´ıho rozhran´ı. V´ yhodou je minim´aln´ı zat´ıˇzen´ı mikrokontrol´eru (a program´atora) administrativou spojenou s ˇr´ızen´ım provozu na USB, nev´ yhodou pak pˇredevˇs´ım pro naˇse u ´ˇcely zbyteˇcn´ a mohutnost obvodu (100 v´ yvod˚ u), kter´ y je urˇcen´ y pro pˇripojen´ı aˇz k 32-bitov´ ym procesor˚ um. • Posledn´ı, preferovan´e, ˇreˇsen´ı spoˇc´ıv´a rovnˇeˇz v pouˇzit´ı extern´ıho ˇradiˇce, nyn´ı vˇsak ve znaˇcnˇe jednoduˇsˇs´ı podobˇe - bez vestavˇen´eho procesoru. Takov´e ˇradiˇce nab´ız´ı napˇr. firma Cypress pod oznaˇcen´ım SL811HS. Jsou urˇceny pro pˇripojen´ı k 8-bitov´emu procesoru, na kter´em obsad´ı v minim´ aln´ı konfiguraci pouze 12 v´ yvod˚ u (8 vodiˇc˚ u multiplexovan´e datov´e/adresov´e sbˇernice a 4 ˇr´ıd´ıc´ı vodiˇce). Komunikace s ˇradiˇcem se odehr´av´a pomoc´ı 256 pamˇet’ov´ ych m´ıst mapovan´ ych do pamˇeti mikrokontrol´eru, pˇriˇcemˇz 16B t´eto pamˇeti je tvoˇreno ˇr´ıd´ıc´ımi registry, zbytek je vyhrazen pro komunikaˇcn´ı buffer. Dan´ı za jednoduˇsˇs´ı strukturu ˇradiˇce je nutnost ˇr´ıdit provoz na sbˇernici na u ´rovni jednotliv´ ych paket˚ u URB (USB Request Block ), mikrokontrol´er bude komunikac´ı v´ıce zatˇeˇzov´an a program´ator se neobejde bez jist´e znalosti standardu USB.
SW ˇ c´ ast rozhran´ı Jistou v´ yhodu pˇri pˇrechodu na komunikaci prostˇrednictv´ım sbˇernice USB pˇredstavuje d˚ usledn´e dˇelen´ı perifern´ıch zaˇr´ızen´ı do tˇr´ıd (USB Device Class). Kaˇzd´a tˇr´ıda m´a standardem pˇridˇeleny urˇcit´e standardn´ı poˇzadavky, na kter´e mus´ı pˇr´ısluˇsn´a zaˇr´ızen´ı odpov´ıdat opˇet ve standardizovan´em form´atu. Pˇri komunikaci s mobiln´ım telefonem pak m˚ uˇzeme vyuˇz´ıt prostˇredk˚ u tˇr´ıdy komunikaˇcn´ıch zaˇr´ızen´ı, popsan´ ych ve standardizaˇcn´ım dokumentu USB Class Definitions for Communication Devices v kapitole Abstract Control Model, kter´a se zab´ yv´a emulac´ı klasick´eho modemu ovl´adan´eho 6
MCU
SL811
D[7:0]
D[7:0]
A16
A0
CS#
CS
RD#
RD
WR#
WR
INT
INTRQ
IO
NRST
ATmega
SL811HST-AC
Obr´ azek 2: Pˇr´ıklad pˇripojen´ı ˇradiˇce USB k mikrokontrol´eru. AT pˇr´ıkazy na sbˇernici USB. Pokud tedy dok´aˇzeme v poˇc´ateˇcn´ı f´azi komunikace USB-telefon nakonfigurovat do reˇzimu AT modemu, budeme s pomoc´ı jednoho z v´ yˇse uveden´ ych HW ˇreˇsen´ı schopni telefon opˇet ovl´ adat stejn´ ym zp˚ usobem, jako prostˇrednictv´ım klasick´e s´eriov´e linky. Poˇc´ateˇcn´ı konfigurace novˇe pˇripojen´eho zaˇr´ızen´ı na sbˇernici USB (tzv. enumeration) je vˇsak pomˇernˇe n´ aroˇcn´ a procedura, kter´ a obecnˇe zahrnuje asi 8 krok˚ u. Projdeme nyn´ı postupnˇe tyto kroky a pokus´ıme se zamyslet, jestli by cel´ y proces nebylo moˇzn´e trochu zjednoduˇsit. 1. Detekce pˇripojen´ı zaˇr´ızen´ı. Zaˇr´ızen´ı (telefon) budeme pokl´ adat za trvale pˇripojen´e. 2. Detekce komunikaˇcn´ı rychlosti. Zn´ame pouˇzit´ y model telefonu, v´ıme pˇredem tedy i komunikaˇcn´ı rychlost - nejsp´ıˇs p˚ ujde o zaˇr´ızen´ı Low speed. 3. Proveden´ı resetu sbˇernice. 4. Vyˇz´ ad´ an´ı deskriptoru zaˇr´ızen´ı. Vlastnosti kaˇzd´eho USB zaˇr´ızen´ı jsou pops´any sadou tzv. deskriptor˚ u (descriptor ), kter´e slouˇz´ı hostiteli sbˇernice pro nezbytn´a nastaven´ı parametr˚ u komunikace a pro zobrazen´ı r˚ uzn´ ych dodateˇcn´ ych informac´ı o pˇripojen´em zaˇr´ızen´ı. Pˇredpokl´ad´ame trval´e pouˇzit´ı jednoho typu telefonu, deskriptory jsou pak pˇri kaˇzd´em vyˇz´ad´an´ı stejn´e a dopˇredu zn´am´e a nen´ı je tedy tˇreba vyˇzadovat v˚ ubec. 5. Nastaven´ı adresy zaˇr´ızen´ı. 6. Vyˇz´ ad´ an´ı deskriptoru konfigurace. 7. Vyˇz´ ad´ an´ı ˇretˇezcov´eho deskriptoru. 8. Nastaven´ı poˇzadovan´e konfigurace. Zde mus´ıme vhodn´ ym poˇzadavkem nastavit telefon do reˇzimu AT modemu.
7
Budeme-li tedy pˇredpokl´ adat pevn´e spojen´ı naˇseho syst´emu s jedn´ım typem telefonu (pˇr´ıp. tˇr´ıdou telefon˚ u), m˚ uˇzeme nezbytn´ y poˇcet krok˚ u poˇc´ateˇcn´ıho nastaven´ı sbˇernice redukovat na pouh´e tˇri: 1. Proveden´ı resetu sbˇernice. 2. Nastaven´ı adresy zaˇr´ızen´ı. 3. Nastaven´ı poˇzadovan´e konfigurace. Programovou obsluhu zvolen´eho ˇradiˇce Cypress SL811HS pak lze zajistit i pouh´ ymi nˇekolika des´ıtkami ˇr´ adk˚ u k´ odu v jazyce C. Ztr´ac´ıme tak sice onu univerz´alnost sbˇernice USB, tu vˇsak stejnˇe asi nikdy v pln´e m´ıˇre v jednoˇcipov´em syst´emu nebudeme cht´ıt vyuˇz´ıt.
5
Z´ avˇ er
V t´eto pr´ aci byly ve struˇcnosti uvedeny nˇekter´e moˇznosti zaˇclenˇen´ı mobiln´ıho telefonu do syst´emu ˇr´ızen´eho jednoˇcipov´ ym procesorem. Kaˇzd´e z dotˇcen´ ych t´emat, zvl´aˇstˇe pak problematiku USB, by bylo moˇzn´e rozv´est do podstatnˇe vˇetˇs´ı hloubky, coˇz rozhodnˇe nebylo c´ılem t´eto, pouze pˇrehledov´e, pr´ace. Pˇr´ıpadn´e z´ ajemce o detailnˇejˇs´ı informace odkazuji na n´ıˇze uveden´ y seznam referenc´ı.
Reference [1] BraMo - GSM br´ any a pagery. http://bramo.pcsvet.net [2] Self made DLR-3P for Nokia 6210 and 7110. http://www.atrox.at/datacable/dlr3/index.html [3] AT Command Set for Nokia GSM Products. ˇ [4] Vˇcelka M. D´ alkov´y pˇrenos dat pˇres mobiln´ı telefony NOKIA. Diplomov´a pr´ace, CVUT, 2003 [5] Universal Serial Bus Specification. http://www.usb.org [6] Universal Serial Bus Class Definitions for Communication Devices. http://www.usb.org [7] SL811HS Embedded USB Host/Slave Controller. http://www.cypress.com [8] Interfacing an External Processor to the SL811HS/S. http://www.cypress.com [9] Google. :)
8