基于嵌入式Linux的视频监控系统设计开题报告_第1页
基于嵌入式Linux的视频监控系统设计开题报告_第2页
基于嵌入式Linux的视频监控系统设计开题报告_第3页
基于嵌入式Linux的视频监控系统设计开题报告_第4页
基于嵌入式Linux的视频监控系统设计开题报告_第5页
已阅读5页,还剩10页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、毕业设计(论文)材料之二(2)安徽工程科技学院本科毕业设计(论文)开题报告题目: 基于嵌入式linux的 视频监控系统 课 题 类 型: 科研 论文 模拟 实践学 生 姓 名: 学 号: 专 业 班 级: 教 学 单 位: 指 导 教 师: 开 题 时 间: 2010 年 3 月 1 日一、毕业设计(论文)内容及研究意义(价值)1.研究内容本课题主要研究嵌入式linux应用系统的开发过程。其主要包括:(1)、交叉编译环境的搭建;(2)、嵌入式linux的移植;(3)、文件系统的制作;(4)、usb摄像头的驱动设计;(5)、视频图像的采集、压缩、传输等技术。(6)、嵌入式web服务器的建立2.研

2、究意义为了更加高效地对监控现场进行实时监控和远程监控,同时考虑到各方面的成本因素而提出基于嵌入式linux的视频监控系统。该系统可应用于各种小区、商场、医院看护等公共场所的领域,实现视频监控的网络化,数字化,相比传统的监控模式,使监控现场的管理更加便捷,效率更高。二、毕业设计(论文)研究现状和发展趋势(文献综述)嵌入式linux(embeded linux)是指对标准linux经过小型化裁剪处理之后,能够固化在容量只有几kb或者几mb字节的存储器芯片或者单片机中,是适合于特定嵌入式应用场合的专用linux操作系统。在目前已经开发成功的嵌入式系统中,大约有一半使用的是linux,这与它自身的优良

3、特性是分不开的。嵌入式linux同linux一样,具有低成本、多种硬件平台支持、优异的性能和良好的网络支持等优点。另外,为了更好地适应嵌入式领域的开发,嵌入式linux还在linux基础上做了部分改进,如改善了内核结构,提高了系统的实时性等。目前国内外不少大学、研究机构、和知名公司都加入了嵌入式linux的研究开发工作,较成熟的嵌入式linux产品也不断涌现。视频监控系统在电信、银行、交通、电力、水利、石化、智能大厦等诸多领域有着广泛的应用。随着计算机技术、多媒体技术和网络技术的发展,视频监控系统正向数字化、网络化、集成化和智能化方向发展。以嵌入式视频web服务器为核心的视频监控系统是视频监控

4、系统中主流的研究现状,把视频压缩和web服务器集中到一个很小的设备中,可以方便地接入计算机网络,用户只要通过web访问就可以方便地观看web服务器上的摄像机图像。以嵌入式视频web服务器为核心的视频监控系统布控区域广阔,系统扩展能力强, 可组成非常复杂的监控网络。采用基于嵌入式web服务器为核心的监控系统,在组网方式上与传统的模拟监控和基于pc平台的监控方式有极大的不同。基于web服务器输出己完成模拟到数字的转换并压缩,采用统一的协议(如tcp/ip协议)在网络上传输,因此支持跨网关、跨路由器的远程视频传输,性能稳定可靠,无需专人管理。数字视频监控系统设备中具有图像识别和特征提取的功能,通过图

5、像分析实现运动探测和报警,使其更具视频数字化、系统的网络化、应用的多媒体化、管理的智能化,这将成为今后数字视频监控系统的主要发展趋势。另外,新的视频监控系统的研究也受到关注,比如对于一种新的录像监控系统数字硬盘录像机 (digitalvideorecord,dvr)的研究阳】。数字硬盘录像机摒弃了传统的模拟数据,采用了数字化的方式记录数据。具有存储量大,成本低,检索方便的特点,在许多领域受到重用。 三、毕业设计(论文)研究方案及工作计划(含工作重点与难点及拟采用的途径)1、设计思路: 系统的主体设计思想是将视频终端和嵌入式web服务器整合在一起,摄像头传送来的视频信号经过压缩后,通过内部总线传

6、送到内置的web服务器。该服务器可直接接上internet,网络上用户可以直接用浏览器(如ie浏览器)观看服务器上的监控图像。这种方案是当前应用较为广泛的方法,使用了近来发展迅速的嵌入式技术、网络化技术以及图像处理的技术,具有较高的技术水平。由于把视频采集压缩和web功能集成到一个设备内直接连入网络,达到即插即看,省掉很多复杂的电路,安装也很方便(仅需设置ip地址),用户无需使用专用软件,在具有网络接口的地方都可以直接使用。这种视频监控系统除应用于远程网络实验系统中,也可以应用在其它如小区,医院病床监护等各种设备之间距离较大的情况。本文将设计一个基于嵌入式linux的嵌入式视频监控系统,即对嵌

7、入式linux在视频监控系统中的应用展开研究。本系统的主要硬件组成为基于三星s3c2440的mini2440开发系统和usb摄像头。操作系统采用在嵌入式技术中流行的嵌入式linux。系统将实现实验现场的网络化实时视频监控,同时具有网络化远程控制功能。当然在此基础上也可实现对多个视频前端的访问和控制。本文将对嵌入式linux在arm开发平台上内核、文件系统的开发和移植,视频前端设备(usb摄像头)驱动程序的开发,视频图像的采集和压缩,服务器的建立及视频图像的网络传输等研究内容进行了详细的论述,并对系统建成后在实际中的应用进行了测试和实验。2、应用的技术分析: 集计算机技术、通信技术、微电子技术等

8、多种技术为一体的嵌入式技术进入到了一个飞速发展的阶段,嵌入式系统已被广泛应用到了航空、消费电子、信息家电、网络通信等各个领域。arm9 s3c2440是嵌入式处理器是性价比较优秀的芯片,在各个领域的开发应用有着广阔的应用前景。同时arm9 s3c2440微处理器与linux的结合越来越紧密,逐渐在嵌入式领域得到广范的应用。目前,在便携式消费类电子产品、无线设备、汽车、网络、存储产品等都可以看到s3c2440与linux相结合的身影。 samsung s3c2440a是一个很不错的嵌入式微处理器,价格相当较便宜、内部资源多、最主要的是国内很多人使用,相关的资料比较多。基本参数:arm920t内核

9、, 400m主频,最高可达到533m,支持nand flash、norflash、sdram、支持stn/tft lcd、4通道dma、3通道uart、2通道spi、iic总线、iis/ac97音频控制器、sd/mmc控制器、2通道usb host 1通道usb device、4通道pwm、8通道a/d转换、触摸屏控制器、rtc、cmos摄像头、多功能i/o及多种电源管理在众多嵌入式操作系统中,linux目前发展最快、应用最为广泛1。性能优良、源码开放的linux具有体积小、内核可裁减、网络功能完善、可移植性强等诸多优点,非常适合作为嵌入式操作系统。一个最基本的linux操作系统应该包括:引导

10、程序、内核与根文件系统三部分。usb设备驱动程序的设计包括主机端设备驱动程序设计、主机控制器驱动程序设计和设备端驱动程序设计三部分组成。主机端设备驱动程序就是通常说的设备驱动程序,它是主机环境中为用户应用程序提供一个访问usb外设的接口。linux为这部分驱动程序提供编程接口,驱动程序设计者只要按照需求编写驱动程序框架,通过调用操作系统提供的api接口函数可以完成对usb外设的特定访问。视频采集是基于video4linux的视频采集模块来实现,linux系统中的视频子系统video4linux为视频应用程序提供了一套统一的api,视频应用程序通过调用即可操作各种不同的视频捕获设备,包括电视卡、

11、视频捕获卡和usb摄像头等。对于摄像头的视频采集,需要使用video4linux提供的设备接口/dev/video0,若文件中没有这个设备文件,则先建立该设备节点文件。要实现监控现场,除了完成视频采集的编程,还需要把视频图像数据通过网络传输出去,因此需要在完成视频读取的基础上建立web服务器,一是为了实现对硬件设备的扩展和访问,二是为了实现客户端和服务器之间的数据通讯3、技术方案比较: 本课题的主要要方案选择是在操作系统的选择。除了wince的实时性稍差外,大多数嵌入式操作系统的实时性都很强,所以也可称为实时操作系统real time operating system.目前最重要的rtos主要

12、包括:(1)、传统的经典rtos:最主要的便是vxworks操作系统,以及其tornado开发平台。vxworks因出现稍早,实时性很强(据说可在1ms内响应外部事件请求),并且内核可极微(据说最小可8k),可靠性较高等,所以在北美,vxworks占据了嵌入式系统的多半疆山。特别是在通信设备等实时性要求较高的系统中,几乎非vxworks莫属。vxworks的很多概念和技术都和linux很类似,主要是c语言开发。但vxworks因价格很高,所以一些小公司或小产品中往往用不起。不适合我做课题。(2)、 windows ce嵌入式操作系统:microsoft也看准了嵌入式的巨大市场,ms永远是最厉害

13、的,wince出来只有几年时间,但目前已占据了很大市场份额,特别是在pda、手机、显示仪表等界面要求较高或者要求快速开发的场合,wince目前已很流行(据说有一家卖工控机的公司板子卖得太好,以至来不及为客户裁减wince)。wince目前主要为5.0版(.net),开发平台主要为wince platform builder,有时也用evc环境开发一些较上层的应用, 虽然有着良好的性能,但开发成本过高不适宜我们学习。(3)、嵌入式linux操作系统:linux的前途除作为服务器操作系统外,最成功的便是在嵌入式领域的应用,原因当然是免费、开源、支持软件多、呼拥者众,这样嵌入式产品成本会低。linu

14、x本身不是一个为嵌入式设计的操作系统,不是微内核的,并且实时性不强。目前应用在嵌入式领域的linux系统主要有两类:一类是专为嵌入式设计的已被裁减过的linux系统,最常用的是uclinux(不带mmu功能),可在arm7上跑;另一类是跑在arm 9上的,一般是将linux 2.4内核系列或者linux2.6系列内核移植在其上,可使用更多的linux功能(当然uclinux更可跑在arm 9上)。很多人预测,嵌入式linux预计将占嵌入式操作系统的50%以上份额,非常重要。由于开源免费等等的优势,适合本课题实现,是理想的方案选择。4、设计重点难点: 本课题重点和难点在于交叉编译环境的搭建,li

15、nux内核的编译,根文件系统的制作,视频采集的实现,视频图像的压缩和传输等知识要点。5、总体描述与系统框架: 系统描述如图1所示:用户浏览器web服务器inernet视频压缩设备驱动usb摄像头服务器/mini2440linux内核文件系统图1. 总体描述系统框架如图2所示:mini2440开发板usb摄像头板级支持包(bsp)usb驱动其他驱动以太网驱动tcp/ip网络系统文件系统linux内核www浏览器视频监控应用软件图2. 系统框架6、各子模块的实现方法:(1)、建立嵌入式linux开发环境:在xp系统中虚拟一个linux开发环境,在linux系统下载arm-linux-gcc交叉编译

16、工具并配置交叉编译环境。(2)、linux内核的移植:配置标准的linux内核,编译,下载至开发板中。(3)、文件系统的制作:用busybox编译一个根文件系统,创建映像文件。(4)、usb驱动设计,修改配置linux内核并编译。(5)、视频压缩:将usb摄像头传来的每一帧图像压缩成jpeg格式的图片。(6)、嵌入式web服务器的设计:用boa配置编译并移植到开发板中。(7)、用户浏览器访问服务器实现监控:通过局域网设置ip地址与嵌入式linux系统的ip地址属同一网段即可访问服务器。7、预期结果: 制作出一个能实际应用的基于嵌入式linux的视频监控系统。usb摄像头能捕获现场视频并传至we

17、b服务器,同时客户端的浏览器能访问服务器对监控现场进行实时监控。8、工作计划:l 第1周毕业实习(1)l 第2周毕业实习(2) l 第3周 需求分析,并开始撰写毕业设计说明书l 第4周 系统可行性分析l 第5周 linux操作系统的安装与使用l 第6周 开发环境的搭建,并练习操作l 第7周 嵌入式linux内核编译移植l 第8周 文件系统制作移植l 第9周 linux环境下编程练习l 第10周驱动编写准备练习l 第11周usb摄像头驱动编写l 第12周分析实现视频压缩技术l 第13周分析实现视频传输技术l 第14周嵌入式web服务器的实现与移植l 第15周应用系统的实现l 第16周整机功能调试

18、l 第17周修改调试,并完善设计说明书(1)l 第18周修改调试,并完善设计说明书(2)四、主要参考文献 1 廖日坤. arm嵌入式应用开发技术白金手册m.北京:中国电力出版社,2005.2 郑灵翔.嵌入式linux系统设计m.北京:北京航空航天大学出版社, 2008.3 孙琼. 嵌入式linux应用程序开发详解m.北京:人民邮电出版社, 2006.4 薛圆圆.usb应用开发技术大全m.北京:人民邮电出版社,2007.5 华清远见嵌入式培训中心.嵌入式linux c语言应用程序设计.北京:人民邮电出版社,2007.6 brian w.kernighan and dennis m.ritchie

19、.the c programming language(2nd edition)m.美国:prentice hall,1988.7 w. richard stevens, stephen a. rago. advanced programming in the unix environment 2nd editionm. 美国:addison wesley,2005.8 郭耸. 基于嵌入式linux 和web 服务器的网络视频监控系统j. 哈尔滨商业大学学报(自然科学版),2005.9 梅飞. 嵌入式linux 网络视频监控系统设计j. 现代电子技术,2007.10 谭晓. 嵌入式linux

20、平台的网络视频监控系统j.电子技术,2006.11 詹亮. 基于嵌入式linux的远程视频监控系统研究j. 成都纺织高等专科学校学报,2008.12 孙江波. 基于嵌入式linux的视频监控系统设计j. 武汉工业学院学报,2006.13 孙健. 基于嵌入式linux 的视频监控系统的设计j. 电脑知识与技术,2008.14 张倩. 基于嵌入式linux的视频监控系统j. 天津工业大学学报,2007.15 郝卫东. 基于linux的嵌入式网络视频监控系统研究与设计j,计算机系统与应用,2008.附录1 外文文献file i/o3.3 open functiona file is opened o

21、r created by calling the open function.#include int open(const char *pathname, int oflag, . /* mode_t mode */ );returns: file descriptor if ok, 1 on errorwe show the third argument as ., which is the iso c way to specify that the number and types of the remaining arguments may vary. for this functio

22、n, the third argument is used only when a new file is being created, as we describe later. we show this argument as a comment in the prototype. the pathname is the name of the file to open or create. this function has a multitude of options, which are specified by the oflag argument. this argument i

23、s formed by oring together one or more of the following constants from the header:o_rdonlyopen for reading only.o_wronlyopen for writing only.o_rdwr open for reading and writing. most implementations define o_rdonly as 0, o_wronly as 1, and o_rdwr as 2, for compatibility with older programs. one and

24、 only one of these three constants must be specified. the following constants are optional:o_appendappend to the end of file on each write. we describe this option in detail in section 3.11.o_creatcreate the file if it doesnt exist. this option requires a third argument to the open function, the mod

25、e, which specifies the access permission bits of the new file. (when we describe a files access permission bits in section 4.5, well see how to specify the mode and how it can be modified by the umask value of a process.)o_exclgenerate an error if o_creat is also specified and the file already exist

26、s. this test for whether the file already exists and the creation of the file if it doesnt exist is an atomic operation. we describe atomic operations in more detail in section 3.11.o_truncif the file exists and if it is successfully opened for either write-only or readwrite, truncate its length to

27、0.o_nocttyif the pathname refers to a terminal device, do not allocate the device as the controlling terminal for this process. we talk about controlling terminals in section 9.6.o_nonblockif the pathname refers to a fifo, a block special file, or a character special file, this option sets the nonbl

28、ocking mode for both the opening of the file and subsequent i/o.3.5 close functionan open file is closed by calling the close function.#include int close(int filedes);returns: 0 if ok, 1 on errorclosing a file also releases any record locks that the process may have on the file. when a process termi

29、nates, all of its open files are closed automatically by the kernel. many programs take advantage of this fact and dont explicitly close open files. 3.7 read functiondata is read from an open file with the read function.#include ssize_t read(int filedes, void *buf, size_t nbytes);returns: number of

30、bytes read, 0 if end of file, 1 on errorif the read is successful, the number of bytes read is returned. if the end of file is encountered, 0 is returned.there are several cases in which the number of bytes actually read is less than the amount requested: when reading from a regular file, if the end

31、 of file is reached before the requested number of bytes has been read. for example, if 30 bytes remain until the end of file and we try to read 100 bytes, read returns 30. the next time we call read, it will return 0 (end of file). when reading from a terminal device. normally, up to one line is re

32、ad at a time. (well see how to change this in chapter 18.) when reading from a network. buffering within the network may cause less than the requested amount to be returned. when reading from a pipe or fifo. if the pipe contains fewer bytes than requested, read will return only what is available. wh

33、en reading from a record-oriented device. some record-oriented devices, such as magnetic tape, can return up to a single record at a time. when interrupted by a signal and a partial amount of data has already been read. we discuss this further in section 10.5.the read operation starts at the files c

34、urrent offset. before a successful return, the offset is incremented by the number of bytes actually read. posix.1 changed the prototype for this function in several ways. the classic definition is int read(int filedes, char *buf, unsigned nbytes); first, the second argument was changed from a char

35、* to a void * to be consistent with iso c: the type void * is used for generic pointers. next, the return value must be a signed integer (ssize_t) to return a positive byte count, 0 (for end of file), or 1 (for an error). finally, the third argument historically has been an unsigned integer, to allo

36、w a 16-bit implementation to read or write up to 65,534 bytes at a time. with the 1990 posix.1 standard, the primitive system data type ssize_t was introduced to provide the signed return value, and the unsigned size_t was used for the third argument. 3.8 write functiondata is written to an open fil

37、e with the write function.#include ssize_t write(int filedes, const void *buf, size_t nbytes);returns: number of bytes written if ok, 1 on errorthe return value is usually equal to the nbytes argument; otherwise, an error has occurred. a common cause for a write error is either filling up a disk or

38、exceeding the file size limit for a given process for a regular file, the write starts at the files current offset. if the o_append option was specified when the file was opened, the files offset is set to the current end of file before each write operation. after a successful write, the files offse

39、t is incremented by the number of bytes actually written.附录2译文文件i/o3.3 open函数调用o p e n函数可以打开或创建一个文件。#include #include #include int open(const charp a *t hname, int oflag,./*, mode_t mode */ ) ;返回:若成功为文件描述符,若出错为- 1我们将第三个参数写为. . .,这是ansi c说明余下参数的数目和类型可以变化的方法。对于o p e n函数而言,仅当创建新文件时才使用第三个参数。(我们将在稍后对此进行说

40、明。)在函数原型中此参数放置在注释中。pathname是要打开或创建的文件的名字。oflag参数可用来说明此函数的多个选择项。用下列一个或多个常数进行或运算构成o f l a g参数(这些常数定义在头文件中): o_rdonly 只读打开。 o_wronly 只写打开。 o_rdwr 读、写打开。很多实现将ordonly定义为0,owronly定义为1,ordwr定义为2,以与早期的系统兼容。在这三个常数中应当只指定一个。下列常数则是可选择的: o_append 每次写时都加到文件的尾端。3.11节将详细说明此选择项。 o_creat 若此文件不存在则创建它。使用此选择项时,需同时说明第三个参

41、数m o d e,用其说明该新文件的存取许可权位。( 4.5节将说明文件的许可权位,那时就能了解如何说明mode,以及如何用进程的umask值修改它。) o_excl 如果同时指定了ocreat,而文件已经存在,则出错。这可测试一个文件是否存在,如果不存在则创建此文件成为一个原子操作。3.11节将较详细地说明原子操作。 o_trunc 如果此文件存在,而且为只读或只写成功打开,则将其长度截短为0。 o_noctty 如果pathname指的是终端设备,则不将此设备分配作为此进程的控制终端。9.6节将说明控制终端。 o_nonblock 如果pathname指的是一个f i f o、一个块特殊文件或一个字符特殊文件,则此选择项为此文件的本次打开操作和后续的i / o操作设置非阻塞方式。3.5 close函

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论