摘要:SMS短信息服務作為GSM網絡的一種基本業務已得到越來越多的系統運營商和系統開發商的重視,以GSM網絡作為數據無線傳輸網絡,可以開發出多種前景極其樂觀的各類應用。本文給出一個小型的嵌入式SMS中/英文短信息接口的設計,并詳細討論PDU模式的短信息格式和中文短信息軟件解碼的設計。
關鍵詞:GSMSMSUTF-8GB-2312無線通信無線數傳遙控中文編碼
由于GSM網絡在全國范圍內實現了聯網和漫游,具有網絡能力強的特點,用戶無需另外組網,在極大提高網絡覆蓋范圍的同時為客戶節省了昂貴建網費用和維護費用。同時,它對用戶的數量也沒有限制,克服了傳統的專網通信系統投資成本大,維護費用高,且網絡監控的覆蓋范圍和用戶數量有限的缺陷。比起傳統的集群系統在無線網絡覆蓋上具有無法比擬的優勢,加上GSM的SMS本身具備的數據傳送功能,都使得這些應用得到迅速的普及。利用GSM短信息系統進行無線通信還具有雙向數據傳輸功能,性能穩定,為遠程數據傳送和監控設備的通信提供了一個強大的支持平臺。 1SMS短信息的無線數傳監視和控制
通常情況,基于SMS短信息服務的無線數傳監視和控制系統為一個點到多點的遠程無線雙向數據通信和控制系統,如圖1所示。系統的中心點為數據或監控指揮中心,由計算機網絡、數據庫、電子地圖和GSM通信接口組成。監控中心主要完成各種信息和數據的收發和整理:一方面,接收各個監控點上傳的信息和數據,并把它們放入相應的數據庫和分發給相應的監控計算機,以實現對各個監控點的監控和芾恚渙硪桓齜矯媯囁刂行南煊囁丶撲慊⒊齙畝愿鞲黽囁氐愕目刂菩畔?,并且邦亸T┬畔⑾路⒌較嚶Φ募囁氐閔?,磦蝤达到都s囁氐閔璞附鋅刂頻哪康摹?BR>
GSM無線通信控制終端為一個MC3的嵌入式系統,具有如圖2所示的測量、數據采集、控制、無線通信功能。GSM無線通信控制終端通過GSM網絡和監控中心進行雙向的信息傳輸。它將測量和采集到的數據信息傳送到監控中心,同時接收監控中心的控制數據,對設備實施相應的控制。
GSM無線通信控制終端的通信接口一般采用目前在市場上提供的可供二次開發的標準的GSM模塊,如TC35、FALCOM、WISMO3等。這些通信模塊都具備GSM無線通信的全部功能,并提供標準的UART串行接口,支持GSM07.05所定義的AT命令集的指令。因此,MCU能非常方便地通過UART接口與GSM模塊連接,并直接使用AT命令就可以方便簡潔地實現短信息的收發、查尋和管理。
在我們設計的GSM無線通信控制終端中,采用的GSM通信模塊為FALCOMA2D,MCU使用的是Atmel公司的高速8位微控制器ATmage128。ATmega128芯片為64個引腳,內部集成了4K字節的RAM、4K字節的EEPROM、128K字節的Flash以及2個UART串行接口等。由于采用了高性能的MCU,省掉了大量的外圍器件,如外擴RAM、ROM存儲器等,使硬件結構大大簡化,提高了系統的可靠性。系統的硬件框圖如圖3所示。
市場上提供的可供二次開發的標準的GSM模塊都支持GSM07.05所定義的AT命令集的指令。因此,MCU通過UART串行接口直接向GSM模塊下發AT命令,就可以方便簡潔地實現基于GSM的短信息SMS的收發、查尋和管理。表1列出了與SMS相關的一些常用的GSMAT指令。
采用Text模式發送接收短信息的步驟分為初始化GSM模塊、發送文本短信息和接收短信息。下面一段簡單的程序給出一個示例:
+CMGR:"RECUNREAD","+8613508485560",,"02/10/16,15:37:28+32"
5基于PDU模式的中文短信息接收
發送和接收中文或中/英文混合的短信息必須采用PDU模式。根據GSM07.05的定義,只要控制器通過UART接口向GSM模塊下發AT命令,就可以直接讀取收到的PDU模式的短信息:
其中:stat表示該條短信息的狀態,通常為0(未讀過,新的短信息)或1(已讀過);
然后,要分析PDU數據包,根據PDU的數據格式將收到的中文信息和其它相關信息解析出來。
5.1PDU數據包格式
其中短信息服務中心號碼、發送源號碼、日期以及時間采用壓縮BCD碼表示,低位在前,高位在后。給出了通過讀取短信息的AT命令(AT+CMGR=1)從GSM模塊讀到的一條PDU模式的短信息,并給出常見的數值與解釋。
5.2PDU模式的純英文短信息解碼
5.3中文短信息的解碼
?、俳TF-8和GB-2312兩個中文編碼表,表中數據項為2個字節長度的十六進制的數,代表一個中文編碼。兩個表的長度分別為14890字節(2×7445)。UTF-8編碼表按數據項值從小到大排序,而在GB-2312編碼表中,與UTF-8相同位置處為相同漢字的GB-2312碼字,如圖4所示。
?、鼙M管兩個漢字編碼表要占用近30KB(如還需要GB-2312到UTF-8的轉換,則還要增加兩個表,共占60KB),但由于采用了ATmega128單片機,其片內有128KB的程序存儲器,因此可將程序與表格放在一起。去掉60KB的表格,仍有近70KB的容量用于系統程序,因此完全不用外部擴充存儲器(漢字字庫除外),大大簡化了硬件的結構和設計。 結語
本文的設計方案已應用在我們研發的產品“車船載GPS-GSM衛星定位無線通信移動終端”上,經過多年的運行和使用,證明系統工作穩定可靠。2001年10月,在美國著名計算機應用雜志《CIRCUITCELLAR》舉辦的世界性電子設計競賽“DesignLogic2001Contest”中,該產品獲得三等獎。
|
作者:馬潮 文章來源:華東師范大學
其他文檔:
google_ad_client = "pub-2416224910262877"; google_ad_width = 728; google_ad_height = 90; google_ad_format = "728x90_as"; google_ad_channel = ""; google_color_border = "E1771E"; google_color_bg = "FFFFFF"; google_color_link = "0000FF"; google_color_text = "000000"; google_color_url = "008000";
更多文章、技術交流、商務合作、聯系博主
微信掃碼或搜索:z360901061

微信掃一掃加我為好友
QQ號聯系: 360901061
您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描下面二維碼支持博主2元、5元、10元、20元等您想捐的金額吧,狠狠點擊下面給點支持吧,站長非常感激您!手機微信長按不能支付解決辦法:請將微信支付二維碼保存到相冊,切換到微信,然后點擊微信右上角掃一掃功能,選擇支付二維碼完成支付。
【本文對您有幫助就好】元
