嵌入式設備手機短信交互模塊的設計
0 引言
隨著(zhù)嵌入式設備應用的日益廣泛,人們也越來(lái)越樂(lè )于使用各種人機交互方便的設備。鑒于GSM網(wǎng)絡(luò )是相當穩定且已經(jīng)在生活中普遍應用的通信網(wǎng)絡(luò ),本文利用GSM網(wǎng)絡(luò )中短消息服務(wù)的便利性,提出了一種基于GSM網(wǎng)絡(luò )短消息服務(wù)的人機交互方式,并開(kāi)發(fā)了相應的手機短信交互平臺,實(shí)現了用戶(hù)與設備間的遠程、實(shí)時(shí)人機交互功能。
1 系統硬件設計
本系統利用串口做通信接口,并選用西門(mén)子TC35i無(wú)線(xiàn)模塊作為核心組件來(lái)搭建硬件電路。TC35i主要由基帶處理器、射頻模塊、供電模塊、閃存、ZIF連接器和天線(xiàn)接口等六部分組成。它的正常運行需要相應的外圍電路與其配合。TC35i共有40個(gè)引腳,可通過(guò)ZIF連接器分別與電源電路、啟動(dòng)與關(guān)機電路、數據通信電路、語(yǔ)音通信電路、SIM卡電路、指示燈電路等相連接。其電源電路又分為充電電池和穩壓電源兩部分,本系統為減小體積,直接采用主板供電方式,并在1~10腳增設了穩壓濾波電路,因而省去了電池和充電電路。
啟動(dòng)電路由自動(dòng)和手動(dòng)上電復位電路組成。模塊上電10 ms后(電壓須大于3 V),為使之正常工作,必須在15腳加時(shí)長(cháng)至少為100 ms的低電平信號,且該信號的下降沿時(shí)間應小于1 ms,同時(shí)啟動(dòng)后15腳的信號應保持高電平。本系統可使用跳線(xiàn)選擇模塊啟動(dòng)方式。其中自啟動(dòng)方式是指在平臺正常工作之后,由軟件控制平臺自動(dòng)發(fā)出啟動(dòng)信號,而不需人的干預;而手動(dòng)方式是指在平臺正常工作之后,人為按下系統的啟動(dòng)/復位按鍵,模塊才能啟動(dòng)。
數據通信電路主要完成短消息收發(fā)、與平臺通信、以及軟件流控制等功能。TC35i的數據接口采用串行異步收發(fā),符合RS-232接口電路標準,工作在CMOS電平下。數據接口配置為8位數據位、1位停止位、無(wú)校驗位,可在300 bps~115kbps的波特率下運行,支持的自動(dòng)波特率為4.8kbps~115 kbps(14.4 kbos和28.8 kbps除外),同時(shí)還支持RTSO/CTSO的硬件握手信號和XON/XOFF的軟件流控制。TC35i作為移動(dòng)終端。具有3路接收、5路發(fā)送的電路連接要求,但考慮到本系統無(wú)需蜂窩通信等功能,故為簡(jiǎn)化數據通信電路,可采用MAX232CPE芯片來(lái)實(shí)現電平轉換及串口通信功能(輸入為T(mén)XDO,輸出為RXDO)。
TC35i基帶處理器集成有一個(gè)標準的SIM卡接口。為擴展外部SIM卡接口,該接口還連接到ZIF連接器。TC35i在GSMll.ll為SIM卡預留5個(gè)引腳的基礎上預留了6個(gè)引腳,所添加的CCIN引腳可用來(lái)檢測是否插有SIM卡;當有SIM卡時(shí),該引腳被置為高電平,模塊可正常工作。但目前SIM卡均無(wú)CCIN引腳,故在設計電路時(shí)應將CCIN與CCVCC相連。本系統還設計了指示燈電路,當LED熄滅時(shí),表明TC35i處于關(guān)閉或睡眠狀態(tài);當LED為600 ms亮/600 ms熄時(shí),表明SIM卡沒(méi)有插入或TC35i正在登錄網(wǎng)絡(luò );當LED為75 ms亮/3 s熄時(shí),表明TC35i已登錄網(wǎng)絡(luò ),并處于待機狀態(tài)。本系統設計了GSM模塊的擴展板,并注意了它的電磁兼容設計,其電路原理框圖如圖1所示。
2 系統軟件設計
本系統主要實(shí)現的功能是用戶(hù)能以發(fā)送短信的方式與平臺進(jìn)行信息交互。系統采用TC35i實(shí)現短信收發(fā),并通過(guò)對用戶(hù)短信進(jìn)行解析來(lái)查詢(xún)平臺嵌入式數據庫中與用戶(hù)短信相匹配的信息,同時(shí)以短信的形式回復用戶(hù),還可以將短信上傳給服務(wù)器管理數據庫,其短信交互流程如圖2所示。
系統首先可通過(guò)串口程序向接入TC35i的串口發(fā)送AT指令來(lái)實(shí)現短消息的發(fā)送和接收。這部分主要實(shí)現Linux下的串口通訊(主板運行Linux系統)。系統編程可采用libserial串口庫,該庫可以很好地控制串口的超時(shí)讀寫(xiě),它的類(lèi)名為Seri-alPort,程序中主要用到了類(lèi)中的Open()、設置各種參數的函數以及超時(shí)讀寫(xiě)的內容。
linux操作系統文章專(zhuān)題:linux操作系統詳解(linux不再難懂)
評論