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

