51系列单片机控制手机收发短信息的原理

上传人:平*** 文档编号:11048460 上传时间:2017-10-11 格式:DOC 页数:7 大小:29.93KB
返回 下载 相关 举报
51系列单片机控制手机收发短信息的原理_第1页
第1页 / 共7页
51系列单片机控制手机收发短信息的原理_第2页
第2页 / 共7页
51系列单片机控制手机收发短信息的原理_第3页
第3页 / 共7页
51系列单片机控制手机收发短信息的原理_第4页
第4页 / 共7页
51系列单片机控制手机收发短信息的原理_第5页
第5页 / 共7页
点击查看更多>>
资源描述

《51系列单片机控制手机收发短信息的原理》由会员分享,可在线阅读,更多相关《51系列单片机控制手机收发短信息的原理(7页珍藏版)》请在金锄头文库上搜索。

1、MCS-51系列单片机控制手机收发短信息的原理GSM(Global System for Mobile communication)系统是目前基于时分多址技术的移动通讯体制中比较成熟、完善、应用最广泛的一种系统。目前已建成的覆盖全国的 GSM数字蜂窝移动通信网,是我国公众移动通信网的主要方式。主要提供话音、短信息、数据等多种业务。基于 GSM短消息功能可以做成传输各种检测、监控数据信号和控制命令的数据通信系统,能广泛用于远程监控、定位导航、个人通信终端等。由于公众 GSM网络在全球范围内实现了联网和漫游,建立上述系统不须再组建专用通信网络,所以具有实时传输数据功能的短消息应用将得到迅速普及。目

2、前,人们设计的各类 DTE设备基础上以微处理器为核心,带有 RS232/RS485等通信接口,在物理层上很容易实现与 GSM设置(如手机等)的连接。但对 SMS协议的研究文献却较少,特别是用单片机控制手机的 SMS(Short Message Service)收发的研究更少。笔者在用单片机设计基于 GSM的 SMS数据采集器时,对怎样用单片机控制手机收发短信息进行了探讨。1 串口控制 SMS的工作原理单片机与手机一般采用串行异步通信接口,具有红外和通信电缆两种连接方式,通信速度可设定,通常为 19200bps。采用红外接口的优点是单片机系统与手机电气隔离,相互不干扰,接口各自独立,使用方便;缺

3、点是通信距离较短,红外传播的方向性对接口相对位置有要求。采用电缆连接时,数据传输的可靠性较好;其主要缺点是接口的电气参数不兼容,设计不当时会对手机的通信质量产生影响。笔者经过实践设计的接口电平转换电路如图1。GSM的短信息业务 SMS利用信令信道传输,这是 GSM通信网所特有的。它不用拨号建立连接,把要发的信息加上目的地址发送到短信息服务中心,经短消息服务中心完成存储后再发送给最终的信宿。所以当目的 GSM终端没开机时信息不会丢失。每个短消息的信息量限制为 160字节。现在市场上大多数手机均支持 GSM07.05规定的 AT指令集。该指令集是 ETSI(欧洲通信技术委员会)发布的,其中包含了对

4、 SMS的控制。利用 GSM手机的串行接口,单片机向手机收发一系列的 AT命令,就能达到控制手机收发 SMS的目的。ETSI 的 GSM07.05中用于 SMS收发控制的主要 AT命令见表 1。表 1 常用 AT指令GSM07.05Function(功能) ATE0 RESET AT+CSMS 选择短信息服务 AT+CPMS 选择短信息内存 AT+CMGF 选择短信息格式 AT+CSCA 短信息中心地址 AT+CNMI 显示新收到的短信息 AT+CMGR 读短信息 AT+CMGS 发送短信息 AT+CMGL 列出 SIM卡中短信息 AT+CMSS 从 SIM内存中发短信息 AT+CMGW 向

5、SIM内存中写入待发短信息 AT+CMGD 删除 SIM内存中的短信息 AT+CSCB 选择蜂窝广播信息 GSM手机通过异步通信接口实现对 SMS的控制共有三种接入协议:Block Mode;基于 AT命令的 TextMode;基于 AT命令的 PDU Mode。PDU 模式是发送或接收手机 SMS信息的一种方法,短信息正文经过十六进制编码后被传送。目前,PDU Mode 应用最为广泛,基本上全国所有的电信局都提供支持 PDU Mode的短消息业务。有些地址则不支持 Text Mode和 Block Mode,这就限制了这两种接入协议的应用,而且 PDU Mode已有取代 Block Mode

6、的趋势。为了保证系统具有广泛的适用性,本文采用 PDU模式收发 SMS。PDU相当于一个数据包,它由构成消息(SMS)的信息组成。作为一种数据单元,它必须包含源/目的地址、保护(有效)时间、数据格式、协议类型和正文,正文长度可达 140字节,它们都以十六进制表示。PDU 结构根据短消息由移动终端发起或以移动终端为目的而不同。当由移动终端发起时,PDU 的格式为:SMSCPDU类型MRDAPIDDCSVPUDLUD(0140octed)当以移动终端为目的时,PDU 的格式为:SMSCPDU类型OAPIDDCSSCTSUDLUD(0140octed)其中,SMSC 为短消息业务中心地址,DA/OA

7、 为源/目的地址,PID 为协议识别,DCS 为数据编码, UDL为用户数据长度,UD 为用户数据,VP 为有效时间,MR 指明是发出信息,SCTS指明短消息到达业务中心的时间。2 PDU格式下短信息的接收根据设置不同,手机将收到的短消息保存在缓存单元或存入 SIM卡,单片机从手机中接收短消息实质上就是从 SIM或缓存中读出信息。这主要利用 AT+CMGR和 AT+CMGL两条指令来完成,其工作过程见图 2。由于不同的厂商对 AT指令集的解释代码和响应信息不一样,所以单片机首先要确认能否与手机建立起通信,一般用 ATE指令完成此确认;然后用 AT+CMGF指令选定短消息的数据格式;在收到手机的

8、正确回答反以 AT指令完成读出功能。一般用 AT+CMGL读取以前的信息,在收到手机的 RING(振铃)数据时,用 AT+CMGR读取实时信息。以下是笔者设计的物流数据采集系统中用到的接收 SMS的一个实例,它说明了 PDU模式的应用。单片机发送和接收(手机回答)均为 ASCII码。所用手机为 SIEMENS S3508i。操作过程如下(内为注释):发送:ATE手机回答:OK 已建立联接发送:AT+CMGF=0 选用 PDU格式手机回答:OK 允许选择 PDU格式发送:AT+CMGL=2 列出已有的短信息手机回答: +CMGL:1,2,241 表示信息个数,2 表示未发信息,24 表示信息总容

9、量0D71683108370105F004000D81683179133208F10000026080410033802632184CF682D95E0DC2B36D3D170A0243106933D97A0243106933D97A02451068B1983492608OK以上这组 PDU格式的十六进制字符串,不但包含了短消息的内容,同时包含了发送者的手机号码、短信息中心号码、短消息发送时间等。下面对信息内容进行分析:0D:短信息中心地址(号码)长度。91:短信息中心号码类型,91 是 TON/NPI。TON/NPI 遵守 International/E.164标准,指在号码前需加+号;此外

10、还可直有其他数值,但 91最常用。683108370105F0:SMSC 短信息所使用的服务中心号码 13807310500。它经过十六进制以字节为单位的高低半字节换位处理,号码是奇数的添 F,构成一个 HEX字节。04:PDU 类型,文件头字节。0B:主叫号码长度。81:主叫号码类型。3179133208F1:0A 主叫号码,也经过了处理,实际号码为 13973123801。00:PID,为协议标识。00:DCS 短信息编码类型是 GSM Default Alphabet,即由 7位 ASCII码移位组成 8位十六进制码(octet),其方法见表 2。1sthexB0A6A5A4A3A2A1

11、A02ndhexC1C0B6B5B4B3B2B13rdhexD2D1D0C6C5C4C3C24thhexE3E2E1E0D6D5D4D35thhexF4F3F2F1F0E6E5E46thhexG5G4G3G2G1G0F6F56thhexH6H5H4H3H2H1H0G602608041003380:SCTS短信息发送时间,02/06/08/14:00:33.08。26: UDL经处理后的 8位码(octet)短信息字节长度,它小于消息 ASCII码的长度。32184CF682D95E30DC2B36D3D170A0243106933D97A0243106933D97A02451068B19834

12、92608:UD 编码后的 PDU数据,短信息内容“2002/06/08/13:48ID102OKID103OK ID201FAIL”。3 短信息的发送与接收短信息一样,发送时也要先建立联接,传送一些初始化指令,然后发送短消息内容。下面是用 SIEMENS S3508i发送一个短信息的例子,内容为:“2002/06/08/13:48 ID102OK ID103OK ID201FAIL”。其 ASCII码为:“32030322F30362F30382F31333A34382049443130324F4B2049443130334F4B2049443230314641494C20”。发送:ATE

13、请求建立联接手机回答:OK 已建立联接发送:AT+CMGF=0 选择 PDU模式手机回答:OK发送:AT+CSMS=0检测手机是否支持 SMS命令手机回答:OK发送:AT+CMGS=52发送短信息,52 octets(不包括最初 9个短信息元字节)手机回答:允许上传数据,ASCII 码是($20H,$2EH)发送:0891683108701305F011000B813179133208F10000AA2632184CF682D95E30DC2B36D3D170A0243106933D97A0243106933D97A02451068B19834926081A不计最初 9个短消息信元字节,本短信

14、息有 52字节(104 个字符)。AT+CMGS 仅说明了SMSC信息内容的长度,在收到手机回答的符号手才发送 PDU数据串,并以(CTRLZ)结束。PDU数据串的内容说明如下:08:短信息信元 SMSC(短信息中心号码)的字节长度91:短信息中心号码类型,91 表明中心号码是国际通用电话号码。683108701305F0:短信息中心号码:8613807310500。11:PDU SMS 发送的文件头字节。这里 11指正常发送短信息。00:信息类型。这里 00指让手机自动加上主叫号码。0B:被叫号码长度。81:被叫号码类型。3179133208F1:被叫号码 13973123801。00:协议

15、标识。00:短信息编码类型是 GSM Default Alphabet。AA:短信息被保留的时间为 4天,其计算方法依照表 3。VP值 短消息有效时间长度 0143 (VP+1)5 分钟 144167 12 时+(VP-143)30 分 168196 1 天(VP-166) 197255 1 周(VP-192) 26:PDU 格式短信息编码后字节长度。32184CF682D95E30DC2B36D3D170A0243106933D97A0243106933D97A02451068B1983492608:编码后的 PDU数据,短信息内容为“2002/06/08/13:48ID102OKID103

16、OK ID201FAIL”。1A:ASCII 码 CTRLZ:报文结束标志。4 应用情况及常见主要问题的解决笔者用 MCS-51系列的单片机研制了一个手持式的数据采集产品,通过 SIMEENS手机,利用 GSM的 SMS传输数据。经过在国内多个省市较大数量长期广泛的使用,性能良好,没有出现数据丢失的现象。证明上述设计用,性能良好,没有出现数据丢失的现象。证明上述设计是正确的。但在调试和试用阶段也遇到了如下问题:(1)接口电平手机的电缆接口电平一般是 3V左右,单片机系统的工作电压一般为 2.75.5V,范围较宽,为保证数据传输的正确,需在接口加电平限制电路,详见图 1。(2)部分城市无法使用一些城市的 SMS平台不允许使用缺省短消息服务中心号码的协议,只需在发送的 PDU数据前面几个字节加上中心号码即可,详见本文发送实例。(3)不能接收已正确发送的短消息除 GSM的 SMS信道拥塞原因外,主要是 PDU中 PID字节的设置,使得收到的信息要存入

展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 行业资料 > 其它行业文档

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号