gsm數(shù)字蜂窩移動通信技術(shù)已得到成熟而廣泛的應(yīng)用,目前以建成的覆蓋全國的gsm數(shù)字蜂窩移動通信網(wǎng),是我國公眾移動通信網(wǎng)的重要方式。它能提供話音、短消息、數(shù)據(jù)等多種業(yè)務(wù)。短消息服務(wù)是gsm網(wǎng)絡(luò)的一項重要業(yè)務(wù),在遠距離監(jiān)控、數(shù)據(jù)采集、gps定位、無線報警、繳費通知、車輛調(diào)度等領(lǐng)域有著廣泛的應(yīng)用。
gsm模塊通常都提供uart串行接口,因此很容易和單片機在物理層上互聯(lián)。使用符合gsm07.05和gsm07.07標準的at指令集,可以使gsm模塊方便地完成短消息接收/發(fā)送等各種操作。其通信框圖如圖1所示。
移動設(shè)備me主要負責與gsm網(wǎng)絡(luò)進行無線通信,終端適配器ta負責me與外部終端設(shè)備te的信息交換,at指令就是在ta與te之間傳送的。te可以是pc,或者是單片機系統(tǒng),通過at指令與me進行信息交互,F(xiàn)在市場上的gsm模塊,如tc35、falcom等,都把me和ta集成在一起,這樣整個通信就變成了te與gsm模塊之間的通信了。
一般地,gsm模塊在處理短消息時,采用一問一答的信息交互方式,這比較符合at指令集的精神。但在實際應(yīng)用中,發(fā)現(xiàn)這種方法存在一定的缺點:模塊接收到短消息并存儲起來,用戶再用查詢方式,發(fā)送指令“at+cmgl”或“at+cmgr”,使短消息傳送到te,這中間會有一定的延時。另外,由于sim卡容量有限,要保證短消息及時準備地接收,還要經(jīng)常刪除sim卡中的短消息,這樣多次的讀寫操作,勢必會影響sim卡的壽命。因此,有必要進行一些軟件設(shè)置,使短消息不通過sim卡,而直接發(fā)送至終端設(shè)備。本文給出一種在嵌入式系統(tǒng)中實時處理短消息的實現(xiàn)方法,當移動設(shè)備gsm模塊接收到短消息時,直接將消息轉(zhuǎn)發(fā)到終端設(shè)備,提高系統(tǒng)的響應(yīng)速度和處理效率。
1 硬件接口實現(xiàn)
一般,gsm無線通信控制終端采用標準的gsm模塊進行二次開發(fā),目前市場上很多,如tc35、falcom、wismo3等。它們都具備gsm無線通信的全部功能,支持gsm07.05,gsm07.07所定義的at指令集。
在本設(shè)計中,采用的gsm通信模塊為falcomc2d,單片機使用的是atmel公司的高速8位處理器atmega128。atmega128內(nèi)部集成有4kb的ram,4kb的eeprom,128kb的flash,以及2個uart串行接口等。其高速和大容量ram的特性,為處理短消息這樣的大數(shù)據(jù)包提供了便利;同時,節(jié)省了外圍器件,使得硬件結(jié)構(gòu)簡化,提高系統(tǒng)可靠性。中文液晶屏用來顯示接收到的中英文短信。系統(tǒng)的硬件接口框圖如圖2所示。
2 系統(tǒng)參數(shù)設(shè)置
短消息的發(fā)送和接收控制模式有三種:block模式、pdu模式和text模式。使用block模式需要手機生產(chǎn)廠家提供驅(qū)動支持。目前,pdu模式已取代block模式,而text模式不支持中文。因此,為了系統(tǒng)的通用性,兼容中英文短消息的發(fā)送接收,本系統(tǒng)使用pdu模式來處理短消息。