8位元編碼

Download Report

Transcript 8位元編碼

第12课 GPRS GSM通信
GPRS簡介
• GPRS是General Packet RadioService的英文簡
稱,中文為通用無線分組業務,是一種基於GSM
系統的無線分組交換技術,提供端到端的、廣域
的無線IP連接。相對原來GSM的撥號方式的電路
交換資料傳送方式,GPRS是分組交換技術,具
有“即時線上”、“按量計費”、“快捷登錄”、
“高速傳輸”、“自如切換”的優點。通俗地講,
GPRS是一項高速資料處理的技術,方法是以
“分組”的形式傳送資料到用戶手上。雖然
GPRS是作為現有GSM網路向第三代移動通信過
渡的過渡技術,但是它在許多方面都具有顯著的
優勢。
GSM工作原理
• GPRS有幾種協定模型,Um介面GSM的空
中介面。Um介面上的通訊協定有5層,自
下而上依次為物理層,MAC(Media
Access Control)層,LLC(Logical Link
Control)層,SNDC(Subnetwork
Dependant Convergence)層和網路層。
GPRS网络基于现有GSM网络实现
• 在現有的GSM網路中需要增加一些節點,如GGSN
(Gateway GPRS Supporting Node、GPRS閘道支援節
點)和SGSN(Serving GSN、GPRS服務支援節點)。
GSN是GPRS網路中最重要的網路節點。GSN具有移動路
由管理功能,它可連接各種類型的資料網路,並可連接到
GPRS暫存器。GSN可完成移動終端和各種資料網路之間
的資料傳送和格式轉換。GSN有兩種類型:SGSN
(Serving GSN,服務GSN)和GGSN(Gateway GSN、
閘道GSN)。SGSN的主要作用是記錄移動終端的當前位
置資訊,並且在移動終端和GGSN之間完成移動分組資料
的發送和接收;GGSN主要起閘道作用,它可以與多種不
同的資料網路連接,如ISDN,PSPDN和LAN等。
• GPRS工作時,是透過路由管理來進行定址和建
立資料連接的,而GPRS的路由管理表現在以下3
個方面:
 移動終端發送資料的路由建立。
 移動終端接收資料的路由建立。
 移動終端處於漫遊時資料路由的建立。
• 對於第一種情況,當移動終端產生一個PDU(分組資料單元)時,這
個PDU經過SNDC層處理,稱為SNDC資料單元。然後經過LLC層處
理為LLC封包,透過空中介面送到GSM網路中移動終端所處的SGSN。
SGSN把數據送到GGSN。GGSN把收到的消息進行解裝處理,轉換
為可在公用資料網中傳送的格式(如PSPDN的PDU),最終送給公
用資料網的用戶。對於第二種情況下,一個公用資料用戶傳送資料到
移動終端時,首先透過資料網的標準協定建立資料網GGSN之間的路
由。資料網用戶發出的資料單元(如PSPDN中的PDU),透過建立
好的路由把資料單元PDU送給GGSN。而GGSN在把PDU送給移動終
端所在的SGSN上,GSN把PDU封裝成SNDC資料單元,在經過LLC
層處理LLC封包單元,最終透過空中介面送給移動終端。第三中情況
是一個資料網用戶傳送資料給一個正在漫遊的移動用戶。在這種情況
下的資料傳送必須經過歸屬地的GGSN,然後送到移動用戶A。
AT指令集
• AT命令由ASCII字元組成(最高位元為0,不校驗),除
了“A/”和“+++”兩條命令之外,所有命令行均以AT開頭,
以<Enter>+<換行>結束。一個命令行可以有多條命令,
但總字元數不能超過200。例如:
ATCMD1+CMD2=3;+CMD3=,,5;<cr><1f>
• 上述命令行有3條命令:CMD是一條命令;其後是一條含
有“+”號的擴展命令CMD2,並且該命令帶有參數,擴展
命令依靠“;”定界;最後是一條含有多個參數的擴展命
令,如果使用參數的預設值,參數可省略,只寫出參數之
間的定界符“,”。
AT指令集规则
• 當一個命令行中有多條命令時,一旦某條命令執行過程中
發生異常,將中止執行其後的所有命令。因此,不建議在
一個命令行中同時出現多條命令。
• AT命令的拼寫對字母大小寫不敏感,但部分字串參數例外。
• 絕大多數命令被模組執行後,都有返回參數(如OK,
ERROR等,表明本次執行成功與否)。
• 返回參數格式為:<Enter><換行>response<Enter><換行
>
SMS簡訊發送和接受模式
• 首先,要對ESTI制訂的SMS規範有所瞭解。與討論的簡
訊收發有關的規範主要包括GSM03.39,GSM03.40和
GSM07.05。前兩者著重描述SMS的技術實現(含編碼方
式),後者則規定了SMS的DTE-DCE介面標準(AT命令
集)。
• 共有三種方式來發送和接收SMS資訊:Block Mode、Text
Mode和PDU Mode。Block Mode目前已很少用了。Text
Mode是純文本方式,可使用不同的字元集,從技術上說,
也可以 用於發送中文簡訊,但國內手持電話基本上不支
援,主要用於歐美地區。PDU Mode被所有手持電話支援,
可使用任何字元集,這也是手持電話預設的編碼方式。
Text Mode比較簡單,而且不適合自定義資料傳輸。這裏
主要討論PDU Mode方式。
PDU模式下發送和接收簡訊
• 下面將介紹在PDU Mode下發送和接收簡訊的實現方法。
• PDU串表面上是一串ASCII碼,由0~9,A~F這些數位元
和字母組成。它們是8位元位元組的十六進位數,或者
BCD碼十進位數字。PDU串不僅包含可顯示的消息本身,
還包含很多其他資訊,如SMS服務中心(SMSC)號碼,
目標號碼,回復號碼,編碼方式和服務時間等。發送和接
收的PDU串,結構是不完全相同的。先用一個實際的例子
說明PDU的結構和編排方式。例子—發送:SMSC號碼是
+8860912345678,對方號碼是0910234567,消息的內
容是“Hello!”。從手持電話發出的PDU串可以是08 91 88
06 19 32 54 76 F8 11 00 0D 91 88 06 19 20 43 65 F7 00
00 00 06 C8 32 9B FD 0E 01對照規範,具體分析如下表
12-1示。
表12-1 SMS編碼方式表
[注意]:號碼和時間的表示方法不是按正常順序順著來的,而且要以F將奇數補成偶數。
• 在PDU Mode中,可採用3種編碼方式對發
送的內容進行編碼,它們是7位元,8位元
和UCS2編碼。PDU串的用戶資訊(TP-UD)
段最大容量是140位元組,在這三種編碼方
式下,可發送簡訊的最大字元數分別是160、
14070。這裏,將一個英文字母,一個漢字
和一個資料位元組都視為一個字元。
• 7位元編碼 用於發送普通的ASCII字元,它將一串7位元的字元(最高
位元為0)編碼成8位元資料,每8個字元可“壓縮”成7個。將來源端
字串每個字元分為一組進行編碼,在組內字元間壓縮,但每組之間無
聯繫。需要指出的是,7位字元集與ANSI標準字元集不完全一致,在
0X20以下也編排一些可列印字元,但英文字母,阿拉伯數字和常用
符號的位置兩者是一樣的。
• 8位元編碼 8位元編碼通常用於發送資料消息,比如圖片和鈴聲等。
它將資料直接發送,不需要做其他的編碼操作。
• UCS2編碼 UCS2編碼用於發送Unicode字元。每個國家(或區域)
都規定了電腦資訊交換用的字元編碼集。字元編碼集按長度分為
SBCS(單字節字元集)和DBCS(雙位元組字元集)兩大類。由於
各個本地字元集程式範圍重疊,相互間資訊交換困難,有必要將本地
化工作中的共同性抽取出來,進行一致處理,將特別的本地化處理內
容降到最低。各種語言資訊被進一步規範為Locale資訊,處理的底層
字元集變成了幾乎所有字形的Unicode。
• 現在大部分具有國際化特徵的軟體核心字元處理都是以Unicode為基
礎的,在軟體執行時依據當時的Locale/Land/Codepage設置確定相
應的本地字元編碼設置,依次處理本地字元。
• UCS2編碼就是將每個字元(1~2位元組)按照ISO/IEC10646的規定
轉變為16位元的Unicode寬字元。
• 在許多中文系統中,預設用BIG5編碼保存中文字元,首先需要把
BIG5編碼的字串轉換到Unicode編碼的字串。BIG5編碼是一種多位元
組編碼方式,對於中文,用2位元組表示;對於英文,用1位元組表示,
就是英文的ASCII碼。Unicode編碼是雙位元組編碼方式,對所有字元,
都採用2位元組的編碼。
• 因此在發送簡訊時,首先需要完成BIG5到Unicode的轉換。同樣,接
收到短訊息後,需要將Unicode轉換成BIG5。
短消息相关的AT指令
 選擇簡訊格式
發送AT+CMGF=n。
n=0, 選擇PDU格式
n=1, 選擇文本格式。
執行命令後,模組返回OK。
 設置簡訊中心號碼
發送AT+CSCA=<string>。
對於行動電話,string=+8860912345678;執行命令後,模組返回OK。
 選擇區域廣播簡訊資訊
發送“AT+CSCB=[<mode>[,<mids>[,<dcss>]]]”,執行正確,模組返回OK。
參數含義如下:
<mode>
0:接收區域廣播
1:不接收區域廣播
<mids>
區域廣播ID碼,用如“25”的格式輸入。
<dcss>
區域廣播編碼方案。

選擇簡訊業務類型
發送AT+CSMS=<mode>
mode=0或1,某些命令的參數取值和mode的值有關;
只有mode=1時,AT+CNMI中的ds=2才能被模組接收。

發送簡訊
在文本格式下,發送AT+CMGS=“string”(string是目的手持電話的號碼),等模組返回“>”符號後,發
送簡訊的內容,以“^Z”結束,模組就開始發送簡訊。發送成功,模組返回“+CMGS:
<mr>[,scts>]OK”;否則模組返回ERROR。在PDU格式下發送AT+CKGS=n,n為簡訊PDU資料包
的字元數,等模組返回“>”符號後,發送簡訊的內容,以“^Z”結束,模組就開始發送簡訊。發送成
功,模組返回“+CMGS:<mr>[,ackpdu>]OK”;否則模組返回ERROR。

從記憶體發送簡訊
發送“AT+CMSS=<index>[,<da>]”,其中<index>為要發送的簡訊在當前記憶體中的索引號,da為
目的位元址。

寫簡訊到記憶體
發送AT+CMGW命令,處理過程和AT+CMGS完全相同,只是寫簡訊成功,模組返回的資訊為
“+CMGW:<index>OK”,其中<index>是簡訊在當前記憶體中的索引號。
与SMS有关的GSM AT指令(from
GSM07.05)如表1所示:
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
表1 相关的GSM AT指令
AT 指令 功
能
AT+CMGC Send an SMS command(发出一条短消息命令)
AT+CMGD Delete SMS message(删除SIM卡内存的短消息)
AT+CMGF Select SMS message formate(选择短消息信息格式:0-PDU;1-文本)
AT+CMGL List SMS message from preferred store(列出SIM卡中的短消息PDU/text: 0/“REC
UNREAD”-未读,1/“REC READ”-已读,2/“STO UNSENT”-待发,3/“STO SENT”-已发,4/“ALL”全部的)
AT+CMGR Read SMS message(读短消息)
AT+CMGS Send SMS message(发送短消息)
AT+CMGW Write SMS message to memory(向SIM内存中写入待发的短消息)
AT+CMSS Send SMS message from storage(从SIN|M内存中发送短消息)
AT+CNMI New SMS message indications(显示新收到的短消息)
AT+CPMS Preferred SMS message storage(选择短消息内存)
AT+CSCA SMS service center address(短消息中心地址)
AT+CSCB Select cell broadcast messages(选择蜂窝广播消息)
AT+CSMP Set SMS text mode parameters(设置短消息文本模式参数)
AT+CSMS Select Message Service(选择短消息服务)
对短消息的控制共有三种模式:
•
•
Block Mode
•
•
基于AT命令的PDU Mode
•
•
基于AT命令的Text Mode
• 使用Block模式需要手机生产厂家提供驱动支持,目前,PDU Mode
已取代 Block Mode, Text Mode比较简单,本文重点介绍模式PDU
Mode,以西门子公司的产品TC35T为例。
TC35基本命令
• 1.设置短消息中心
• AT+CSCA=“+8613800270500”回车(具体的号码由当地的
运营商决定。)
• 2.接收短消息
• +CMTI:“SM”,X (X表示接收短消息的SIM卡存储号码)
• AT+CMGR=X回车 (从X存储区读短消息)
• AT+CMGD=X回车 (从X存储区删除短消息)
• 3.发送短消息
• AT+CMGF=1回车(采用文本格式发送,如用PDU格式,
则AT+CMGF=0)
• AT+CMGS=“+8613xxxxxxxxx”回车
• >输入短消息。Crtl+Z结束并发送。
GSM/GPRS Module
• TC35i是Siemens公司推出的新一代無線通信GSM模組,
可以快速安全可靠地實現系統方案中的資料、語音傳輸、
短訊息服務(Short Message Service)和傳真。模組的工作
電壓為3.3 -5.5V,可以工作在900MHz和1800MHz兩個
頻段,所在頻段功耗分別為2W(900M)和1W
(1800M)。
• TC35i模組主要由GSM基帶處理器、GSM射頻模組、供電
模組(ASIC)、快閃記憶體、ZIF連接器、天線介面六部分
組成。作為TC35i的核心,基帶處理器主要處理GSM終端
內的語音、資料信號,並涵蓋了蜂窩射頻設備中的所有的
類比和數位功能。在不需要額外硬體電路的前提下,可支
援FR、HR和EFR語音通道編碼。
TC35基本命令
•
•
•
•
•
•
•
•
•
•
•
•
•
•
4.重要的指令
ATZ;E 回车 Echo OFF
ATZ;E1回车 Echo ON
AT+CREG?回车 回答x(X=2脱网,X=1注册,X=0状态不明)
AT+COPS?回车 表示SIM卡是否被网络接受
AT+COPS=?回车 显示所有可用的网络。
5.建立语音呼叫
AT+CREG?回车(是否网络注册)
ATD13xxxxxxxxx;回车(语音呼叫和数据呼叫建立的区别在于号码后所接的
分号上)
6.改变并保存参数
AT+IPR=2400 回车(改变RS232口的速率至2400bps)
AT&W 回车 (保存已改参数)
7.输入PIN码
AT+CPIN=“xxxx”
计算机与TC35T的通信
• (1)RS232串口连接
• 由于TC35T自带RS232串口线,故只需将其连接到计算机串口即可。
打开超级终端,选择相应的串口,将端口参数设置为:速率—4800、
奇偶校验位—无、数据位—8、停止位—1、流量控制—硬件。
• (2)连接测试
• 输入“AT”然后回车,屏幕上返回“OK”表明计算机与TC35T已连接
成功,TC35T能够正常工作。这时就可以测试各类AT命令。
• 当测试命令“AT+CMGS=?”时,如果返回“OK”标明TC35T支持该指
令。该指令的完整语法如下:
•
• 如果此时TC35T处于PDU Mode(即“AT+CMGF?”返回“0”)
• 另外,由于使用的是TC35T,当有新的短消息到
来时,需要TC35T产生提示,使用指令
“AT+CNMI”。该指令的完整语法如下:
• AT+CNMI=[][,][,][,][,]
• 如果有新的短消息来到,则TC35T将自动返回下
列提示:
• +CMTI: “SM”,
• 此时读出,然后用“AT+CMGR”指令即可读出短
消息内容。
PDU数据格式分析
•
•
•
•
•
•
•
•
•
•
•
•
例如,我们要将字符“Hi”字符发送到目的地“13823788935”
PDU字符串为:
08 91 683108701305F0 11 00 0D 91 3128738839F5 00 00 00 02 C834
⑴08—短信息中心地址长度。指(91)+(683108701305F0)的长度。
⑵91—短信息中心号码类型。91是TON/NPI遵守International/E.164标准,指在号码前
需加‘+’号;此外还有其它数值,但91最常用。
91—10010001
BIT No. 7 6 5 4 3 2 1 0
Name 1 数值类型 号码鉴别
数值类型(Type of Number):000—未知,001—国际,010—国内,111—留作扩展;
号码鉴别(Numbering plan identification):0000—未知,0001—ISDN/电话号码
(E.164/E.163),1111—留作扩展;
⑶683108701305F0—短信息中心号码。由于位置上略有处理,实际号码应为:
8613800731500(字母F是指长度减1)。这需要根据不同的地域作相应的修改。
⑴、⑵、⑶通称短消息中心地址(Address of the SMSC)。
注意事项
• ( 1)短消息中心一般不会改动,如果短消
息中心号码改动,在使用“AT+CSCA”语句
时,记住TC35要重新启动,否则TC35不能
正常工作(TC35T不存在此问题)。
• (2)某些SIM卡带有密码,启动时需要输
入密码。