- 1、本文档共10页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
外文翻译--GSM模块收发中文短消息的关键技术.doc
GSM模块收发中文短消息的关键技术
手机短消息服务SMS(Short Message Service)是全球移动通信系统GSM(Global System for Mobile Communi-cation)的一项基本业务,它利用信令信道传输,不用拨号建立连接,直接把要发的信息加上目的地址发送到短消息服务中心(service center),由短消息服务中心再发给最终的信宿,是目前应用最广泛的一种通信方案。目前,随着手机的广泛使用,SMS服务以其传递信息方便快捷、价格低廉而越来越受人们的关注,已经广泛地应用于监控定位系统、无线报警、远程维护及数据信息查询等各个领域。
本文针对单片机通过串口发送AT指令控制GSM无线收发模块,实现在不支持中文编码的Text(文本)模式下接收中文短消息的软硬件设计进行了研究,并利用数控模拟开关CD4052实现了单片机多个串口的扩展。
1 短消息基本原理介绍
1.1 GSM模块介绍
目前,市场上GSM模块种类很多,但功能、用法基本相同。本文中使用了Siemens公司生产的TC35i模块。该模块与GSM2/2兼容,提供 双频(GSM900/GSM1800)和RS232数据接口,外部提供9针串口及话柄接口(支持语音),如图1所示;通过AT命令来传输数据、语音和短消息等,方便用户开发和设计。
1.2 短消息AT指令
AT指令用于由终端设备(TE)或数据终端设备(DTE),发送到终端适配器(TA)或数据电路终接设备(DCE)。设备通过发送AT命令来控制移动台,并与GSM网络业务进行交互。通过AT命令可进行呼叫、短信、电话本、数据业务、补充业务等方面的控制。本文中由单片机发送AT指令来控制GSM模块接收和发送手机短消息。
常用短消息相关AT指令及说明如表1所列。
1.3 收发短消息的模式
目前,接收和发送SMS信息常用的模式主要有两种:Text(文本)模式和PDU(Protocol Data Unit,协议数据单元)模式。
(1)Text模式
Text 模式是纯文本方式,可使用不同的字符集。该模式下信息传送和接收的编码比较简单,但国内手机Text模式下不支持收发中文汉字字符的手机短消息。本文通过编码转换实现了GSM模块在Text模式下收发中文短信息。
(2)PDU模式
PDU模式被所有手机支持,可发送中英文短信。PDU模式下可采用3种编码方式,分别是7位、8位和UCS2编码,分别用于发送普通的ASC Ⅱ字符、数据消息和Unicode字符。按照GSM07.05协议规定,手机短信息中的汉字编码均采用Unicode码。
如表2所列,PDU模式中画横线部分依次为短信息中心号码、发送短信方手机号码以及发送短信的日期和时间。其代码表示为将实际数据两两颠倒,例如实际短信息中心号码应为“8613800311500”。短信内容“你好!”均为Unicode字符“4F60597D0021”。其他各项的具体说明见参考文献。
经研究比较发现,所要提取的短信信息包括手机号码、时间和短信内容。在Text模式下时间和日期均为ASCII码,可直接读取,只需将内容中汉字部分的Unicode码转换成国标码;而在PDU模式下除汉字编码转换外,还需将号码、时间部分编码进行两两颠倒的转换,才能得到所需的正确信息。故在系统设计中将GSM模块设为Text模式,更能简化程序设计。
2 Unicode码到GB2312码的转换
由于Unicode编码和GB2312编码之间没有一一对应的线性转换关系,用单片机控制代码转换只能采用查表方法实现,因此,需要建立Unicode码和GB码之间转换的对照。中文简体汉字有7 464个,一个汉字占2个字节,因此对照表需要29 856(7 464×4)的存储空间。本设计中选择P89V51RD型单片机,该芯片提供的1 KB RAM可以满足存储多条短信的要求。
单片机通过串口与模块连接后,发送读取第一条新短消息指令:“AT+CMGR=1”。提取模块接收的短消息后,先判断其内容是否为ASCII码。若为ASCII码,则无需转换直接读取;否则,通过查表法查找其对应的汉字GB码,实现不同编码间的转换。转换流程如图2所示。
提取信息内容的部分程序如下:
采用二分查找法,其最坏查找次数为lg2(n+1),对照表的长度n为7 464,故最坏查找次数约为13次。也就是说,一个中文编码转换最多经过13次比较查找即可完成,单片机控制能够实时完成。
3 单片机多串口的实现
51系列单片机一般只有一个串行通路,通过串口与GSM模块连接后,则不能再连接其他串口设备;而一些串口扩展芯片成本较高,连接也较麻烦。本方法利用数控模拟开关CD4052来做多串口扩展器,成本低廉而且接线简单。其引脚排列如图3所示。
CD4052具有4个独立的通道数据选择器,有A、B两个
文档评论(0)