《嵌入式系统》课程设计题目基于ARM嵌入式远程视频监控系统姓名李小宝专业物联网工程学号201360026院(系)信息工程学院指导教师何建仓完成时间2016年12月16日目录摘要..................................................1前言..................................................21系统设计.............................................31.1视频监控系统的发展..............................31.2课题背景.......................................41.3论文主要内容和结构安排.........................52硬件设计.............................................62.1视屏监控系统的结构设计.........................62.2ARM处理器简介..................................62.3S3C6410体系结构................................73软件设计.............................................93.1Linux操作系统简介.............................93.2交叉编译环境的建立.............................93.3嵌入式Linux移植..............................103.4Linux平台下mjpg-streamer移植.................123.5交叉编译mjpeg-stream..........................134跟踪测试............................................144.1V4L2..........................................144.2应用程序通过V4L2进行视频采集的原理...........154.2.1视频采集的参数初始化.....................154.2.2申请并设置视频采集的帧缓冲区.............184.3用V4L2采集视频的程序流程和相关API............195设计总结............................................225.1TCP/IP协议简介................................225.2socket网络编程................................235.3图像传输的软件实现............................24结论................................................27参考文献..............................................28致谢................................................291摘要本文分析了一种基于ARM嵌入式技术的网络视频监控系统。系统以嵌入式Linux和嵌入式微处理器S3C6410为核心平台,通过嵌入式平台建立的基于TCP/IP协议的视频服务器,将usb摄像头采集来的图像数据压缩后,经过网络传输,完成对监控现场的网络视频监控任务。论文首先阐述了嵌入式网络视频的监控系统的发展状况,以及整体构建,然后介绍了嵌入式Linux操作系统以及ARM处理器的发展情况,分析了主要外围电路的设计,以及如何在ARM硬件平台上进行嵌入式Linux内核的编译与移植,介绍了Bootloader的启动原理及运行过程,并对在Linux操作系统下的USB驱动程序进行了研究。本文重点讨论了图像采集、编码和网络通信程序的设计原理与实现。最后以提供的例子进行了系统整体测试,并提出了进一步开发设想。本文的研究结果具有较大的工程实际意义,并对基于IP技术的各种视屏通信应用具有一定的参考价值。关键词:ARMS3C6410嵌入式Linux视频监控2前言当今社会是一个高速发展的社会,信息获取的方便快捷可以使我们领先一步并创造出巨大的利益,而我们或许信息的一个重要途径就是眼睛。在人的感官中有80%是来自是觉。图像时客观事物的形象、生动的描绘,是直观而具体的信息表达方式,是人类重要的信息载体。随着科学技术的快速发展和人民物质生活水平的提高,视频监控系统以其直观、方便和信息内容丰富的特点,日益受到人们的青睐,并在各行各业得到了广泛的应用。生活中有电梯监控,门禁,车库监控等等。电讯行业有基站监控,银行系统又柜员机监控,林业部门有火情监控,交通方面有违章监控和流量监控等。31系统设计1.1视频监控系统的发展自从摄像机和电视出现后,最初的模拟监控系统出现了。经过较长时间的发展和应用,已经非常成熟,性能也十分稳定,但由于系统中模拟图像信息为主,对图像的处理和传送都才采用模拟技术,不紧图像质量差,而且系统资源浪费严重,不易组成复杂的网络结构,主要是一种单功能、单向、集总方式的信息采集网络,监控功能可扩展性差。因此系统尽管已发展到很高的水平,已无潜力可以发掘,局限性大。随着计算机应用的普及,网络通信技术及图像压缩技术的快速发展,在视屏监控领域中,数字化和网络化成为一种趋势。上世纪末,基于pc的数字化网络视频监控技术迅速发展,部分取代了视频矩阵图像分割器、录像机为核心,辅助以其他设备的模拟视频监控系统。数字化的的视频通信在图像质量、传送距离、抗干扰能力等方面都要优越于传统的模拟通信系统,并且图像处理更加方便。因此,数字化网络视频监控系统将不然取代传统的模拟监控系统。但随着基于PC的视频监控系统的发展,在实际工程应用中也暴露出一些不足之处,主要是系统工作的实时性不高、稳定性差,而且成本较高;PC需要专门人管理,操作较为繁琐;兼容性差,采用的视频压缩对数据进行处理,因此系统一般只支持一种编码格式,无法提供其他编码方式的支持。进入21实际,嵌入式技术、多媒体图像处理技术的进一步发展,为嵌入式网络视频监控系统的繁重提供了技术条件。嵌入式系统是以应用为中心,软硬件可以裁减的,具有高可靠性,低4成本、严要求、综合性强的专用计算机系统,它主要有嵌入式微处理器、相关支撑硬件、嵌入式操作系统及应用软件系统等组成,集软硬件于一体,能够独立工作。嵌入式系统具有实时性好、稳定性高等特点,在网络视频监控中的刀快速发展。嵌入式网络视屏监控与其他监控系统又的比较有如下特点;(1)布控区域广阔。嵌入式视频监控也可以直接接入网络,没有线缆产度和信号衰减的闲置,同时网络是没有距离概念的,彻底抛弃了地域的限制,扩展了布控区域。(2)系统具有无限的无缝扩展能力。所有设备都可以用IP地址进行标示,增加设备只是意味着IP地址的扩充。(3)可组成非常复杂的监控网络。采用局域嵌入式视频监控设备为核心的监控系统,在组网方式上与传统的模拟监控和基于PC平台的监控方式有极大不同,犹豫嵌入式视频监控设备的输出以往车了模拟到数字的转换并压缩,采用同意的协议在网络上传输[5]。(4)性能更稳定,无需专人管理。嵌入式视频监控设备实际上基于嵌入式计算机技术,采用嵌入式多任务操作系统,又由于视频采集和数据处理功能都集中到一个体积很小的设备内,直接连入局域网或广域网,即插即看,系统的实时性、稳定性、可靠性大大提高,也无需专人管理,非常适合于无人值守的环境。因此加强对嵌入式网络视频监控系统的研究,对我国监控行业今后的发展有着重要的意义。1.2课题背景课题来源于电梯网络视屏监控系统,电梯网络视频监控系统由位于控制柜中的服务器、客户端组成,实现一个具有视频采集5压缩及传输功能的可以直接接入以太网的网络摄像机基本过程是:电梯发生故障时,由并通过以太网传送给客户端,维护人员可以通过监控客户端来实现电梯内的监控。1.3论文主要内容和结构安排针对监控系统中的关键技术进行分析,本文将重要研究一下内容(1)嵌入式操作系统的实现在ARM微处理器上运行嵌入式操作系统,可以为上层软件的开发提供统一的接口,方便系统功能的进一步扩展升级。(2)图像信号的采集与压缩通过伸向头采集视频数据后,再进行视频图像压缩。选用合适的视频图像压缩方式对远程监控的效果有很大的影响。MJPEG容易实现,成本较低。(1)视频数据的网络传输嵌入式Linux系统具有完整的TCP'/IP协议,因此,可以采用socket编程建立一个基于TCP/IP的嵌入式视频服务器。全文结构安排如下:第一章:综合论述了视频监控系统的现状和发展情况。第二章:提出了本系统的整体结构,介绍了S3C6410的体系结构。第三章:研究嵌入式Linux在ARM上的裁减和移植。第四章:简单介绍了基于V4L的视频采集程序以及图像压缩理论第五章:视屏传输的实现。介绍了建立连接的相关内容并对本系统连接测试。6第六章:对本文的工作进行总结,并提出展望。2硬件设计2.1视屏监控系统的结构设计基于嵌入式技术的监控系统前端采用摄像头采集视频流,然后通过网络传输到接受者。整体结构如图2.1.1所示。图2.1.1嵌入式视频结构框图该系统采用基于ARM11的S3C6410X微处理器,通过在处理器上运行Linux操作系统,构建嵌入式服务器,接受来自摄像头的视频流,再进行压缩编码,再传送实现监控。2.2ARM处理器简介ARM(AdvancedRISCMachines),既可以认为是一个公司的名字,也可以认为是对微处理器的通称,还可以认为是一种技术的名字。ARM处理器是一个32位元精简指令集(RISC)处理器架构,其广泛地使用在许多嵌入式系统设计。ARM处理器具有以下特点:1、体积小、低功耗、低成本、高性能;72、支持Thumb(16位)/ARM(32位)双指令集,兼容性好。3、大量使用寄存器,指令执行速度更快;4、大多数数据操作都在寄存器中完成;5、寻址方式灵活简单,执行效率高;2.3S3C6410体系结构S3C64xx系列的应用处理器芯片是三星主推的,三星目前推出了S3C6400和S3C6410,都是基于ARM11架构的,而且硬件管脚兼容,应该说大致的功能基本相同,比较明显的区别就是S3C6410带有2D/3D硬件加速。S3C6410是一个强大的应用处理器,该芯片架构如图2.3.1:8图2.3.1S3C6410内部体系结构93软件设计3.1Linux操作系统简介Linux是一种自由和开放源码的类Unix操作系统。目前存在着许多不同的Linux,但它们都使用了Linux内核。Linux可安装在各种计算机硬件设备中,从手机、平板电脑、路由器和视频游戏控制台,到台式计算机、大型机和超级计算机。Linux是一个领先的操作系统,世界上运算最快的10台超级计算机运行的都是Linux操作系统。严格来讲,Linux这个词本身只表示Linux内核,但实际上人们已经习惯了用Linux来形容整个基于Linux内核,并且使用GNU工程各种工具和数据库的操作系统。Linux得名于计算机业余爱好者LinusTorvalds。Linux可以运行在多种硬件平台上,如具有x86、680x0、SPARC、Alpha等处理器的平台。此外Linux还是一种嵌入式操作系统,可以运行在掌上电脑、机顶盒或游戏机上。2001年1月份发布的Linux2.4版内核已经能够完全支持Intel64位芯片架构。同时Linux也支持多处理器技术。多个处理器同时工作,使系统性能大大提高。ARM技术和Linux成功的结合充分满足了各类应用对嵌入式平台高性能、低功耗和低价格的要求,通过开发环境、开源社区和ARM的商业伙伴的有时为嵌入式开发停工了灵活的选择。3.2交叉编译环境的建立通常嵌入式系统的软件