0
  • 聊天消息
  • 系統(tǒng)消息
  • 評(píng)論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會(huì)員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識(shí)你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

單片機(jī)與手機(jī)的硬軟件接口設(shè)計(jì)的問(wèn)題解決方案

電子設(shè)計(jì) ? 來(lái)源:?jiǎn)纹瑱C(jī)與嵌入式系統(tǒng)應(yīng)用 ? 作者:李艷華 , 陳慧明 ? 2021-05-26 09:41 ? 次閱讀

因?yàn)?a href="http://ttokpm.com/v/tag/107/" target="_blank">手機(jī)工作的無(wú)線網(wǎng)絡(luò)覆蓋范圍廣,在信息傳遞方面性能穩(wěn)定、可靠,所以把手機(jī)作為信息傳遞的載體,與單片機(jī)結(jié)合起來(lái)構(gòu)成應(yīng)用系統(tǒng)有著強(qiáng)大的生命力和廣闊的應(yīng)用空間,特別是在遠(yuǎn)程數(shù)據(jù)傳輸、遠(yuǎn)程監(jiān)控等領(lǐng)域更是受到電子設(shè)計(jì)應(yīng)用工程師的關(guān)注。一些專業(yè)刊物也介紹了一些有關(guān)這方面的文章,然而由于手機(jī)的控制指令復(fù)雜,數(shù)據(jù)格式繁瑣,工程技術(shù)人員在進(jìn)行單片機(jī)與手機(jī)的硬軟件接口設(shè)計(jì)時(shí)經(jīng)常會(huì)遇到很多困難,有時(shí)還無(wú)資料可查。在完成一個(gè)項(xiàng)目的開發(fā)過(guò)程中,針對(duì)幾種手機(jī)進(jìn)行了大量的測(cè)試和實(shí)驗(yàn),在此基礎(chǔ)上歸納出一些帶規(guī)律性的結(jié)論,對(duì)此結(jié)論,工程設(shè)計(jì)人員可拿來(lái)即用,大大縮短研發(fā)周期,現(xiàn)在把它公布出來(lái),愿與廣大電子設(shè)計(jì)人員共享。

1 硬件接口技術(shù)方面

目前市場(chǎng)上流行的大部分手機(jī)幾乎都具有數(shù)據(jù)引出口,并基本上都支持與GSM短信息相關(guān)的AT控制指令(GSM-SMS-AT指令),手機(jī)通過(guò)數(shù)據(jù)口以串行方式接收指令并向外輸出數(shù)據(jù)。理論上講,在數(shù)據(jù)口中找出RxD、TxD和GND引腳與單片機(jī)的串口對(duì)應(yīng)連接即完成了硬件接口。

然而,實(shí)際上由于不同品牌,不同型號(hào)手機(jī)的RxD、TxD和GND引腳并非一致,找查這三根線有時(shí)也非易事;況且手機(jī)數(shù)據(jù)口的電平既不是RS232電平,也不是TTL電平,與由5V供電的單片機(jī)串口還不能直接連接。最簡(jiǎn)單可靠的方法是使用手機(jī)的數(shù)據(jù)線建立單片機(jī)與手機(jī)的硬件連接。手機(jī)數(shù)據(jù)線是專為連接PC機(jī)9針串口而設(shè)計(jì)的,信號(hào)電平為標(biāo)準(zhǔn)的RS232電平,只要單片機(jī)的串口也轉(zhuǎn)換為Rs 2 3 2電平,就可方便連接。9針串口引腳定義是固定的,即2腳為TxD(手機(jī)發(fā)送),3腳為RxD(手機(jī)接收)、5腳為GND。這樣,無(wú)論什么型號(hào)的手機(jī)與單片機(jī)的連接就成了固定連接,不需要知道手機(jī)數(shù)據(jù)口信號(hào)的具體定義,二者通過(guò)數(shù)據(jù)線的連接電路如圖1所示。

需要注意的是:不同手機(jī)數(shù)據(jù)線內(nèi)部電平轉(zhuǎn)換芯片的供電方式是不同的,有的是通過(guò)手機(jī)直接供電;有的是通過(guò)竊取PC機(jī)串口某些引腳(通常為4、6、7、8引腳)的電流經(jīng)內(nèi)部整流濾波穩(wěn)壓后提供。判斷的方法是將數(shù)據(jù)線一端插到手機(jī)數(shù)據(jù)口,測(cè)量另一端2腳與5腳之間的電壓,如果有一7V左右的電壓,則為前者,如果測(cè)不出電壓,則為后者,對(duì)于后者則需要單片機(jī)為4、6、7、8引腳任意一引腳提供+5V電壓即可,如圖1中虛線所示。

2 軟件接口技術(shù)及控制原理

單片機(jī)與手機(jī)的軟件接口其實(shí)就是單片機(jī)通過(guò)與GSM短信息有關(guān)的AT指令控制手機(jī)的控制技術(shù),如讀取手機(jī)的短消息內(nèi)容,刪除短消息內(nèi)容,列出手機(jī)中還未讀的短消息等。關(guān)于AT指令的功能描述見參考文獻(xiàn)[1,2]的文章內(nèi)容,此處不再贅述。然而,執(zhí)行一條指令,也并非某些資料中介紹得那么簡(jiǎn)單。事實(shí)上,指令的執(zhí)行過(guò)程需要單片機(jī)與手機(jī)交互應(yīng)答完成,每一次發(fā)送或接收的字節(jié)數(shù)有嚴(yán)格的規(guī)定,二者必須依據(jù)這些規(guī)定實(shí)現(xiàn)數(shù)據(jù)交換,否則,通信就是失敗的。筆者經(jīng)過(guò)對(duì)幾種手機(jī)反復(fù)測(cè)試,總結(jié)出來(lái)一些規(guī)律,如表1所列。

對(duì)幾個(gè)問(wèn)題說(shuō)明如下。

①所有AT指令的指令符號(hào)、常數(shù)、PDu數(shù)據(jù)包等都是以ASCII編碼形式傳送的,比如“A”的ASCII編碼為41H,“T”的AscII編碼為54H,數(shù)字“0,,的AsCⅡ編碼為30H等。

②單片機(jī)控制手機(jī)工作,必須把手機(jī)的短信息工作模式設(shè)置為PDu格式,即通過(guò)指令A(yù)T+cMGF=O完成。

③單片機(jī)向手機(jī)發(fā)送每一條指令后,必須以回車符作為該條指令的結(jié)束,回車的ASCII編碼為0DH。例如,單片機(jī)向手機(jī)發(fā)送“AT+CMGF=0”這條指令,其ASCII編碼序列為“41H、54H、2BH、42H、4DH、47H、46H、3DH、30H、0DH”,最后一個(gè)字節(jié)0DH就是回車符,表示該條指令結(jié)束,如果沒有這個(gè)回車符,手機(jī)將不識(shí)別這條指令。

④當(dāng)手機(jī)接收到一條完整的AT指令后,手機(jī)并不立即執(zhí)行這條指令,而是先把剛才接收到的AT指令的全部ASCII編碼序列全部反發(fā)送出來(lái)(含0DH),然后發(fā)送一個(gè)回車符和換行符的ASCII編碼,即0DH和0AH,最后執(zhí)行該條指令。

⑤手機(jī)向單片機(jī)傳送短信息內(nèi)容時(shí),其PDu數(shù)據(jù)包的內(nèi)容是以十六進(jìn)制表示的數(shù)據(jù),但并不是直接向單片機(jī)傳遞十六進(jìn)制數(shù)據(jù),而仍然是把每一位十六進(jìn)制數(shù)以AscII編碼來(lái)發(fā)送。這樣,二個(gè)字節(jié)的十六進(jìn)制數(shù)就變成4字節(jié)的ASCII碼。但是,PDU數(shù)據(jù)包中的數(shù)據(jù)字節(jié)長(zhǎng)度部分仍然是實(shí)際字節(jié)長(zhǎng)度,而不是變成AscII碼的字節(jié)長(zhǎng)度,這在編程時(shí)應(yīng)特別注意,否則,接收的數(shù)據(jù)就不完整。單片機(jī)接收到PDU數(shù)據(jù)包數(shù)據(jù)后,必須將其恢復(fù)成十六進(jìn)制數(shù)據(jù),其算法如下:設(shè)a為接收的ASCII碼,b為轉(zhuǎn)換后的十六進(jìn)制數(shù)。如果a39H,則b=a-30H-07H,最后把前后兩個(gè)數(shù)合并為一個(gè)字節(jié)。

⑥手機(jī)向單片機(jī)應(yīng)答PDU數(shù)據(jù)包的字節(jié)數(shù)不包括前9字節(jié)數(shù)據(jù)(短信服務(wù)中心地址),但向單片機(jī)傳送PDU數(shù)據(jù)包時(shí),包括這9個(gè)字節(jié)的數(shù)據(jù)。例如,如果手機(jī)應(yīng)答的PDU數(shù)據(jù)長(zhǎng)度為50,而實(shí)際向單片機(jī)傳送的十六進(jìn)制數(shù)據(jù)為59字節(jié),ASCII碼為2×59字節(jié),所以,單片機(jī)必須按2×59字節(jié)接收PDU數(shù)據(jù)。

3 應(yīng)用實(shí)例

利用上述原理和接口技術(shù)開發(fā)了一個(gè)項(xiàng)目:高速公路顯示導(dǎo)引系統(tǒng)。安裝在高速公路上的LED顯示屏實(shí)時(shí)顯示前方路段車輛通行態(tài)勢(shì)和天氣氣候情況,提醒并引導(dǎo)駕駛?cè)藛T,正確駕駛。

該系統(tǒng)的使用一定程度上消除了許多交通事故隱患,從而保障了道路的暢通和人民生命財(cái)產(chǎn)的安全。該系統(tǒng)由控制中心和若干個(gè)顯示屏組成??刂浦行膶?shí)時(shí)將最新信息發(fā)送到各顯示屏。構(gòu)建控制中心與顯示終端的通信鏈路,傳統(tǒng)的方法要么鋪設(shè)光纜用有線方式實(shí)現(xiàn),要么構(gòu)建專用無(wú)線網(wǎng)用無(wú)線方式實(shí)現(xiàn)。因?yàn)楦咚俟返奶厥庑?,控制中心與顯示終端之間的距離通常很遠(yuǎn),兩種方案都必須投入大量資金和巨大的施工工作量。如果采用GSM公眾無(wú)線傳輸網(wǎng)絡(luò),控制中心以短信息的形式把顯示信息發(fā)送到顯示終端的技術(shù)方案,則具有投資小,施工方便,工作可靠,運(yùn)行費(fèi)用低等諸多優(yōu)點(diǎn)。

在控制中心,微機(jī)編輯好短信息后通過(guò)手機(jī)這個(gè)載體發(fā)送出去。在顯示終端,單片機(jī)通過(guò)讀取手機(jī)的短信息把它顯示到LED顯示屏上。項(xiàng)目的核心技術(shù)是單片機(jī)與手機(jī)的接口和PDU數(shù)據(jù)包中的漢字信息編碼。因?yàn)槎绦畔⒅械臐h字僅僅是一個(gè)編碼,單片機(jī)應(yīng)用系統(tǒng)將編碼變?yōu)闈h字點(diǎn)陣數(shù)據(jù),必須配置漢字字庫(kù)。按GSM07.05協(xié)議規(guī)定,短信息中的漢字編碼為Unicode編碼,如果構(gòu)建一個(gè)Unicode編碼的漢字字庫(kù),確實(shí)是一件繁瑣的工作,因此,在設(shè)計(jì)單片機(jī)應(yīng)用系統(tǒng)時(shí),采用如下兩點(diǎn)技術(shù)措施。

①單片機(jī)系統(tǒng)配置的字庫(kù)為GB-2312編碼的漢字庫(kù),即區(qū)位碼漢字庫(kù),該漢字庫(kù)在網(wǎng)上可免費(fèi)下載,固化到Flash存儲(chǔ)芯片中即可。當(dāng)然這樣做的前提是PDU數(shù)據(jù)包中的漢字編碼必須為漢字內(nèi)碼而非Unicode編碼。

②控制中心編輯PDU數(shù)據(jù)包數(shù)據(jù)時(shí),采用自定義數(shù)據(jù)方式,其中,代表漢字的數(shù)據(jù),直接取用漢字的機(jī)內(nèi)碼即可,免去了把機(jī)內(nèi)碼再轉(zhuǎn)換為Unicode編碼之苦。實(shí)踐證明,這是可行的。

采用以上技術(shù)措施的優(yōu)點(diǎn),一是省去了兩種編碼的相互轉(zhuǎn)換;二是保證了數(shù)據(jù)的保密性,非系統(tǒng)內(nèi)用戶無(wú)法接收,即使接收也無(wú)法顯示。

該項(xiàng)目研制成功投入使用后,因顯示終端只接收不發(fā)送,幾乎沒有運(yùn)行成本。發(fā)送端(控制中心)可采用月租方式,也能把運(yùn)行費(fèi)用降低到最低限度。因此該項(xiàng)目得到用戶滿意的評(píng)價(jià)。

責(zé)任編輯:gt

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場(chǎng)。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問(wèn)題,請(qǐng)聯(lián)系本站處理。 舉報(bào)投訴
  • 單片機(jī)
    +關(guān)注

    關(guān)注

    6030

    文章

    44489

    瀏覽量

    631971
  • 手機(jī)
    +關(guān)注

    關(guān)注

    35

    文章

    6843

    瀏覽量

    157311
收藏 人收藏

    評(píng)論

    相關(guān)推薦

    長(zhǎng)虹等離子50638X50738X模組紅點(diǎn)問(wèn)題解決方案相關(guān)資料分享

    長(zhǎng)虹等離子(50638X、50738X)模組紅點(diǎn)問(wèn)題解決方案文件下載
    發(fā)表于 06-03 06:54

    protues仿真常見問(wèn)題解決方案分享

    protues仿真常見問(wèn)題解決方案!來(lái)源:電子工程師成長(zhǎng)日記
    發(fā)表于 01-17 08:52

    單片機(jī)控制手機(jī)軟件接口技術(shù)及其應(yīng)用

            本文介紹了單片機(jī)手機(jī)軟件接口技術(shù),詳細(xì)
    發(fā)表于 09-11 10:13 ?37次下載

    基于CPLD的單片機(jī)與PCI接口設(shè)計(jì)解決方案

    基于CPLD的單片機(jī)與PCI接口設(shè)計(jì)解決方案 8位單片機(jī)在嵌入式系統(tǒng)中應(yīng)用廣泛,然而讓它直接與PCI總線設(shè)備打交道卻有其固有缺陷。8位單片機(jī)
    發(fā)表于 09-26 17:41 ?877次閱讀
    基于CPLD的<b class='flag-5'>單片機(jī)</b>與PCI<b class='flag-5'>接口</b>設(shè)計(jì)<b class='flag-5'>解決方案</b>

    SMT無(wú)鉛制程工藝要求及問(wèn)題解決方案

    SMT無(wú)鉛制程工藝要求及問(wèn)題解決方案   一、錫膏絲印工藝要求   1、解凍、攪拌   首先從冷藏庫(kù)中取出錫膏解
    發(fā)表于 11-18 14:08 ?2957次閱讀

    單片機(jī)手機(jī)的硬件接口技術(shù)及應(yīng)用

    本文介紹了單片機(jī)與一個(gè)基于手機(jī)短信息手機(jī)軟件接口技術(shù),詳細(xì)分析了
    發(fā)表于 09-14 16:15 ?91次下載
    <b class='flag-5'>單片機(jī)</b>與<b class='flag-5'>手機(jī)</b>的硬件<b class='flag-5'>接口</b>技術(shù)及應(yīng)用

    altium_designer_Summer09出現(xiàn)的問(wèn)題解決方案

    altium-designer-Summer09出現(xiàn)的問(wèn)題解決方案,感興趣的小伙伴們可以瞧一瞧。
    發(fā)表于 09-18 16:12 ?0次下載

    手機(jī)快充的噪聲問(wèn)題解決方案資料下載

    電子發(fā)燒友網(wǎng)為你提供手機(jī)快充的噪聲問(wèn)題解決方案資料下載的電子資料下載,更有其他相關(guān)的電路圖、源代碼、課件教程、中文資料、英文資料、參考設(shè)計(jì)、用戶指南、解決方案等資料,希望可以幫助到廣大的電子工程師們。
    發(fā)表于 04-10 08:47 ?3次下載
    <b class='flag-5'>手機(jī)</b>快充的噪聲<b class='flag-5'>問(wèn)題解決方案</b>資料下載

    protues仿真常見問(wèn)題解決方案

    protues仿真常見問(wèn)題解決方案!來(lái)源:電子工程師成長(zhǎng)日記
    發(fā)表于 01-17 10:33 ?4次下載
    protues仿真常見<b class='flag-5'>問(wèn)題解決方案</b>

    水泥設(shè)備自主維修之:球磨機(jī)問(wèn)題解決方案圖文案例匯總,這種修復(fù)技術(shù)值得推薦

    「修舊利廢 成本管控 節(jié)能降耗」球磨機(jī)問(wèn)題解決方案匯總
    的頭像 發(fā)表于 06-22 15:48 ?937次閱讀
    水泥設(shè)備自主維修之:球磨機(jī)<b class='flag-5'>問(wèn)題解決方案</b>圖文案例匯總,這種修復(fù)技術(shù)值得推薦

    總結(jié):30個(gè)單片機(jī)常見問(wèn)題解決辦法!

    總結(jié):30個(gè)單片機(jī)常見問(wèn)題解決辦法!
    的頭像 發(fā)表于 10-17 17:46 ?3024次閱讀
    總結(jié):30個(gè)<b class='flag-5'>單片機(jī)</b>常見<b class='flag-5'>問(wèn)題解決</b>辦法!

    單片機(jī)常見問(wèn)題的解決思路和解決辦法

    30個(gè)單片機(jī)常見問(wèn)題解決辦法!
    的頭像 發(fā)表于 09-18 16:51 ?2347次閱讀
    <b class='flag-5'>單片機(jī)</b>常見問(wèn)題的解決思路和解決辦法

    單片機(jī)軟件模擬SPI接口解決方案

    電子發(fā)燒友網(wǎng)站提供《單片機(jī)軟件模擬SPI接口解決方案.pdf》資料免費(fèi)下載
    發(fā)表于 10-13 11:31 ?2次下載
    <b class='flag-5'>單片機(jī)</b><b class='flag-5'>軟件</b>模擬SPI<b class='flag-5'>接口</b>的<b class='flag-5'>解決方案</b>

    C2000 F28004x系列MCU PLL鎖相失敗問(wèn)題解決方案

    電子發(fā)燒友網(wǎng)站提供《C2000 F28004x系列MCU PLL鎖相失敗問(wèn)題解決方案.pdf》資料免費(fèi)下載
    發(fā)表于 09-27 11:24 ?0次下載
    C2000 F28004x系列MCU PLL鎖相失敗<b class='flag-5'>問(wèn)題解決方案</b>

    MLCC斷裂問(wèn)題解決方案

    MLCC斷裂問(wèn)題解決方案
    的頭像 發(fā)表于 10-16 09:43 ?275次閱讀