基于USB的嵌入式远程视频监控系统设计.pdf
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_05.gif)
《基于USB的嵌入式远程视频监控系统设计.pdf》由会员分享,可在线阅读,更多相关《基于USB的嵌入式远程视频监控系统设计.pdf(5页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、 1994-2010 China Academic Journal Electronic Publishing House.All rights reserved.http:/第26卷第6期Vol126NO.6重庆工商大学学报(自然科学版)J Chongqing TechnolBusinessUniv1(Nat Sci Ed)2009年12月Dec12009 文章编号:1672-058X(2009)06-0558-05基于USB的嵌入式远程视频监控系统设计蒋承延1,贾 晅2(1.重庆电力高等专科学校,重庆400053;2.西南政法大学 教育信息技术中心,重庆401120)收稿日期:2009-0
2、9-01;修回日期:2009-10-21。作者简介:蒋承延(1974-),男,四川越西县人,副教授,从事计算机及应用研究。摘 要:利用嵌入式系统开发技术与Internet技术,根据固定场所使用的特点,提出了一种采USB摄像头的嵌入式远程视频监控系统实现方案;本方案采用ARM 9S3C2410为处理器和嵌入式Linux作为系统服务器端,将USB摄像头采集的视频数据压缩后,通过Internet传输实现对固定场所的远程视频监控。关键词:视频监控;运动检测;嵌入式系统;ARM9S3C2410 中图分类号:TP391.8文献标志码:A视频监控系统作为安防领域的重要组成部分,是一种防范能力很强的综合性系统
3、。本系统基于嵌入式Linux的远程视频监控系统,目标是要实现独立的嵌入式智能终端设备及其与以太网的直接接入,从而通过网络与远端主机进行通信;在嵌入式智能设备终端上要完成视频采集、视频Web服务器,并通过以太网传输图像到远端主机,供客户端实时监控。采用高度集成的ARM9 S3C2410作为系统核心,扩展少数外围设备,实现了基于嵌入式软硬件平台的远程图像监控系统。1 系统设计在此是要设计一个以嵌入式系统为中心的用于远程视频监控系统的嵌入式系统,通过该系统可以实现USB摄像头监控功能和网络传输的功能。整个监控系统构建在局域网(LAN)之上,主要组成部分包括摄像头、视频服务器、交换机、用户等,如图1所
4、示。图1 监控系统的组成各部分功能说明如下:USB摄像头:采集监控现场数据,传输给视频服务器处理;视频服务器:实现图像数据的采集处理,通过网络传输给客户端显示,每个视频服务器都设定了一个固定的IP地址,用户可以通过IP地址来访问视频服务器,并能检测运动目标,实现短信报警;交换机:为局域网中的各个主机提供网络服务;用户:为任何一个接入该局域网的计算机,通过浏览器访问视频服务器即可得到监控图像。1994-2010 China Academic Journal Electronic Publishing House.All rights reserved.http:/1.1 系统硬件设计在此设计的远
5、程视频监控系统的设计采用ARM与嵌入式Linux操作系统相结合的方式以获得更高的性价比,另外ARM是一个比较完全的CPU系统,可扩展的接口丰富,系统扩展空间比较大,比如接3.5寸液晶屏显示报警图片等。ARM处理器结合嵌入式Linux系统完成系统控制和系统协议转换,视频数据的压缩及视频流的网络传输通过软件实现,本系统使用的硬件平台功能框图如图2所示。1.2 系统的软件设计本系统采用了ARM Linux作为操作系统,ARM Linux是移植到ARM内核上的Linux操作系统。Linux操作系统的源代码中已经有针对各种不同处理器的硬件适配层,在“arch/”下面就包括ARM。但是这还不能充分涵盖各种
6、ARM芯片在各个方面的功能和部件,各种形式的补丁为原版Linux做出了补充和修改。在实际的系统中,还要根据系统板的硬件配置进行移植。本系统软件主要由USB驱动程序、嵌入式Linux操作系统、图像处理程序和报警程序组成,如图3所示。2 系统实现2.1USB驱动程序接口与摄像头驱动移植由于系统平台上运行的是arm linux,启动启用了MMU,系统进入保护模式,所以应用程序就不能直接读写外设的I/O区域(包括I/O端口和I/O内存),这时一般要借助于该外设的驱动来进入内核完成这个工作。本系统中的视频采集分两步实现:一是为USB摄像头在内核中写入驱动,二是要再写入上层应用程序获取视频数据。(1)US
7、B驱动程序接口。USB驱动程序包括用户驱动程序、通用总线驱动程序、主机控制器驱动程序几部分。其中用户驱动程序可以包含多个不同的功能接口对应不同的驱动程序,它们不直接与USB设备硬件交互,而是通过协议软件的抽象处理完成与设备的不同功能口之间的通信,提供了USB设备的功能操作及特定子类协议封装;通用总线驱动程序(USBD)拥有特定操作系上抽象出的主机控制器驱动程序的共有特性,是整个USB驱动程序的核心;主机控制器驱动程序是直接与硬件交互的软件模块,主要实现主机控制器硬件初始化、负责总线的注册、为USBD层提供相应的接口函数、提供根HUB设备配置和控制、实现四种955第6期蒋承延,等:基于USB的嵌
8、入式远程视频监控系统的设计 1994-2010 China Academic Journal Electronic Publishing House.All rights reserved.http:/数据传输方式(控制、批量、中断和等时)等功能。Linux通过定义了统一的URB(Unibersal Request Block)结构,在用户驱动程序和USBD之间,以及US2BD和HCD之间进行消息传递。用户开发的USB驱动程序主要是负责将数据封装成URB和从URB中得到数据。(2)摄像头驱动程序Spca5xx2LE接口。USB摄像头的设备驱动程序主要提供两个接口:一个是与US2BD层的接口,主
9、要用于向USBD层注册该设备并且完成usb_drivers数据结构的例化;另一个是为应用程序提供访问接口。2.2 视频监控系统软件实现嵌入式系统建立起来之后,就可以利用操作系统内核所提供的接口来开发视频监控软件模块了。本系统结合ffmpeg库开发了ARM处理器核的嵌入式视频监控系统,它有如下运行特点:(1)网络监控模式。视频服务器工作,系统采用ffmpeg库实时影像压缩技术,独立运转,不需要主机控制,直接通过以太网络连接到网络服务器,实现远程监控,使用浏览器即可观看实时影像,不需要安装专用的解码软件。(2)实时报警模式。嵌入式监控系统端利用背景减除法实时监控目标区域有无目标闯入,如果有则立即通
10、过短信网关以短消息的方式向用户发出警报,用户可以发出向服务器端发出请求,查看摄像头监控区域状况,实现安防监控。2.2.1 图像采集利用V4L进行图像采集,本系统为了保证通用性,选择了市场占有率最高的ZC301芯片型的摄像头,所以整个系统所处理的视频流是jpeg格式的。(1)初始化设备。首先打开视频设备,摄像头在系统中对应的设备文件为/dev/video0,采用系统调用函数fd=open(/dev/video0,O_RDWR),fd是设备打开后返回的文件描述符,以后的系统调用函数就可使用它来对设备文件进行操作了。接着,利用ioctl(fd,V I D I OCGCAP,&video_cap)函数
11、读取struct video_capa2bility中有关摄像头的信息。该函数成功返回后,这些信息从内核空间拷贝到用户程序空间video_cap各成员分量中,使用printf函数就可得到各成员分量信息,例如printf(maxheight=%d,fd.maxheight)获得最大垂直分辨率的大小。使用ioctl(fd,V I D I OCGPI CT,&video_pict)函数读取摄像头缓冲中video_picture信息。在用户空间程序中可以改变这些信息,具体方法为先给分量赋新值,再调用V I D I OCSPICT ioctl函数,例如:fd.depth=3;if(ioctl(fd,V
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 基于 USB 嵌入式 远程 视频 监控 系统 设计
![提示](https://www.taowenge.com/images/bang_tan.gif)
限制150内