收藏 分享(赏)

嵌入式GSM短信息接口的软硬件设计.doc

上传人:kuailexingkong 文档编号:1625017 上传时间:2018-08-12 格式:DOC 页数:6 大小:29KB
下载 相关 举报
嵌入式GSM短信息接口的软硬件设计.doc_第1页
第1页 / 共6页
嵌入式GSM短信息接口的软硬件设计.doc_第2页
第2页 / 共6页
嵌入式GSM短信息接口的软硬件设计.doc_第3页
第3页 / 共6页
嵌入式GSM短信息接口的软硬件设计.doc_第4页
第4页 / 共6页
嵌入式GSM短信息接口的软硬件设计.doc_第5页
第5页 / 共6页
点击查看更多>>
资源描述

1、 嵌入式 GSM 短信息接口的软硬件设计嵌入式 GSM 短信息接口的软硬件设计嵌入式系统论文 嵌入式 GSM 短信息接口的软硬件设计摘要:SMS 短信息服务作为 GSM 的一种基本业务已得到越来越多的系统运营商和系统开发商的重视,以 GSM 作为数据无线传输,可以开发出多种前景极其乐观的各类应用。本文给出一个小型的嵌入式 SMS 中 /英文短信息接口的设计,并详细讨论 PDU 模式的短信息格式和中文短信息软件解码的设计。 关键词:GSM SMS UTF-8 GB-2312 无线通信 无线数传 遥控 中文编码引 言SMS(Short Message Service)短信息服务是 GSM(Glob

2、al System for Mobile Communication)系统中提供的一种 GSM 终端(手机)之间,通过服务中心(Service Center)进行文本信息收发的应用服务,其中服务中心完成信息的存储和转发功能。短信息服务作为 GSM 的一种基本业务,已得到越来越多的系统运营商和系统开发商的重视,基于这种业务的各种应用也蓬勃发展起来。以 GSM作为数据无线传输,可以开发出多种前景极其乐观的各类应用,如无线数据的双向传送、无线远程检测和控制等。典型的应用有:变电站、电表、水塔、水库或环保监测点等监测数据的无线传输和无线自动警报;远程无线控制高压线路断电器、加热系统、防洪拦阻系统或其它

3、机电系统的启动和关闭;车队交通管理和控制指挥系统;控制和监测香烟、食品和饮料自动售货机的运行状态和存货水平等等。 由于 GSM 在全国范围内实现了联和漫游,具有能力强的特点,用户无需另外组,在极大提高覆盖范围的同时为客户节省了昂贵建费用和维护费用。同时,它对用户的数量也没有限制,克服了传统的专通信系统投资成本大,维护费用高,且监控的覆盖范围和用户数量有限的缺陷。比起传统的集群系统在无线覆盖上具有无法比拟的优势,加上 GSM 的 SMS 本身具备的数据传送功能,都使得这些应用得到迅速的普及。利用 GSM 短信息系统进行无线通信还具有双向数据传输功能,性能稳定,为远程数据传送和监控设备的通信提供了

4、一个强大的支持平台。1 SMS 短信息的无线数传监视和控制通常情况,基于 SMS 短信息服务的无线数传监视和控制系统为一个点到多点的远程无线双向数据通信和控制系统,如图 1 所示。系统的中心点为数据或监控指挥中心,由计算机、数据库、电子地图和 GSM 通信接口组成。监控中心主要完成各种信息和数据的收发和整理:一方面,接收各个监控点上传的信息和数据,并把它们放入相应的数据库和分发给相应的监控计算机,以实现对各个监控点的监控和管理;另一个方面,监控中心响应监控计算机发出的对各个监控点的控制信息,并且把这些信息下发到相应的监控点上,从而达到对监控点设备进行控制的目的。2 GSM 无线通信控制终端GS

5、M 无线通信控制终端为一个 MC3 的嵌入式系统,具有如图 2所示的测量、数据采集、控制、无线通信功能。GSM 无线通信控制终端通过 GSM 和监控中心进行双向的信息传输。它将测量和采集到的数据信息传送到监控中心,同时接收监控中心的控制数据,对设备实施相应的控制。3 GSM 通信接口的硬件实现GSM 无线通信控制终端的通信接口一般采用目前在市场上提供的可供二次开发的标准的 GSM 模块,如 TC35、FALCOM、O3 等。这些通信模块都具备 GSM 无线通信的全部功能,并提供标准的UART 串行接口,支持 GSM 07.05 所定义的 AT 命令集的指令。因此,MCU 能非常方便地通过 UA

6、RT 接口与 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

7、基于 GSM 通信的软件接口市场上提供的可供二次开发的标准的 GSM 模块都支持 GSM 07.05 所定义的 AT 命令集的指令。因此,MCU 通过 UART 串行接口直接向 GSM 模块下发 AT 命令,就可以方便简洁地实现基于GSM 的短信息 SMS 的收发、查寻和管理。表 1 列出了与 SMS 相关的一些常用的 GSM AT 指令。表 1 与 SMS 相关的常用 GSM AT 命令根据 GSM 07.05 的定义,SMS 短信息的发送和接收模式共有三种:Block 模式、基于 AT 命令的 Text 模式和基于 AT 命令的 PDU模式。使用 Block 模式需要模块生产厂家提供驱动支

8、持;而用于中英文短信息传送应使用 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) 发

9、送一条短信息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

10、 表示采用 Text 模式。第三和第四行语句发送一条短信息到控制中心,AT 命令的格式为:AT+CMGS= “13500123456”,”02/10/16,15:37:28+32”xxxxxxxxxxxxxxxxxx (收到短信息的文本内容)5 基于 PDU 模式的中文短信息接收发送和接收中文或中/英文混合的短信息必须采用 PDU 模式。根据 GSM 07.05 的定义,只要控制器通过 UART 接口向 GSM 模块下发 AT 命令,就可以直接读取收到的 PDU 模式的短信息:PRINT “AT+CMGF=0” 设置为 PDU 模式PRINT “AT+CMGR=1”读取接收的一条短信息在 PD

11、U 模式下,GSM 通信模块的回答格式为:+CMGR: stat , length CR LF pdu 其中: stat 表示该条短信息的状态,通常为 0(未读过,新的短信息)或 1(已读过);Length 为十进制数,表示 pdu 数据长度减去短信息服务中心地址长度,单位为字节;CR LF 为回车换行;pdu 为 PDU 模式的数据包。然后,要分析 PDU 数据包,根据 PDU 的数据格式将收到的中文信息和其它相关信息解析出来。5.1 PDU 数据包格式PDU 数据包由两部分构成,短信息服务中心地址(SMSC address)和 TPDU,表 2 为 PDU 数据包的格式,其中一个数据单元为

12、一个字节。其中短信息服务中心号码、发送源号码、日期以及时间采用压缩BCD 码表示,低位在前,高位在后。在本文的补充版(http:/.cn)中给出了通过读取短信息的 AT 命令(AT+CMGR=1)从 GSM 模块读到的一条 PDU 模式的短信息,并给出常见的数值与解释。5.2 PDU 模式的纯英文短信息解码PDU 模式的纯英文短信息编码使用 GSM 字符集的 7 位编码,此时 TP-DCS 的值为 00。如短信息内容为英文字符“Hi” ,首先将各个字符转换为 7 位的标准二进制 ASCII 码,然后要将后面字符的低位逐位调整到前面,补齐前面的差别。例如:“H”的二进制 ASCII 码为 100

13、1000,“i” 二进制 ASCII 码为 1101001;显然 H 的二进制编码不足八位,那么就将后面字符 i 的最后一位补足到 H 的前面,就成了 11001000(C8),i 剩下六位 110100,前面再补两个 0,变成00110100(34),于是“Hi”就变成了两个八进制数 C834。由于PDU 模式的纯英文短信息采用 7 位编码,解码不方便,因此对于只需发送和接收纯英文字符和数字符号的应用,最好采用 Text 模式发送和接收短信息。表 2 PDU 数据包格式(接收 MSM)5.3 中文短信息的解码由于中文字的编码是采用 2 个字节的编码,因此发送和接收中文或中英文混合的短信息只能

14、采用 PDU 模式。但在 GSM 标准中,中文编码采用 UTF-8 的编码,不是目前国内常用的 GB-2312 编码,故还需要进行中文编码的转换,才能与采用 GB-2313 汉字库相配合显示汉字字型。由于 UTF-8 和 GB-2312 编码之间不存在一一对应的线性关系,因此只能采用查表的方式进行转换。下面给出一个由 UTF-8 到 GB-2312 编码转换的算法。 建立 UTF-8 和 GB-2312 两个中文编码表,表中数据项为 2 个字节长度的十六进制的数,代表一个中文编码。两个表的长度分别为 14 890 字节(27445)。UTF-8 编码表按数据项值从小到大排序,而在 GB-231

15、2 编码表中,与 UTF-8 相同位置处为相同汉字的 GB-2312 码字,如图 4 所示。 软件解码过程为:每次从 PDU 模式 SMS 数据包的 TP-UD 中取出两个字节,采用二分法快速数据查找算法,在 UTF-8 编码表中找到其所在位置,然后在 GB-2312 表的相同位置处读取相对应的GB-2312 编码。解码流程如图 5 所示。 二分法的最坏查找次数为 lg2(n+1),UTF-8 表的长度 n 为7445,固最坏查找次数为 13 次,就是说一个中文编码由 UTF-8 到GB-2312 的转换最多经过 13 次比较查找就可完成。 这比采用简单的顺序查表要快的多,大大减少了查表所花费

16、的时间,非常适合在一般的嵌入式系统中使用。 尽管两个汉字编码表要占用近 30 KB(如还需要 GB-2312 到UTF-8 的转换,则还要增加两个表,共占 60 KB),但由于采用了ATmega128 单片机,其片内有 128KB 的程序存储器,因此可将程序与表格放在一起。去掉 60 KB 的表格,仍有近 70 KB 的容量用于系统程序,因此完全不用外部扩充存储器(汉字字库除外),大大简化了硬件的结构和设计。结 语本文的设计方案已应用在我们研发的产品“车船载 GPS-GSM 卫星定位无线通信移动终端”上,经过多年的运行和使用,证明系统工作稳定可靠。2001 年 10 月,在美国著名计算机应用杂志CIRCUIT CELLAR举办的世界性电子设计竞赛 “Design Logic 2001 Contest”中,该产品获得三等奖。

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 通信信息 > GSM/GPRS/EDGE

本站链接:文库   一言   我酷   合作


客服QQ:2549714901微博号:道客多多官方知乎号:道客多多

经营许可证编号: 粤ICP备2021046453号世界地图

道客多多©版权所有2020-2025营业执照举报