实验三GSM通信模块实验DOC.docx
《实验三GSM通信模块实验DOC.docx》由会员分享,可在线阅读,更多相关《实验三GSM通信模块实验DOC.docx(24页珍藏版)》请在冰点文库上搜索。
实验三GSM通信模块实验DOC
实验三GSM通信模块实验
一.实验目的
1.了解GSM模块的特点。
2.了解配置GSM模块的AT命令。
3.了解GSM网络中短消息收发及话音呼叫过程;
4.熟悉GSM模块进行短信收发及话音呼叫的AT命令。
5.熟悉用本移动实验箱作为主叫和被叫用户进行语音呼叫;
二.实验内容
1.通过PC机上的“移动GSM短信软件”编写AT命令来控制“GSM开发模块”。
2.完成短信收发实验。
3.完成语音通信实验。
三、实验仪器
1.台式计算机一台。
2.RZ6001实验箱一台。
3.耳麦一个。
4.移动GSM短信软件一套。
5.学生SIM卡一个。
四.实验原理
1.GSM模块的特点
本实验箱装配了华为的GTM900B无线模块。
该模块是一款双频900/1800MHZ高度集成的段GSM/GPRS无线模块。
带有标准的RS232接口以及SIM卡,可以在PC机上用AT命令通过串口对它进行设置。
它是一个在声音和数据通讯上通用的GSM双频终端产品。
其技术特点如下:
频段:
双频GSM900MHz和DCS1800MHz(Phase2+)
电压范围:
5V至24V低功耗,配置有专用电源.
发射功率:
2W(GSM900MHzClass4)1W(DCS1800MHzClass1)
工作电流损耗:
通话模式:
300mA(典型值.)空闲模式:
3.5mA
低功耗:
处于睡眠状态时电流为3mA
支持数字、语音、短消息和传真
通讯接口:
RS232(指令和数据的双向传送)
通信最高速率:
115200bit/s
短信息:
MT,MO,CB和PDU模式
AT命令GSM:
标准AT命令,V.25AT命令,华为扩展的AT命令
SIM卡连接方式:
外接
SIM卡操作电压:
3V
天线:
由天线连接器连接外部天线
2.AT命令:
AT命令是最初是一组用来控制MODEM的命令集,它包含最基本的Hayes命令集和各厂家自己特有的命令。
后来,主要的移动电话生产厂商诺基亚、爱立信、摩托罗拉和HP共同为GSM研制了一整套AT命令,AT命令在此基础上演化并被加入GSM07.05标准,以及之后的GSM07.07标准。
这样各种GSM模块都支持用户用AT命令来对它进行控制。
GSM模块启动后,都处于命令状态,在该状态下,它以AT命令形式接收命令。
GSM模块接收到AT命令后,对命令进行解释和执行,并返回相应的结果码。
所有的AT命令都由一个特定的“命令前缀”开始,由一个“命令结束标志”结束。
命令前缀通常总是由AT两个字符组成,它是ATtention的缩写,意思是“引起注意”,所以将它们称为AT命令。
命令结束符是一个单字节,通常为回车符,ASCII值为13。
一般AT命令都由AT或at开始,而不是At或aT,也就是说,所有AT命令可全是大写字符,也可以全是小写字符,但不能是大小写混合字符。
下面是一些常用的AT命令。
AT命令
说明
AT
测试模块是否处于正常工作状态,正常返回0或OK
ATEn
命令回应:
n=1打开回显,n=0关闭回显
ATVn
结束码类型:
n=1字符型,n=0数字型
ATQn
结束码控制:
n=1不返回结果码,n=0返回结果码
AT&W
保存设置
A/
重复上一次的AT命令(该命令前面无AT,后面也没有回车)
AT+CGMI
返回产品标识代码
ATZ
软复位
AT+IPR=nnnn
设置通信速率为nnnn
ATDnnn;
拨号,nnn为电话号码
ATH
挂机
ATA
接电话
ATDL;
重拨上次号码
AT+CLIP=n
n=1打开来电显示,n=0关闭来电显示
AT+CSCA=nnnn
设置短消息中心,nnnn为消息中心号码
AT+CPMS=“nn“,“nn“,“nn“
设置存储区:
nn=SM时选择SIM卡,nn=ME选择机身
AT+CMGS=”nnnn”
TEXT模式发送短信,nnnn为电话号码
AT+CNMI=a,b,c,d,e
新消息提示
AT+CMGF=n
设置短信收发方式:
n=1为TEXT模式,n=0为PDU模式
AT+CMGR=n
读取当前存储区的第n条短信
AT+CMGD=n
删除当前存储区的第n条短信
3.移动短信软件
移动短信软件是与本实验箱配套的软件,用它可以实现在PC机上通过AT命令对GSM模块进行控制,包括对GSM模块进行配置,控制GSM模块进行语音的呼叫,控制GSM模块进行短消息的发送与接收。
如图1所示。
图1移动GSM短信软件(波特率设置)
4.短信业务
短信业务(ShortMessagingService,SMS)当前最流行的一种消息技术,是GSM中唯一不要求建立端-端业务路径的业务,是非对称的。
移动电话之间通过它可以相互收发短消息,短消息的内容可以是文本、数字或二进制非文本数据简单方便易用,这种短信的长度被限定在140字节之内。
消息的传输总是由处于GSM外部的短消息服务中心(SMSC)进行中继,消息有目的地或起源地,但只与用户和SMSC有关,而与其他GSM基础设施无关。
SMS有两大突出优点:
(1)存储转发机制。
SMS传送数据包的工作由移动网络中的短消息中心而不是终端用户来完成,如果用户不在服务区内,短消息就被存储在短消息中心,等用户出现之后再转发给他,这是GPRS等业务所不具备的。
(2)传递确认机制。
在电路交换数据环境中,连接是端到端的,所以用户能够知道连接是否完成,以及数据传递的情况,但在GPRS环境中,附属于GPRS承载体的终端是“永远在线”的,它在任何时候都准备透明地(相对于用户而言)传送或接收数据,这样一来,检查数据包是否发送成功的任务就落到了用户头上,对于每一次分组数据业务,其相应的成本也会比SMS高。
短消息业务包括点对点短消息业务和小区广播短消息业务。
点对点短消息业务是指将一条消息从一个实体发送到指定的目的地址的业务。
小区广播业务是指通过基站向指定区域内的所有用户发送短消息的业务。
SMS使用7号信令(SS7)信道来传输数据分组,允许一个用户在话音或数据呼叫的同时接收一个文本消息。
图2为SMS网络的组成结构框图。
为了实现短消息业务,移动通信实体和短消息服务中心(SMSC)之间需要交换必要的信令,包括移动台发出消息的传送过程和移动台接收消息的过程。
图2SMS网络结构
(a)移动台发出消息的传送过程:
该过程是把从一个用户发送到短消息服务中心(SMSC)。
当移动用户发送已调短消息时,处理该用户请求的服务MSC则从访问位置寄存器(VLR)中申请有关用户的相关信息。
当VLR返回相关信息后,服务MSC向关口MSC转发短消息。
通过关口MSC把短消息发送给SMSC。
SMSC收到短信后,向关口MSC确认,关口MSC再向服务MSC发送转发完成的确认消息。
最后服务中心告知移动用户短消息已转发完成。
具体过程如图3所示。
图3由移动台发出短消息的传送过程
(b)移动台接收消息的传送过程:
该过程是从SMSC转发一条或多条短消息至一个移动用户。
SMSC将需要转发的短消息先发送给关口MSC。
关口MSC根据所收到的短消息内容,向HLR查询,以获得将短消息传送到相应服务MSC的路由信息。
根据所获得的路由信息,关口MSC将短消息转发到相应的MSC。
然后服务MSC向VLR申请所要接收短消息用户的信息。
VLR收到此消息后,则开始寻找移动用户的过程。
一旦找到用户,VLR回送给服务MSC申请用户信息的确认。
服务MSC则开始向用户转发短消息。
转发结束后,用户发一确认的消息至服务MSC。
最后由关口局MSC向SMSC送确认信息,表明短消息已成功的转发。
具体过程如图4所示。
图4由移动台接收短消息的传送过程
由于移动台不可达等原因,MSC不能向移动台发送短消息,则短消息将在SMSC保存一段时间。
当服务MSC检测到某一用户可以到达时,即向VLR会发送接入请求,SMSC收到确认消息,则触发新的传送尝试。
本实验采用了GSM模块来完成和移动网络的接入。
利用对GSM模块的接口进行改造后,和单片机在物理层上互联。
由单片机通过AT指令控制GSM模块的工作,并通过键盘选择相应的操作,通过液晶来显示短信的收发内容。
点对点收发短消息分为三种模式:
Block模式、Text模式和PDU模式。
Block模式应用很少,逐渐被PDU模式代替。
Text模式发送短信开发起来相对容易,是一种不错的选择,使用Text模式开发只能发送ASCII码,对于中文的Unicode码不能发送。
PDU模式开发起来比较复杂,并且需要编写专门的函数来本转换为PDU格式,PDU模式收发短信可以使用三种编码:
7-bit、8-bit和UCS2编码。
7-bit编码用于发送普通的ASCII字符,8-bit编码通常用于发送数据消息,UCS2编码用于发送Unicode字符。
我们要实现中文短信的发送,所以选择UCS2,即中文Unicode码。
接收到的PDU串不仅仅包含了消息,而且还有很多发送者的信息,SMS服务中心,时间标志等等。
这些都是以8位字节的16进制数,或者半8位字节的十进制数。
发送的PDU的编码格式大致包含以下字段:
“短消息中心长度”+“短消息中心国家编码”+“短消息中心”+“状态报告”+“分割符”+“目标号码的长度(14位)”+“国家编码”+“目标号码”+“TP-PID.协议标识”+“短信内容编码格式”+“有效期标志”+“短消息内容长度”+“消息内容”。
PDU编码格式中也可以使用默认的短信中心,则不需要字段2~3。
但是PDU格式的第一个字段则为“00”,表示默认短消息中心。
例如一个PDU编码串为:
0F031000D326449F00008A7044F60597D
(1)08SMSC地址信息的长度(301405F0共八位字节)
(2)91SMSC地址格式,短消息中心有国家编码,没有为81
(3)1405F0SMSC地址(86南京联通的短信服务中心号码)
(4)31基本参数(TP-MTI/VFP),需要状态报告为31,不需为11
(5)00分割符
(6)0D目标SIM卡号码长度(7456F4按阿拉伯数字个数计13位,F为填充)
(7)91SMSC地址格式,目标SIM卡编码有国家编码,没有为81
(8)6449F0对方手机SIM卡号(+86)
(9)00TP-PID.协议标识,一般为00
(10)08短信内容的编码格式,bit7编码是00,UCS2编码是08
(11)A7有效期TP-VP(TP-Valid-Period)
VPvalue(&h)相应的有效期
00to8F(VP+1)*5分钟
90toA712小时+(VP-143)*30分钟
A8toC4(VP-166)*1天
C5toFF(VP-192)*1周
(12)04正文4字节
(13)4F60597D你好短消息内容的Unicode编码
使用默认的短信中心时,上述PDU编码串变为
0031000D326449F00008A7044F60597D
即上述第
(1)段变为00,没有
(2)(3)两段,其它各段完全一样。
上述的(3)和(8)字段的号码经过了位移处理,并填充F以确保该字段号码位数为偶数。
其中
(1)~(3)段又简称SMSC地址,(4)~(13)简称为TPDU。
AT命令
说明
AT+CSCA=nnnn
设置短消息中心,nnnn为消息中心号码
AT+CPMS=“nn“,“nn“,“nn“
设置存储区:
nn=SM时选择SIM卡,nn=ME选择机身
AT+CMGS=“nnnn”
TEXT模式发送短信,nnnn为电话号码
AT+CNMI=a,b,c,d,e
新消息提示,实验中设置为:
1,1,0,0,1
AT+CPMF=n
设置短信收发方式:
n=1为TEXT模式,n=0为PDU模式
AT+CMGR=n
读取当前存储区的第n条短信
AT+CMGD=n
删除当前存储区的第n条短信
AT+CSDH=n
设置短信返回方式:
n=0为简单模式,n=1为详细模式
下面是本实验收发短信用到的AT命令。
5.话音通信过程
用户呼叫管理是移动通信系统的基本功能之一。
它的主要目标是发送和建立一个移动用户向另一个用户(固定的或移动的)的呼叫,或者从一个移动或固定用户呼叫另一个移动用户。
主叫和被叫可以在一个网络中,也可以不在一个网络中。
(a)移动客户作为主叫的呼叫流程
1)在服务小区内,一旦移动客户拨号后,移动台向基站请求随机接入信道。
2)在移动台MS与移动业务交换中心MSC之间建立信令连接的过程。
3)对移动台的识别码进行鉴权,如果需加密则设置加密模等,进入呼叫建立起始阶段。
4)分配业务的信道。
5)采用七号信令的客户部分(1SUP/TUP),建立至被叫客户的通路,并向被叫客户振铃,向移动台回送呼叫接通证实信号。
6)被叫客户取机应答,向移动台发送应答连接消息,最后进入通话阶段。
(b)移动客户作为被叫的呼叫流程
若MS作被叫,以PSTN的固定客户A呼叫GSM的移动客户B的呼叫建立过程。
1)通过No.7信令客户部分ISUP/TUP,入口MSC(GMSC)接受来自固定网(1SDN/PSTN)的呼叫。
2)GMSC向HLR询问有关被叫移动客户正在访问的MSC地址(即MSRN)。
3)HLR请求拜访VLR分配MSRN。
MSRN是在客户每次呼叫时由拜访VLR分配并通知HLR。
4)GMSC从HLR获得MSRN后,便可寻找路由建立至被访MSC的通路。
5)被访MSC从VLR获得有关客户数据。
6)MSC通过位置区内的所有基站BTS向移动台发送寻呼消息。
7)被叫移动客户的移动台发回寻呼响应消息后,执行一系列操作,直到移动台振铃,向主叫客户回送呼叫接通证实信号。
8)移动客户取机应答,向固定网发送应答连接消息,至此进入通话阶段。
(c)通过AT命令控制GSM模块进行呼叫
V.25ter标准和GSM07.07标准支持用户用AT命令来控制各种GSM模块进行语音的呼叫。
本实验箱通过单片机发送AT命令控制GSM模块进行语音的呼叫实验。
当然也可以通过PC机的RS232串口发出AT指令来控制移动实验箱上配置的GSM模块进行语音的呼叫。
进行语音的呼叫的AT命令见下表:
AT命令
说明
ATDnnn;
拨号,nnn为电话号码(注意有分号)
ATH
挂机
ATA
接电话
ATDL;
重拨上次号码(注意有分号)
AT+CLIP=n
n=1打开来电显示,n=0关闭来电显示
五.实验步骤
注意:
在做此实验前,每两组互相配对扮演通信双方的角色。
1、GSM模块测试(这部分实验无需插入同学们的SIM卡)
(1)将实验箱关机,在实验箱右下的A扩展接口安插上“GSM开发模块”,用配套的USB接口线连接“GSM开发模块”和计算机;
(2)实验箱加电,“GSM开发模块”右上角的“MCU-GSM”指示灯先亮几秒后熄灭,然后“PC-GSM”对应的指示灯亮;
注意:
如果“MCU-GSM”指示灯始终亮,则表明“GSM开发模块”的速率不是9600bps,此时,首先按“GSM开发模块”左上角的“工作方式选择”按钮,使模块右上角“PC-GSM”对应的指示灯亮。
然后按照下面的“3GSM通信速率设置”将其速率设置为9600bps。
(3)运行计算机上的“移动GSM短信软件”,得到如图1所示界面,否则在该软件的“仪器”菜单中点击“PC<——>GSM”,或者点击“切换到PC<->GSM”按钮;
(4)选择正确的COM口(默认为COM1)和波特率(默认为9600)。
如图1所示。
(5)注意:
在此,同学们可以选做下面2~3个AT命令来观察结果即可,不用全做。
(a)GSM模块测试
AT命令:
AT
操作步骤:
1)在命令输入框中输入AT
2)按下“Enter”键或点击“发送命令”按钮;
3)接收信息中显示GSM模块返回消息。
如返回为OK或0,说明Modem处于正常工作状态。
(b)GSM通信速率设置(例:
修改GSM模块速率为1200bps)
AT命令:
AT+IPR=1200
操作步骤:
1)在命令输入框中输入:
AT+IPR=1200(GSM模块速率只能设置一些特定的速率,如果设置为其他速率则返回“ERROR”。
可以设置的速率如:
300,600,1200,2400,4800,9600等)。
2)按下“Enter”键或点击“发送命令”按钮;
3)GSM模块的速率改为1200bps,此时需要将计算机的串口速率设置为1200,否则计算机与GSM的不正常。
注意:
1)修改GSM模块的速率后,必须把计算机串口的速率设置成修改后的速率。
点击本软件菜单中的“RS232设置”—>“波特率”进行选择设置,如图1。
2)实验箱单片机的串口通信速率出厂时已经设置为9600bps,为了实验箱单片机与GSM模块能正常通信,所以GSM通信速率最后要设置回9600bps,便于做其他实验。
(c)GSM模块命令返回结果码数字或字符模式
AT命令:
ATV0数字模式,此时返回结果码用数字表示
ATV1字符模式,此时返回结果码用字符串表示
操作步骤:
1)在命令输入框中输入ATV0(或ATV1);
2)按下“Enter”键或点击“发送命令”按钮;
3)模块返回结果码为:
0(或OK)
GSM模块命令常用返回的结果码如下表:
数字码
字符码
含义
0
OK
命令正确执行
1
CONNECT
连接建立
2
RING
检测到振铃信号
3
NOCARRIER
没有接收到载波或载波丢失
4
ERROR
无效命令、校验和错误、命令行错误
5
6
NODIALTONE
没有检测到拨号音
7
BUSY
检测到忙音
(d)GSM模块命令结果码控制
AT命令:
ATQ0此时返回结果码
ATQ1此时不返回结果码
操作步骤:
1)在命令输入框中输入ATQ1
2)按下“Enter”键或点击“发送命令”按钮;
3)模块不返回结果码
4)在命令输入框中输入ATQ0
5)按下“Enter”键或点击“发送命令”按钮;
6)模块返回结果码为:
0(或OK)
(e)GSM模块命令回显模式
AT命令:
ATE0关闭输入命令回显,此时不返回发送的命令,只返回结果码
ATE1打开输入命令回显,GSM模块执行该条命令之后将接收到的AT命令返回显示,再返回结果码
操作步骤:
1)在命令输入框中输入:
ATE1;
2)按下“Enter”键或点击“发送命令”按钮;
3)模块返回结果码为:
OK
4)在命令输入框中输入:
AT
5)按下“Enter”键或点击“发送命令”按钮;
6)模块返回结果码为:
AT
OK
(f)保存设置
AT命令:
AT&W保存当前GSM模块的设置
操作步骤:
1)在命令输入框中输入:
AT&W
2)按下“Enter”键或点击“发送命令”按钮;
3)模块返回结果码为:
OK
(g)版本信息
AT命令:
AT+CGMI返回产品制造厂家,AT+CGMM返回产品MODEM的型号,AT+CGMR返回产品版本号。
操作步骤:
1)在命令输入框中输入:
AT+CGMI或AT+CGMM或AT+CGMR
2)按下“Enter”键或点击“发送命令”按钮;
3)模块返回结果码为:
HUAWEINOTE:
制造厂家
或GTM900BNOTE:
MODEM型号
或HWREVISION:
CNOTE:
硬件版本信息
SWREVISION:
01.202SP01NOTE:
软件版本信息
OKNOTE:
命令正确
2、短信收发实验(这部分需要本组的一个同学在GSM模块上插入自己的SIM卡,此时本组的两个同学形成通信双方)
(1)将麦克风和耳机与“GSM开发模块”进行连接。
(2)正确插入SIM卡,打开移动实验箱电源,等待初始化完成;
(3)同“1、GSM模块测试中的实验步骤
(2)”。
(4)若“GSM开发模块”运行正常,右下角的“RUN”指示灯将在一阵常亮和一阵快闪烁后变为慢闪烁,此时表示SIM卡用户已正常注册网络可以使用了。
否则请关实验箱电源,检测天线连接是否正常,检测SIM安装是否正常,更换SIM卡。
(5)在移动实验箱上收发短信
在移动实验箱上收发短信时,GSM的短信收发,是由移动实验箱上的SYS单片机通过AT命令自动完成的,不再需要用户编写和解读AT命令了。
1)按“GSM开发模块”左上角的“工作方式选择”按钮,使模块右上角“SYS-GSM”对应的指示灯亮,此时实验箱上的主单片机和“GSM开发模块”上的GSM模块连接;
2)先按键盘上的“菜单”键,再按键盘上的“短信”键,则液晶上显示如下:
GSM短信收发实验
1发送
2接收
3)选择1,则进入短信发送界面,输入接收短信的手机号码(11位),然后按下“↑/确认”键,表示确认,并进入短信编辑方式选择状态;
按下“1”键进入“选择短信序号”方式,显示屏显示短信编号和内容,可以通过“↑/确认”键和“↓/取消”键查看更多的短信。
按下相应的数字编号选择要发送的短信内容,并启动短信发送程序;
按下“2”键进入“编辑数字短信”方式,可以用键盘输入数字,输入完毕后按下“↑/确认”键,启动短信发送程序;
按下“3”键进入“编辑数字短信”方式,此时数字1~9分别代表字母A~I,可以用键盘输入字母,输入完毕后按下“↑/确认”键,启动短信发送程序;
成功发送后,液晶上会显示“发送成功”。
观测手机是否收到短信,并比较接收短信的内容与发送的短信是否一致,并获知发送移动台号码。
4)选择2,则移动实验箱入短信接收界面,等待短信的接收。
从手机编辑短信,发送一条短信。
观测接收移动实验箱是否收到了短信,和发送方的发送内容是否一致,能否从接收的内容中得知发送方的号码。
注:
移动台作为接收方时,可以接收任意的字符短信(包括英文、数字等),但是由于液晶屏的显示有限,字符不要超过16个。
对应中文短信,可以显示“你好”、“您好”和“工作顺利”,其他的中文短信显示对应的Unicode编码(每个汉字4个字符)。
(6)在PC机上收发短信
在PC机上发送AT命令控制GSM模块进行短信收发实验时,可以使用各种串口调试软件。
下面以本实验箱配套的“移动GSM短信软件”来说明用AT命令控制GSM模块收发短信的过程。
如图5所示。
图5移动GSM短信软件(AT命令输入)
(a)前期设置
1)设置GSM模块命令返回结果码为字符模式;
(下面的红色斜体表示输入的命令字符)
A在命令输入框中输入:
ATV1
B按下“Enter”键或点击“发送命令”按钮
C接收信息框中显示GSM模块返回结果码为:
OK
2)设置短信存储区域
短信可存储在SIM卡上,也可存储在GSM模块上,可通过命令进行设置。
A在命令输入框中输入:
AT+CPMS=”ME”,”ME”,”ME”(SM表示存储区域为SIM卡,ME表示存储区域为GSM模块本身)
B按下“Enter”键或点击“发送命令”按钮
C接收信息框中显示GSM模块返回消息为:
OK
3)设置短消息到达时GSM发送提示信息
设置短消息到达时,GSM将发送提示信息,提示信息指明存储区域和序号,这样便于读取接收到的短信内容。
A在命令输入框中输入:
AT+CNMI=1,1