首頁(yè)>>>技術(shù)>>>SMS and MMS  短信平臺(tái)產(chǎn)品

GSM模塊收發(fā)中文短消息的關(guān)鍵技術(shù)

王洪瑞 權(quán)愛(ài)榮 肖金壯 2008/12/03

引 言

  手機(jī)短消息服務(wù)SMS(Short Message Service)是全球移動(dòng)通信系統(tǒng)GSM(Global System for Mobile Communi-cation)的一項(xiàng)基本業(yè)務(wù),它利用信令信道傳輸,不用撥號(hào)建立連接,直接把要發(fā)的信息加上目的地址發(fā)送到短消息服務(wù)中心(service center),由短消息服務(wù)中心再發(fā)給最終的信宿,是目前應(yīng)用最廣泛的一種通信方案。目前,隨著手機(jī)的廣泛使用,SMS服務(wù)以其傳遞信息方便快捷、價(jià)格低廉而越來(lái)越受人們的關(guān)注,已經(jīng)廣泛地應(yīng)用于監(jiān)控定位系統(tǒng)、無(wú)線報(bào)警、遠(yuǎn)程維護(hù)及數(shù)據(jù)信息查詢等各個(gè)領(lǐng)域。

  本文針對(duì)單片機(jī)通過(guò)串口發(fā)送AT指令控制GSM無(wú)線收發(fā)模塊,實(shí)現(xiàn)在不支持中文編碼的Text(文本)模式下接收中文短消息的軟硬件設(shè)計(jì)進(jìn)行了研究,并利用數(shù)控模擬開(kāi)關(guān)CD4052實(shí)現(xiàn)了單片機(jī)多個(gè)串口的擴(kuò)展。

1 短消息基本原理介紹

1.1 GSM模塊介紹

  目前,市場(chǎng)上GSM模塊種類很多,但功能、用法基本相同。本文中使用了Siemens公司生產(chǎn)的TC35i模塊。該模塊與GSM2/2兼容,提供 雙頻(GSM900/GSM1800)和RS232數(shù)據(jù)接口,外部提供9針串口及話柄接口(支持語(yǔ)音),如圖1所示;通過(guò)AT命令來(lái)傳輸數(shù)據(jù)、語(yǔ)音和短消息等,方便用戶開(kāi)發(fā)和設(shè)計(jì)。

1.2 短消息AT指令

  AT指令用于由終端設(shè)備(TE)或數(shù)據(jù)終端設(shè)備(DTE),發(fā)送到終端適配器(TA)或數(shù)據(jù)電路終接設(shè)備(DCE)。設(shè)備通過(guò)發(fā)送AT命令來(lái)控制移動(dòng)臺(tái),并與GSM網(wǎng)絡(luò)業(yè)務(wù)進(jìn)行交互。通過(guò)AT命令可進(jìn)行呼叫、短信、電話本、數(shù)據(jù)業(yè)務(wù)、補(bǔ)充業(yè)務(wù)等方面的控制。本文中由單片機(jī)發(fā)送AT指令來(lái)控制GSM模塊接收和發(fā)送手機(jī)短消息。

常用短消息相關(guān)AT指令及說(shuō)明如表1所列。





1.3 收發(fā)短消息的模式

  目前,接收和發(fā)送SMS信息常用的模式主要有兩種:Text(文本)模式和PDU(Protocol Data Unit,協(xié)議數(shù)據(jù)單元)模式。

(1)Text模式

  Text 模式是純文本方式,可使用不同的字符集。該模式下信息傳送和接收的編碼比較簡(jiǎn)單,但國(guó)內(nèi)手機(jī)Text模式下不支持收發(fā)中文漢字字符的手機(jī)短消息。本文通過(guò)編碼轉(zhuǎn)換實(shí)現(xiàn)了GSM模塊在Text模式下收發(fā)中文短信息。

(2)PDU模式

  PDU模式被所有手機(jī)支持,可發(fā)送中英文短信。PDU模式下可采用3種編碼方式,分別是7位、8位和UCS2編碼,分別用于發(fā)送普通的ASC Ⅱ字符、數(shù)據(jù)消息和Unicode字符。按照GSM07.05協(xié)議規(guī)定,手機(jī)短信息中的漢字編碼均采用Unicode碼。

  如表2所列,PDU模式中畫(huà)橫線部分依次為短信息中心號(hào)碼、發(fā)送短信方手機(jī)號(hào)碼以及發(fā)送短信的日期和時(shí)間。其代碼表示為將實(shí)際數(shù)據(jù)兩兩顛倒,例如實(shí)際短信息中心號(hào)碼應(yīng)為“8613800311500”。短信內(nèi)容“你好!”均為Unicode字符“4F60597D0021”。其他各項(xiàng)的具體說(shuō)明見(jiàn)參考文獻(xiàn)。


  經(jīng)研究比較發(fā)現(xiàn),所要提取的短信信息包括手機(jī)號(hào)碼、時(shí)間和短信內(nèi)容。在Text模式下時(shí)間和日期均為ASCII碼,可直接讀取,只需將內(nèi)容中漢字部分的Unicode碼轉(zhuǎn)換成國(guó)標(biāo)碼;而在PDU模式下除漢字編碼轉(zhuǎn)換外,還需將號(hào)碼、時(shí)間部分編碼進(jìn)行兩兩顛倒的轉(zhuǎn)換,才能得到所需的正確信息。故在系統(tǒng)設(shè)計(jì)中將GSM模塊設(shè)為Text模式,更能簡(jiǎn)化程序設(shè)計(jì)。

2 Unicode碼到GB2312碼的轉(zhuǎn)換

  由于Unicode編碼和GB2312編碼之間沒(méi)有一一對(duì)應(yīng)的線性轉(zhuǎn)換關(guān)系,用單片機(jī)控制代碼轉(zhuǎn)換只能采用查表方法實(shí)現(xiàn),因此,需要建立Unicode碼和GB碼之間轉(zhuǎn)換的對(duì)照。中文簡(jiǎn)體漢字有7 464個(gè),一個(gè)漢字占2個(gè)字節(jié),因此對(duì)照表需要29 856(7 464×4)的存儲(chǔ)空間。本設(shè)計(jì)中選擇P89V51RD型單片機(jī),該芯片提供的1 KB RAM可以滿足存儲(chǔ)多條短信的要求。

  單片機(jī)通過(guò)串口與模塊連接后,發(fā)送讀取第一條新短消息指令:“AT+CMGR=1”。提取模塊接收的短消息后,先判斷其內(nèi)容是否為ASCII碼。若為ASCII碼,則無(wú)需轉(zhuǎn)換直接讀取;否則,通過(guò)查表法查找其對(duì)應(yīng)的漢字GB碼,實(shí)現(xiàn)不同編碼間的轉(zhuǎn)換。轉(zhuǎn)換流程如圖2所示。


提取信息內(nèi)容的部分程序如下:

  采用二分查找法,其最壞查找次數(shù)為lg2(n+1),對(duì)照表的長(zhǎng)度n為7 464,故最壞查找次數(shù)約為13次。也就是說(shuō),一個(gè)中文編碼轉(zhuǎn)換最多經(jīng)過(guò)13次比較查找即可完成,單片機(jī)控制能夠?qū)崟r(shí)完成。

3 單片機(jī)多串口的實(shí)現(xiàn)

  51系列單片機(jī)一般只有一個(gè)串行通路,通過(guò)串口與GSM模塊連接后,則不能再連接其他串口設(shè)備;而一些串口擴(kuò)展芯片成本較高,連接也較麻煩。本方法利用數(shù)控模擬開(kāi)關(guān)CD4052來(lái)做多串口擴(kuò)展器,成本低廉而且接線簡(jiǎn)單。其引腳排列如圖3所示。


  CD4052具有4個(gè)獨(dú)立的通道數(shù)據(jù)選擇器,有A、B兩個(gè)輸入端和一個(gè)禁止輸入INH,通過(guò)A、B的4種二進(jìn)制組合狀態(tài)來(lái)選擇4對(duì)通道中的一對(duì)。

  本設(shè)計(jì)中,A、B分別占用P2.0和P2.1口,P2=0x01則選通模塊串口,P2=0x02則接通其他串口設(shè)備。當(dāng)INH為1時(shí),所有通道均關(guān)閉。X、Y分別連接單片機(jī)的RXD和TXD,則可將一個(gè)串口擴(kuò)展為4個(gè),具體接線方法如圖4所示。


  CD4052實(shí)際上是2個(gè)一分四的數(shù)據(jù)分配器,所擴(kuò)展的串口均是全雙工異步工作模式,具有很高的工作速度,方便地實(shí)現(xiàn)了一片單片機(jī)多個(gè)串口的擴(kuò)展能力。以Siemens公司的TC35i GSM模塊為編程對(duì)象,通過(guò)P89 V51單片機(jī)進(jìn)行控制,構(gòu)建了實(shí)際系統(tǒng),實(shí)現(xiàn)了編程過(guò)程以及系統(tǒng)串口擴(kuò)展等,有效地接收并完成中文短消息代碼的轉(zhuǎn)換,驗(yàn)證了上述構(gòu)建思路的可行性和正確性。



結(jié) 語(yǔ)

  單片機(jī)控制GSM模塊在Text模式下接收手機(jī)中文短信息,其編碼轉(zhuǎn)換格式較為簡(jiǎn)單,并有較高的轉(zhuǎn)換速率。對(duì)于終端接收中英文信息的項(xiàng)目,采用本文所研究的單片機(jī)控制GSM模塊收發(fā)短消息技術(shù),實(shí)現(xiàn)簡(jiǎn)單,成本較低,可直接嵌套使用。另外,經(jīng)擴(kuò)展后單片機(jī)可同時(shí)與其他串行設(shè)備相連,例如與串行打印機(jī)相連,即可直接打印出手機(jī)信息內(nèi)容。在車輛監(jiān)控系統(tǒng)、倉(cāng)庫(kù)監(jiān)控系統(tǒng)及儀器數(shù)據(jù)遠(yuǎn)傳等方面,也能很好地結(jié)合本技術(shù)。

單片機(jī)與嵌入式系統(tǒng)



相關(guān)鏈接:
唐雄燕:全業(yè)務(wù)運(yùn)營(yíng)背景下的VoIP和IM 2008-11-26
3G前夜的手機(jī)游戲 2008-11-18
觀察:IP視頻監(jiān)控-短板猶存 2008-11-17
移動(dòng)電視商業(yè)模式應(yīng)取經(jīng)全球運(yùn)營(yíng)經(jīng)驗(yàn) 2008-11-17
Black Berry為何那么火 2008-11-12

分類信息:  移動(dòng)增值_與_短信/彩信  移動(dòng)增值_與_sms技術(shù)  短信/彩信_(tái)與_移動(dòng)  短信/彩信_(tái)與_sms技術(shù)
           移動(dòng)_與_sms技術(shù)