微波EDA网,见证研发工程师的成长!
首页 > 硬件设计 > 嵌入式设计 > 嵌入式视频监控系统设计方案

嵌入式视频监控系统设计方案

时间:02-19 来源:互联网 点击:

引言

相比传统视频监控系统,嵌入式视频监控系统具有体积小、实时性强、性价比高、可靠性高、组网方便、可远程监控等优点,因而更适用于工业控制、银行、政府部门的安防系统中。本文提供的这套系统,采用的s3C2440具有更高的性价比,并且基于B/S架构来构建网络进行数据传输,用户可直接通过浏览器访问,相比C/S架构,本系统更符合客户对网络化的要求。

1 嵌入式视频监控系统方案

采用模块化设计方法,将系统分为3个功能模块,分别是:前端视频采集及警报模块、嵌入式Web服务器模块、后端用户监视模块。前端视频采集及警报模块负责视频的采集、存储、处理及传输,并实时监控现场环境温度,提供火险预警。嵌入式Web服务器模块则负责处理监控端发来的请求并为用户提供实时监控数据;后端用户监视模块实现对远程的实时监控,并与web服务器交互。整个系统结构框图如图1所示。

2 系统前端部分的实现

2.1 前端软件平台的搭建

首先,在PC上建立交叉开发环境。然后进行Boot—loader的移植,本系统使用U-Boot一1.16,它支持10种处理器,214种开发板Ⅲ。然而对于本系统所选用的S3C2440开发板,它并没有直接支持,但由于其支持s3c24lo开发板,因而只需对代码修进行少量的修改,即可实现对本系统的支持。主要工作包括修改SDRAM的配置;分频比(FCLK、HCLK、PcLK);系统时钟获取函数(get’PCLK()、get_HCLK()、get一PLLCLK()等);实现对NAND Flash、yaffs文件系统烧写的支持等。完成Boot—loader的移植后,即可进行Linux内核的移植,其主要任务是添加本系统相关硬件的驱动程序,如USB、网卡等,并对其进行相应的修改,使其支持S3C2440平台,然后静态编译入内核。针对本系统摄像头驱动采用动态加载的方式,在进行内核配置的时候需要选中“L0adable modulesupport”选项。最后利用Busybox来构建根文件系统。

现场报警功能部分的实现,采用温度传感器Dsl8820实时采集现场温度,温度预警值设为50℃,当温度超过该预警值,立即驱动前端机上的蜂鸣器,提醒现场人员环境出现异常,可能有火情。

2.2 前端视频采集的实现

Vide04“nux(简称V4L)是Ljnux中关于视频设备的内核驱动,它为针对视频设备的应用程序编程提供了一系列接口函数印]。本系统使用UsB口摄像头采集视频数据,首先要开发相应的驱动程序,即针对usB摄像头设备/dev/videoo,进行视频图像采集方面的程序设计。要完成针对基于V4L的USB视频数据采集,首先要获取视频设备的设备信息,初始化采集窗口、色度模式、帧状态,然后才能进行视频图像的采集。视频采集流程如图2所示。

在获取到设备信息并设置完摄像头参数后,即可进行数据采集,本系统使用mmap()把设备文件映射到内存中,从而绕过内核缓冲区,加速I/O访问速度。具体操作如下:

首先,使用ioctl(vide伊>fd,VIDIocGMBuF,(vide扩>videombuf)函数获得摄像头存储缓冲区的帧信息(其中、,id∞为struct vdIn*),之后修改、,ideo—map中的设置。然后将摄像头对应的设备文件映射到内存区,使用video->pFramebuffer一((unsigned char*)mmap(0,、,ide0->、,ideombu£si距,PROT—READ I PROT—WRITE,MAP-SHARED,、rideo->fd,o)。该映射内容区可读可写,并且不同进程间可共享。接着就可进行视频的截取了,使用函数ioctl(video->fd,VIDIOCMCAPTURE,(video->mmap)),若成功,便开始截取一帧视频数据,最后调用VDlOcsYNC等待一帧截取结束。

2.3 视频流网络传输的实现

本系统视频的网络传输是基于面向连接的TCP协议来实现。TcP/IP协议数据传输可分为3个阶段:建立连接,传输数据,断开连接[6]。首先服务器通过socket()函数创建套接字,使用bind()函数将创建好的套接字与端口绑定,然后调用listen()函数使服务器处于监听状态,等待客户端应用程序的连接请求。客户端应用程序通过打开一个socket即套接字,来使用TCP服务。当服务器接收到用户的连接请求后,服务器调用accept()函数建立双方连接,响应客户的请求,并创建新线程,该线程负责把数据发送给用户。

3 嵌入式Web服务器的设计

目前,B/S模式的网络结构因其具有先进的开发技术、优越的可管理性和可维护性,以及模式简单方便等优点而成为最流行的应用方式"]。本系统采用的正是该结构,因而用户通过嵌入式Web服务器,使用IE浏览器即可远程访问嵌入式设备,实现对现场的远程监。

Boa是Linux支持web服务器之一,它是一个单任务的http服务器,具有代码结构简单、支持动态CGI、“p服务,并且源代

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

网站地图

Top