基于ARM的视频监控系统毕业设计说明书论文Word文档格式.docx
- 文档编号:20009021
- 上传时间:2023-01-15
- 格式:DOCX
- 页数:59
- 大小:752.26KB
基于ARM的视频监控系统毕业设计说明书论文Word文档格式.docx
《基于ARM的视频监控系统毕业设计说明书论文Word文档格式.docx》由会员分享,可在线阅读,更多相关《基于ARM的视频监控系统毕业设计说明书论文Word文档格式.docx(59页珍藏版)》请在冰豆网上搜索。
Paperfirstintroducesthearm-basedvideomonitoringtechnologyresearchstatusanddevelopmenttrend,andthenintroducesthemini2440developmentboard,discussesthedevelopmentplatformbasedonembeddedLinuxoperatingsystemtobuild,andhowtoARMembeddedLinuxonthehardwareplatformofthetransplantationofsomeopensourcelibraries.Thenfocusontheimageacquisition,codingandnetworkcommunicationprogramdesignprincipleandimplementation,finallyhascarriedonthesystem'
soverallfunctiontestandputsforwardsomedevelopmentideasandtheshortagesofthistopicandimprovement.
Keywords:
Linux,ARM,videomonitoring,socket,SDLlibrary
目 录
前言
视频监控系统的发展和现状
当今社会是信息与科技高速发展的时代,获得信息的方便可以使我们更好的创造出大的利益,而人们获取信息的最直接的就是通过眼睛。
在人们感官接受的各种各样的信息中约有79%是来自视觉。
图像是对客观事物形象和生动的描述,是最直观表达方式,是人们最重要的信息载体。
随着科学与技术的迅速发展和人民生活水平的提高,视频监控系统以其直观、方便和信息内容丰富等特点,越来越受到人们的青睐,并已广泛应用于各行各业。
视频监控系统发展至今只有短短二十多年时间,从最早模拟监控到前几年的数字监控再到现在的无人远程视频监控,发生了翻天覆地变化。
随着IP技术逐步统一的今天,我们开始重新认识视频监控系统的发展过程。
从技术角度来看,视频监控系统分为模拟性的视频监控系统(CCTV),数字性视频监控系统(DVR),完全基于IP技术的网络视频监控系统(IPVS)。
基于ARM的视频监控系统有如下的特点:
(1)可控区域范围广。
监控设备可以直接接入到网络,不受线缆长度的限制,同时网络是全球性的,布满所有角落,打破了传统地域的限制,扩展了可控区域。
(2)系统具有很强的扩展的能力。
用IP地址来标识设备,增加设备只是把IP地址进行扩充。
(3)可以组成布满全球的监控网络。
采用基于ARM的视频监控系统,与传统的监控方式有很大的不同,由于基于ARM的视频监控设备的输出完成了模拟到数字的转换,而且压缩了转换结果。
通过全球统一的网络协议在互联网上进行有效传输。
(4)该系统性能稳定性高,不需要专业人士管理。
基于ARM的视频监控设备实际上是以计算机技术为核心,采用linux多任务的操作系统,由于视频采集功能和数据处理功能都集成到一个体积很小的设备内,直接连入局域网或者广域网,即插即看,系统的稳定性和实时性,以及可靠性都得到大大的提高,也不需要专人管理,非常适合于不需要专人看守的环境。
所以,加强对基于ARM的视频监控系统的研究对我国视频监控行业的发展有着非凡的意义。
选题背景与意义
随着技术的不断创新和人们需求的不断发展,人们对视频监控系统的性能提出了更高的需求。
总的来说,主要体现在以下几个方面:
视频监控的全方位、视频监控的智能化、音频和视频压缩的高效率和高质量、本地存储和网络传输。
视频监控系统在时空布局上可以做到全时段、全方位、全天候;
在防范控制上能够做到直观动态、实时精准;
在信息管理上能够做到连网传输、信息共享和大量存储;
在实战应用上能够做到智能分析自动对比、自动报弊。
这些优势是传统的手段所不具备的,建立以视频监控系统为核心的技术防控体系,完善其运行和管理机制,将技防人防和物防等手段有机结合起来,将在最大程度上弥补人防、物防体系的不足。
为了满足这些要求,本系统设计的视频监控功能主要包括视频传输功能、图像采集功能这两部分,主要是通过视频采集的应用程序来实现的。
本文的研究内容和章节结构
针对视频监控系统中的关键性的技术进行分析,本文将重点研究以下的内容:
(1)嵌入式开发环境的搭建
在Linux操作系统下安装arm-linux-gcc的交叉编译器,可以编译出可在ARM开发板上运行的可执行文件,这样就可以在ARM微处理器上运行嵌入式操作系统上的程序,方便系统功能的进一步扩展和升级。
Linux操作系统是开源性的操作系统,自身拥有的TCP/IP协议有强大的网络功能,可以方便用户进行网络编程。
(2)SDL库的移植
SDL是一套自由的跨平台的多媒体开发包,使用C语言写成。
适用于游戏、游戏SDK、演示软件、模拟器、MPEG播放器和其他应用软件。
是为数不多的商业游戏开发公司使用的免费软件库之一。
它提供跨平台的二维帧缓冲区图形和音频服务,它支持Linux、Win32和BeOS。
也不同程度地支持其它平台。
SDL提供了数种控制图像、声音、输出入的函数,让开发者只要用相同或是相似的代码就可以开发出跨多个平台的应用软件。
(3)图像的采集读取
通过摄像头获取图片数据后,放入到缓冲区,可以通过直接读取(read)和内存映射(mmap)两种不同的方法来读取到图片帧的数据。
这里的图像采集可以依靠函数ioctl()来实现,主要的两个控制命令是VIDIOCAMCAPTURE(获取视频图像),VIDIOSYNC(判断是图像是否截取成功)等。
(4)视频数据的网络传输
嵌入式Linux操作系统具有非常完整的TCP/IP协议栈,因此,可以通过Socket编程建立一个基于TCP/IP的视频监控服务器,为视频数据的传输和网络数据信息的收发提供网络服务,远程的客户端可以通过接收视频数据来实施对现场的视频监控。
第一章嵌入式系统硬件说明
1.1视频监控系统结构说明
系统硬件结构框图如图1-1。
图1-1基于ARM的视频监控系统结构框图
系统主芯片采用ARM9处理器S3C2440,它是16/32位RISC嵌入式微处理器,主要面向高性能、低功耗、高集成度的手持设备的应用。
它内部硬件资源丰富,比如LCD控制器、Cache高速缓存、时钟和电源管理、5个定时器、4通道的DMA、9个UART、8通道10位AD转换电路、USB主/从接口及12S音频接口等。
Flash采用的是NORFlash,它有专门的控制接口与CPU相连,数据总线为8-bit,但这并不意味着读写数据会很慢。
本系统中启动代码、内核代码及根文件系统都存放于NANDFlash。
在Flash管理方面。
根文件系统采用最新的YAFFS文件系统.是一种可读写的文件系统。
因此,用户可以通过根文件系统来共享。
RAM是2片外接32M共64M的SDARM。
一般称之为内存,它们并接在一起形成32-bit的总线数据宽度,这样可以增加访问的速度。
这样可以快速的运行Linux系统以及其网络应用。
网络控制芯片则是用的Cirrus公司研发的控制器,通信速率可以达到10M/s.通过它就可以实现以太网的数据链路层和物理层。
由于该控制器的接口是ISA,那么与微处理器相连是轻而易举的。
该课题的摄像头则是采用ZC301型号的摄像头,ZC301是中星微电子设计的第一块PC摄像头微处理器,ZC301拥有无与伦比的功能。
该摄像头利用USB1.1的端口来与PC主机进行沟通,同时摄像头内建的图象处理功能非常强大,包括图像的信号处理功能(ISP),图像数据的压缩以及图像数据的传输等等功能。
ZC301是通过小巧的28-PINLQFP来封装的,甚至不需要外接DRAM来支持。
拥有强大的内置图象处理功能和JPEG译码功能是这款摄像头最出色的地方,只有这样才可以为用户拍摄出清晰的图像。
下面为几个主要部分的电路:
(1)USB部分的电路图如图1-2。
图1-2USB部分的电路图
(2)网络部分的电路图如图1-3。
图1-3网络部分的电路图
(3)电源部分的电路图如图1-4。
图1-4电源部分的电路图
(4)复位电路的电路图如图1-5。
图
图1-5复位电路的电路图
1.2ARM简介
ARM(AdvancedRISCMachines),既是一个公司的名字,也是对一类微处理器的通称,还可以是一种嵌入式技术的名字。
1991年ARM公司成立于英国剑桥,主要是出售芯片设计技术授权。
目前,采用ARM核的微处理器,即通常所说的ARM处理器,现在已遍及工业控制、消费类的电子产品、通信系统、网络系统、无线系统等各类产品市场,基于ARM技术的微处理器应用约占据了32位RISC微处理器75%以上的市场份额,ARM技术正在逐步进入到日常生活的方方面面。
ARM公司是专门从事基于RISC技术芯片设计开发的公司,作为知识产品供应商,ARM公司本身不从事芯片生产,而是转让他的设计许可权由合作公司生产各具特色的芯片,世界各大半导体生产商从ARM公司购买其设计的ARM微处理器核,然后根据各自不同的应用领域,加入适当的外围电路,从而形成自己的ARM微处理器芯片。
目前,全世界有几十家大的半导体公司都使用ARM公司的授权,因此既使得ARM技术获得更多的第三方工具、制造、软件的支持,又使整个系统成本降低,使产品更容易进入市场被消费者所接受,更具竞争力。
ARM公司设计了许多处理器,可以根据他们使用内核的不同划分为不同的系列。
系列划分是根据ARM7、ARM9、ARM10、ARM11内核的来定的。
后缀数字7、9、10、11表示不同的内核版本的设计。
数字升序说明性能、复杂度的提高。
ARM8开发出来以后很快就被取代了。
可见其更新速度多快。
在每个系列中,存储器管理、Cache以及TCM处理器扩展有各种不同的变化。
ARM继续在可用的产品系列做进一步研发。
本课题使用的是ARM9处理器,ARM9系列微处理器具有以下特点:
1)5级流水线;
2)体系结构为哈佛体系结构;
3)支持32位ARM指令集和16位Thumb指令集;
4)支持32位的AMBA总线接口;
5)全性能的MMU,支持WindowsCE、Linux、Palm、OS等多种主流嵌入式操作系统;
6)MPU支持实时操作系统;
7)支持数据Cache和指令Cache,具有更高的指令和数据处理能力。
ARM9系列的微处理器大部分是被用在无线方面的设备、家居安防系统、仪器和仪表、高性能的打印机、智能电话、数字照相机和数字摄像机等领域。
ARM9系列主要有ARM920T、ARM922T和ARM940T三种类型的微处理器,以适用于不同的场合。
1.3S3C2440简介
S3C2440是SAMSUNG生产的,是精简指令集,该处理器是目前市场上销量最高的处理器之一。
该处理器是一款用途非常广泛的芯片,其内部集成了微处理器和一些常用的外围设备,具有较高的性价比。
S3C2440的频率是400MHz,其ARM920T核组成部分是ARM9TDMI、存储管理单元(MMU)以及高速缓存。
其中,MMU是内存管理单元,独立的16KB地址和16KB数据组成告诉缓存。
ARM920T内部有两个协处理器:
CP14和CP15。
CP14的功能是用来调试和控制的,CP15的有2个功能,其一是用于存储系统的控制,其二是用来测试控制的。
S3C2440的片内资源非常丰富,主要包括:
1)内核的供电系数是1.2V,存储器的供电的电压是1.8V/2.5V/3.3V,外部I/O的供电电压为3.3V,拥有I-Cache和D-Cache/MMU微处理器;
2)LCD控制器;
3)外部存储控制器;
4)四通道的DMA,并拥有外部的请求引脚;
5)三通道的串口;
6)一通道IIS-BUS;
7)二通道SPI;
8)兼容SD主接口的协议以及MMC卡的协议;
9)四通道的定时器和一通道的内部定时器;
10)二个端口的USB主机/一个端口USB的设备;
11)八通道10比特ADC以及触摸屏的接口;
12)130个通用I/O口和24个外部中断源;
13)相机的接口;
14)具有PLL片上时钟发生器。
S3C2440的体系结构如下:
S3C2440处理器为移动终端设备以及嵌入式工业控制提供一些集成系统的解决方案,包括:
1)精简指令集的体系结构;
2)MMU用于支持各种不同的系统;
3)指令高速存储缓存器(I-Cache)和数据高速存储缓冲器(D-Cache);
4)采用ARM920T的CPU内核;
5)内部高级微控制总线(AMBA)的体系结构(AMBA2.0,AHB/APB);
6)支持高速总线模式与异步总线模式。
第二章嵌入式系统软件平台
2.1Linux操作系统简介
Linux是一种遵循POSIX标准(POSIX是一套由IEEE即电气和电子工程学会所制定的操作系统界面标准)的开放源代码的操作系统,与UNIX的风格非常相像,同时具有SystemV和BSD的扩展特性,但是Linux系统的核心代码已经全部重新编写。
它的版权所有者是芬兰人LinusTorvalds和一些自由软件开发者,遵循GPL规范(GNUGeneralPublicLicense)。
Linux的出现,打破了长久以来传统商业操作系统的技术垄断,为计算机技术的发展做出了巨大贡献。
2.1.1Linux系统的起源
说到Linux的历史,不得不先说一下Minix,它是一个由荷兰教授AndyTanenbaum编写的免费且开放源代码的微型UNIX操作系统,是Linux出现前最受欢迎的免费操作系统。
而Linux开发者——当时芬兰赫尔辛基大学的学生LinusTorvalds正是受了Minux系统的启发,希望能够编写出一个比Minix更好的操作系统。
因此,他在Minix的基础上开发出了0.0.1版本的Linux系统。
经过改良后于1991年10月5日完成了0.0.2版本的Linux。
[1]
Linux的出现,引起了来自世界各地用户的关注,越来越多的开发人员通过Internet加入了Linux的内核开发行列,而Linux也随着在Internet上的传播而得到了快速的发展。
1994年3月,在Linux社区的自由开发人员协同努力下,Linus完成并发布了具有里程碑意义的Linux1.0.0版本。
该版本的Linux已经是一个功能完备的操作系统,稳定高效而且只需要占用很少的硬件资源,即使在只有很低配置的80386机器上都能很好地运行。
2.1.2Linux内核版本
在Linux中,它的核心部分被称为“内核”,负责控制硬件设备、文件系统、进程调度及其他工作。
Linux内核一直都是由Linus领导下的开发小组负责开发和规范的,其第一个公开版本就是1991年10月5日由Linus发布的0.0.2版本。
两个月后,也就是在1991年12月,Linus发布了第一个可以不用依赖Minix就能使用的独立内核——0.11版本。
其后内核继续不断地发展和完善,陆续发行了0.12和0.95版本,并在1994年3月完成了具有里程碑意义的1.0.0版本内核。
从此,Linux内核的发展进入了新的篇章。
从1.0.0版本开始,Linux内核开始使用两种方式来标准其版本号,即测试版本和稳定版本。
其版本格式由主版本号.次版本号.修正版本号3部分组成。
其中,主版本号表示有重大的改动,次版本号表示有功能性的改动,修正版本号表示有BUG的改动,从次版本号可以区分内核是测试版本还是稳定版本。
如果次版本号是偶数,则表示是稳定版本,用户可以放心使用;
如果次版本号是奇数,则表示是测试版本,这些版本的内核通常被加入了一些新的功能,而这些功能可能是不稳定的。
例如,2.6.24是一个稳定版本,2.5.64则是一个测试版本。
2.1.3Linux的优势
1)免费传播
Linux操作系统的产生初衷就是要开发一款免费的操作系统来自由的传播,因而其自出现以来一直鼓励免费使用,任何人都可以免费从网上下载并修改源代码。
不同的版本的Linux互相兼容,而且相关的软件也可以免费获得。
2)高度的稳定性
Linux系统具有极高的稳定性,因而采用Linux的电脑越来越多,根据2008年的TOP500超级电脑列表,现时世界上最快速的超级电脑使用Linux作为其操作系统。
而在列表的500套系统里面,采用Linux为操作系统的,占了439组(即87.8%)。
许多独立的机构根据针对Linux的windows做了大量的测评,基本上所有的测试都显示Linux的性能要优于windows。
Linux继承了UNIX的优良特性,可以连续运行数年而无需重启,而且Linux基本不会被病毒感染。
系统的稳定性主要取决于系统设计的结构,Linux这种超强的免疫力归功于Linux具有科学稳定的架构。
Linux基本上不会崩溃,系统内没有像windows那样众多的漏洞。
着也归功于Linux的开源特性,一旦发现漏洞就会有人及时给与修复。
此外,Linux采取了许多安全技术措施,设置了不同的权限,为网络用户提供必要的安全保障。
3)Linux具有很高的性能
Linux能够在实现系统资源的低占有率和高性能运算。
Linux系统由内核和上层应用程序共同组成的,当Linux启动时,内核会调入内存的,然后会一直存放在里面直到断电重启。
内核是用来为操作系统的运行来合理分配资源的。
通常情况下,内核会被尽量设计的很小,在安装时,用户可以根据需要仅安装需要的一些应用程序,甚至我们可以仅仅安装内核。
4)Linux具有现代操作系统的多种特征
现在操作系统最重要的特点就是程序的并发执行和资源共享。
Linux作为一个多用户、多任务的操作系统,以进程为资源分配的基本单元进行资源的配置。
程序的并发执行是以资源共享为前提的,Linux提供多种方式来进行进程间通讯。
2.1.4Linux的发展前景
现在的工业已经在现实上形成了以微软和Intel组成的工业联盟的垄断,即WinTel。
Windows操作系统在全球已经得到了普遍的使用,其垄断地位无人能够撼动,但是这种局面严重影响了行业的发展,因此无数的软件开发者力图打破这种行业垄断。
毫无疑问,Linux是这些人梦寐以求的。
因为Linux是免费的、开源的,因此利用Linux研发的所有产品具有明显的价格优势,而在目前发展火热的嵌入式领域里,linux的这种优势是无人能及的。
由于嵌入式里对成本的限制,那么操作系统等一系列软件面临着更苛刻的要求,Linux的稳定性是嵌入式领域开发最为重要的一项指标。
由于微软的产品存在很大的安全隐患,其影响着人们和国家的信息安全。
为此,对Linux的研发也是对国家信息安全与利益的保护。
随着信息化的不断发展,网络成为人们生活最重要的一部分,而越来越嚣张的病毒、木马等问题严重影响了人们的日常生活,Linux强大的稳定性可以使我们免受这些问题的干扰。
总的来说,Linux会越来越受到开发者的热爱。
2.2开发环境的搭建
开发环境的搭建不仅要实现宿主机上的编译,还要能在宿主上实现交叉编译,能都生成一个可执行的二进制文件用于开发板上运行,所以开发环境能否合理搭建,直接影响到最后代码的编译结果。
2.2.1交叉编译器的安装
通常嵌入式系统的软件编译和执行是在不同的两个平台上进行的。
编译时在宿主机,执行是在目标机,即嵌入式平台上。
一般是在宿主机上通过跨平台交叉编译器把源文件编译成在开发平台上可以运行的目标文件,在通过串口,或者网络下载到目标平台上的存储介质里,然后通过目标平台来执行软件。
下面来介绍宿主机上的交叉编译器的安装。
1)下载arm-linux-gcc-4.3.2.tar到临时的目录下;
2)打开终端运行#tar-zxvfarm-linux-gcc-4.3.2.tar。
解压后文件会生成一个/usr/local文件夹,进入此文件夹将名字为arm的文件夹拷贝到/usr/local/arm下。
那么交叉编译的程序都集中在/usr/local/arm/4.3.2/b
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 基于 ARM 视频 监控 系统 毕业设计 说明书 论文