国产毛片a精品毛-国产毛片黄片-国产毛片久久国产-国产毛片久久精品-青娱乐极品在线-青娱乐精品

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

發布時間:2010-2-28 08:44    發布者:蹦蹦
關鍵詞: GSM , 短信息 , 接口 , 嵌入式 , 軟硬件
引 言:

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

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

1 SMS短信息的無線數傳監視和控制

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



2 GSM無線通信控制終端


GSM無線通信控制終端為一個MC3的嵌入式系統,具有如圖2所示的測量、數據采集、控制、無線通信功能。GSM無線通信控制終端通過GSM網絡和監控中心進行雙向的信息傳輸。它將測量和采集到的數據信息傳送到監控中心,同時接收監控中心的控制數據,對設備實施相應的控制。



3 GSM通信接口的硬件實現

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

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


4 基于GSM通信的軟件接口

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

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

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

PRINT "AT+CSCA=";Chr(34);"+8613800210500";Chr(34) ‘設置短信息中心號碼
PRINT "AT+CMGF=1" ‘設置為Text模式
PRINT "AT+CMGS=";Chr(34);"13500123456";Chr(34) ‘發送一條短信息
PRINT "This is a test SMS";Chr(26)
PRINT "AT+CMGR=1" ‘讀取收到的一條‘短信息

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

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

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

PRINT "AT+CMGF=0" ‘設置為PDU模式
PRINT "AT+CMGR=1"‘讀取接收的一條短信息

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

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

Length為十進制數,表示pdu數據長度減去短信息服務中心地址長度,單位為字節;

為回車換行;

pdu為PDU模式的數據包。

然后,要分析PDU數據包,根據PDU的數據格式將收到的中文信息和其它相關信息解析出來。

5.1 PDU數據包格式

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

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

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

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

5.3 中文短信息的解碼

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

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

建立UTF-8和GB-2312兩個中文編碼表,表中數據項為2個字節長度的十六進制的數,代表一個中文編碼。兩個表的長度分別為14 890字節(2×7445)。UTF-8編碼表按數據項值從小到大排序,而在GB-2312編碼表中,與UTF-8相同位置處為相同漢字的GB-2312碼字。

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



二分法的最壞查找次數為lg2(n+1),UTF-8表的長度n為7445,固最壞查找次數為13次,就是說一個中文編碼由UTF-8到GB-2312的轉換最多經過13次比較查找就可完成。這比采用簡單的順序查表要快的多,大大減少了查表所花費的時間,非常適合在一般的嵌入式系統中使用。

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

結 語

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

參考文獻

1  European Telecommunications StandardsInstitute ETSI GTS GSM 07.05
2 European Telecommunications Standards Institute ETSI GTS GSM 07.07
3 Atmel Corp Atmega128 Data Book
4 MCS Electronics BASCOM-AVR USERMANUAL

作 者:華東師范大學 馬潮  
來 源:單片機與嵌入式系統應用2003(7)
本文地址:http://m.qingdxww.cn/thread-8577-1-1.html     【打印本頁】

本站部分文章為轉載或網友發布,目的在于傳遞和分享信息,并不代表本網贊同其觀點和對其真實性負責;文章版權歸原作者及原出處所有,如涉及作品內容、版權和其它問題,我們將根據著作權人的要求,第一時間更正或刪除。
您需要登錄后才可以發表評論 登錄 | 立即注冊

廠商推薦

  • Microchip視頻專區
  • PIC18-Q71系列MCU概述
  • 5分鐘詳解定時器/計數器E和波形擴展!
  • 了解一下Microchip強大的PIC18-Q24 MCU系列
  • 安靜高效的電機控制——這才是正確的方向!
  • 貿澤電子(Mouser)專區

相關視頻

關于我們  -  服務條款  -  使用指南  -  站點地圖  -  友情鏈接  -  聯系我們
電子工程網 © 版權所有   京ICP備16069177號 | 京公網安備11010502021702
快速回復 返回頂部 返回列表
主站蜘蛛池模板: 99九九精品免费视频观看 | 操伊人| 日韩欧免费一区二区三区 | 天天综合色天天综合网 | 99久久精品免费看国产交换 | 99re热久久精品这里都是精品 | 免费看va | 欧美最爽乱淫视频播放黑人 | 日韩黄毛片 | 国产卡一卡二卡3卡乱码免费 | 国产99re| 四虎永久精品免费观看 | 久久综合五月婷婷 | 女人18毛片特级一级免费视频 | 一级做a爰片久久毛片人呢 一级做a爰片久久毛片免费看 | 欧美一区a | 国产精品手机在线亚洲 | 午夜影院色 | 欧美曰韩一区二区三区 | 成 年 人 视频在线播放 | 国产高清自拍 | 日本免费人成黄页在线观看视频 | 在线天堂中文有限公司 | 久久99久久99精品免观看动漫 | 久久综合一个色综合网 | 日韩高清免费观看 | 亚洲丰满熟妇毛片在线播放 | 4虎在线 | 色一情一区二区三区四区 | 亚洲欧美男人天堂 | 国产精品短视频 | 免费观看欧美一区二区三区 | 久久国产资源 | 黄h视频| 一级毛片特黄久久免费看 | 一级毛片免费毛片毛片 | 91系列在线观看免费 | 欧美中文字幕第一页 | 免费视频一区二区三区四区 | 成人福利网站在线看视频 | 男人的天堂网在线 |