基于GSM的无线智能监控设计
扫描二维码
随时随地手机看文章
1 引言
随着GSM网络的迅速普及和移动通信技术的飞速发展,新技术和新业务的开发和应用已提到十分重要的位置,利用GSM网络作为无线智能监控系统的信息传输平台是一种很有效的方法,其原理简单,安全保密性高,又不需要组建专用网络和维护网络, 加上GSM网络覆盖面广,因此与传统的监控系统相比有着其独特的优势。本文所涉及的智能监控模块即是采用GSM网络的短消息功能和语音功能实现双向数据通信,可用于智能家居监控、无人值守的设备维护、远程信息采集、工业控制、远距离仪器设备的运行状态检测和控制等领域。
2 智能监控系统总体设计
整个监控系统由GSM网络、监控模块和监控者或监控中心组成,系统原理如图2.1示。
智能模块采用89C52微控制器并结合外围电路实现对8路模拟量和8路数字量的数据采集和监控,模拟信号经ADC0809模数转换并被微控制器处理,若监控对象正常则继续循环监测,若出现问题,微控制器即通过AT命令采用RS-232异步串行接口与无线MODEM通信并控制无线MODEM发送短信息给监控者或监控中心。如果情况紧急,微控制器会通过AT命令控制无线MODEM拔打监控者的电话并同时播放预存在语音芯片ISD25120的语音信息作为报警信号。监控者也可用短信息的命令形式去设置以微控制器为核心的智能模块,以及发送短消息查询命令查询其监控情况,从而达到无线监控的目的。利用89C52的外部中断功能对外界的8路数字输入量的突发事件进行监测,如果发生突发事件,中断源立即产生中断,89C52就会执行相应的报警程序。报警信息以AT命令的形式写入TC35I并通过短消息发送到监控者手机上,对于特别紧急的事件可以直接拨打报警电话,因为短消息的发送有可能会延迟。为了确保监控系统的可靠性,应在发送完短消息报警后再通过无线模块给监控者拨打电话,并由89C52控制ISD25120型语音电路播放预先存储在语音电路的报警语音,同时在HD44780兼容的液晶显示器上显示出八路数字量和八路模拟量的监控状态。
图2.1 智能监控系统的工作原理
2.1硬件结构
智能模块的硬件结构分为两个部分,一个部分是以微控制器为中心的监控主板,包括MCU外围电路及液晶显示、数字模拟信号处理及电平转换电路和语音处理电路,另一个部分就是以TC35i及外围电路构成的无线MODEM,如图2.2所示,它具有以下特点:
(1)89C52内有8KE2PROM、256BRAM、4个位并行口、3个16位定时计数器,1个串行全双工异步接口、6个中断源,还可通过74HC373锁存器扩展外部数据和程序存储器。
(2)模拟量输入由89C52外接ADC0809的8位 A/D转换芯片来实现。可采集八路模拟量输入,通过地址管脚来选择采集哪一路模拟量。另外,在ADC0809的信号输入端接一个
图2.2 智能监控模块的硬件结构图
AD7501型8选1的多路开关,将模拟信号的输入扩展为8路,从而实现64路信号的采集。
(3)监控软件固化在微控制器的E2PROM中,为保证智能模块能够对监控对象突发情况进行实时处理,微控制器的P1口8根口线通过4078型或非门接至中断源INT0;这样,这8个I/O口一旦电平信号有变化则会引起中断,从而通过中断服务程序实现实时处理,同时还可通过P2口控制8路数字开关量的输出,以对监控对象的突发情况进行反控制,比如切断电源等。外部监控的数字开关量较多时,可以在原硬件电路上扩展一个或多个8259,8259可对8级中断请求实行优先级管理,若外设中断数目多于8个,则可使用多个8259。
(4)与HD44780兼容的液晶显示器则对实时监控的八路数字量和八路模拟量进行状态显示。假如模块在工作中出现程序跑飞的情况,作为硬件看门狗MAX813L便会给微控制器的复位脚RST一个上升沿电平,使得跑飞的程序回到监控程序开始处重新执行,以确保可靠运行。
(5)微控制器通过并口控制ISD25120语音电路,而语音芯片ISD25120的语音输出结束信号/EOM则直接接入外部中断0引脚INT0,使得语音播放一结束即刻进行其它实时处理。
(6)模块的监控主板和无线MODEM间通过串行接口连接在一起,无线MODEM主要由GSM模块TC35i、电源电路、SIM卡电路、手柄接口电路、电平转换电路几个部分组成,微控制器通过AT命令控制无线MODEM收发短信和语音通信。
2.2软件流程
监控模块的软件流程如图2.3示,微控制器自动地完成对设备状态的循环检测,如果监控的数字量或模拟量出现问题,则微控制器通过AT命令控制无线MODEM向监控者发送短消息报警,在紧急情况下也可以启动语音通话,将存储在语音芯片ISD25120中的语音信号播放出来,作为紧急状态下的一种监控报警手段;而用户可以通过手机或Internet等其他不同的短信实体发出发出相应的控制命令,通过GSM网络传送给模块,从而使得微控制器AT89C52接收并解释相应的命令,并作出相应的动作,比如修改设置、发送查询监控情况。
图2.3 智能模块的监控软件总流程图
在监控时可以根据现场情况的紧急程度分级处理:一般情况可以使用短信收发,为了保证可靠,每条发送短信都需要用户给予相应的一条固定回应;当紧急情况时,可以直接启动拨打电话功能,通过将存储在语音芯片的语音播放出来进行语音通话,以体现现场情况的紧急。
3.串行通信协议的改进
本设计监控主板与无线MODEM和PC机之间的数据通信都采用异步串行协议,由于异步串行通信协议传输数据的速度相对较慢,效率较低,故在数据通信量大的时候常采用同步通信,但是同步通信也存在着限制,通信双方的时钟必须严格一致,否则通信不能同步则会发生错误。本节就是根据面向比特的同步通信协议,对异步串行协议作了一点改进,提出一种高效、面向字节传送的类似HDLC通信协议的异步串行通信协议AHDLC及其算法的实现。
3.1AHDLC异步串行通信协议的格式
表3.1 AHDLC协议格式
StartMark 01111110B |
Length (1Byte) |
Command (1Byte) |
Data (nBytes) |
CheckSum (1Byte) |
EndMark 01111110B |
如表3.1所示为AHDLC协议的格式,Data是要传送的n个字节数据,Command是命令字节,用它对数据进行解释, Length表示数据长度的字节.若传送数据的帧格式为:Length,Command,data0,data1,…,datan-1,CheckSum.它们都是字节数据,范围是0~0xFF,直接传送以上的帧格式,如果接收方在接收中有一个错误,则以后的接收将识别不到下一个数据帧的开始,通信将会混乱。所以必须有开始标志StartMark和一个结束标志EndMark。
StartMark和EndMark也是字节数据, 范围是0~0xFF。设StartMark = EndMark=0x7E,若Length,Command,data0,data1,…,datan-1,CheckSum中出现与开始标志StartMark相同的数据,通信也会不可靠.为此设一个ReplaceMark字节,取值ReplaceMark=0xFD,用ReplaceMark代替Length,Command,data0,data1,…,datan-1,Check-Sum中出现的,与StartMark数值相同的字节,代替规则如下:发送时,用ReplaceMark,0x01两个字节代替出现的StartMark数值(StartMark→ReplaceMark,0x01);用ReplaceMark,0x00两个字节代替出现的ReplaceMark数值(RepalceMark→ReplaceMark,0x00),之后进行发送。接收时,如果接收到ReplaceMark,由下一个字节判断,若下一个字节是0x01,则接收的数值用StartMark的数值代替(ReplaceMark,0x01→StartMark);若下一个字节是0x00,则接收的数值用ReplaceMark的数值代替(ReplaceMark,0x00→ReplaceMark)。
用ReplaceMark和附加的字节(0x00或0x01)代替Length,Command,data0,data1,…,datan-1,CheckSum中可能出现的与StartMark相同的数值与真正的ReplaceMark数值.这样避免了帧内出现与标志符相同的数值,同时又可以经过变换传送与标志符相同的数值.
3.2AHDLC的效率分析
在通信中若采用ASCⅡ码变换,n个字节的数据将变换为2n个ASCⅡ码,若按StartMark,Length,Command,data0,data1,…,datan-1,CheckSum,EndMark格式传送,则需要传送2n+8个字节的数据,效率=(n+5)(2n+8)=50%.用AHDLC协议,Length,Command,
data0,data1,…,datan-1,CheckSum中,若不出现与StartMark及ReplaceMark相同的数值,则需要传送n+5个字节的数据.若出现n个与StartMark或ReplaceMark相同的数值,则需要传送2n+5个字节的数据.效率随着StartMark或ReplaceMark数值出现个数的增加而降低. StartMark和ReplaceMark数值出现的概率都是(n+3)/256,则用AHDLC协议传送的统计平均字节数为:
对于n=10,用ASCⅡ码方式传送需要28个字节,效率=15/28=53.6%;用AHDLC协议方式传送平均需要15.1个字节,效率=15/15.1=99.3%,比用ASCⅡ码方式传送效率提高45.7%.
对于n=100,用ASCⅡ码方式传送需要208个字节,效率=105/208=50.5%;用AHDLC协议方式传送平均需要105.8个字节,效率=105/105.8=99.2%,比用ASCⅡ码方式传送效率提高48.7%.StartMark(或EndMark)和ReplaceMark的数值可以根据实际情况自己定义,使AHDLC帧格式中出现StartMark和ReplaceMark的概率越低,则通信的效率越高。
4.结束语
该智能模块的软硬件经过调试已达到工业应用水平,在一些对监控的实时性要求不是特别苛刻的情况下具有很高的性价比,再加上应用范围广,开发周期短,因而应用前景十分广阔。本文作者创新点:与传统的监控产品不同,通信的媒介是GSM网络,采用SMS进行数据交换,控制主体是用户手机或监控中心的计算机。
参考文献
[1] GSM07.05,Digital cellular telecommunications system(Phase2+), Use of data terminal equipment-data circuit terminating,Equipment(DTE DCE)interface for short messageservice(SMS)and cellb roadcast service(CBS)[S].80-88
[2] 李朝青.单片机原理及接口技术[M].北京:北京航空航天大学出版社,1998
[3]林粤伟,魏权利.基于GSM短信息的无线网络环保监测系统的研制[J]微计算机信息 2005,1:71-72