单片机控制GSM模块实现短信收发的软件设计.pdf

上传人:qwe****56 文档编号:74644764 上传时间:2023-02-27 格式:PDF 页数:4 大小:136.69KB
返回 下载 相关 举报
单片机控制GSM模块实现短信收发的软件设计.pdf_第1页
第1页 / 共4页
单片机控制GSM模块实现短信收发的软件设计.pdf_第2页
第2页 / 共4页
点击查看更多>>
资源描述

《单片机控制GSM模块实现短信收发的软件设计.pdf》由会员分享,可在线阅读,更多相关《单片机控制GSM模块实现短信收发的软件设计.pdf(4页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。

1、63Microcontrollers&Embedded Systems2 0 0 5.1应用天地 APPLICATION NOTES 武汉理工大学 王骐 何嘉斌摘 要关键词借助系统模型,阐明 G S M模块收发短信的基本概念以及串口控制 S M S的基本原理。详细介绍单片机控制 G S M模块工作的软件实现过程,对怎样用单片机控制 G S M模块收发短信进行探讨,也对程序设计的主体思想作了较为细致的分析。单片机 短信收发 软件设计G S M(G l o b a l S y s t e m f o r M o b i l e c o m m u n i c a t i o n)系统是目前基于时分

2、多址技术的移动通信体制中,比较成熟完善,且应用最广泛的一种系统。目前已建成的覆盖全国的 GSM数字蜂窝移动通信网,是我国公众移动通信网的主要方式。基于 GSM的短信息服务,是一种在移动网络上传送简短信息的无线应用,是一种信息在移动网络上储存和转寄的过程。由于公众 GSM网络在全球范围内实现了联网和漫游,建立上述系统不需再组建专用通信网络,所以具有实时传输数据功能的短信应用将得到迅速普及。笔者开发设计的基于 GSM网络的温度数据采集与无线传输系统正是借助该网络平台,利用短信息业务实现数据的自动双向传递。系统模型图如图 1所示。本系统由数据采集部分、数据接收和发送部分、终端处理部分三个模块组成。数

3、据采集模块将采集到的温度数据存入存储器中。数据收发模块采用双单片机共用 E2R P O M的方式,单片机 2控制数据从存储器转存入 E2P R O M中;单片机1负责将数据从 E2P R O M中读出,并经 G S M模块 2借助 G S M网络将数据发送出去。单片机 1不仅控制数据的发送,也控制数据的接收。在这里,E2P R O M是温度数据临时存储和上传的中转站。终端处理模块负责将接收到的数据交给计算机处理,并将处理后的结果存放到数据库中,以供查询。当终端处理模块需要向 G S M模块 2发送控制命令时,G S M模块 2接收过程正好与上述过程相反,从而实现数据的自动双向传递。系统中,三个

4、模块相互独立,彼此又相互依赖,共同完成数据的传输。数据收发模块在系统中起着承上启下的作用,是系统的核心模块。该模块以双单片机为核心,以R S 2 3 2通信接口,在物理层上实现与G S M模块的连接。由于篇幅的限制,本文主要介绍单片机控制这一模块工作的软件实现过程,旨在对怎样用单片机控制GSM模块收发短信息进行探讨。1 G S M 模块M Z 2 8MZ28是中兴通讯推出的 GSM无线双频调制解调器,主要为语音传输、短信发送和数据业务提供无线接口。M Z 2 8集成了完整的射频电路和G S M的基带处理器,特别适合于迅速开发基于 GSM无线网络的无线应用产品。带有人机接口(M M I)界面的应

5、用产品内部与M Z 2 8的通信可通过标准的串行接口(R S 2 3 2)进行。M Z 2 8使用简单的2 0-P I N Z I P 插座与用户自己的应用系统相连,此 Z I P连接方式提供开发所需的数据通信、音频和电源等接口信号。M Z 2 8可以作为无线引擎,嵌入到用户自己的产品当中,用户可以用单片机或其它 C P U的 U A R T口,使用相应的 A T命令,对模块进行控制,达到使其产品可以轻松进入 GSM网络的目的。2 串口控制S M S 的工作原理单片机与 G S M模块一般采用串行异步通信接口,通信速度可设定,通常为1 9 2 0 0 b p s。采用这种 R S 2 3 2

6、电缆PC机GSM模块1GSM模块2E2PROM存储器MSC1210终端处理模块数据收发模块温度数据数据采集模块GSM网络单片机2单片机1图1 系统模型图单片机控制G S M模块实现短信收发的软件设计642 0 0 5.1应用天地 APPLICATION NOTES方式进行连接时,数据传输的可靠性较好。R S 2 3 2接口方式连接,通过串行接口集成电路和电平转换电路与G S M模块连接,电路比较简单,所涉及的芯片包括单片机 8 9 C 5 2和电平转换芯片M A X 2 3 2,是非常常见的接口电路。需要说明的是,该接口通过 I2C总线扩展了一个E2P R O M存储器芯片A T 2 4 C

7、6 4,它的主要作用是存储采集到的数据。该芯片能够反复擦/写,能够持久保存数据,而且断电信息也不会丢失,这些特性正是存储数据所必须的。G SM的短信息业务 S M S利用信令信道传输,这是G S M通信网所特有的。它不用拨号建立连接,把要发的信息加上目的地址发送到短信息服务中心,经短信服务中心完成存储后再发送给最终的信宿。所以当目的GSM终端没开机时信息不会丢失。每个短信的信息量限制为 1 6 0字节。现在市场上大多数手机均支持G S M 0 7.0 5规定的A T指令集。该指令集是 E T S I(欧洲通信技术委员会)发布的,其中包含了对 S M S的控制。利用 G S M手机的串行接口,单

8、片机向手机收发一系列的 A T命令,就能达到控制 G S M模块收发 S M S的目的。必须注意的是,用单片机实现时,编程必须注意它发送指令与接收到的响应都是字符的 A S C I I码。用单片机控制G S M模块收发短信息所涉及到的 AT指令如表 1所列。3 软件实现3.1 上位机模块和下位机模块半双工通信协议的实现3.1.1 应答和重发上位机模块和下位机模块的通信双方遵照半双工通信方式进行,即数据传送是双向的。但是,任何时刻只能由其中的一方发送数据,另一方接收数据,因为E2P R O M的读出和写入不能同时进行。为了避免一方在发送信息帧时(这里的信息帧指的是下位机模块发送的数据帧和上位机模

9、块发送的命令帧,下同),另一方也会发送数据,必须把信道变成半双工方式。尽管这样效率可能不如全双工方式,但通过此举牺牲效率可以换取模块工作性能的稳定。双方采取的顺序是:发收到应答后再发。按照整个系统的设计思路,上位机模块(即图 1中的G S M模块1,下同)发送的帧包括命令帧、确认帧和非确认帧;下位机模块(即图1中的 G S M模块2,下同)发送的帧包括数据帧、确认帧和非确认帧。其中确认帧和非确认帧是发送数据后等待对方发送的应答帧,以此作为继续发送下一帧和重新发送上一帧的依据。命令帧和数据帧是信息帧。当一方先发送完信息帧,如果收方接收到对方的信息帧,而又没有信息帧需要发送,那么情况就比较简单,收

10、方将根据信息帧的正确与否决定发送确认帧还是非确认帧,以使对方决定是继续发送还是重新发送;如果此刻收方也有信息帧需要发送,那么收方将不立即发送应答帧,而是立即发送本方的信息帧给对方,并等待对方对此帧的应答帧,在收到对方的应答帧后,收方将依据应答帧的内容(即确认帧或者是非确认帧,下同)决定是继续发送下一信息帧,还是重新发送原来的信息帧。如果由于链路本身不可靠等因素造成应答帧的丢失,收方将在一定时间内因为没有收到应答帧而延时重发原来的信息帧。在收到对方的应答帧后,收方将继续发送下一信息帧,并等待对方的应答帧,如此反复,直到收方全部发送完信息帧。在本方收到对方最后一个应答帧后,表明本方全部的信息帧发送

11、完毕。然后收方将发送对方仍然等待的应答帧,通知对方收到的信息帧正确与否。3.1.2 延时重发在双方通信过程中,有两个时间t 1和t 2,分别表示重新发送信息帧的最大延时。t 1表示一方发送完信息帧到收到对方应答帧的时间,如果等待应答帧的时间超过了t 1,则发方会重新发送原来的信息帧;当收方接收到对方发送的信息帧,如果收方此时有需要发送的信息帧,则收方此刻不发送应答帧,而是发送信息帧给对方。也就是说,利用对方等待收方应答帧的时间 t 1内,收方插入发送本方的信息帧,同样本方的发送也存在一个延时重发的问题。在规定的时间内,如果没有收到对方应答帧,收方也同样需要重发原来的信息帧,这个规定的时间就是t

12、 2。显然由于收方是利用间隙时间发送本方信息帧,所以t 2 、C M G S、+C M G R、O K。根据接收到的不同参数,下位机模块将转向不同的操作步骤,判断并改变标志位的值。比如,如果某时刻接收到,这表明呼叫对方模块号码获得成功,接下来需要发送数据。这时SHELL 函数将检查发送不同数据所代表的标志位f _ s e n d i n g、f _ a c k、f _ n a c k,从而决定需要发送何种类型的数据。3.5.3 短信数据的处理E x e c D a t a 函数进入时钟中断调用S H E L L函数时,如果接收到了返回的参数 C M T I,表明上位机模块向下位机模块发送了短信

13、数据,可能是命令帧,也可能是确认帧或者非确认帧。在这种情况下,S H E L L函数需要对短信内容进行分析,并根据短信的内容进行不同的处理,负责完成以王骐:研究生,研究方向为单片机与嵌入式系统。(收稿日期:2 0 0 4-0 8-3 0)上功能的就是E x e c D a t a 函数,它是被S H E L L 函数调用的,用来分析并处理短信数据。结 语通过以上的分析不难发现,整个程序错综复杂,函数之间相互牵扯。标志位在程序的实现过程中扮演着非常重要的角色,正是依靠这些标志位,程序才能很好地实现各个功能之间的切换,而标志位的值是通过 GSM模块返回的参数修改的。因此程序的实现过程应该是:阅读参

14、数修改标志位发送指令。主函数、时钟中断和串口中断程序、S H E L L函数、E x e c D a t a 函数贯穿整个程序的主线和核心部分,对它们的分析可以理解程序的主体思想,这也正是笔者着重介绍的原因所在。然而这些函数和中断程序的实现,还需要依靠其它函数的配合,比如基于I2C总线的E2P R O M操作函数、字符串操作函数以及串口发送函数等,由于篇幅所限,在此不再介绍。GSM网络本身是不完全可靠的,可能会发生帧发送错误、帧丢失的现象。但是由于重发、延时重发机制的存在,程序可以最大程度避免上述情况的发生。在实际应用过程中,模块运行正常,性能稳定,实时性好。注:全文见本刊网站w w w.d

15、p j.c o m.c n。参考文献1 M Z 2 8 硬件接口说明书,2 0 0 32 M Z 2 8 A T 命令说明书,2 0 0 3的 D O S文件系统,簇的大小是 2 K B,如果要向 C F卡中写入一个 8 M B的文件,共占用 4 K个簇,出于可靠性考虑,每写一个簇,F A T表就更新一次,写一个 8 M B的文件,F A T表需要更新4 0 9 6次;而 F A T表一直位于某个固定扇区中,所以8 M B的文件最多只能更新2 5次,此时 F A T表所在扇区已经擦写了 1 0万多次。如果这是一个每天需要备份的文件,那么C F卡的寿命只有2 5天。这种应用方式使 CF卡寿命与其

16、容量无关,其它绝大部分可用扇区白白浪费。采用了T r u e F F S系统之后,因为损耗均衡算法不允许 F A T表固定在某个扇区中,损耗平均分配给所有物理扇区。期望的 CF卡寿命可以用下列公式计算:每天写入字节数总擦写次数容量期望寿命75.0=其中,0.7 5 表示文件系统和T r u e F F S 管理结构的额外消耗系数。如果同样每天备份一个 8MB文件,那么8MB0.75000100MB64=期望寿命=6 0 0 0 0 0(天)(约1 6 4 3 年)。可见,T r u e F F S惊人地延长了F l a s h器件的寿命。V x W o r k s 自带的T r u e F F

17、 S驱动器覆盖了业界大部分主流F l a s h芯片,考虑了各种芯片的不同擦写算法,效率较低。对于实时性要求苛刻的系统,开发人员应该按照所用的F l a s h 器件有针对性地制作 T r u e F F S驱动器。目前,某些 C F卡本身实现了一定程度的损耗均衡算法,但是没有T r u e F F S那么高效。参考文献1 W i n d r i v e r I n c.V x W o r k s P r o g r a m m e r s G u i d e,2 0 0 22 M-S y s t e m s I n c.T r u e F F S W e a r-L e v e l i n g M e c h a n i s m,2 0 0 23 S S T I n c.C o m p a c t F l a s h C a r d S S T 4 8 C F 0 6 4 D a t a S h e e t,2 0 0 14 王江,茅静芳.嵌入式处理器M P C 8 2 5 0 和C F 卡的接口设计.电子技术应用,2 0 0 3(1 1)(收稿日期:2 0 0 4-0 7-2 1)40

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 技术资料 > 其他杂项

本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知淘文阁网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

工信部备案号:黑ICP备15003705号© 2020-2023 www.taowenge.com 淘文阁