新闻中心

EEPW首页 > 嵌入式系统 > 设计应用 > 嵌入式视频监控系统设计方案

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

作者:时间:2013-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种开发板Ⅲ。然而对于本系统所选用的开发板,它并没有直接支持,但由于其支持s3c24lo开发板,因而只需对代码修进行少量的修改,即可实现对本系统的支持。主要工作包括修改SDRAM的配置;分频比(FCLK、HCLK、PcLK);系统时钟获取函数(get’PCLK()、get_HCLK()、get一PLLCLK()等);实现对NAND Flash、yaffs文件系统烧写的支持等。完成Boot—loader的移植后,即可进行Linux内核的移植,其主要任务是添加本系统相关硬件的驱动程序,如USB、网卡等,并对其进行相应的修改,使其支持平台,然后静态编译入内核。针对本系统摄像头驱动采用动态加载的方式,在进行内核配置的时候需要选中“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等待一帧截取结束。

蜂鸣器相关文章:蜂鸣器原理

上一页 1 2 下一页

评论


相关推荐

技术专区

关闭