|
基于OMAP5912远程视频监控系统的设计
http://www.cww.net.cn 2009年8月10日 09:58 电子产品世界
作 者:刘明兰 罗伟 武汉理工大学
引言 目前视频监控系统已广泛应用于各领域,数字化和网络化已成为视频监控系统的发展方向。本设计采用OMAP5912处理器[1]设计和实现了基于B/S模式的远程视频监控系统,不仅解决了传统模拟视频监控系统的弊端,而且弥补了单核处理器在视频编码方面的不足。 OMAP5912是由ARM926EJ-SMPU内核和TMS320C55xDSP内核组成的双核处理器,ARM926 可满足控制和接口方面的处理需要,而且支持广泛的操作系统,而C55x 系列DSP可提供对低功耗应用的实时多媒体处理的支持。因此,将OMAP5912用于视频监控系统中时,可以利用ARM核实现人机接口、控制和通讯,利用DSP核实现视频编码,从而可以组成一个高速、清晰、低功耗、具有良好人机交互的视频监控系统。 系统总体结构 系统总体结构框图如图1所示。系统以OMAP5912电路板和摄像头为硬件,以MontavistLinux操作系统,摄像头驱动程序、H.264编码器、网络通信程序为软件,以带IE浏览器的PC机为监控端。在服务器端OMAP5912的ARM核通过驱动程序启动摄像头进行视频采集,利用DSP/BIOSBridge将获得的视频传送给DSP核,DSP核利用优化后的H.264编码器对视频编码,然后将编码后的视频回送给ARM核,ARM核通过网络通信程序与监控端进行数据交换。用户监控端对视频解码并播放视频,同时可以通过IE浏览器对摄像头进行控制及参数设置。 系统硬件设计 系统硬件设计即为OMAP5912电路板的设计,设计中,电源管理芯片采用TPS65010;DDR采用K4X56163PE芯片;NORFLASH采用两MT28F128J3FS-12芯片;音频CODEC芯片采用TLV320AIC23;以太网接口芯片采用LAN91C96;另外还设计有USB接口、UART接口、音频输入输出接口、JATG/Multi-ICE仿真调试接口及四个扩展接口。OMAP5912电路板原理框图如图2所示。
图2OMAP5912电路板原理框图 系统软件设计 系统实现的功能是采集视频并进行远程传输,软件部分设计主要包括软件平台的构建、摄像头驱动程序的实现、视频采集和视频编码的实现、嵌入式WEB服务器的构建、视频网络传输的实现。 1)开发平台的建立 在应用程序开发前,首先需要在OMAP5912电路板中建立起软件平台,主要步骤如下: (1)在PC机中安装MontaVistaLinux嵌入式操作系统。 (2)移植u_boot到目标板中 (3)Linux内核配置并增加如下两个模块: ①Multimediadevices→<*>VideoForLinux→[*]V4L information in proc filesystem; ②USBSupport→USBMultimediadevices→<*>USB OV511 Camera support; 修改一些参数,其中最重要的是修改Makefile文件: ARCH:=OMAP CROSS_COMPILE=arm_v4t_le- 最后执行如下命令生成内核镜像文件: #makedep#创建内核依赖关系 #makeclean#清除中间文件 #makeuImage#创建内核镜像文件(4)使用tftp方式下载内核镜像文件 (5)挂载根文件系统 在应用程序的开发过程中,一般通过网络以NFS方式来挂载在Linux主机上的文件系统,这样就不必要每次有改动都要重新烧写文件系统的镜像文件。它的实现基于对主机进行相应的配置并启动N FS 服务, 向Linux 主机的/etc/exports文件添加下列一行: /home/luowei/montavista/filesys*(rw,no_root_squash,no_all_squash,sync) 并运行下列命令使得设置生效: #exportfs–a #servicenfsrestart 说明:/home/luowei/montavista/filesys为本人宿主机上的根文件系统,可以根据实际情况修改。 (6)系统测试 在/home/luowei/montavista/filesys/home建立一个hello.c文件,并使用如下命令编译成目标板可执行文件hello: /opt/montavista/previewkit/arm/v4t_le/bin/arm_v4t_le-gcc–ohellohello.c 进入目标板上相同目录并执行./hello,若能正确运行,表明系统搭建成功。 2)视频采集和编码 (1)摄像头驱动程序设计 驱动程序的作用在于把设备映射为一个特殊的设备文件,用户程序可以像对其它文件一样对此设备文件进行操作[2]。系统的摄像头驱动程序包括摄像头打开模块Camera_Open()、摄像头控制模块(包括中断请求,摄像头初始化、启动、摄像头寄存器设置、DMA请求及启动)和摄像头关闭模块Camera_Release()。然后将驱动程序定义在structfile_operations中,供内核Video4Linux的API函数调用。考虑到Linux自带OV511的驱动程序,设计采用OV511芯片的网眼摄像头OV3000。 [1] [2] 编 辑:石美君
|
每日新闻排行 企业黄页 会议活动 |