摘要:本文基于ARM9系列的三星S3C2410处理器,研究并成功试制了一种网络式汽车防盗系统。系统利用传感器技术、图像处理技术和GPRS的网络优势,有效实现了对汽车的远程图像监控功能,提高了汽车防盗系统的可靠性。
关键词:嵌入式系统;S3C2410;传感器;图像处理;GPRS
引言
汽车的普及为人们的生活带来了方便,同时也给人们提出了一大难题——汽车防盗。本设计是为了解决以往汽车防盗产品的缺点和不足而开发的集成传感、报警和远程图像监控3大功能模块的汽车防盗报警系统。
系统工作原理及组成
本系统是把传感器装在车身的隐蔽位置,当有人走进监控距离、车身移动或振动、车门被打开时,传感器发出电信号,通过A/D转换装置,发送到主控制器。控制器根据信号的来源,把报警分为“有人靠近”、“车体振动”和“车门被开”3个等级,并用 GPRS/GSM终端将报警信息用短信的方式发送到用户手机上。把“车门被开”作为高级别的报警,通知用户的同时,启动视频驱动程序,通过车内的摄像头把车内实况记录下来,发送到车主手机。前两种情况下系统不传输图像,除非客户端主动查看图像,此时,系统几乎不占用信道。当有入侵者进入防范区域时,MCU通过手机短信向用户发出告警信息。由于此时发送的只是文字信息,信息量少,信息传递速度快。同时,系统将告警时的画面存放在系统内的存储器件中供用户查看。
系统硬件设计
系统的总体框架
本系统硬件由以下几个模块组成:主控制器模块、信息采集模块(传感器)、USB摄像头模块、无线通信模块(GPRS MODEM )和图像压缩模块。
主控制模块
三星的S3C2410基于ARM内核,最大工作频率能达到203MHz,能支持NAND闪存启动,具有更高的性价比。另外,S3C2410在市场上己有很多成熟的应用,因此选用了S3C2410作为系统的CPU。
S3C410集成了一个LCD控制器(支持STN和TFT液晶显示屏)、NAND闪存控制器、SDRAM控制器、3个通道的UART、4个通道的DMA、4个具有PWM功能的计时器和1个内部时钟,以及8通道的10位ADC。
S3C2410还有很多丰富的外部接口,如触摸屏、I2C总线、12S总线接口,以及2个US主机接口、1个USB设备接口、2个SPI接口、SD接口。在时钟方面,S3C2410集成了一个具有日历功能的RTC(实时控制)和具有PLL的芯片时钟发生器。能产生200MHz的工作频率。这样的工作频率能够使处理器轻松运行WinCE、Linux等操作系统,以及进行较为复杂的数据处理。
USB摄像头
USB摄像头主要由3部分构成:镜头、图像传感器和USB接口控制芯片。本系统采用的摄像头是市面上比较常见的一款。它的USB接口控制芯片型号是301p,图像传感器芯片采用CMOS技术,因此性价比较高。该摄像头可通过USB接口直接与主机通信,将采集到的图像传输到主机。该芯片的特点如下:图像最大为640×480像素,可根据不同摄像头进行配置调整;图像白平衡等参数可配置;可在Arm-Linux嵌入式系统下高效运行;通过I2C总线编程CMOS图像传感器内部的寄存器来改变缺省参数。
无线通信模块
本系统采用GSM2406模块,它接口简单、使用方便,只需要单一的2.7V电源即可工作。采用AT指令对此模块进行控制,初步计划与控制器之间采用串口进行通信。同时,用此模块实现语音通话功能。由于GPRS是基于IP协议的,所以,处理器在与GPRS网络通信的时候要发送符合IP协议的数据包。
图像压缩模块
因为视频处理芯片1s输出25帧图像 ,一帧640×480的图像大约2.45Mb,为了缓和存储器的存储压力,图像必须经过压缩以提高存取速度。
系统设计采用集成JPEG编解码的ZR36060图像压缩芯片。它可以方便地实现对视频信号的实时压缩/解压缩。在进行压缩时 ,ZR36060接收 YUV 4:2:2数字视频信号,将其编码为JPEG码流输出;在解压缩时 ,它接收JPEG码流 ,将其解码为YUV 4:2:2数字视频信号输出。
ZR36060的接口分为3个部分,分别为视频接口、代码与主机接口和控制接口。视频接口的功能是完成输入/输出视频信号;代码与主机接口的功能是通过主机完成对芯片控制字的初始化,并且在主动方式下,JPEG压缩码流也经过CODE[7:0]输入/输出;控制接口则完成一系列简单的工作顺序控制操作。两种视频同步方式为同步主模式和同步从模式。同步主模式指芯片内部产生所有的控制和定时信号;同步从模式则是芯片作为从机同步于一个外部的视频源。
数据采集模块
防盗系统的数据采集模块由微波多普勒传感器组、振动传感器组、霍尔器件组和热释电红外传感器组组成,用于汽车防盗信息的采集以及数据的初步融合处理。数据采集模块的构成如图1所示。
图1 数据采集模块的构成
利用微波多普勒传感器
对入侵范围进行监测
微波多普勒传感器采用Agilis公司的HB100微波运动传感器模块。HB100的多普勒效应收发机模块利用介质谐振振荡器和微带接插天线技术,可以实现低电流消耗、高温稳定性和高灵敏度。
利用加速度传感器对车体振动与倾斜进行监测
对车体的振动与倾斜状况进行测量,可以对窃贼采用拖吊法盗窃车辆以及破坏车体的现象进行预警。由于加速度传感器ADXL202E能够测量0~5kHz、士2g范围内的动态或静态加速度:动态加速度的测量可以用于振动检测,利用静态的重力加速度作为输入矢量,就可以确定物体的空间方向。因此可以利用ADXL202E同时对车体的振动和倾斜角度进行监测。
利用霍尔开关器件
对车门的开关进行监测
A3210E是霍尔效应开关器件。采用数字信号输出,在南、北磁极的作用下均能产生霍尔效应:磁极靠近时,开关打开,输出电平为低;磁极远离时,开关关闭,输出电平为高。该类传感器的功耗非常低,如A3209E的功耗低达400mW,特别适合低功耗应用。
霍尔器件组的设计是将多个霍尔器件分布在汽车的4个车门,将车门打开时,霍尔器件会发出微弱的电信号,然后将每个开关器件的输出信号送至器件组的局部决策中心进行融合,这里将4个车门的警报等级看作相同,可以直接采用硬件进行“或”运算,得到融合结果送至中央处理模块。
设计中的关键技术
操作系统
Linux内核的配置
配置Linux内核的步骤如下:
首先,进入系统的源代码目录/Linux-2.4.18,运行menuconfig命令,系统就自动进入配置界面。界面很直观,这里,需要分别对串口、网卡和摄像头进行配置。
1. 网卡和串口的配置
内核映像的下载需要用到串口和网卡,必须对串口和网卡驱动进行修改,以保证能够顺利完成移植工作。为了使内核支持串口,在进行内核配置时,对串口必须要有以下的配置选项:
[*] ARM AMBA PLOT! serial port support
[*]Support for console on AMBA serial port
对网卡必须要有以下的内核配置选项:
*)Ethernet (10 or 100M)
Generic Media independent Interface device support
[*]SMC 91C9x/91Clxxx support
串口驱动程序位于源码树的///drivers/serial/amba.c,网卡驱动程序位于linux/drivers/net/ann/smc9lx.c和linux/drivers/net/arm/smc9lx.h。网卡的Memory map要比串口的简单。
2. USB系统的配置
要启用USB系统,首先进入USB support一节并启用Support for USB选项(对应模块为usbcore.o)。接着,需要选择USB主控制器驱动程序。选项是EHCI(对应模块为ehci-hcd.o)、UHCI(对应模块为usb-uhci.o)和OHCI(对应模块为usb-ohci.o )。
每块支持插入USB设备的主板都需要有USB主机控制器芯片。这个特别的芯片与插入系统的USB设备进行交互操作,并负责处理允许USB设备与系统其他部分通信所必需的所有低层次细节。
启用了USB support和USB主机控制器驱动程序后,接下来应该启用Preliminary USB devicefilesystem,然后启用USB外围设备的驱动程序。例如,为了启用对USB摄像头的支持,应该启用USB Camera support。
一旦用新的内核重新引导后,目录//proclbus/usb下应该有相应的USB设备信息。如若没有信息,应输入以下命令,将USB设备文件手动挂装到//proc/bus/usb。
#mount-t usbdevfs none /proc/bus/usb
3. 摄像头
本车载终端使用cam301p摄像头,所以,在配制Linux系统内核时要选择cam301p这一项。
Multimedia devices--->
<*>Video For Linux
Video For Linux--->
[*]V4L information in proc filesystem
USB support--->
<*>USB cam301p Camera support
编译新内核
配置好内核后,进入//usr/src/linux-2.4.18目录下执行以下步骤:
1. $make dep,以正确设置所有的依赖关系。
2. $make clean,清除所有己存在的目标文件。如果忘记做这一步,生成的内核将会非常庞大。
3. $make zImage,生成一个经过压缩的内核。
4. 运行make modules和make modules_install。
5. make install。
一旦为目标系统编译了内核,通过使用引导装载程序(bootloader),内核就被装入到目标系统的内存。通过使用串口,引导装载程序与主机通信,将内核传送到目标机的DRAM中。将内核完全装入目标机后,引导装载程序将控制权交给内核。
图像报警技术
图像报警是系统的关键技术,也是系统的难点,通过对监视图像的分析和控制,实现报警和警情处理。该技术中融合了传感器、数字化处理、摄像与图像处理技术。报警流程图如图2所示。
图2 报警流程图
由于传感器是一种微弱信号检测设备,很容易受外界因素的影响而导致误报警,有些通过用户的努力是可以避免的;有些从原理上讲是不可以避免的,如小动物和电磁波干扰引起的误报警。为了尽量降低误报率,该系统采用了一种数字化处理技术,即对模拟信号直接进行数字化处理,通过对各种入侵情况和干扰情况的综合分析,在MCU上预先设定报警阈值。经传感器采集到的信号送至MCU处理,超过报警阈值时,MCU启动报警;在报警阈值以下则判为干扰信号,不报警。
结语
本设计以嵌入式系统为平台,结合传感器、数据采集、图像处理和无线通信技术实现了对汽车的远程监控和防盗功能,有效减少了汽车报警系统的误报。在理论和实践上实现了对汽车全天候的图像监控。由于受网络状态的影响,报警信息可能会有延迟,随着网络和通信技术的发展,相信这些问题都会得到完美的解决。
参考文献
1. 杨兴裕,吴海彬,许松清.GPRS无线传输在远程图像监控系统中的应用[J].微计算机信息,2005,21(3):64
2. 杜春雷编著.ARM体系结构与编程[M].北京:清华大学出版社,2003
3. 吴明晖,徐睿,黄健,徐辰.基于ARM的嵌入式系统开发与应用.北京:人民邮电出版社,2004
4. 刘笃仁,韩保君.传感器原理及应用技术.西安:西安电子科技大学出版社,2003
5. 毛德操、胡希明著.Linux内核源代码情景分析.杭州:浙江大学出版社,2001