摘要:设计一种基于GPRS 和51 单片机的彩信报警系统。利用单片机技术、带彩信协议GPRS 无线通信模块、图像捕获和图像压缩编码功能模块,实现原理图设计到电路板设计开发。用单片机根据seNSor 控制串口摄像头图像采集和压缩处理,采集图像通过彩信的格式发送到用户手机,同时可以通过短信命令随时查看系统状态,或者摄像头采集图像,监控现场情况。
国内传统的电子防盗报警系统方案往往是在用户端通过电子设备检测到盗窃等报警信息, 然后通过通讯器经电话线将信号自动传到报警中心来完成报警过程。这种报警中心往往存在很多局限。例如:报警中心地点和人员需固定,报警通信速度慢,反向查询、控制等操作困难而专业,电话线断线问题难以解决,通信费用、尤其是远程通信费用较高,不利于组建远程网络,通信带宽太小,加载信息量少,音视频信号的技术手段应用困难, 很难应用于家庭安防市场等等。
而彩信业务自中国移动从2002 年9 月正式推出以来,随着彩信网络工程的建立和不断地优化,彩信逐渐进入了高速发展和稳定应用阶段。所以人们越来越关注于依托中国移动网络、基于彩信业务来发展现代的电子防盗报警系统, 从而能在此系统上发挥其随时随地监控、网络涵盖范围大、查询控制等操作简便、费用低、报警通信速度快、音视频应用简易等众多优势,使其能广泛应用于家庭、办公、工厂、商铺等等各种场所。
1 系统硬件设计
1.1 系统总线设计
本彩信报警系统以普通AT89C52 单片机和带有彩信功能的无线模块GPRS,前端设备可以根据控制摄像头采集图片,发送到用户手机上,同时用户可以通过短信命令随时查看系统状态, 或者控制前端摄像头采集图像,监控现场情况。采用此方案设计的产品操作简单,为了降低成本,在最小硬件设计的基础上,系统的功能尽可能用软件程序来实现,以达到降低成本,满足市场需求。
设计的硬件电路主要由三部分组成: 图像捕获和图像压缩编码部分通过串口摄像头实现; 主控制器处理图像数据和任务控制用AT89C52 单片机实现;带彩信协议GPRS 模块无线部分。在设计中使用电路图,在设计的过程中,首先设计了硬件的结构框图,如图1 所示:
图1 系统硬件结构框图
采用单片机AT89C52 为核心组成彩信报警系统,AT89C52 具有快速8051 内核、8kBFlashE2PROM、256BIDATARAM,符合该硬件要求;彩信报警功能,采用GPRSModule 的MC55 芯片,带彩信协议栈MMS 功能;利用串口摄像头实现现场捕获和图像压缩存储功能。
1.2 单片机接口设计
AT89C52 单片机接口中, 作为只要一组串口,GM8123 可以将一个全双工的标准串口扩展成3 个标准串口,并能通过外部引脚控制串口扩展模式。该芯片母串口和子串口的工作波特率可由软件调节,而不需要修改外部电路和晶振频率, 它的外部控制少,应用灵活,编程使用简单,适用于大多数有串口扩展需求的系统。所以利用GM8123 为AT89C52扩展出3 组串口, 可以与串口摄像头和GPRS 模块进行连接通信。如图2 所示。
图2 单片机接口电路设计
1.3 GPRS 数据传输模块硬件设计
由于现场图片需要以彩信的形式发送, 所以选用了带有彩信功能的无线模块, 这里选用的GPRS模块是西门子的MC55[5].GPRS 模块和单片机之间的数据通信主要是通过端口TXD0 与TXD1 之间,RXD0 与RXD1 之间的数据传输来完成。其中GPRS模块上的TXD0 口是用于接收从单片机传来的数据, 而单片机上的扩展TXD2 端口是用于向GPRS模块传送数据的。GPRS 模块上的RXD0 口是用于向单片机发送数据, 单片机的扩展RXD2 口则是用于接收从GPRS 模块传输来的数据。
GPRS 数据传输模块硬件部分的电路原理图如图3 所示。
图3 GPRS 数据传输模块电路设计
1.4 串口摄像头
ZSV-01P 串口摄像头是一款具有视频采集和图像压缩功能的摄像头,具有130 万像素CMOS 摄像头,最大分辨率可达到1 280×960,是一个内含有拍摄控制、视频捕捉、图像数据采集、图像JPEG 压缩、串口通讯等功能的齐全的工业用图像采集设备,最大串口通讯速率可达115.2kbs[6]。本设计采用的带有串口的摄像头, 主机通过串口以约定的协议对摄像头进行控制。主机与相机是一种主从关系,相机的操作命令由主机发出,主机可以控制相机的输出格式、分辨率,相机向主机发送响应消息。具体参数:
(1)接口:主机与相机之间为RS-232 标准接口,波特率为57 600,8 位数据位,无校验,1 位停止位。
(2)图像格式:相机输出的图像格式为JPEG.
(3) 图像分辨率可以是:640×480、320×240、160×120、352×288、176×144.图像分辨率越高,则图像数据量越大。图4 表示分包传输时一幅完整图片采集流程。
图4 串口摄像头采集流程
2 软件设计
2.1 模块软件设计
软件采用标准的C 语言构造,由Keil C51 编译器编译。系统软件设计包括两部分:一是单片机对各个功能芯片的控制字的写入和单片机串口扩展程序;二是GPRS 数据接收发程序设计。
2.1.1 单片机与GPRS 无线模块
程序这个程序主要是完成GPRS 模块与单片机之间的数据传输,单片机有51 系列的,设定的单片机串行口工作方式为模式1,8 位UART, 数据传输率为可变;定时器1 的工作方式为模式2,数据传输率设置为9 600 b/s,晶振为11.059 2 MHz.我们传输的主要是AT 指令, 包括所拨的号码,DNS 服务的IP 地址,GPRS 服务提供商的密码, 接入GPRS 服务的APN.当然还需要建立一个TCP 通讯,此服务的客户内容包括IP、地址以及远方主机的TCP 端口号等所传输的信息。
该程序的主程序是对AT 指令进行发送和接收,在完成发送和接收数据时是分别调用数据发送子程序和数据接收子程序,而这里共包括3 个子程序:数据发送子程序、数据接收子程序以及延时子程序。
2.1.2 单片机摄像头的控制过程。
主机获取摄像头图像时操作:(1) 打开串口;(2)开始采集图像,设置图像分辨率;(3) 获取图像数据;(4) 结束采集图像;(5) 关闭串口。步骤(3) 获取图像可以循环执行。如果重新设置图像分辨率应重新执行步骤(2)。
2.1.3 单片机串口扩展程序设计
与之相关联的各端口状态和含义为:
(1)sbit MS=P3^6; //GM8123 工作模式控制
(2)sbit RESET=P3^7; //GM8123 复位引脚控制
(3)unsigned char SendBuff[5]={ 0x67,0xbc,0xc9};// 需要三个子串口
主程序中定义:
TMOD = 0x20; // 指定定时器1 工作在方式2
IE = 0x90; // 开串行口中断
SCON=0xc0; // 串行口工作在方式3
TH1 = 0xf8; // 装入定时器1 初值,设置主机工作波特率为7 200bs
P1=0x00; // 置GM8123 命令字地址
SBUF=Contr_data; // 设置GM8123 子串口波特率为19 200bs,母串口波特率为11 5200bs
因此,整个控制过程是:定义和初始化各个元器件的控制字和端口,然后单片机发送命令通过串口来检查和控制各个Sensor 和串口摄像头及MCC55 的工作。
2.2 程序流程
系统上电后首先初始化单片机, 设置串行口的波特率和定时器;然后初始化GM8123、各种Sensor传感器;接着执行MC55 上电,然后初始化MC55.
系统程序流程如图5所示。
图5 系统程序流程图
3 结语
本设计选择中深微电子公司的串口摄像头实现了图像捕获和图像压缩编码于一体, 简化了电路的复杂性, 带彩信协议GPRS 模块无线部分选用SIEMENS 公司的MC55,该模块性能稳定、可靠、操作方便。通过实验验证该报警系统运行效果良好,用户可以随时随地用手机远程遥控, 拍摄现场的照片并发送到指定手机或者电子邮箱里。可以外接多种无线传感器报警,例如烟感、无线门磁、红外人体感应器、煤气传感器等,实现多种触发方式的报警,并具有图像移动侦测功能, 能对移动的物体自动触发报警,具有一定的实用价值。