嵌入式gprs远程无线视频监控系统论文学位论文.docx
- 文档编号:18325350
- 上传时间:2023-08-15
- 格式:DOCX
- 页数:62
- 大小:1,001.83KB
嵌入式gprs远程无线视频监控系统论文学位论文.docx
《嵌入式gprs远程无线视频监控系统论文学位论文.docx》由会员分享,可在线阅读,更多相关《嵌入式gprs远程无线视频监控系统论文学位论文.docx(62页珍藏版)》请在冰点文库上搜索。
嵌入式gprs远程无线视频监控系统论文学位论文
目录
第一章绪论1
1.1研究背景1
1.2无线视频监控应用开发意义1
第二章嵌入式无线视频监控系统总体方案设计2
2.1总体框架设计2
2.2系统硬件构成3
2.3系统应用软件设计5
2.4本章小结6
第三章嵌入式Linux操作系统及开发环境的建立6
3.1嵌入式Linux操作系统6
3.2交叉开发环境的建立7
3.2.1GNU开发工具集8
3.2.2建立宿主机交叉开发环境9
3.3基于嵌入式Linux的上层软件开发模式10
3.3.1应用程序的开发10
3.3.2应用程序的调试10
第四章视频数据采集与处理11
4.1嵌入式Linux下的视频采集模块软件设计11
4.1.1USB摄像头驱动程序加载12
4.1.2基于V4L模块的程序开发13
4.2图像识别报警模块软件设计16
4.2.1基本结构与算法原理17
4.2.2基于边缘的背景去除算法的原理与实现18
4.2.3语音采集与报警的实现20
4.3图像数据压缩模块软件设计22
4.3.1MPEG-4压缩理论与实现22
4.4本章小结27
第五章网络视频传输模块软件设计27
5.1流媒体传输控制协议栈27
5.2RTP/RTCP协议分析与实现29
5.2.1R丁P协议分析29
5.2.2RTCP协议分析30
5.2.3RTP/RTCP协议的软件设计与实现31
5.3基于RTP/RTCP的MPEG一4传输技术35
5.3.1RTP有效载荷的确定35
5.3.2VOP的封装算法36
5.4RTSP服务器建立37
5.4.1R丁SP协议概述37
5.4.2RTSP的消息38
5.4.3SDP会话描述协议38
5.4.4RTSP的方法39
5.4.5监控系统中R下SP服务器的设计与实现40
5.5本章小结44
第六章总结与展望44
6.1论文总结44
6.2研究展望44
参考文献45
第一章绪论
1.1研究背景
现在每个人都生活在嵌入式产品的世界里,在手表、手机、照相机、汽车,甚至运动鞋里都有嵌入式系统的身影。
嵌入式系统小到一个芯片,大到一个标准的PC板,种类繁多,形式各异。
事实上,嵌入式设备在数量上远远超过了各种通用计算机。
PC的各种输入输出和外部设备均是由嵌入式处理器控制的,每台PC的外部设备中包含了5^J10个嵌入式微处理器,而一些高档汽车中则包含了30到50个甚至更多的嵌入式微处理器,在工业流水线控制、通讯、仪器仪表、船舶、航空航天、军事装备等领域更是嵌入式计算机的天下。
嵌入式系统的发展离不开通信和网络等技术的支持,嵌入式设备的联网成为必然趋势。
面向21世纪的嵌入式系统要求配备标准的一种或多种网络通信接口,如IEEE1394,USB,CAN,IrDA或Bluetooth,GPRS等无线网络接口,同时也需要提供相应的通信组网协议软件和物理层驱动软件,在这样的趋势下,嵌入式Internet(EmbeddedInternet)技术应运而生。
嵌入式Internet是指设备通过嵌入式模块而非PC接入Internet,以Internet为介质实现信息交互的技术。
例如,工业远程监测系统是利用Internet技术和总线控制技术实现远程数据采集、分析并实时监控设备运行,从而降低成本,提高效率;手持智能设备通过GPRS等无线接入方式和Internet相连,代替PC在Internet进行个人数据传输、处理和存储,如收发邮件,下载资料,即时聊天等;远程视频监控系统是利用Internet以及视频压缩等技术将实时视频数据传到监控中心,其应用范围极为广泛。
嵌入式Internet带来的不仅是传输方式的改变,更重要的是拓宽了传统设备信息交流的范围。
通过Internet,任何地点,任何时间,任何两个设备的信息交换都将成为可能,从而真正步入了“信息化”社会。
1.2无线视频监控应用开发意义
研究表明,人类通过视觉所获取的信息约占到其获取的总信息量的70%,视觉信息具有直观、可靠等一系列优越性。
近年来,随着计算机、网络及通信技术的迅猛发展,整个世界对网络视频方面的投入逐年加大,相关应用也越来越广泛,形成了具有巨大发展潜力的市场,日益受到人们的重视和关注。
视频监控系统的发展基本上是从早期的模拟闭路电视监控系统向数模结合的视频监控系统和现在的数字视频监控系统演变的过程。
其中,利用网络实现视频监控已成为一种趋势,传统的模拟视频监控技术正在逐步向数字化、网络化、智能化、无线化发展。
可以说,视频监控进入了全数字化的网络时代。
模拟视频监控系统中的信息流为模拟的视频信号,系统的网络结构主要是一种单功能、单向的信息采集网络,因此系统尽管已发展到很高的水平,己无太多潜力可挖,其局限性依然存在。
模拟监控系统的主要缺点有:
(1)通常只适合于小范围的区域监控。
模拟视频信号的传输工具主要是同轴电缆,而同轴电缆传输模拟视频信号的距离不大于1Km,双绞线的距离更短,这就决定了模拟监控只适合于单个大楼、小的居民区以及其它小范围的场所;
(2)系统的扩展能力差。
对于已经建好的系统,如要增加新的监控点,工程繁琐复杂,新的设备也很难添加到原有的系统之中;
(3)无法形成有效的报警联动,由于各部分独立运作,相互之间的控制协议很难互通,联动只能在有限的范围内进行。
数字视频监控系统将系统中信息流(包括视频、音频、控制等)从模拟状态转为数字状态,根本上改变视频监控系统从信息采集、数据处理、传输、系统控制等的方式和结构形式。
信息流的数字化、编码压缩、开放式的协议,使视频监控系统与安防系统中其它各子系统间实现无缝连接,并在统一的操作平台上实现管理和控制。
在国内外市场上,主要推出的是数字控制的模拟视频监控和数字网络视频监控两类产品。
前者技术发展已经非常成熟、性能稳定,并在实际工程应用中得到广泛应用;后者是新近崛起的以计算机技术及图像视频压缩为核心的新型视频监控系统,该系统解决了模拟系统部分弊端而迅速崛起,但仍需进一步完善和发展。
嵌入式方式的视频监控系统主要是以嵌入式视频服务器方式提供视频监控。
其具有布控区域广阔、几乎无限的无缝扩展能力、易于组成非常复杂的监控网络、性能稳定可靠等特点,必将成为今后视频监控领域的主流产品。
本文的工作就是开发一套基于ARM处理器和USB摄.像头的嵌入式无线网络视频监控系统。
本文所设计的嵌入式无线视频监控系统顺应视频监控系统的发展趋势,结合先进的视频压缩技术和网络传输协议,并将近几年来,逐渐成熟的无线通讯技术运用到视频监控中,具有一定的理论和实践价值。
需要指出的是,由于现在的GPRS网络稳定性和覆盖范围的局限,这里考察的这类无线监控系统还没有真正得到商业上的大规模应用。
但是,相信随着无线网络的建设,特别是第三代移动通信网络的建设和成熟,此系统在不远的将来一定会得到广泛的应用。
第二章嵌入式无线视频监控系统总体方案设计
嵌入式无线视频监控系统涉及通信技术和视频压缩技术等多方面要点,良好的总体方案设计是系统开发成功的关键,本章提出系统设计的总体方案,分别从硬件方案和软件方案两个方面介绍。
2.1总体框架设计
视频监控系统的一般过程是:
在一些重要的场所安放一个或若干个摄像机拍摄监控现场,然后将视频信号通过一定的传输介质传到指定的监控中心实时播放,或是再通过存储设备,将媒体存储到存储介质上,同时还可以根据不同需要和途径在现场安装其它的探测装置作为监控系统的辅助设备,如温湿度传感器、声音报警装置等。
根据视频监控系统的特点构建系统总体框架如下:
图2.1监控系统总体框架设计
整个无线视频监控系统由嵌入式微处理器系统和被控对象组成,嵌入式微处理器系统是整个系统的核心,由硬件层、中间层、软件层和功能层组成。
其中软件层完成监控系统的视频图像,音频数据的采集压缩,识别报警等功能,并为构建流媒体服务器实现网络通信协议;被控对象则是USB摄像头、GPRS无线网络连接模块,声音接收器和其他监测传感器等,它们接收嵌入式微处理器系统发出的控制命令,执行所规定的操作或任务。
2.2系统硬件构成
整个嵌入式无线视频监控系统主要由嵌入式微处理器、外围硬件设备、嵌入式操作系统以及应用软件等几部分组成。
嵌入式微处理器方面,RISC技术推动着计算机体系结构从封闭的CISC向开放的结构发展。
全球各大CPU芯片制造厂商争相开发生产RISC芯片,目前的典型结构为ARM系列、MIPS和SH}I}。
一般的嵌入式实时操作系统都支持上述R.ISC微处理器。
ARM公司是一家IP供应商,其核心业务是IP核以及相关工具的开发和设计。
ARM公司的IP核也由ARM7}ARM9发展到今天的ARM11版本。
一般而言计算机体系架构设计主要由以下几部分组成:
指令集设计,CPU核的设计,流水线技术,存储器层次结构设计,I/O系统设计。
RISC思想的提出从简化指令集的角度降低了微处理器的开发难度和成本,同时提高微处理器的并行度。
ARM微处理器特点:
体积小、低功耗、低成本、高性能;支持Thumb(16位)/ARM(32位)双指令集,能很好地兼容8/16位器件;大量使用寄存器,指令执行速度更快;大多数数据操作都在寄存器中完成;寻址方式灵活简单,执行效率高;指令长度固定。
ARM体系的设计是基于RISC思想的,其代码密度性能介于其他多数RISC微处理器和CISC微处理器之间。
后来引入的Thumb指令集则大大提高了代码密度。
ARM主要使用32位的RISC指令,但是指令代码利用率低,ARM为了弥补此不足,在新型ARM构架(V4T版本以上)定义了16位的Thumb指令集。
另外,为了加速通信和多媒体中有关数字信号的处理,ARM微处理器在RISC的基础上增加了DSP核中的关键部件,双核协同工作[’]。
由于ARM架构的微处理器主要用于嵌入式系统,因此ARM构架在设计中十分注意低电压、低功耗处理,设计中采用了以下一些措施:
降低电源电压;减少门的翻转次数,当某个功能电路不需要时,禁止门翻转;减少门的数目,即降低芯片的集成度;降低时钟频率。
ARM的低功耗,使得ARM在专门针对嵌入式系统的微处理器市场中始终处于有利的地位。
ARM还其他采用了一些特别的技术,在保证高性能的前提下尽量缩小芯片的面积。
目前广泛应用的ARM微处理器有ARM7系列、ARM9系列、ARM9E系列、ARM1QE系列、SecurCore系列和IntelStrongARM,Xscale系列。
鉴于ARM微处理器的众多技术和市场优势,本系统硬件设计中,选用了一款带有ARM处理器的嵌入式评估板,如图2.2所示。
该硬件平台采用IntelXscale结构的PXA255嵌入式微处理器。
硬件平台上的重要部件有晶振(时钟)电路,复位电路,键盘、LED等人机交互接口,JTAG接口电路,存储系统采用了64MB的nandFlash和32MB的SDRAM。
为方便接入LAN网络,设计了RTL8019网络芯片接口电路}s}。
本系统的GPRS应用设计采用的方式是将GPRS模块独立设计,与嵌入式硬件平台通过DART接口经电平转换后的RS232接口相连。
这种模块化的结构设计,可以降低硬件调试难度,同时也是基于硬件平台的可重用性考虑。
图2.2监控系统硬件结构图
2.3系统应用软件设计
系统的软件设计基于嵌入式Linux操作系统平台,系统软件结构模块如图2.3所示,整个系统根据功能分为4个独立的模块,各功能模块功能说明如下:
图2.3应用软件功能模块
(1)视频音频采集模块。
该模块用于完成对视频音频信号的采集,将USB摄像头和声音接收器采集到的信号以文件的形式保存或者放入缓冲区供其它模块使用。
(2)图像识别报警模块。
该模块对采集得到的图像信息做识别处理,发现异常时则以彩信或声音的形式报警。
(3)图像压缩模块。
该模块用于完成对图像数据的压缩处理,读取由视频采集模块产生的缓冲区数据,对其进行压缩处理后再以文件的形式保存或者将压缩数据放入缓冲区供其它模块使用。
(4)网络传输模块。
该模块用于完成对视频数据的网络传输,读取由缓冲区里的视频数据,并将其打成RTP包,然后将其做成流式文件格式,通过内置的流媒体服务器传输到网络上。
监控系统直接将数字视频信号采集编码,无需计算机的协助即可独立进行工作,并通过GPRS无线接入模块与Internet进行连接。
系统内置网络视频服务器,用户通过各类GPRS智能终端以及标准的流媒体播放程序就可以根据IP地址对视频采集设备进行访问,观看通过无线GPRS网络传输的实时图像。
同时监控系统具备智能图像识别功能,对定点场景的异常情况进行彩信,声音等形式的报警。
整个系统具有如下的特点:
(1)设备硬件核心采用基于Xscale系列的PXA255嵌入式芯片,系统软件使用嵌入式Linux系统,使得系统本身具有强大的处理功能,方便功能的扩展;
(2)视频采集采用具有USB接口的通用外置摄像头进行,使视频采集的通用性更好,软硬件设计容易,成本更低;
(3)软件部分采用模块化设计,各模块均可作为独立的子系统存在,增强的系统通用性、可升级性和可维护性;
(4)图像识别报警功能采用基于边缘检测的背景去除算法,对异常情况识别准确率高;
(5)采用先进MPEG-4视频压缩方式,适合无线网络传输的需要;
(6)联网方便,安装简易,充分利用GPRS永远在线等优点。
2.4本章小结
本章首先描述了嵌入式视频监控系统的总体设计框架,硬件开发平台的主要构成,并阐述了基于该硬件平台的依据和优势。
然后设计了基于嵌入式Linux操作系统的应用软件框架,并指出了系统具备的特点。
第三章嵌入式Linux操作系统及开发环境的建立
采用Linux的嵌入式系统设计者可以利用开源代码的易得性、POSIX兼容性、坚实的可靠性以及大量的应用程序,而且没有许可费用。
所有这些好处,再加上价格优势,使得Linux成为嵌入式操作系统的一个出色的解决方案。
3.1嵌入式Linux操作系统
嵌入式系统是以应用为中心,以计算机理论为基础,软件硬件可裁剪,适应系统对功能、可靠性、成本、体积、功耗严格要求的专用计算机系统[6]。
一般的嵌入式系统具有以下特征:
系统内核小;专用性强;系统可裁剪以及实时操作系统(RTOS)的需求。
嵌入式操作系统EOS(EmbeddedOperatingSystem)是一种支持嵌入式系统应用的操作系统软件,它是嵌入式系统(包括硬、软件系统)重要的组成部分,包括与硬件相关的底层驱动软件、系统内核、设备驱动接口、通信协议、图形界面、标准化浏览器等。
与通用操作系统相比较,嵌入式操作系统在系统实时高效性、硬件的相关依赖性、软件固态化以及应用的专用性等方面的特点。
目前广泛应用的EOS产品包括VxWorks,WinCE,VRTX,PaImOS,pSOS,Nucleus,Lynx,QNX等,这些RTOS都是商用的嵌入式操作系统,它们在系统可靠性和对用户的技术支持上都有优势。
但是缺点是价格昂贵,核心源代码不公开,可移植性差,难以实现嵌入式系统要以最小的软硬件系统,最低的成本去完成目标功能这一特点。
Linux系统与UNIX系统兼容,开放源代码。
它原本被设计为桌面系统,现在广泛应用于服务器领域。
而更大的影响在于它正逐渐的应用于嵌入式设备。
由于Linux使用GPL(GNUGeneralPublicLicense),所以任何对将Linux定制于PDA或者其他移动设备的人都可以从Internet上免费下载其内核和应用程序,并开始移植或开发。
许多Linux改良品种迎合了嵌入式/实时市场。
它们包括RTLinux(实时Linux),uClinux(用于非MMU设备的Linux),MontavistaLinux(用于ARM,MIPS,PPC的Linux分发版)、ARM-Linux(ARM上的Linux和其它Linux系统。
Linux用于嵌入式领域的优势具体表现如下:
(1)Linux内核精简,各部分的功能明确,可扩展性强,容易剪裁。
(2)免费,可以极大幅度地降低产品成本,在价格上面拥有优势,只要不违反GPL协议,就可以自由发布和使用软件。
(3)代码开放,可以免费获得,有利于后来者学习,缩短开发过程。
(4)Linux符合IEEEPOSIX编程标准,有非常好的可移植性和稳定的性能。
(5)支持TCP/IP协议,有强大的网络功能。
(6)丰富的开发工具和大量的文档。
Linux提供C}C+十,Java以及其他很多的开发工具,这些工具可以被免费地使用。
当然,嵌入式Linux也存在其不足之处。
在实时领域内,其实时性存在不足。
Linux是一个分时系统,虽然实现了软实时性,在很多的情况下还是无法满足满足实时的需求。
对于一些实时性要求强的环境需要改进。
对于具体的应用还需要开发具体的启动程序、设备驱动程序和上层应用程序。
这些程序是不具备通用性的,需要专门开发。
表3.1嵌入式Linux与商业RTOS比较
3.2交叉开发环境的建立
Linux软件开发以native方式进行的,即本机开发、调试,本机运行的方式。
这种方式通常不适合于嵌入式系统的软件开发,因为对于嵌入式系统的开发,没有足够的资源在本机运行开发工具和调试设备。
嵌入式系统的软件开发采用交叉编译调试的方式,如图3.1.
图3.1基于宿主机和目标板的交又开发环境
交叉编译调试环境建立在宿主机上,开发时使用宿主机上的交叉编译、汇编及连接工具形成可执行的二进制代码,然后把可执行文件下载到目标机上运行。
GNU所倡导的自由软件除了Linux操作系统外,GNU的软件还包括编译器(gcc,g+十)、二进制转换工具(objdump,objcopy)、调试工具(gdb,gdbserver,kgdb)和基于不同硬件平台的开发库。
3.2.1GNU开发工具集
交叉编译环境的建立最重要的就是要有一个交叉编译器。
本系统开发用到的编译器是~-linux-gcc,它是gcc的~改版。
编译器的生成依赖于相应的函数库。
配置一个gcc的交叉编译器一般包含如下几个步骤:
(1)取得binutils,gcc,glibc的源码;
(2)配置并编译binutils,得到下一步要用到的汇编器和连接器;
(3)配置并编译gcc源代码,生成gcc编译器;
(4)配置glibc编译生成glibc的C函数库;
(5)再次配置并编译gcc源代码,生成其它语言的编译器如:
c++等。
也可从网上直接下载相关的工具链(toolchain)oarm-linux-toolchain包括一系列的开发调试工具17]。
工具集如表3.2所示。
表3.2GNU工具集
其中主要组件包括:
(1)arm-linux-gcc:
ARM交叉编译器,可以以交叉编译的形式开发目标应用程序,即在宿主机上开发编译可在目标上运行的二进制文件。
arm-linux-gcc的使用方法同标准gcc基本一样,可以参考GUN的gcc文档。
(2)辅助工具。
包括~-linux-objdump(可以反编译二进制文件),arm-linux-as(汇
编编译器),arm-linux-ld(连接器)。
(3)arm-linux-gdb(交叉调试器),可使用多种交叉调试方式,gdb-bdm(背景调试工具),gdbserver(使用以太网络调试)oARM-Linux的打印终端通常情况下是串口,内核在启动时所有的信息都打印到串口终端(使用printf函数打印),同时也可以通过串口终端与系统交互。
3.2.2建立宿主机交叉开发环境
在进行应用程序开发之前,要在宿主机上建立和配置好开发应用程序所需要的开发环境。
(1)安装RedHatLinux9.0。
需要选择定制(custom)安装,并且在定制时选择NFS(网络文件系统)和dialupworkstation(拨号工作站);配置网络时,主机IP要与开发板的IP在同一子网内。
(2)安装工具链,即把toolchain压缩包解压到相应的目录下,默认的路径是/usr/local下,把~-linux工具链目录加入到环境变量PATH中,可实现~-linux-gcc编译器直接调用。
(3)安装ARM-Linux操作系统,即把ARM-Li~压缩包解压到相应目录下,采用下列命令安装kernel.tgz到根目录下。
tarzxvfkernel.tgz-C/
(4)配置NFS(NetworkFileSystem)。
配置NFS的目的是让目标板通过网络映像宿主机硬盘,从而使宿主机的硬盘成为目标板的一个虚拟硬盘,这时你宿主机硬盘上的文件映射为目标板上某一目录中的文件。
(5)配置minicom(minicom作为目标板的显示终端,以监控目标板上程序的运行)。
运行minicom-s进行配置,选择Serialportsetup项,设置如下参数:
SerialDevice:
/dev/ttySO
Bps/ParBits:
1152008N1
HardwareFlowControl:
no
SoftwareFlowControl:
no
3.3基于嵌入式Linux的上层软件开发模式
3.3.1应用程序的开发
本系统在软件模块开发时采用了以下两种嵌入式Linux应用程序开发模式:
1.先在宿主机(IntelCPU)上调试通过后,再移植到PXA255评估板上。
这种HOST方式下有gdb调试工具可用。
移植的工作要解决一个函数库的问题。
由于嵌入式Linux开发平台提供的工ibc库同标准的libc库有一些不同,在程序移植时可能会有函数未定义的问题。
对于这种问题,就需要编制这些要用到却又未定义的函数。
同时也需要改动Makefile以适应目标板。
2.利用NFS直接在目标板上开发
将宿主机和目标板通过串口相连,在宿主PC机上运行minicom作为目标板的显示终端,利用NFS在目标板端mount上宿主机硬盘,这样就可直接在目标板上调试宿主机硬盘中交叉编译好的应用程序。
下面给出这种直接开发模式下的开发流程:
(1)用串口和网线将宿主机和目标板连接起来。
要求宿主机安装了NFS
(2)在宿主机上编写应用程序,并进行交叉编译,生成可执行的文件。
交叉编译可以用命令行的方式,如果有多个源文件,则可以通过编写Makefile来进行编译;
(3)将编译好的文件放到开启NFS服务的目录下
(4)在宿主机上启动minicom作为目标板的仿真终端
(5)mount映射宿主机硬盘根目录/到板子的/mnt目录下,例如:
mount192.168.
0.2:
//mnt
(6)在minicom下即可运行映射目录下的可执行文件
调试信息通过串口打印在宿主机的minicom屏幕上或记录在syslog文件中,这样便可进行应用程序的调试。
假如程序运行不对,可方便切换到宿主机去编辑、编译,只要不重启开发板就不必再作任何操作,因为mount的宿主机硬盘上的应用程序会自动覆盖更新,再重新执行的就是更改后的新版本。
这样反复调试、更改、编译再调试,而不必反复烧写开发板,直至程序工作正常,再将最终定版的映象文件烧写到开发板上。
3.3.2应用程序的调试
直接在目标板上调试应用程序采用以下三种方法:
(1)打印串口。
这是嵌入式系统中最常用的调试手段,虽然简单但却有效实用。
其实几种方法相比之下,最有效便捷的方法还是printf,尤其配合mount进行应用程序的调试。
(2)使用log记录文件。
例如,使用syslog将应用程序运行过程中的中间信息全部v录在//var/log/syslog下。
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 嵌入式 gprs 远程 无线 视频 监控 系统 论文 学位