單片機控制手機的硬軟件接口技術(shù)及其應用
引 言
在我國,擁有手機的用戶已很普遍,更新也很快,價格也越來越低。因為其工作的無線網(wǎng)絡覆蓋范圍廣,在信息傳遞方面,性能穩(wěn)定、可靠。所以把手機作為信息傳遞的載體,與單片機結(jié)合起來構(gòu)成應用系統(tǒng)有著強大的生命力和廣闊的應用空間,特別是在遠程數(shù)據(jù)傳輸、遠程監(jiān)控等領域更是受到電子設計應用工程師的關(guān)注和采用。一些專業(yè)刊物也介紹了一些有關(guān)這方面的文章,然而由于手機的控制指令復雜,數(shù)據(jù)格式繁瑣,工程技術(shù)人員在進行單片機與手機的硬軟件接口設計時經(jīng)常會遇到很多困難,有時還無資料可查。作者在完成一個項目的開發(fā)過程中,針對幾種手機進行了大量的測試和實驗,在此基礎上歸納出一些帶規(guī)律性的結(jié)論,對此結(jié)論,工程設計人員可拿來即用,大大縮短研發(fā)周期,現(xiàn)把它公布出來,愿與廣大電子設計人員共享。
目前市場上流行的大部分手機幾乎都具有數(shù)據(jù)引出口,并基本上都支持與GSM短信息相關(guān)的AT控制指令(GSM—SMS—AT指令),手機通過數(shù)據(jù)口以串行方式接收指令并向外輸出數(shù)據(jù)。理論上講,在數(shù)據(jù)口中找出RXD、TXD和GND引腳與單片機的串口對應連接即完成了硬件接口,然而,實際上由于不同品牌,不同型號手機的RXD、TXD和GNG引腳并非一致,找查這三根線有時也非易事,況且手機數(shù)據(jù)口的電平既不是RS232電平,也不是TTL電平,與由5V供電的單片機的串口還不能直接聯(lián)接。最簡單、最可靠的方法是使用手機的數(shù)據(jù)線建立單片機與手機的硬件連接。手機數(shù)據(jù)線是專為連接PC機9針串口而設計的,一是信號電平為標準的RS232電平,只要單片機的串口也轉(zhuǎn)換為RS232電平,就可方便連接。二是9針串口引腳定義是固定的,即2 腳為TXD(手機發(fā)送),3腳為RXD(手機接收)、5腳為GNG,這樣,無論什么型號的手機與單片機的連接就成了固定連接,不需要知道手機數(shù)據(jù)口信號的具體定義,二者通過數(shù)據(jù)線的連接電路如圖1所示:
需要注意的是:不同手機數(shù)據(jù)線內(nèi)部電平轉(zhuǎn)換芯片的供電方式是不同的,有的是通過手機直接供電;有的是通過竊取PC機串口某些引腳(通常為4、6、7、8引腳)的電流經(jīng)內(nèi)部整流濾波穩(wěn)壓后提供,判斷的方法是將數(shù)據(jù)線一端插到手機數(shù)據(jù)口,測量另一端2腳與5腳之間的電壓,如果有-7V左右的電壓,則為前者,如果測不出電壓,則為后者,對于后者則需要單片機為4、6、7、8、引腳任意一引腳提供+5V電壓即可,如圖1中虛線所示。
單片機與手機的軟件接口其實就是單片機通過與GSM短信息有關(guān)的AT指令控制手機的控制技術(shù),如讀取手機的短消息內(nèi)容,刪除短消息內(nèi)容,列出手機中還未讀的短消息等。關(guān)于AT指令的功能描述請讀者參考“參考文獻”所示的文章內(nèi)容,此處不再贅述。然而,執(zhí)行一條指令,也并非某些資料中介紹得那么簡單,事實上,指令的執(zhí)行過程需要單片機與手機交互應答完成,每一次發(fā)送或接受的字節(jié)數(shù)有嚴格的規(guī)定,二者必須依據(jù)這些規(guī)定實現(xiàn)數(shù)據(jù)交換,否則,通信就是失敗的,作者經(jīng)過對幾種手機反復測試,總結(jié)出來一些規(guī)律,如表1所示:
評論