微波EDA网,见证研发工程师的成长!
首页 > 硬件设计 > MCU和DSP > 基于ARM9和GSM/GPRS的无线可移动红外监测报警系统

基于ARM9和GSM/GPRS的无线可移动红外监测报警系统

时间:10-15 来源: 点击:
0 引言

传统的图像监测系统往往布线复杂,通过远距离有线传输而费用高昂,并且灵活机动性小,由于GPRS(通用分组无线业务)通信技术在中低速率无线数据传输方面的突出优势,基于GPRS网络的图像监测系统打破了电缆和光纤传输的限制,在图像监控系统市场中占有很大优势。但是使用GPRS网络进行实时监控的网路费用较大,而在某些场合,比如运送重要物品的货车、无人值守的贵重设备等并不需要实时监控,仅当有入侵障碍物时才需要采集和传输现场图像并发送报警信号,以达到监测和防盗的目的。

针对这个问题,本文设计了一种基于ARM9和GSM/GPRS网络的无线可移动红外监测报警系统,使用红外监测模块对被监测点进行监测,当探测到入侵障碍物时调用图像采集设备对现场状况进行图像采集并以JPEG格式保存在终端的存储系统中,然后使用GPRS模块将最新的现场图像通过GPRS网络传输到指定的FTP服务器上,并以短信息的方式向用户报警。本系统的红外监测触发传输图像模式可以使系统按流量计费来节省GPRS网络通信费用,它的通用性强,可行性和性价比高,在实际应用中有一定的价值。

1 系统的体系结构

从体系结构上看,本系统由远程监测终端、GSM/GPRS及Internet无线网络、FTP服务器监控中心及用户手机组成。监控中心通过数字数据网专线与Internet互联,具有固定的IP地址。远程监测终端由终端控制单元、图像采集设备、红外监测设备及GSM/GPRS模块组成。图1所示为本系统的整体体系结构示意图。


2 终端的硬件设计

2.1 终端的硬件结构


系统中终端使用ARM9内核的S3C2410为处理器,以TX-05D红外线反射开关作为红外监测模块,使用包含USB接口和ZC301p芯片的CMOS图像传感器作为图像采集设备,采用GSM/GPRS模块WAVECOM Q2403A作为无线传输模块。图2为远程监测终端的硬件结构框图。

2.2 终端的硬件实现

S3C2410微处理器有丰富的外设接口,其中包括117个复用功能输入/输出端口引脚,即GPIO口,每一个端口都可以通过软件设置来满足各种系统配置和设计需求[1]。终端中使用S3C2410微处理器GPIO口中的GPG6口以输入模式连接红外监测模块的数据线,当红外监测模块探测到入侵障碍物时,数据线将向GPG6口输入高电平信号,从而被处理器识别并做出相关处理。GSM/GRPS模块WAVECOMQ2403A通过串口2连接到S3C2410实现图像传输和短信息发送。终端中图像采集设备是USB接口的、基于ZC301p芯片的CMOS图像传感器,它连接到S3C2410的USB HOST口中,实现图像的采集。终端电源模块为S3C2410及各个设备提供相应的工作电压。通过进行模拟试验,终端的硬件设计能够达到功能和性能上的要求,基本能够进行实际应用。

3 终端的软件设计

3.1 终端的软件结构


终端的软件包括引导加载程序Bootloader、操作系统内核、设备驱动程序和应用层程序,其软件结构如图3所示。

终端的文件系统采用了双文件系统,即以cramfs不可写文件系统存储系统文件,以jffs2可读写文件系统存储数据文件,从而既可以使系统文件得到可靠保护,又可以方便前期调试工作和图像数据文件的读写。这也是本设计的一个特点。

3.2 设备驱动程序

设备驱动程序可以被看作操作系统的一部分,对于某个特定的硬件设备来说,其对应的设备驱动程序是不同的。操作系统本身是没有各种设备驱动的,但是它留下了扩展设备驱动的接口。本终端系统中的设备驱动程序主要包括GPIO驱动、USB接口驱动、视频设备驱动和GSM/GPRS串口驱动。

GPIO驱动是针对GPIO输入/输出端口进行的驱动程序开发,主要的部分是GPIO端口的初始化和配置,经过测试终端采用GPIO总线中的GPG6口以输入模式来接收红外监测模块传入的高电平信号。USB接口驱动由三部分组成:主机控制器驱动程序(HCD)、USB驱动(USBD)、设备端驱动程序(Slave Device Driver),它主要是为支持USB接口的图像采集设备的使用。GSM/GPRS串口驱动是字符设备驱动,系统中选用的串口2对应的设备文件为/dev/tts/1,初始化串口2的波特率为115200 B/s,8位数据位,无奇偶校验,1位停止位,实现了GSM/GPRS模块的连接。

本系统中使用的视频设备驱动为SPCA5XX,它是面向该ZC301p芯片的,其实现是按照标准的USB VIDEO设备的驱动框架编写的,整个源程序由三个主体部分组成:设备的初始化模块和卸载模块、上层软件接口模块、数据传输模块。此视频设备驱动程序的设计,能够取到应用程序所需要的jpeg流。在此不能不提到ioct1的作用。为了补充设备读写操作的功能,例如控制硬件等,最常用的通过设备驱动程序完成控制动作的方法就是实现ioct1方法。ioct1系统调用为驱动程序执行"命令"提供了一个设备相关的入口点。与read和其他方法不同,ioct1是设备相关的,它允许应用程序访问被驱动硬件的特殊功能一配置设备以及进入或退出操作模式。在本设计中用到的,是通过ioct1截取jpeg流和配置图像采集设备的参数。


Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top