监控设备课程设计.docx

上传人:b****5 文档编号:5925105 上传时间:2023-01-02 格式:DOCX 页数:6 大小:35.12KB
下载 相关 举报
监控设备课程设计.docx_第1页
第1页 / 共6页
监控设备课程设计.docx_第2页
第2页 / 共6页
监控设备课程设计.docx_第3页
第3页 / 共6页
监控设备课程设计.docx_第4页
第4页 / 共6页
监控设备课程设计.docx_第5页
第5页 / 共6页
点击查看更多>>
下载资源
资源描述

监控设备课程设计.docx

《监控设备课程设计.docx》由会员分享,可在线阅读,更多相关《监控设备课程设计.docx(6页珍藏版)》请在冰豆网上搜索。

监控设备课程设计.docx

监控设备课程设计

佳木斯大学课程设计报告

嵌入式数据库在基于多核处理器的视频监控中的应用

 

学院信息电子技术

专业通信工程

班级

学籍号

姓名

指导教师

佳木斯大学

2015年6月26日

摘要

在嵌人式双核处理器(ARM+DSP)平台之上,提出基于嵌人式数据库的网络视频监控系统架构。

通过移植嵌人式数据库FUEL在TMS320DM6446音视频开发平台,利用其在多线程环境下对共享数据的管理,实现了多核处理器平台的音视频编解码对数据访问的一致性;并基于FUEL实现了嵌人式视频监控系统,使得系统在嵌人式多核处理器架构上更好地管理多线程应用程序之间共享的数据,进而可靠、高效地进行音视频的网络传输。

关键词:

嵌人式数据库FUEL;嵌人式Linux;多核处理器;多线程

Abstract

Basedontheplatformofembeddedmulti-coreprocessors(ARM+DSP),anetworkvideosurveillancesystemwhichisbasedonembeddeddatabaseisintroduced.Firstly,embeddeddatabaseFUELisportedtoTMS320DM6446anaudio/videodevelopboard.Then,theshareddatabaseonthemulti-coreprocessorscanbeaccessedconcurrentlywithembeddeddatabase.Finally,theembeddedvideosurveillancesystemcanaccesstheshareddataamongmultiplethreadsinapplicationandmanagethesharedmemorybetweenARMandDSPbasedonFUEL.Therefore,itcantransmittheencode/decodeaudioandvideomorereliableandeffective.

Keywords:

embeddeddatabaseFUEL;embeddedlinux;multi-coreprocessors;multiplethreads

 

第1章绪论

1.1课题的来源及研究目的和意义

1.1.1课题的来源及研究目的

嵌人式监控系统中,在保证流媒体实时传输的前提下,需要对来自监控端各个用户的大量实时数据参数进行处理、存储和响应,特别是在多个用户对当前图像提出参数修正以及云台控制参数时。

由于目前嵌入式系统中采用的嵌人式web服务器thttpd为一个轻量级的http服务器,并且其采用的web数据库技术CGI程序对资源的独占,特别是当多用户同时访问时,使得web服务器非常忙碌,严重时会造成拥塞,从而导致嵌人式视频监控地图像实时性无法保证。

1.1.2课题研究的意义

在嵌人式网络视频系统中,有多个线程的应用需要得到及时响应,使得操作系统对数据的处理和存储能力十分有限.如何更加合理而有序地管理各种线程所使用的数据和资源成为必须解决的问题。

同时对于双核处理器架构来说,ARM与DSP之间共享内存区数据的一致性访问也成为制约系统的一大问题。

1.2本课题的主要内容

为了解决这些问题,本文结合嵌人式数据库FUEL在视频监控中的应用,利用嵌人式操作系统的多线程技术、双核处理器之间共享存储区的交互以及嵌人式数据库对共享数据访问的技术,对嵌人式数据库FUEL在嵌人式视频监控系统中的设计和实现方法进行了讨论。

 

第2章嵌入式系统的数据库设计

嵌人式数据库系统是介于用户和嵌人式操作系统之间的一层软件,它由众多程序模块组成,其作用是对多线程环境下的数据进行有效的组织和管理以及多用户的并发访问进行统一的管理。

从嵌人式数据库的应用方式来看,通常可以分为两种类型:

一种是通用的嵌人式数据库系统,如开放源码的BerkeleyDB和Sqlite等;另一种是针对具体的应用对象而自行设计开发的专用嵌人式数据库统,这种方式一般把数据库作为应用程序的一部分,允许直接访问嵌人式数据库系统。

一般情况下,嵌人式数据库无须独立运行数据库引擎,它由程序直接调用相应的C函数去实现对数据的存取操作,这一特点使得与C程序编写的嵌人式应用程序得到“无缝连接由于嵌人式实时数据库系统在运行环境和运行方式上与常见的企业级数据库管理系统有很大差别,传统的企业数据库如〇racle、DB2等在实时嵌入式环境中很难发挥作用。

因此在嵌入式多核处理器平台的视频监控系统中采用了开源的数据库FUEL,构建了一个基于ARM+DSP+thttpd+FUEL的嵌入式多核处理器视频监控系统。

基于嵌人式操作系统和嵌人式数据库系统构建的视频监控系统的结构如图1所示

图1嵌入式应用系统基本结构

Fig.1Basisarchitectureofembeddedapplicationsystem

2.1FUEL简介

FUEL是一个针对开源操作系统高性能的嵌入式数据库管理系统,其具有快速、灵活、轻量级的特点。

FUEL应用广泛,包括电信通信、网络系统管理、文档管理以及实时嵌入式操作系统等。

具有微小的内核结构,属于真正的嵌入式结构,能够实时性操作和可编程控制,实现数据库多线程访问等特点。

2.2FUEL在TMS320DM6446的移植

FUEL是一个开源的嵌入式数据库系统,同时它是一个嵌入在应用程序中可配置的数据库,故其移植到TMS320DM6446下的过程类似于LmuxM下一个应用程序的开发和移植过程,具体移植步骤如下:

1)将FUEL的压缩包解压到移#目录/lib/FUEL中;

完成移植用户应用程序的设置;配置Linux内核[3];编译内核以及文件系统。

通过makedep,makelib_only,makeuser_only,makeromfs,makeimage等操作编译Linux的内核kernel,并在Linux下生成包含FUEL的romfs文件系统。

把含有FUEL应用程序的文件系统下载到TMS320DM6446开发板上的/home下,运行FUEL即可。

第3章嵌入式视频监控系统结构设计

3.1嵌入式视频监视系统结构分析

通过对嵌入式视频监控系统所需设备的特点分析,可把系统的基本功能概括为:

现场画面的实时监控,同时监控端针对现场画面的情况自定义的各种图像参数(图像饱和度、对比度、云台控制参数和移动侦测参数等)的获取、传输和显示;对采集到的参数数据进行处理和存储;对数据处理的结果进行分析、判断和报警。

进一步可以对捕获的视频数据流进行索引标记,以便以后对其进行历史数据的搜索等上层操作。

实现上述监控功能的嵌入式视频监控系统的体系结构有三部分组成:

监控端控制参数命令的发出,嵌入式web服务器thttpd和监控现场各种参数的修正。

其中,嵌入式web服务器是视频监控的中心节点。

其主要任务为:

①允许远程监控端通过浏览器远程实时的监控现场画面;②修正远程监控端提出的对现场画面的参数,即针对各监控端提出的修正参数通过浏览器发送给web服务器,进而利用FUEL的多用户管理机制实现各监控端的请求。

在嵌入式视频监控系统中,为保证系统的访问效率,数据信息的统一管理以及现场视频流媒体数据的实时传输,应使得嵌入式web服务器thttpd的资源不被多监控端同时访问请求过度所占用;同时在实际应用中,监控端对嵌入式web服务器的请求数据具有高信息吞吐量,多用户同时访问以及实时性强等需求特点。

因此,解决这一矛盾的最好方法为,在嵌入式web服务器和多监控端之间采用嵌入式数据库的方式实现数据的存储、处理和响应,达到数据的统一管理,增强应用程序的可移植性和缓解嵌入式web服务器资源占用。

3.2基于FUEL视频监控系统的实现

基于嵌入式数据库的视频监控平台系统结构如图2所示:

 

 

图2嵌入式视频监控系统数据通信结构

Fig.2Architectureofdatacommunicationin

embeddedvideosurveillancesystem

在嵌入式视频监控系统启动后,加载程序bootloader负责在加电后对ARM以及DSP进行必要的硬件设置并初始化内存,然后将Linux的内核映像从flash复制到开发板内的SDRAM中,再把控制权交给内核,使内核脱离宿主机运行起来,最终使应用程序运行起来。

Linux内核作为应用程序控制系统编解码以及相应硬件的接口,提供了应用程序对寄存器以及硬件的间接访问。

在嵌人式视频监控系统中,系统主要有两个不同的程序来完成,即网络服务程序和实时数据处理程序。

网络服务程序由两部分构成:

嵌人式web服务器以及流媒体服务器程序。

嵌人式web服务器作为后台的守护进程,负责监听来自网络客户端的请求,当用户通过浏览器向嵌人式视频监控系统发出请求时,启动相应的CGI程序,将请求转化为嵌人式web服务器能够识别的形式,进而将每个客户端的请求数据以“sets”的形式存储在嵌人式数据库FUE中'进行处理,再由CGI将结果转化为web浏览器能够识别的格式,作为http应答的消息送回客户端,从而完成客户端对视频监控画面参数的修正。

实时数据的处理程序由视频流数据传输模块和视频控制参数以及系统控制参数模块组成。

视频流数据传输模块主要负责将来自视频源的视频信号经过A/D芯片转化后,进人嵌人式Lmux操作系统的控制,在双核处理'器的协作以及FUEL嵌人式数据库的管理下,利用五个POSIX线程(MainThreacUControlThread、SpeechThread、VideoTtiread、DisplayThread),将压缩后的视频信号由TMS320DM6446上的网络层经网卡发送到监控端;视频控制参数和系统控制参数模块则主要负责在监控期间监控端提出的对监控画面的参数修正。

在这两个模块中,嵌入式数据库FUEL作为嵌人式视频监控系统和监控端之间数据传输的中间件应用软件,对视频流数据进行了索引,同时对相应的控制参数进行了一致性管理和锁闭机制的管理。

这样监控端可以对视频数据进行搜索,同时使得多用户同时访问视频数据以及修改图像参数对操作系统的资源占用达到最小,也就使嵌人式视频监控系统的整体功能达到最大。

第4章心得体会

在嵌入式系统中,特别是双核处理器平台的嵌入式音/视频监控系统,利用嵌入式数据库对多线程环境下的数据进行操作和管理是嵌入式应用系统的发展方向。

它使得系统的音视频数据流和系统相关控制信息参数得以清晰的划分,简化了应用系统的整体开发过程。

同时在嵌入式数据库的协调下多用户的同时访问以及对系统资源的占用得到了很好的解决。

经实践证明,基于FUEL的嵌入式视频监控系统取得了较为理想的效果。

参考文献

[1]季昱,林俊超,宋飞.ARM嵌人式应用系统开发典型实例[M].北京:

中国电力出版社,2005.

[2]李驹光.ARM应用系统开发详解一基于S3C4510B的系统设计[M].2版.北京:

清华大学出版社,2004.

[3]孙纪坤,张小全.嵌人式Linux系统开发技术详解一基于ARM[M].北京:

人民邮电出版社,2006.

附录1程序清单

if(d_open(“video_para”,“s”,task)==S_UN-AVAIL)

/*以共享模式打开数据库*/

{

Printf(“databaseunavailable\n”);

exit(l);

}

structinfousers;/*在多用户访问时,启动锁闭机制*/

intstat;

printf(“enteridcode:

”);

getstring(users,id_code,SIZEOF_ID_CODE);

d_keylock(ID_CODE.”r”,task,CURR_DB);

stat-d_keyfind(ID_CODE,users,id—code,task,CURR_DB);

d_keyfree(ID_CODE,task,CURR_DB);

if(stat!

=S_OKAY)

printf(“usernotfound\n”);

elseif(d_rlbset(task,CURR_DB)!

=S_OKAY)

printf(“unabletomodifyrecord\n”);

else

{

d_recread(&users,task,CURR_DB);

…/*显示可以修改的项目*/d_trbegin(“mod_info”,task);

while(d_reclock(INFO,”w”,task,CURR_==S_UNAVAIL);

/*等待到锁闭后可进*/

d_recwrite(&users,task,CURR_DB);/*更新监控端记录*/

d_rlbclr(task,CURR_DB);/*清除记录锁闭位*/

d_trend(task);/*将更新记录写入数据库*/

}

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 医药卫生 > 基础医学

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1