一种嵌入式智能网络视频监控终端的研究与设计
扫描二维码
随时随地手机看文章
随着电子、计算机技术的发展,视频监控系统正从模拟技术向数字技术方向发展。从硬件形式上看,视频监控技术的发展经历了三个阶段:模拟视频信号监控、PC机加视频卡的数字视频监控和基于嵌入式技术的数字视频监控[1]。基于PC机技术的监控系统采用在普通PC机中插接视频采集卡的集成方式,由视频卡完成图像采集、数字化和数据压缩,PC机通过网卡和通信设备实现互连。这一类系统目前已经占据市场主流。随着嵌入式芯片技术和嵌入式操作系统的发展与成熟,基于嵌入式体系结构的视频监控系统由于具备体积小、性能稳定、安装方便等优越性能,越来越受到人们的关注[2]。对于嵌入式视频监控系统的研究,国外起步早,已有产品性能较好,但价格昂贵,国内用户一般无法承受。我国是近几年开始这方面研究的,从已有研究成果来看,其监控终端更多的是将成像系统、视频数字化系统和网络接口集成于一体[3],而其监控的智能化程度还远没有得到开发应用。
基于当前的应用背景和技术支持,本文设计了一种新型的具有入侵扫描功能的嵌入式智能网络视频监控终端,此监控终端具备视频采集、视频检测功能,带有以太网接口、TCP/IP协议栈、WEB Server,可直接与Internet互连,Internet上的授权用户使用标准的浏览器就可以根据IP地址访问此终端,查看检测到的目标图像。相比传统基于PC机+视频采集卡模式的监控终端,本终端体积小,成本低,安装方便,系统传输的数据量小,具备智能检测运动目标功能,可以实现无人职守,非常适合家庭、住宅小区、银行、仓库等单位的安全防范。
2 系统组成与工作原理
为实现视频实时检测以及网络传输功能,本监控终端采用ARM+DSP的体系框架,系统组成如图1所示,主要包括以ARM S3C4510B为核心的主控兼网络传输模块,以SAA7111为核心的视频采集模块,以DSP TMS320C6202为核心的视频检测模块,以CPLD EPM7128为核心的控制模块,以及电源管理模块等。系统具备视频采集、视频检测、图像数据的打包、网络传输、控制等功能。其工作流程是:主控CPU S3C4510B上电初始化,SAA7111初始化,S3C4510B系统自检、装载TMS320C6202程序至RAM、启动DSP,设定SAA7111初始参数,摄像机的模拟信号经过数据采集、缓存后,DSP及其外围电路对其进行运动目标检测,将检测结果通过DSP的HPI接口传递给S3C4510B,S3C4510B对数据打包,建立套接字通讯服务器,等待连接进行网络发送。
3 硬件设计
3.1 S3C4510B及其外围电路设计
本终端采用SAMSUNG公司开发的S3C4510B芯片作为主控制器。S3C4510B是一款高性能ARM体系结构的32位嵌入式微处理器,具有很强的实时多任务支持能力和扩展能力,以及小体积、低功耗、高性能等系列特点。内嵌双通道缓冲DMA的以太网控制器和极强的外围扩展能力是本次设计选择它的重要原因。S3C4510B以及外围芯片FlASH、SDRAM存储器组成了整个系统的核心,负责控制和协调各模块工作。本设计对S3C4510B内部的SDRAM和ROM进行了扩充,FLASH选用MX29L3211,容量为4MB。外扩SDRAM选用MICRO的MT48LC4M16A2TG,容量为8MB。
S3C4510B与TMS320C6202的通信电路设计采用16位主机接口(HPI)来实现,HPI利用并行总线接口技术,使主控处理器可以在无需DSP干涉的情况下访问DSP的内部存储器。在利用HPI实现主控处理器和C6202之间进行数据交换时,允许数据缓存、实时数据登录和信息处理。本设计中,主机接口(HPI)主要实现以下两个功能:第一,在系统启动时,实现DSP的程序装载。第二,在S3C4510B和TMS320C6202之间,进行控制信息的传递。S3C4510B响应DSP的中断信号,读取图像检测结果,转交于uClinux操作系统,打包发送至网络。
3.2 视频采集
本设计中所使用的图像采集设备是CCD摄像头,由于CCD摄像头输出的信号为模拟信号,系统选用PHILIP公司的SAA7111图像解码芯片,以此来完成图像的数字化过程,以及对水平和垂直同步等信号的分离。
SAA7111有很多种功能供用户选择,功能的选定可以通过对寄存器的设置来完成。本系统的研究对象是基于256级的灰度图像,输入信号采用PAL体制,结合系统处理速度的具体要求,对芯片作如下配置:采用YUV4:2:2的信号格式,只取Y(亮度)信号,分辨率为256×256像素。选用I2C总线信号对SAA7111工作寄存器初始化,然后SAA7111开始实现反混迭滤波、线性相位锁定、亮色分离、视频A/D变换等功能,同时产生行同步信号HS、场同步信号VS、奇偶场标志信号RTSO、像素时钟信号LLC2、数字视频信号,这些信号从芯片的管脚直接输出,将模拟视频信号解码为标准的YUV格式的数字视频信号[4]。在CPLD的控制下,将其存入FIFO帧存储器中,通过DSP的DMA通道存入SDRAM,以便DSP进行图像处理。[!--empirenews.page--]
3.3 逻辑控制
本系统在实时图像采集与检测工作中,有大量逻辑转换和读写等逻辑时序运算的问题,如FIFO的HF信号作为启动DMA中断的标志信号,由SAA7111的CREE、HS、VS译码产生控制输入数据缓冲FIFO器件的写时序,以及由DSP的Cex信号译码产生的控制输入数据缓冲FIFO器件的读时序等。为解决以上逻辑转换和时序产生的问题,系统设计采用可编程逻辑控制器件CPLD ,选用EPM7128SQC 100。该器件不仅满足了相应的逻辑时序设计的要求,而且还提供控制信号,通过编程实现系统各模块所需要的选通、缓冲、读/写使能、数据总线和地址总线的切换等。
3.4 DSP外围电路设计与视频检测
为了实现视频检测,采用TI公司的DSP芯片TMS320C6202[5],其内部有8个并行处理单元,两个16bit乘法器和6个算术逻辑单元,32bit外部存储器接口(EMIF:External Memory Interface),支持与异步外设、异步/同步FIFO、PCI桥以及外部主控处理器等的接口。此外,还有16bit的主机接口HPI、两个多通道缓冲串口McBSP(多通道缓冲串口),它不仅可完成标准串口的全双工串行通信,还支持多种通信协议下的直接接口。DSP不仅完成视频实时检测,还通过12C总线对SAA7111内部的32个寄存器操作,完成初始化参数设置。
为了DSP程序快速、可靠运行,采用FLASH和高速SDRAM方式。其中,FLASH选用AMD公司生产的8MB的AM29LV800B,用于存储程序和初始化数据,通过DSP的EMIF导入C6202进行图像处理操作。SDRAM 选用8MB的HY57V651620B,用于实时图像数据的缓存。C6000系列的数字信号处理器的EMIF提供了对SDRAM的直接支持,接口十分方便。系统加电运行时,DSP自动将程序和初始化数据从FLASH装入到高速SDRAM,装入完毕,程序在高速SDRAM中全速运行。
考虑到图像数据采集与DSP处理时的速度匹配问题,系统在图像采集模块和DSP模块间采用了数据缓冲FIFO器件,经图像采集模块产生的数字图像数据首先缓冲至FIFO中,然后利用FIFO的HF等信号作为启动DSP中DMA中断的标志信号,在此基础上,利用FIFO的HF启动DSP的DMA通道将图像数据传送至DSP扩展的SDRAM中,从而有效地减少了由图像数据输入引发的DSP中断的次数,提高了DSP中断的效率。
由于图像采集模块的SAA7111提供给DSP的数据是TTL电平,其逻辑高电平为5V,而DSP的I/O的逻辑高电平是3.3V,因此在SAA7111输出的图像数据和DSP的I/O之间还需增加LVTH162245电平转换器件,以满足数据电平转换的需要。
本设计中采集的是灰度图像,为了实现入侵扫描功能,要求能够存储两场图像。考虑到检测实时性要求,采用基于帧间差分的变化检测。检测运动目标时,考虑到对目标大小的选择性以及为了克服光照变化引起的虚警报, 在帧间差分基础上,引入图像块概念,将图像分成M个n×n的子块,判断每一子块图像是否发生变化,统计发生变化的子块数目,判断式[6]为:
500)this.style.width=500;" border="0" />敏感项,α为抑制系数,N为检测区域内的像素数目。采用这种块比较法,阈值取值范围大大减小,易于确定,而且对运动目标的大小也有一定的选择性。在检测每一子块图像是否发生变化时,引入光照敏感项,避免了因光照变化引起的虚警。这种方法对光线变化有一定的自适应性,扩展了系统的动态适用范围。
3.5 网络接口电路设计
S3C4510B集成了以太网的MAC接口控制器,因此对外界的网络接口只需要添加物理层芯片和RJ-45接口。这一部分电路在S3C4510B应用手册上有详细的电路设计参考。本系统选用的物理层芯片是LXT970A(10/100MB),本监控终端通过RJ-45接口可以方便地接入以太网。
4 软件设计
本终端选用uClinux嵌入式操作系统, uClinux可移植性很强,支持多任务,具有完备的TCP /IP协议栈,同时对其他许多网络协议都提供支持,这对于开发网络方面的应用程序比较方便。本终端软件部分的设计主要包括uClinux操作系统的平台移植以及uClinux下各硬件设备的驱动程序和应用程序的开发。
本终端软件包括视频采集、视频检测、主控程序和网络传输等应用程序,为了保证系统硬件的正常工作,其中还包括硬件初始化程序、以及为各种设备编写的底层驱动程序。驱动程序中需要完成的任务包括:对设备以及对应资源初始化和释放;读取应用程序传送给设备文件的数据并回送应用程序请求的数据等。编写的底层驱动程序包括:C6202,S3C4510B内部串口、网络接口芯片LXT970A等。嵌入式操作系统启动时先加载设备驱动程序,完成设备的初始化工作,然后调用应用程序完成相应功能。
5 结束语
本文设计的网络视频监控终端,可以自动检测入侵目标并将检测到的视频数据通过以太网进行网络传输。本监控终端体积小,安装方便,组网灵活,真正实现无人职守,可应用于住宅小区、银行、仓库等单位的安全防范。随着家庭局域网的普及,其在家庭远程视频监控方面必然有着广泛的应用前景。