<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>

新聞中心

EEPW首頁(yè) > 嵌入式系統 > 設計應用 > 嵌入式GSM短信息接口的軟硬件設計

嵌入式GSM短信息接口的軟硬件設計

作者: 時(shí)間:2004-12-10 來(lái)源:網(wǎng)絡(luò ) 收藏
摘要:SMS短服務(wù)作為網(wǎng)絡(luò )的一種基本業(yè)務(wù)已得到越來(lái)越多的系統運營(yíng)商和系統開(kāi)發(fā)商的重視,以網(wǎng)絡(luò )作為數據無(wú)線(xiàn)傳輸網(wǎng)絡(luò ),可以開(kāi)發(fā)出多種前景極其樂(lè )觀(guān)的各類(lèi)應用。本文給出一個(gè)小型的SMS中/英文短,并詳細討論PDU模式的短格式和中文短信息軟件解碼的。

關(guān)鍵詞: SMS UTF-8 GB-2312 無(wú)線(xiàn)通信 無(wú)線(xiàn)數傳 遙控 中文編碼

引 言

  SMS(Short Message Service)短信息服務(wù)是GSM(Global System for Mobile Communication)系統中提供的一種GSM終端(手機)之間,通過(guò)服務(wù)中心(Service Center)進(jìn)行文本信息收發(fā)的應用服務(wù),其中服務(wù)中心完成信息的存儲和轉發(fā)功能。短信息服務(wù)作為GSM網(wǎng)絡(luò )的一種基本業(yè)務(wù),已得到越來(lái)越多的系統運營(yíng)商和系統開(kāi)發(fā)商的重視,基于這種業(yè)務(wù)的各種應用也蓬勃發(fā)展起來(lái)。以GSM網(wǎng)絡(luò )作為數據無(wú)線(xiàn)傳輸網(wǎng)絡(luò ),可以開(kāi)發(fā)出多種前景極其樂(lè )觀(guān)的各類(lèi)應用,如無(wú)線(xiàn)數據的雙向傳送、無(wú)線(xiàn)遠程檢測和控制等。典型的應用有:變電站、電表、水塔、水庫或環(huán)保監測點(diǎn)等監測數據的無(wú)線(xiàn)傳輸和無(wú)線(xiàn)自動(dòng)警報;遠程無(wú)線(xiàn)控制高壓線(xiàn)路斷電器、加熱系統、防洪攔阻系統或其它機電系統的啟動(dòng)和關(guān)閉;車(chē)隊交通管理和控制指揮系統;控制和監測香煙、食品和飲料自動(dòng)售貨機的運行狀態(tài)和存貨水平等等。

  由于GSM網(wǎng)絡(luò )在全國范圍內實(shí)現了聯(lián)網(wǎng)和漫游,具有網(wǎng)絡(luò )能力強的特點(diǎn),用戶(hù)無(wú)需另外組網(wǎng),在極大提高網(wǎng)絡(luò )覆蓋范圍的同時(shí)為客戶(hù)節省了昂貴建網(wǎng)費用和維護費用。同時(shí),它對用戶(hù)的數量也沒(méi)有限制,克服了傳統的專(zhuān)網(wǎng)通信系統投資成本大,維護費用高,且網(wǎng)絡(luò )監控的覆蓋范圍和用戶(hù)數量有限的缺陷。比起傳統的集群系統在無(wú)線(xiàn)網(wǎng)絡(luò )覆蓋上具有無(wú)法比擬的優(yōu)勢,加上GSM的SMS本身具備的數據傳送功能,都使得這些應用得到迅速的普及。利用GSM短信息系統進(jìn)行無(wú)線(xiàn)通信還具有雙向數據傳輸功能,性能穩定,為遠程數據傳送和監控設備的通信提供了一個(gè)強大的支持平臺。

1 SMS短信息的無(wú)線(xiàn)數傳監視和控制

  通常情況,基于SMS短信息服務(wù)的無(wú)線(xiàn)數傳監視和控制系統為一個(gè)點(diǎn)到多點(diǎn)的遠程無(wú)線(xiàn)雙向數據通信和控制系統,如圖1所示。系統的中心點(diǎn)為數據或監控指揮中心,由計算機網(wǎng)絡(luò )、數據庫、電子地圖和GSM通信組成。監控中心主要完成各種信息和數據的收發(fā)和整理:一方面,接收各個(gè)監控點(diǎn)上傳的信息和數據,并把它們放入相應的數據庫和分發(fā)給相應的監控計算機,以實(shí)現對各個(gè)監控點(diǎn)的監控和管理;另一個(gè)方面,監控中心響應監控計算機發(fā)出的對各個(gè)監控點(diǎn)的控制信息,并且把這些信息下發(fā)到相應的監控點(diǎn)上,從而達到對監控點(diǎn)設備進(jìn)行控制的目的。

2 GSM無(wú)線(xiàn)通信控制終端

  GSM無(wú)線(xiàn)通信控制終端為一個(gè)MC3的系統,具有如圖2所示的測量、數據采集、控制、無(wú)線(xiàn)通信功能。GSM無(wú)線(xiàn)通信控制終端通過(guò)GSM網(wǎng)絡(luò )和監控中心進(jìn)行雙向的信息傳輸。它將測量和采集到的數據信息傳送到監控中心,同時(shí)接收監控中心的控制數據,對設備實(shí)施相應的控制。

3 GSM通信的硬件實(shí)現

  GSM無(wú)線(xiàn)通信控制終端的通信接口一般采用目前在市場(chǎng)上提供的可供二次開(kāi)發(fā)的標準的GSM模塊,如TC35、FALCOM、WISMO3等。這些通信模塊都具備GSM無(wú)線(xiàn)通信的全部功能,并提供標準的UART串行接口,支持GSM 07.05所定義的AT命令集的指令。因此,MCU能非常方便地通過(guò)UART接口與GSM模塊連接,并直接使用AT命令就可以方便簡(jiǎn)潔地實(shí)現短信息的收發(fā)、查尋和管理。

  在我們的GSM無(wú)線(xiàn)通信控制終端中,采用的GSM通信模塊為FALCOM A2D,MCU使用的是Atmel公司的高速8位微控制器ATmage128。ATmega128芯片為64個(gè)引腳,內部集成了4K字節的RAM、4K字節的EEPROM、128K字節的Flash以及2個(gè)UART串行接口等。由于采用了高性能的MCU,省掉了大量的外圍器件,如外擴RAM、ROM存儲器等,使硬件結構大大簡(jiǎn)化,提高了系統的可靠性。系統的硬件框圖如圖3所示。

4 基于GSM通信的軟件接口

  市場(chǎng)上提供的可供二次開(kāi)發(fā)的標準的GSM模塊都支持GSM 07.05所定義的AT命令集的指令。因此,MCU通過(guò)UART串行接口直接向GSM模塊下發(fā)AT命令,就可以方便簡(jiǎn)潔地實(shí)現基于GSM的短信息SMS的收發(fā)、查尋和管理。表1列出了與SMS相關(guān)的一些常用的GSM AT指令。

表1 與SMS相關(guān)的常用GSM AT命令

AT指令

功 能

AT+CMGD刪除一條保存在SIM卡內的短信息
AT+CMGF選擇短信息格式:0為PDU方式:1為文本方式
AT+CMGL列出SIM卡中的保存短信息
AT+CMGR讀取SIM卡中指定一條短信息的內容
AT+CMGS發(fā)送一條短信息
AT+CSCA設置短信息服務(wù)中心地址

  根據GSM 07.05的定義,SMS短信息的發(fā)送和接收模式共有三種:Block模式、基于A(yíng)T命令的Text模式和基于A(yíng)T命令的PDU模式。使用Block模式需要模塊生產(chǎn)廠(chǎng)家提供驅動(dòng)支持;而用于中英文短信息傳送應使用PDU模式,只傳送英文短信息(純文本格式)使用Text模式。Text模式的短信息發(fā)送和接收比較簡(jiǎn)單,如不需要傳送中文則最好采用Text模式發(fā)送和接收短信息。

  采用Text模式發(fā)送接收短信息的步驟分為初始化GSM模塊、發(fā)送文本短信息和接收短信息。下面一段簡(jiǎn)單的程序給出一個(gè)示例:

PRINT "AT+CSCA=";Chr(34);"+8613800210500";Chr(34) ‘設置短信息中心號碼

PRINT "AT+CMGF=1" ‘設置為T(mén)ext模式

PRINT "AT+CMGS=";Chr(34);"13500123456";Chr(34) ‘發(fā)送一條短信息

PRINT "This is a test SMS";Chr(26)

PRINT "AT+CMGR=1" ‘讀取收到的一條

‘短信息

.

.

.

  該程序使用BASCOM-AVR高級語(yǔ)言編寫(xiě),其中PRINT語(yǔ)句的功能是通過(guò)URAT串行口發(fā)送字符串,Chr(34)代表ASCII字符(“),Chr(26) 代表ASCII字符(Ctrl-Z)。第一行語(yǔ)句設置短信息服務(wù)中心號碼,即通過(guò)串口發(fā)送以下字符串: AT+CSCA= "+8613800210500",其中+8613800210500為上海地區中國移動(dòng)的短信息服務(wù)中心號碼。第二行語(yǔ)句設置短信息發(fā)送格式:AT+CMGF=1,其中1表示采用Text模式。第三和第四行語(yǔ)句發(fā)送一條短信息到控制中心,AT命令的格式為:AT+CMGS= "13500123456"cr>This is a test SMS^Z>,其中控制中心的號碼為13500123456,短信息內容為“This is a test SMS”,確認控制字符為Ctrl-Z。第五行語(yǔ)句為讀取一條收到的短信息內容:AT+CMGR=1,其中1表示收到的(在SIM卡中)第一條短信息。該指令發(fā)出后,如果GSM模塊中有接收到的短信息,則從UART接口返回如下信息(具體AT命令格式請參考GSM 07.05):

  +CMGR: "REC UNREAD","+8613508485560",,"02/10/16,15:37:28+32"

xxxxxxxxxxxxxxxxxx (收到短信息的文本內容)

5 基于PDU模式的中文短信息接收

  發(fā)送和接收中文或中/英文混合的短信息必須采用PDU模式。根據GSM 07.05的定義,只要控制器通過(guò)UART接口向GSM模塊下發(fā)AT命令,就可以直接讀取收到的PDU模式的短信息:

  PRINT "AT+CMGF=0" ‘設置為PDU模式

  PRINT "AT+CMGR=1"‘讀取接收的一條短信

‘息

在PDU模式下,GSM通信模塊的回答格式為:

+CMGR: stat>,,length>CR>LF>pdu>

  其中: stat表示該條短信息的狀態(tài),通常為0(未讀過(guò),新的短信息)或1(已讀過(guò));

Length為十進(jìn)制數,表示pdu數據長(cháng)度減去短信息服務(wù)中心地址長(cháng)度,單位為字節;

CR>LF>為回車(chē)換行;

pdu為PDU模式的數據包。

  然后,要分析PDU數據包,根據PDU的數據格式將收到的中文信息和其它相關(guān)信息解析出來(lái)。

5.1 PDU數據包格式

  PDU數據包由兩部分構成,短信息服務(wù)中心地址(SMSC address)和TPDU,表2為PDU數據包的格式,其中一個(gè)數據單元為一個(gè)字節。

  其中短信息服務(wù)中心號碼、發(fā)送源號碼、日期以及時(shí)間采用壓縮BCD碼表示,低位在前,高位在后。在本文的網(wǎng)絡(luò )補充版(http://www.dpj.com.cn)中給出了通過(guò)讀取短信息的AT命令(AT+CMGR=1)從GSM模塊讀到的一條PDU模式的短信息,并給出常見(jiàn)的數值與解釋。

5.2 PDU模式的純英文短信息解碼

  PDU模式的純英文短信息編碼使用GSM字符集的7位編碼,此時(shí)TP-DCS的值為00。如短信息內容為英文字符“Hi”,首先將各個(gè)字符轉換為7位的標準二進(jìn)制ASCII碼,然后要將后面字符的低位逐位調整到前面,補齊前面的差別。例如:“H”的二進(jìn)制ASCII碼為1001000,“i” 二進(jìn)制ASCII碼為1101001;顯然H的二進(jìn)制編碼不足八位,那么就將后面字符i的最后一位補足到H的前面,就成了11001000(C8),i剩下六位110100,前面再補兩個(gè)0,變成00110100(34),于是“Hi”就變成了兩個(gè)八進(jìn)制數 C834。由于PDU模式的純英文短信息采用7位編碼,解碼不方便,因此對于只需發(fā)送和接收純英文字符和數字符號的應用,最好采用Text模式發(fā)送和接收短信息。

表2 PDU數據包格式(接收MSM)

備注名稱(chēng)長(cháng)度數據單元bit位
76543210
 SMSC地址長(cháng)度1N+1(十六進(jìn)制數)
 SMSC地址類(lèi)型11號碼類(lèi)型號碼表
 SMSC號碼N號碼第2位號碼第1位
 號碼第4位號碼第3位
 …………
 號碼第n位號碼第n-1位
 TPDU第一字節1        
最長(cháng)12字節發(fā)送源號碼長(cháng)度1實(shí)際號碼位數k(十六進(jìn)制數)
發(fā)送源號碼類(lèi)型11號碼類(lèi)型號碼表
發(fā)送源號碼M號碼第2位號碼第1位
號碼第4位號碼第3位
  
號碼第k位號碼第k-1位
 TP-PID1   
 TP-DCS1     
 TP-SCTS7年低位年高位
 月低位月高位
 日低位日高位
 時(shí)低位時(shí)高位
 分低位分高位
 秒低位秒高位
 時(shí) 區
 TP-UDL1        
最長(cháng)140字節TP-UD短信息內容1        
1        
         
         
1        
1        

5.3 中文短信息的解碼

  由于中文字的編碼是采用2個(gè)字節的編碼,因此發(fā)送和接收中文或中英文混合的短信息只能采用PDU模式。但在GSM標準中,中文編碼采用UTF-8的編碼,不是目前國內常用的GB-2312編碼,故還需要進(jìn)行中文編碼的轉換,才能與采用GB-2313漢字庫相配合顯示漢字字型。

由于UTF-8和GB-2312編碼之間不存在一一對應的線(xiàn)性關(guān)系,因此只能采用查表的方式進(jìn)行轉換。下面給出一個(gè)由UTF-8到GB-2312編碼轉換的算法。

 ?、?建立UTF-8和GB-2312兩個(gè)中文編碼表,表中數據項為2個(gè)字節長(cháng)度的十六進(jìn)制的數,代表一個(gè)中文編碼。兩個(gè)表的長(cháng)度分別為14 890字節(27445)。UTF-8編碼表按數據項值從小到大排序,而在GB-2312編碼表中,與UTF-8相同位置處為相同漢字的GB-2312碼字,如圖4所示。

 ?、?軟件解碼過(guò)程為:每次從PDU模式SMS數據包的TP-UD中取出兩個(gè)字節,采用二分法快速數據查找算法,在UTF-8編碼表中找到其所在位置,然后在GB-2312表的相同位置處讀取相對應的GB-2312編碼。解碼流程如圖5所示。

 ?、?二分法的最壞查找次數為lg2(n+1),UTF-8表的長(cháng)度n為7445,固最壞查找次數為13次,就是說(shuō)一個(gè)中文編碼由UTF-8到GB-2312的轉換最多經(jīng)過(guò)13次比較查找就可完成。 這比采用簡(jiǎn)單的順序查表要快的多,大大減少了查表所花費的時(shí)間,非常適合在一般的系統中使用。

 ?、?盡管兩個(gè)漢字編碼表要占用近30 KB(如還需要GB-2312到UTF-8的轉換,則還要增加兩個(gè)表,共占60 KB),但由于采用了ATmega128單片機,其片內有128KB的程序存儲器,因此可將程序與表格放在一起。去掉60 KB的表格,仍有近70 KB的容量用于系統程序,因此完全不用外部擴充存儲器(漢字字庫除外),大大簡(jiǎn)化了硬件的結構和設計。

結 語(yǔ)

  本文的設計方案已應用在我們研發(fā)的產(chǎn)品“車(chē)船載GPS-GSM衛星定位無(wú)線(xiàn)通信移動(dòng)終端”上,經(jīng)過(guò)多年的運行和使用,證明系統工作穩定可靠。2001年10月,在美國著(zhù)名計算機應用雜志《CIRCUIT CELLAR》舉辦的世界性電子設計競賽“Design Logic 2001 Contest”中,該產(chǎn)品獲得三等獎。

linux操作系統文章專(zhuān)題:linux操作系統詳解(linux不再難懂)


關(guān)鍵詞: 軟硬件 設計 接口 信息 GSM 嵌入式

評論


相關(guān)推薦

技術(shù)專(zhuān)區

關(guān)閉
国产精品自在自线亚洲|国产精品无圣光一区二区|国产日产欧洲无码视频|久久久一本精品99久久K精品66|欧美人与动牲交片免费播放
<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>