毕业论文视频采集系统的研究Word文档格式.docx

上传人:b****1 文档编号:1442145 上传时间:2023-04-30 格式:DOCX 页数:48 大小:319.76KB
下载 相关 举报
毕业论文视频采集系统的研究Word文档格式.docx_第1页
第1页 / 共48页
毕业论文视频采集系统的研究Word文档格式.docx_第2页
第2页 / 共48页
毕业论文视频采集系统的研究Word文档格式.docx_第3页
第3页 / 共48页
毕业论文视频采集系统的研究Word文档格式.docx_第4页
第4页 / 共48页
毕业论文视频采集系统的研究Word文档格式.docx_第5页
第5页 / 共48页
毕业论文视频采集系统的研究Word文档格式.docx_第6页
第6页 / 共48页
毕业论文视频采集系统的研究Word文档格式.docx_第7页
第7页 / 共48页
毕业论文视频采集系统的研究Word文档格式.docx_第8页
第8页 / 共48页
毕业论文视频采集系统的研究Word文档格式.docx_第9页
第9页 / 共48页
毕业论文视频采集系统的研究Word文档格式.docx_第10页
第10页 / 共48页
毕业论文视频采集系统的研究Word文档格式.docx_第11页
第11页 / 共48页
毕业论文视频采集系统的研究Word文档格式.docx_第12页
第12页 / 共48页
毕业论文视频采集系统的研究Word文档格式.docx_第13页
第13页 / 共48页
毕业论文视频采集系统的研究Word文档格式.docx_第14页
第14页 / 共48页
毕业论文视频采集系统的研究Word文档格式.docx_第15页
第15页 / 共48页
毕业论文视频采集系统的研究Word文档格式.docx_第16页
第16页 / 共48页
毕业论文视频采集系统的研究Word文档格式.docx_第17页
第17页 / 共48页
毕业论文视频采集系统的研究Word文档格式.docx_第18页
第18页 / 共48页
毕业论文视频采集系统的研究Word文档格式.docx_第19页
第19页 / 共48页
毕业论文视频采集系统的研究Word文档格式.docx_第20页
第20页 / 共48页
亲,该文档总共48页,到这儿已超出免费预览范围,如果喜欢就下载吧!
下载资源
资源描述

毕业论文视频采集系统的研究Word文档格式.docx

《毕业论文视频采集系统的研究Word文档格式.docx》由会员分享,可在线阅读,更多相关《毕业论文视频采集系统的研究Word文档格式.docx(48页珍藏版)》请在冰点文库上搜索。

毕业论文视频采集系统的研究Word文档格式.docx

ABSTRACT

WiththerapiddevelopmentofcomputertechnologyandtheemergenceofARMandembeddedsystem,embeddedsystemapplicationfieldscontinuouslyextension,theInternetofthingstechnologyhasbeenmature,sovideoacquisitionbecomeindispensablepartofit,thevideoacquisitionsystemundertheLinuxsystemisverynecessary.

Weusedinthedesignofthiskindofarmmini2440developmentboardandUSBcamerazc301ashardwaresupport.Firstofall,thebootloaderusedownsuppervivi,equivalenttotheBIOSofthecomputer,todownloadittothedevelopmentboardasthebootstraptheapplicationcanuseassemblycanalsousetheclanguage.Second,intheLinuxkernelitselfincreasezc301cameradriving,andmodifytheconfigurationfilemakesthisLinuxsystemcansupportmini2440developmentboard,againafterthecustomizationandtailoringoftheLinuxkernel,aftercompilingistheLinuxkernelcanbedownloadeddirectlytothedevelopmentboardanddownloadtothedevelopmentboard.Finally,oneselfalsoneedtomakeanewLinuxfilesystem.Performedonthissystemhaspassedthecrosscompiledbinariescanstartthecameraandwaitfortheclientconnection.Iuseservfoxvideoacquisitionandnetworkcommunication.

DevelopboardconnectedtotheInternet,andstartthevideoacquisitionsystembegantowork,willbecollectedinformationiscontinuouslysenttothenetwork,wheninputtheIPaddressofthedevelopmentboardinthebrowsercanviewcameratocollecttheinformation.

Keywords:

videoacquisition;

theLinuxsystem;

theembedded

目录

1绪论5

1.1课题背景5

1.2设计的意义5

1.3课题设计思路6

2系统总体方案设计7

2.1视频采集系统的总体设计7

2.2视频采集系统的硬件介绍7

2.2.1硬件平台的选择8

2.2.2ARM9简介9

2.3视频采集系统的软件设计10

2.3.1嵌入式操作系统的选择11

2.3.2视频采集系统的软件设计12

2.4本章小结13

3Linux平台的搭建14

3.1交叉编译环境的搭建14

3.2引导程序suppervivi介绍15

3.3嵌入式linux内核的裁剪以及移植16

3.3.1linux内核获取16

3.3.2linux内核的移植16

3.4根文件系统的制作19

3.4.1文件系统简介19

3.4.2busybox的移植19

3.4.3建立根文件系统20

3.5本章小结21

4应用程序servfox的分析22

4.1从命令行传递参数给变量22

4.2初始化视频采集设备23

4.3采集图像数据线程23

4.4建立TCP套接字服务端,为图像数据发送线程做好准备24

4.5发送图像数据到客户端的线程24

4.6本章小结25

结束语26

致谢27

参考文献28

附录A创建根文件目录脚本文件29

附录Bservfox主函数程序清单30

1绪论

1.1课题背景

现在市场的视频采集设备大都只支持本地控制,通过互联网查看和控制远程摄像头的技术也逐渐成熟,像长沙各大交通枢纽的红绿灯摄像头我们都可以通过手机客户端来查看道路交通状况。

所以摄像头的远程查看和控制势在必行。

由于需要通过网络连接,所以现在炒得火热的嵌入式系统是不二之选。

嵌入式系统不断发展,其所涉及的领域也不断扩展,包括工业控制、消费电子、网络通信、国防军事、医疗卫生、航天航空等各个领域。

我们所熟悉的电子产品几乎都可以找到嵌入式的影子。

随着RISC指令系统的推广,嵌入式芯片现在已经到了32位,嵌入式领域发展展现了一片新的天地,现在流行的大部分智能手机都是基于ARM芯片的,可见其发展速度之迅猛,使用之广泛,影响之巨大。

最近的新闻说马上又要出现基于ARM的电脑,所以嵌入式的发展空间是巨大的。

而基于ARM的视频采集系统可以用于安防等远程控制摄像头的场合,在安防方面,随着物联网的发展,家庭监控已经变得不可或缺,视频采集便是最重要的一部分。

在公共场合,尤其是流动人口大,人口组成复杂的地方需要通过远程网络控制的视频采集系统。

1.2设计的意义

物联网的提出已经有很长时间了,物联网发展的速度也相当迅猛,而视频采集系统是物联网中不可或缺的一部分,视频采集的含义就是采集视频信号进行视频处理、视频压缩和传输的必要条件和基础。

现在,其主要应用于一般的电脑系统,通过电脑完成视频数据的采集、编解码和网络传输。

电脑相对来说体积大、耗电高,应用不够灵活。

随着嵌入式软硬件技术的飞速发展,使得嵌入式数字视频采集系统得到实现。

嵌入式视频采集系统实现了系统的模块化设计,而且比较容易安装、维护,其具有广阔的应用前景和研究价值。

本文设计的视频采集系统是基于嵌入式处理器芯片和linux操作系统设计的。

本设计采用更小更高效的嵌入式系统实现,能够使得摄像头和视频压缩传输等一系列软硬件集成在摄像头中。

以后随着电力线传输或者POE的普及,这种摄像头只需要一路电力线或者一根网线就可以运行,将来的发展会更有前景。

1.3课题设计思路

本设计采用友善之臂mini2440开发板和中兴zc301摄像头作为硬件支持,摄像头是usb接口。

让开发板能够在linux系统中开始跑起来必须要有三个主要步骤:

制作并下载suppervivi到开发板,然后下载linux内核的源程序包,解压后按照要求修改其内核加入zc301摄像头的驱动并编译下载到开发板中,最后则需要自己制作一个文件系统,通过yaffs2制作成文件系统并下载到开发板。

然后运行servfox应用程序就可以启动摄像头并进行相关抓取图像等操作。

2系统总体方案设计

2.1视频采集系统的总体设计

本课题研究的视频采集系统基于ARM处理器芯片,采用开放源代码的Linux操作系统,在功能上实现USB视频数据的采集。

这个视频采集系统不可能就只能是单独的系统,它还可以结合其他应用,比如视频通信、家庭安防、视频监控等很多应用从而成为很多系统不可或缺的一部分。

本设计的总体框架如图1所示。

图1系统总体框图

硬件和软件是组成本设计的两个主要部分。

硬件部分由ARM处理器芯片三星的S3C2440为核心,本开发板有很多接口和资源都没有用到,视频采集系统只用到其资源的很小一部分。

zc301摄像设通过USB接口接入到开发板,从而接入系统,用于捕获原始视频数据。

软件部分,由引导程序suppervivi、Linux内核、zc301摄像头设备驱动程序以及根文件系统一起组成了嵌入式系统的基本运环境,为用户应用程序提供必要的的支持。

而应用程序就是视频采集压缩的具体实现的程序。

2.2视频采集系统的硬件介绍

硬件系统是嵌入式设计的根本所在,有了可靠的硬件才能给程序提供良好的运行环境。

如果硬件设计合理还能给软件的设计提供方便,有很多功能可以直接用硬件代替软件,减少软件的复杂度。

由于自己研究,设计中难免碰到很多问题,所以选择应用比较广泛的开发板进行开发就会有很多草考资料和可以借鉴的经验。

所以我选择了友善之臂的mini2440开发板。

2.2.1硬件平台的选择

首先我们做基于ARM的课题就要选择一款合适的处理器,按照不同的应用场合以及对作品的实际用途我们应该适当选择,下面表1列出了几款常见的处理器的基本特性。

通过选择器实际适用的功能和性价比对照,我们可以知道ARM处理器是开发嵌入式视频采集系统最佳的选择。

表1常见微处理器特性比较

处理器类型

价格

主要应用

ARM

手持设备、可视电话、楼宇的对讲系统、网络监控、多媒体终端产品、医疗电子设备等

MIPS

应用范围广泛,主要针游戏机、路由器和超级计算机等市场

PowerPC

适合于集成灵活、通用的通信功能和多种控制应用功能的通信和网络设备

Coldfire

工业控制、音频、通讯设备等

另外由于mini2440是友善之臂公司推出的比较老并且经典的产品,所以价格相对便宜,研究视频采集系统已经够用。

由于制作研究,所以应用程序只需要一个,所以存储空间不需要太大,存储芯片是64MSDRAM,其时钟频率最高可以达到100MHz。

配有256Mnandflash和2Mnorflash。

而引导程序suppervivi就存放在2M的norflash中。

开发板硬件接口资源如表2所示。

表2硬件接口资源表

接口

数量

用途

RJ-45

1

用于网络连接

串行口

3

用于程序下载

USBHost

用于接USB摄像头

USBSlaveB

用于下载程序

电源接口

提供电源

因为USB接口是最普及的微机接口,而且使用简单,所以本次设计采用的是中星微的zc301摄像头,主要是因为其系统兼容性好,实用范围广,而且图像清晰,本身就带有简单的编码电路,可以实现图像的快速编码,可以为系统节省很多资源。

但是厂家提供的芯片驱动主要针对Windows操作系统,对linux系统支持不好,所以需要在嵌入式Linux内核中需要添加zc301摄像头的USB驱动程序。

还需要将捕捉到的视频信息显示出来,所以还需要一块显示屏。

我选用的万通W35的液晶屏,由于linux系统中没有这款液晶屏的驱动程序,所以还需要在linux内核中添加该液晶屏的驱动程序。

视频采集系统的硬件方案基本上就确定了,只是开发板中还有一些我们没有用到的资源,这里就没有一一介绍了。

硬件图如图2所示:

图2视频采集系统硬件实物图

2.2.2ARM9简介

ARM微处理器是一种性能很高、功耗低的32位微型处理器,嵌入式系统中经常用到ARM芯片。

ARM9是ARM公司一款非常主流的微型处理器,已经在电话、电视机顶盒、个人数码相机、GPS、个人数字助理以及因特网设备等方面有非常广泛的应用。

ARM芯片从开始主要有ARM1系列,ARM1系列,ARM2系列,ARM3系列,ARM6系列,ARM7系列,ARM9系列,ARM10系列,ARM11系列,Cortex系列等。

每一代更新都在性能和能耗方面有了很大进步。

现在一般通用的ARM芯片大部分采用ARM7系列和ARM9系列。

本设计采用的ARM9内核的芯片。

ARM9系列微处理器在高性能和低功耗特性方面提供最佳的性能。

具有以下特点:

(1)5级整数流水线,指令执行效率更高;

(2)提供1.1MIPS/MHz的哈佛结构;

(3)支持32位ARM指令集和16位Thumb指令集;

(4)支持32位的高速AMBA总线接口;

(5)全性能的MMU,支持WindowsCE、Linux、PalmOS等多种主流嵌入式操作系统;

(5)MPU支持实时操作系统;

(6)支持数据Cache和指令Cache,具有更高的指令和数据处理能力;

(7)ARM9系列微处理器主要应用于无线设备、仪器仪表、安全系统、机顶盒、高端打印机、数字,照相机和数字摄像机等。

  ARM9系列微处理器包含ARM920T、ARM922T和ARM940T三种类型,以适用于不同的应用场合。

2.3视频采集系统的软件设计

设计的软件包括linux操作系统、USB摄像头的驱动以及视频采集应用程序。

整个软件系统的设计都是以ARM芯片以及外围电路硬件为基础设计的。

软件设计整体思想和框图如图3所示。

图3软件设计整体框图

2.3.1嵌入式操作系统的选择

嵌入式操作系统是指用于嵌入式硬件系统的操作系统。

它是一种用途非常广泛的系统软件,通常包括与硬件相关的底层驱动软件、系统内核、设备驱动接口、通信协议、图形界面、标准化浏览器等。

嵌入式操作系统负责嵌入式系统的全部软、硬件资源的分配、任务调度,控制、协调并发活动。

嵌入式操作系统主要用于智能手机、智能电视、平板电脑、以及一些精度要求较高的控制领域。

嵌入式操作系统具有通用操作系统的基本特征:

能够有效的管理越来越复杂的系统资源;

能够虚拟化硬件设备,把开发人员从繁忙的驱动程序移植和维护中解放出来;

能够提供库驱动程序、函数、工具集以及应用程序,大大提高了应用系统的开发效率。

与通用操作系统不同,嵌入式操作系统在硬件依赖性、系统实时性、软件固化以及专用性等方面具有较为突出的特点。

对于开发而言,对于系统的选择应该考虑以下几个特点:

可剪裁性:

嵌入式系统没有电脑那样大的存储资源,可利用资源有限,因此就要求嵌入式操作系统的内核具有可剪裁的特性,可以使不同的嵌入式系统能够剪裁出最合适本系统的操作系统。

可移植性:

现在市场上嵌入式微处理器种类很多而且都占有一定市场,所以嵌入式操作系统必须支持尽可能多的微处理器,这样用户选择硬件的范围就更加广泛。

实时性:

视频采集系统采集的数据一般都是实时变化的,对实时性的要求较高,所以必须选择一个实时操作系统。

技术支持和开发工具:

开发工具和技术支持的缺乏会使开发的难度加大,所以选择好的、主流的操作系统在遇到问题时能够更快的解决问题,缩短开发周期。

成本控制:

嵌入式操作系统的选择不能只去考虑系统性能,成本也是必须考虑的因素之一,如果成本过高会导致产品的市场占有率下降等,所以成本控制是非常重要的。

嵌入式linux操作系统是由UNIX系统发展而来,是一种与UNIX操作系统类似的操作系统。

Linux操作系统是开源的操作系统,它的内核可以自由定制,所以有很多不同的Linux版本,但它们都使用了Linux内核。

Linux可以被安装在各种各样的类计算机硬件设备中,例如手机、路由器、平板电脑、台式计算机、视频游戏控制台、大型机和超级计算机。

Linux是一个应用广泛的主流操作系统,世界上运算最快的10台超级计算机运行的都是Linux操作系统。

严格来讲,Linux这个词本身只表示Linux内核,但实际上我们已经习惯了用Linux这个词来形容描述整个基于Linux内核的系统,并且使用GNU工程各种工具和数据库的操作系统。

由于linux操作系统是开源的操作系统,其中的各个接口等资源都是透明的,所以银行这种保密性较高的行业都是采用linux系统。

Linux从1991年问世到现在,经过二十年的发展已经成为一款功能强大、设计完善的操作系统,可运行在X86、ARM、Alpha、MIPS、Motorola、NEC等多种硬件平台之上,并且源代码开放,可以定制。

当前最热门的安卓系统和手机苹果系统都是从linux操作系统发展而来。

2.3.2视频采集系统的软件设计

本设计采用了多线程的编程方式,建立了两个线程来控制程序的运行,分别是视频采集线程和网络传输线程。

系统应用软件的设计方案如图4所示。

图4应用软件设计流程图

在应用程序中,视频采集线程利用V4L2(VideoforLinuxTwo)编程接口从USB摄像头采集原始视频数据,然后进行相应的压缩处理,再把采集到的视频数据送到两个线程共享的缓冲区内存中,接下来查询客户端的请求信号,如果有信号就建立连接。

将采集到的视频信号上传到网络中。

程序初始化完毕以后,将打开视频采集线程,进入grab函数进行图像的抓取。

采集完成后需要进行jpeg压缩处理,然后进行编码。

在intconverframe中,通过判断palette的值做不同的压缩处理,如果是JPEG格式的,则说明硬件采集来的视频数据已经通过硬件压缩,而zc301摄像头中自带有图像压缩的硬件,所以不用进行压缩处理。

其中编码过程有以下:

Z字形编码;

使用DPCM对直流系数(DC)进行编码;

使用RLE对交流系数(AC)进行编码;

熵编码。

接下来就要打开远程数据传输线程。

在accept打开线程,首先在连接处读取frame_tmessage数据结构的内容,根据message的内容决定如何传输,下一步做循环发送。

根据文件锁的锁定和非锁定状态发送锁定的内容。

2.4本章小结

本章主要介绍了视频采集系统的整体方案,并介绍了相关硬件平台,采用的系统以及其选择。

接下来说明了在嵌入式linux下应用软件serfox的基本工作流程。

3Linux平台的搭建

嵌入式linux系统在软件上通常可以分为四大块:

引导程序suppervivi,linux内核,文件系统以及应用程序。

而ARM平台不能执行linux的gcc工具编译的文件,也不能执行windows下的.exe文件,所以在linux的宿主机中必须搭建交叉编译环境,只要通过交叉编译环境编译出来的文件才能在目标机中执行。

宿主机:

就是用来开发将要下载到开发板中的引导程序、linux内核、文件系统、应用程序等的PC机,此PC机需要是linux系统。

目标机:

本设计中是指开发板。

3.1交叉编译环境的搭建

交叉编译是嵌入式系统开发过程中一项非常重要的技术,它最主要是指某机器中执行的程序代码不是在本机上编译生成的,而是由另外一台机器编译生成,前者一般被称为目标机,后者一般被称为宿主机。

使用交叉编译技术的主要原因是一般的嵌入式目标机并没有足够的软硬件资源进行开发,所以只能将开发调试编译等的过程转移到性能较高的宿主机上进行,然后将交叉编译好的可执行文件通过串口、USB口下载到嵌入式系统中。

搭建软件开发平台的基础和前提就是交叉编译环境的搭建,交叉编译环境的搭建主要由以下几部分组成:

准备宿主机:

我们需要在一台装有Linux系统的PC机上定制、编译linux内核、制作根文件系统。

本文采用的红帽子linux操作系统,在win7中安装虚拟机,使此linux系统运行在虚拟机中。

准备目标板:

本设计采用的是友善之臂的mini2440开发板。

选择交叉编译工具:

宿主机的x86体系结构和目标机的ARM体系结构存在着差异,为了能在宿主机上生成基于ARM体系结构的程序,必须使用交叉编译工具链来编译程序。

本系统中使用的是arm-linux-gcc等交叉编译工具,源码包和使用方法都可在网上找到。

配置开发环境:

在系统的开发过程中,需要用到串口等通信接口,在使用前需要设置其波特率、数据位、停止位、奇偶校验等,在使用时采用putty工具设置即可,相当于超级终端,由于本文是在虚拟机下开发的,所以选择了后者。

下载工具源码:

下载Linux内核源代码包。

本设计选择的Linux内核源代码包为linux-2.6.32.2.tar.bz2。

3.2引导程序suppervivi介绍

引导加载程序是系统加电以后运行的第一段软件代码,用于完成硬件的一些基本配置,引导嵌入式操作系统内核启动,通常从地址0x00000000处开始运行。

suppervivi和通用的ARM的boatloader一样,只不过suppervivi是此开发板专门的引导程序。

suppervivi和PC机中的BIOS也非常类似,虽然它运行的时间非常短,但却是系统一个非常重要的组成部分。

大部分suppervivi都有两种不同的工作模式,启动加载模式和下载模式。

启动加载模式也可以叫做自主模式,是suppervivi的正常模式,它从开发板中的Flash存储器上将操作系统加载到RAM中运行,整个过程不需要用户的参与。

当suppervivi工作在下载模式时,将通过串口或网口等通信接口从宿主机下载文件,这时它会向用户提供一个简单的命令行接口。

根据启动过程的不同,suppervivi可以分为单阶段(SingleStage)和多阶段(Multi-Stage)两种。

一般来说,多阶段的suppervivi可以提供更复杂的功能和更好的移植性。

现在suppervivi启动大多数分为两个阶段。

第一阶段是阶段是与CPU和硬件紧密相关的,通常用汇编语言来编写,这个阶段的主要任务是:

(1)初始化硬件设备(关闭处理器内部数据/指令cache、屏蔽中断等);

(2)为下一阶段准备RAM空间;

(3)复制第二阶段的代码到RAM中;

(4)设置堆栈;

(5

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

当前位置:首页 > 人文社科 > 法律资料

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2