摘 要: 结合SoPC及GPRS技术设计了一个以FPGA为核心的多用途无线监控报警系统。系统有多种工作模式,用户可随时主动监控现场,也可启用智能方式或手动方式报警。
室内监控和车辆监控受到人们普遍关注,现有的室内监控手段存储空间消耗大,用户不能随时主动查看现场,且费用昂贵;而车辆监控系统不能实时直观查看车辆运行路线。
针对现有监控系统中存在的不足,本文设计了一种基于SoPC的室内、车内两用的多用途无线监控报警系统。通过该系统用户可随时远程主动监控现场,或以智能报警方式监控现场;手机上的车辆跟踪软件拦截车辆报警信息把路线显示在Google静态地图上,方便用户直接查看。紧急情况发生时,用户还可通过手动方式报警。
1 系统总体结构设计
远程监控报警系统分为现场监控子系统和用户端子系统两部分,系统总体结构框图如图1所示。本系统可工作在室内或车内,两种情况下都有智能监控、智能报警和手动报警模式。用在室内时,系统通过人体传感器和摄像头采集现场信息;用在车内时,通过GPS模块接收车辆地理位置信息,通过摄像头采集现场图像。采集到的现场信息送入FPGA中的嵌入式软核Nios II做智能检测。系统通过GPRS模块接收用户的控制命令,同时以短信和彩信的方式向用户发送现场信息。用户端子系统的车辆跟踪软件可实现车辆报警信息拦截和路线显示,便于用户查看。
智能监控模式下系统监控,但不主动发送报警信息,用户可随时主动发送短信要求查看。智能报警模式下系统自动检测现场是否发生异常,异常时发送短信和彩信向用户报警,同时以最快的速度将压缩后的图像存入SD卡,以备必要时侦查;无异常时每三分钟存储一幅图像,这种自适应存储机制能用较少的存储资源存储尽可能多的信息。若用户在场时发生紧急情况,可通过一个隐蔽的报警按键实现手动报警。
2 系统硬件设计
系统的硬件设计主要包括SoPC系统设计和TR800模块硬件电路设计两部分。
2.1 SoPC系统设计
系统的主控制芯片是一片FPGA,结合SoPC技术,在FPGA中加入了嵌入式软核Nios II,通过Avalon总线与外围设备建立联系。系统硬件结构框图如图2所示。
2.1.1 摄像头控制器设计
摄像头用于采集现场(包括车内和室内)图像,本系统CMOS摄像头采集到的图像信息为数字信号,无需模数转换,可简化电路设计。摄像头采集到的图像缓存到SRAM,需要时从SRAM中读出。
2.1.2 人体传感器控制器设计
人体传感器用于判断室内是否有人进入。系统的人体感应模块采用 GH-718,该模块是基于红外技术的自动控制产品,灵敏度高、可靠性强、感应角度大。传感器一旦检测到人的活动,就改变状态寄存器,处理器通过查询状态寄存器可知道是否有人。
2.1.3 GPS控制器设计
GPS模块用于车载环境下接收汽车地理位置。GPS采用一块集成模块,上电后约一秒钟发回一帧数据,每帧数据包含几个协议,本系统中只用到$GPRMC与$GPGGA协议。
在GPS控制器中,采用硬件描述语言来解析GPS协议,用一系列寄存器存储日期、时间、经度、纬度、海拔、速度等GPS信息。模块开始工作后,持续接收处理来自GPS模块的信息,GPS控制器一旦检测到$GPRMC或$GPGGA,就根据接收到的内容更新寄存器,CPU可通过读寄存器的方式得到GPS信息。
2.1.4 SD卡控制器设计
SD卡可工作在SD和SPI两种模式下,本系统采用SPI模式。SD卡与FPGA之间通过片选、数据输入、时钟和数据输出四根信号线通信,速度虽然比SD模式低,但接口简单,能满足系统要求。本系统兼容SD1.1和SD2.0两种协议,SD卡控制器自动识别SD卡需要的协议类型并执行相应的读写方式。
SD卡控制器框图如图3所示。AVALON总线接口模块是Nios II处理器和SD卡控制器模块进行数据交互的桥梁。复位初始化模块要保证片选信号在上电后的74个时钟周期内为高,完成复位。此后通过命令读写控制模块发送CMD0命令给SD卡使其进入SPI模式。命令读写控制模块按照SD卡命令时序完成SD卡命令号、参数、命令校验的发送和命令回执的读取,如果是读写操作还要对数据进行发送和接收,双口RAM用作读写数据缓存。数据转换和时钟产生模块完成SD卡和Avalon总线间信号的时序转换。
2.2 TR800模块硬件电路设计
本系统采用iWOW公司的GPRS模块TR800实现无线通信。TR800硬件电路设计框图如图4所示。SIM卡是每个现场监控子系统的ID,扬声器用于用户向现场喊话,麦克风用于捕获现场声音,方便用户监听。TR800通过串口芯片RS232与FPGA通信。
3 软件设计
3.1 现场监控子系统软件设计
现场监控子系统的软件功能模块及其联系如图5所示。系统只响应有权限用户的访问,用户权限数据存储在SD卡的隐藏扇区,即使格式化也不丢失。用户可通过短信对系统实现用户管理,包括设置管理员、添加或删除用户、密码设置等。
3.1.1 JPEG图像压缩
JPEG压缩的目的是减少传输和存储时所耗的资源。JPEG压缩处理时要先把RGB空间转换到YUV空间。为简化计算采用查表方式进行。转换后进行Y:U:V=4:1:1的抽样,抽样后进行DCT变换。DCT变换耗时多,本设计采用AAN算法,极大提高了运算速度。变换后采用Z形扫描和量化,以去除高频分量。系统对直流系数和交流系数分别进行霍夫曼编码完成压缩。
3.1.2 TR800模块软件设计
为保证TR800模块的正常工作,上电后要先对其进行语音、短信和彩信的初始化设置。语音业务方面,通过发送ATS0=2设置两声后自动接听。短信初始化主要包括短信息编码格式和提醒格式设置。彩信业务方面,要设置编码方式、接入点、代理、通信模式和MMS 中心网址等。
短信和彩信的发送通过AT指令实现,短信的接收用串口检测程序实现接收和短信内容解析。
3.1.3 FAT32文件系统
FAT32文件系统的FAT表有32位,若FAT表常驻内存,它占用的内存资源将很大,同时对处理器造成很大压力。因此本系统工作时只是不断地新增文件或目录存储现场图像,而不对文件进行删除或修改操作。
3.2 手机端车辆跟踪软件设计
车辆跟踪软件用于自动提取车辆报警短信信息,把车辆行驶路线显示在手机上。
Windows Mobile智能手机中,IMailRuleClient 接口处理应用程序内的传入消息,而MAPI 规则客户端(MAPI Rule Client)是可以实现IMailRuleClient接口的COM对象。编写代码拦截含GPS信息的短信并提取其中的经纬度信息,根据经纬度在Google静态地图中显示车辆行驶路线。将上述短信拦截和处理代码生成dll文件,然后调用该dll并修改注册表。注册时,收件箱应用程序将会加载MAPI规则客户端。注册后,传入的SMS消息会传递给MAPI规则客户端,由它决定如何处理该传入消息。由此实现手机上的车辆跟踪软件设计。
系统通过无线方式实现对室内和车辆的远程监视监听和智能报警,并能在发生紧急情况时手动报警,方便了用户对室内和车辆的监控。系统的用户终端是手机,操作方便,便于用户及时接收信息且不需要其他设备。此外由于自适应存储机制的引入,使系统能存储大量的现场信息,即使用户没能及时发现异常,存储的信息对案发后的调查也会有很大帮助。车辆跟踪软件可方便用户实时直观地查看车辆路线。总之,系统为室内远程无线监控报警和车辆无线跟踪提供了一种切实可行的实现方案。