已阅读5页,还剩55页未读, 继续免费阅读
(交通信息工程及控制专业论文)基于80211b标准的嵌入式视频监控系统的设计.pdf.pdf 免费下载
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
南京航空航天大学硕士学位论文 i 摘 要 目前的视频监控系统仍以数字控制的模拟监控为主, 而随着多媒体技术的提高和 网络通讯的发展,嵌入式视频监控系统的需求大增。嵌入式视频监控系统对于提高监 控系统的数字化、网络化、减少成本等方面具有积极的意义。同时,无线局域网技术 在笔记本、pc机获得了广泛的应用,众多需要监控的场合都提供了无线接入点,带 有无线网络通信功能的监控设备已经成为一种必然趋势。 本论文提出了基于802.11b标准的嵌入式视频监控系统解决方案,以arm芯片 s3c2410x为核心,通过前向单元采集视频信号并送至处理器进行处理,处理后的视 频信号通过802.11b网卡进行数据的发送。最后在arm上实现了嵌入式web服务器, 使得客户端可以通过浏览器进行视频监控。 在系统设计和开发过程中, 研究了摄像头和网卡在linux上的驱动, 并通过移植 嵌入式web服务器和编写java程序,实现了网络的远程访问,完成了视频的监控。 论文中重点讨论了无线网络速率的特点所带来的一些需要解决的关键问题, 给出 了具体的解决方法,包括双帧采集、采用环形缓冲区、采用动态帧显示速率等,最终 消除了图像的闪烁。 最后论述了系统的设计开发工作,包括系统软硬件设计、开发调试环境,以实验 的结果验证和分析了基于802.11b标准的嵌入式视频监控系统的实用性。 关键词关键词:arm,嵌入式linux,web服务器,802.11b网卡,视频监控 基于 802.11b 标准的嵌入式视频监控系统的设计 ii abstract at present,most of video surveillance systems transmit analogue signal.along with the development of techniques of multimedia and network,there are huge demand of embedded surveillance system,which is which is developing rapidly.it brings surveillance system many benefits,including digital and network surveillance.besides,wlan is popular in book-computer,pc and public place.so its the trend that surveillance system have the function of wlan. concerned of the metioned,this paper introduce a embedded surveillance system based on 802.11b.the hardware structure,software design and the development of the driver under linux system are presented.the cpu s3c2410x captures the video signal, then processes them.usb wireless nic is used to transfer the processed video signal through wlan.finally,a embedded web server is realized on the arm.it makecustomer can view video through explorer. in the course of design of the system,drivers of camera and 802.11b nic on linux are researched,besides,embedded web server and java program make user access video through internet. this dissertation is focused on the application of wireless network.this paper takes measures to avoid the flicker of pictures,such as grabing two frames once,storing in round buffer,painting with dynamic frequency. finally, this dissertation introduced the course of system design.the flowchart of system design and instruction of development environment is given.and performance analysis are presented by experiment. keywords: arm, embedded linux, web server, 802.11b nic, video surveillance 承诺书 本人郑重声明:所呈交的学位论文,是本人在导师指导下,独立进 行研究工作所取得的成果。尽我所知,除文中已经注明引用的内容外, 本学位论文的研究成果不包含任何他人享有著作权的内容。对本论文所 涉及的研究工作做出贡献的其他个人和集体,均已在文中以明确方式标 明。 本人授权南京航空航天大学可以有权保留送交论文的复印件,允许 论文被查阅和借阅,可以将学位论文的全部或部分内容编入有关数据库 进行检索,可以采用影印、缩印或其他复制手段保存论文。 (保密的学位论文在解密后适用本承诺书) 作者签名: 日 期: 南京航空航天大学硕士学位论文 1 第一章 绪论 无线局域网视频监控系统(wvss)是安全防范系统的重要组成部分,是 目前监控系统的必要补充。视频监控以其直观、准确、及时和信息内容丰富而 广泛应用于公共场所安防监控、城市交通监控、应急指挥调度等领域。由于市 场需求和 ccsatc1 等机构的努力,视频监控系统已经逐渐从行业应用发展到 公众应用, 并陆续制定了以建设基于 ip 网络的监控系统为目标的一系列标准1。 1.1 无线局域网视频监控系统的研制意义 到目前为止,视频监控系统经历了三代的发展。第一代是传统闭路电视监 控系统(cctv) ,由摄像机加录像机构成,尽管目前一些用户仍然在使用,但 结构和技术已经落后;第二代是半数字式监控系统,使用数字硬盘录像机,技 术有了一定进步,但它仍然无法实现远距离的监控,而且成本过高2;第三代 视频监控系统以网络为依托,以数字视频的压缩、传输、存储和播放为核心, 把图像处理在监控点处完成,利用无处不在的互联网和局域网,实现了全过程 数字化,引发了视频监控行业的一次技术革命。 在第三代视频监控系统中,监控点数据的传输媒介有有线网络和无线网络 两种,很大程度上是通过有线网络将数据传输出去。当前有线接入技术主要有 高速数字环路(xdsl)、光纤接入方式、双向混合光纤/同轴电缆等,但这些技术 在一些边远地区或应急现场以及现场有线网络遭到破坏等场合,则面临着部署 困难、施工周期长或过于昂贵等诸多困难。而视频监控又是必需的,所以这时 利用无线网络进行数据的传输就显得十分必要。 同时与有线网络视频监控系统相比, 无线网络视频监控系统具有如下优势: ? 安装便捷、维护方便 避免或减少了网络布线的工作量,又不破坏原有环境设施。 ? 使用灵活、移动简单 无线网络建成后,在无线信号覆盖区域内的任一个位置架设无线终端 站,就可以实现网络接入,具有很高的灵活性。 ? 经济节约、性价比高 采用点对多点无线通信方式,一般只需要安装一个或多个无线中心站 设备,就可建立覆盖整个城市区域的宽带无线接入网络系统。 基于 802.11b 标准的嵌入式视频监控系统的设计 2 ? 易于扩展、大小自如 当需要增加业务点时,无需进行大面积的网络改造,只要增加或减少 被监控点的无线设备。 综上所述,作为视频监控系统的重要组成部分,无线网络视频监控系统研 究和开发的意义是毋庸置疑的,对于安全防范系统的完善和信息化的建设都有 很强的现实意义。 1.2 无线局域网视频监控系统的现状 网络视频监控又称为 ip 监控,从 2004 年开始这个市场就在高速成长。研 究发现,2006 年中国网络视频监控市场规模达到 18.24 亿元人民币,预计 2011 年市场规模将达到 86.61 亿元人民币,网络视频监控市场的高速成长给相关设 备厂商带来了巨大的商机3。 其网络的接入方式有 lan、 adsl、 pstn、 isdn、 xdsl 等有线方式和 wlan、cdma、gprs、卫星通信等无线方式。无线方式 是新近崛起的新型视频监控系统,该系统解决了一些特殊应用背景下的难题而 迅速崛起,但仍需进一步发展和完善。 在目前无线接入方式中,大体有如下几种:cdma1x、gprs、wi-fi 无线 局域网、蓝牙、红外线、homerf。其中 wi-fi 是基于 ieee802.11x 标准的技术, 目前,wi-fi 主要包括 ieee802.11b、802.11a 和 802.11g。通常情况下,在一般 典型的居家或办公室里, wi-fi 网络的传输距离大约为 25 到 50 米。 在户外开放 的环境里,wi-fi 网络的传输距离也有 300 米左右。由于 wi-fi 网络的特点是带 宽较高但通信范围较小,价格便宜,因此,它主要用于小范围的无线通讯。几 种无线接入标准的比较如表 1.1 所示456。 表 1.1 几种无线接入标准比较 技术 最高速 率(mb/s) 距离(m)功耗 (mw) 发射频带 (ghz) 调制方式 802.11a 54 n*10040-8005 ofdm 802.11b 11 n*100200 2.4 cck、pbcc 802.11g 54 n*10065 2.4 ofdm、pbcc-22、cck、 cck-ofdm 802.15.1(bluetooth) 1 10 100 2.4 fhss homerf 11 100 125 2.4 fhss irda 4 1-2 100 红外 频段 主要是 ppm 南京航空航天大学硕士学位论文 3 如今,wi-fi 网络迅速向人群聚集的地点或楼宇内发展,像咖啡店、酒店、 机场候机大厅、 写字楼等。 同时无线 mesh 网络会对 wi-fi 在增加传输距离和移 动性,扩展 wi-fi 应用上提供很大帮助。所以基于 wi-fi 的视频监控系统获得 了很多厂商的关注。 从实际应用角度考虑,wi-fi 无线局域网在传输速率高、部署容易、应用规 模大、经济性好、局部最优等指标上也比其他无线方式都占据优势,同时还具 有易扩展、易管理、易维护、保密性强、抗干扰等特点。 在 wi-fi 产品中,基于 ieee802.11b 标准的产品应用的最广,所以就以基 于 802.11b 的网络视频监控系统为研究对象,同时提出的一些方法和措施也适 用于 wi-fi 的其他产品。 1.3 无线局域网视频监控系统的发展 无线局域网视频监控系统的发展方向可以归纳为如下三种: 1、视频信号得到更好的处理,扩大应用范围 随着各种算法的提出和改进,逐步发展 ip 电话、ip 可视电话、远程医疗监 护系统等领域的应用。 2、与有线网络视频监控系统进行无缝连接,系统的集成化和一体化特征更 强 在未来的安防监控市场中,其技术焦点越来越多地集中于网络集成一体化 方案。无线局域网视频监控系统将发展成为以视频图像监控为中心的,集各种 安全防范系统之大成的综合安防系统,智能小区的数字化安防系统,与 ca、 ba、oa、fa、ma 等子系统兼容,包括电视监控、门禁、 “一卡通” 、访客对 讲、报警等。把整个小区的相关子系统集成在一套高速网络通信平台上,每个 自动化系统都能共享一个数据库,并且能够相互交换信息。 3、功能将更加丰富,系统的架构更加科学化和人性化 新一代“中心管理软件系统”将在今后网络监控系统的管理方面大显身手, 它通过多层次电子地图为手段,非常直观、形象地利用电子地图导航或巡航来 查看前端所有设备的工作状态,包括监看前端现场图像,获取前端各种报警探 测信息,感知现场其它环境因素,如温度、湿度等等7。 1.4 本文的研究目标 首先对无线局域网视频监控系统的发展进行了简要的阐述,在此基础上开 基于 802.11b 标准的嵌入式视频监控系统的设计 4 发了一套基于 ieee802.11b 标准的嵌入式视频监控系统,研究了摄像头和网卡 在 linux 上的驱动,并通过移植嵌入式 web 服务器和编写 java 程序,实现网 络的远程访问。 对无线网络速率的特点所带来的一些需要解决的关键问题进行了重点讨 论,并给出具体的解决方法,最后通过实验在视频服务器上完成视频图像的采 集,并通过 802.11b 网卡传输图像到客户端浏览器,供客户端监控。 1.5 主要内容及章节安排 各章节的内容安排如下: 第一章 针对研究无线局域网视频监控系统的必要性,简要介绍了课题的研 究背景和发展现状,从而引出研究目标和内容安排。 第二章 介绍硬件系统的主体构成, 分析了系统各部分的功能和硬件选型等。 接着,介绍了嵌入式系统的基本概念,对主流的嵌入式硬件平台及 嵌入式操作系统进行了分析,并对服务器的操作系统、开发环境、 软件结构也作了说明。 第三章 介绍了 linux 下视频采集模块方案的设计,主要说明了系统如何对 usb 设备进行驱动和对摄像头进行支持。接着对模块开发的核心基 础知识 linux 下视频设备编程作了概述,接着对 linux 的内核模块 video4linux 作了分析, 对它支持的一些重要数据结构和宏定义作了 介绍,并实现了双帧采集。最后说明了采集程序的流程。 第四章 介绍了 802.11b 网卡的工作原理,并详细描述了 linux 对 wlan 设 备的驱动实现。重点分析了网络质量差时视频采集与视频发送速率 不匹配的问题,并提出了行之有效的解决方法。 第五章 描述了在 linux 下 web 服务器的实现, 同时还介绍了 html 和 java 程序的实现,对通信的流程进行了详细的描述。并搭建系统实验环 境,对开发过程中出现的一系列问题,进行详细的分析和改进。 第六章 对主要内容进行总结,指出了研究工作中有待改进的地方。 南京航空航天大学硕士学位论文 5 第二章 无线局域网视频监控系统总体设计 系统属于嵌入式系统,而嵌入式系统作为一类特殊的系统,一般包括以下 3 个方面:硬件平台、嵌入式操作系统和应用软件。它们之间的关系如图 2.1 所示。 硬件平台 嵌入式操作系统 嵌 入 式 系 统 应用软件 图 2.1 嵌入式体系结构 下面按照嵌入式系统的体系结构分三层进行系统平台的介绍,由下到上分 别是硬件系统、操作系统和应用软件。 2.1 wvss 硬件系统的需求分析 硬件系统主要组成部分包括 arm 最小系统及其外围电路、摄像头以及 802.11b 网卡。 硬件系统结构图如图 2.2 所示。 arm 最小系统 flashsdram 摄像头 802.11b 网卡 网络rs232jtag pc宿主机 图 2.2 系统硬件结构图 基于 802.11b 标准的嵌入式视频监控系统的设计 6 各模块说明如下。 1) 摄像头 功能是从监控现场采集图像数据,并传输给处理器处理。 linux 下的摄像头的选用主要有两类8:一类是基于 linux 内核自带驱动 (如采用 ov511 芯片的摄像头) ;另一类是通过编译开源驱动源码,加载驱动模 块(如采用中星微公司 zc301 芯片的摄像头) 。而决定一个摄像头好坏的最重要 的因素之一就是摄像头的数字信号处理芯片。目前市场上绝大多数摄像头用的 是中星微的数字处理芯片,它与各图像传感器兼容性良好,此外它在自动曝光、 增益、白平衡、色彩、噪点控制、伽玛校正以及动态缩放边缘抗锯齿算法方面 都有其独到之处,图像转换速度也非常快,保证了摄像头画面的流畅度9。考 虑到通用性,系统选用 zc301 芯片的摄像头,考虑到系统的可扩展性和实验的 便利,采用了 usb 接口。 2) 802.11b 网卡 功能是提供视频服务器与客户端的通信接口。 系统选用 accton 公司的 ew3301 无线网卡10,支持协议 ieee802.11b,传 输速率 11,5.5,2,1mbps,接口为 usb,工作频段 2.4-2.4835ghz,覆盖范围是 室内最远 100 米,室外最远 300 米(因环境而异)。该网卡采用带有 arm 核的无 线局域网 mac 层控制器,射频模块采用 intersil 公司的 i3861 ieee802.11b 基 带控制器。 3) 程序存储器为 1mb amd flash rom,64m samsung nand flash rom。 4) 数据存储器为 2 个 32m sdram。 5) arm 芯片 arm 的成功,一方面得益于它独特的公司动作模式,另一方面,当然来自 于 arm 处理器自身的优良性能。下面列举了 arm 处理器的特点。 ? 体积小、低功耗、低成本、高性能。 ? 支持thumb(16位)/arm(32位)双指令集, 能很好的兼容8位/16位器件。 ? 大量使用寄存器,指令执行速度更快。 ? 大多数数据操作都在寄存器中完成。 ? 寻址方式灵活简单,执行效率高。 ? 指令长度固定。 arm 微处理器的工作状态一般有:arm 状态,thumb 状态两种11,并可 在两种状态间切换。 arm 体系结构的存储格式有:大端格式,小端格式两种。 arm 微处理器支持 7 种运行模式12,分别为:用户模式(usr)、快速中断模 南京航空航天大学硕士学位论文 7 式(fiq)、外部中断模式(irq),管理模式(svc)、数据访问终止模式(abt)、系统模式 (sys)。 新一代的 arm9 处理器,通过全新的设计,能够达到两倍以上于 arm7 处理器的处理能力。下面列举了它的主要特点。 ? 5 级流水线。 ? 采用哈佛结构。 ? 高速缓存和写缓存的引入。 ? 支持 mmu(内存管理)。 系统的中央处理器是三星公司的 s3c2410x。s3c2410x 是使用 arm920t 核、采用 0.18um 工艺 cmos 标准宏单元和存储编译器开发而成的,由于采用 了由 arm 公司设计的 16/32 位 arm920trisc 处理器, 因此 s3c2410x 实现了 mmu 和独立的 16kb 指令和 16kb 数据哈佛结构的缓存,且每个缓存均为 8 个字长度的流水线。它的低功耗、精简而出色的全静态设计适用于对成本和功 耗敏感的领域。s3c2410x 提供全面的、通用的片上外设,大大降低系统的成 本,下面列举了 s3c2410x 的主要片上功能13。 ? 1.8v arm920t 内核供电,1.8v/2.5v/3.3v 存储器供电。 ? 16kb 指令和 16kb 数据缓存的 mmu 内存管理单元。 ? 外部存储器控制(sdram 控制和芯片选择逻辑) 。 ? 提供 lcd 控制器(最大支持 4k 色的 stn 或 256k 色 tft 的 lcd) 。 ? 提供 3 通道 uart/2 通道 spi 接口。 ? 提供 1 个通道多主 iic 总线控制器/1 通道 iis 总线控制器。 ? 兼容 sd 主机接口 1.0 版及 mmc 卡协议 2.11 版。 ? 提供 2 个主机接口的 usb 口/1 个设备 usb 口(1.1 版本)。 ? 4 通道 pwm 定时器/1 通道内部计时器。 ? 提供看门狗定时器。 ? 提供 117 个通用 i/o 口/24 通道外部中断源。 ? 提供电源控制不同模式:正常、慢速、空闲及电源关闭模式。 ? 提供带触摸屏接口的 8 通道 10 位 adc。 ? 提供带日历功能的实时时钟控制器(rtc)。 ? 具有 pll 的片上时钟发生器。 2.2 wvss 软件系统的分析 wvss 的工作性能跟操作系统的选择有很大关系,嵌入式操作系统负责嵌 基于 802.11b 标准的嵌入式视频监控系统的设计 8 入式系统的全部软、硬件资源的分配、调度工作,控制协调并发活动,所以选 择一个合适的操作系统对于后起的开发显得尤为重要。目前,已推出一些应用 比较成功的产品系列。 随着 internet 技术的发展、 信息家电的普及应用及嵌入式 操作系统的微型化和专业化,它开始从单一功能向专业化功能方向发展。嵌入 式操作系统在系统实时高效性、硬件的相关依赖性、软件固态化以及应用的专 用性等方面具有较为突出的特点14。嵌入式是相对于一般操作系统而言的,它 除具备了一般操作系统最基本的功能,如任务调度、同步机制、中断处理、文 件功能等外,还有以下特点: ? 可装卸性。具有开放性、可伸缩性的体系结构。 ? 强实时性。嵌入式操作系统实时性一般较强,可用于各种设备控制当中。 ? 统一的接口。提供各种设备驱动接口。 ? 操作方便、简单、提供友好的 gui 图形界面,易学易用。 ? 提供强大的网络功能。支持 tcp/ip 协议及其它协议,提供各种协议支持及 统一的 mac 访问层接口,为各种移动计算设备预留接口。 ? 强稳定性,弱交互性。嵌入式系统一旦开始运行就不需要用户过多的干预, 这就要求负责系统管理的嵌入式操作系统具有较强的稳定性。嵌入式操作 系统的用户接口一般不提供操作命令,它通过系统调用命令向用户程序提 供服务。 ? 固化代码。嵌入式操作系统和应用软件被固化在嵌入式系统计算机的 rom 中。辅助存储器在嵌入式系统中很少使用,因此,嵌入式操作系统的文件 管理功能应该能够很容易地拆卸。 ? 更好的硬件适应性,也就是良好的移植性。 2.2.1 嵌入式操作系统的比较 国际上的嵌入式操作系统有 40 种左右。现在市场上非常流行的产品,包括 windriver 公司的 vxworks,microsoft 公司的 windows ce 等。而系统选用的 操作系统是 linux 系统,其优良的可裁减性能非常适合作嵌入式应用。 以下是几种代表性嵌入式操作系统的比较。 1) vxworks vxworks操作系统是美国windriver公司于1983年设计开发的一种嵌入式 实时操作系统(rtos) ,是 tornado 嵌入式开发环境的关键组成部分。良好的 持续发展能力、高性能的内核以及友好的用户开发环境,在嵌入式实时操作系 统领域逐渐占据一席之地。 vxworks 具有可裁剪微内核结构、高效的任务管理、灵活的任务间通讯、 南京航空航天大学硕士学位论文 9 微秒级的中断处理、支持 posix 1003.1b 实时扩展标准、支持多种物理介质及 标准完整的 tcp/ip 网络协议15等优点。 然而其价格昂贵。由于操作系统本身以及开发环境都是专有的,价格一般 都比较高,通常需花费 10 万元人民币以上才能建起一个可用的开发环境,对每 一个应用还要另外收取版税。一般不提供源代码,只提供二进制代码。由于它 们都是专用操作系统,需要专门的技术人员掌握开发技术和维护,所以软件的 开发和维护成本 都非常高。支持的硬件数量也有限。 2) windows ce windows ce 与 windows 系列有较好的兼容性,无疑是 windows ce 推广 的一大优势。其中 wince3.0 是一种针对小容量、移动式、智能化、32 位的模 块化实时嵌入式操作系统。为建立针对掌上设备、无线设备的动态应用程序和 服务提供了一种功能丰富的操作系统平台, 它能在多种处理器体系结构上运行, 并且通常适用于那些对内存占用空间具有一定限制的设备。它是从整体上为有 限资源的平台设计的多线程、完整优先权、多任务的操作系统。它的模块化设 计允许它对从掌上电脑到专用的工业控制器的用户电子设备进行定制。操作系 统的基本内核需要至少 200kb 的 rom。由于嵌入式产品的体积、成本等方面 有较严格的要求,所以处理器部分占用空间应尽可能的小。系统的可用内存和 外存数量也要受限制,而嵌入式操作系统就运行在有限的内存(一般在 rom 或快闪存储器)中,因此就对操作系统的规模、效率等提出了较高的要求。 从技术角度上讲, windows ce 作为嵌入式操作系统有很多的缺陷: 没有开 放源代码,使应用开发人员很难实现产品的定制;在效率、功耗方面的表现并 不出色,而且和 windows 一样占用过多的系统内存;版权许可费也是不得不考 虑的因素。 3) c/os c/os是著名的源代码公开的实时内核,是专为嵌入式应用设计的, 可用于 8 位,16 位和 32 位单片机或数字信号处理器。它是在原版本 c/os 的 基础上做了重大改进与升级,并有了近十年的使用实践,有许多成功应用该实 时内核的实例。它的主要特点如下: ? 公开源代码。很容易就能把操作系统移植到各个不同的硬件平台上。 ? 可移植性。绝大部分源代码是用 c 语言写的,便于移植到其他微处理器上。 ? 可固化。 ? 可裁剪性。有选择的使用需要的系统服务,以减少所需的存储空间。 ? 占先式。完全是占先式的实时内核,即总是运行就绪条件下优先级最高的 任务。 基于 802.11b 标准的嵌入式视频监控系统的设计 10 ? 多任务。可管理 64 个任务,任务的优先级必须是不同的,不支持时间片轮 转调度法。 ? 可确定性。函数调用与服务的执行时间具有其可确定性,不依赖于任务的 多少。 ? 实用性和可靠性。成功应用该实时内核的实例,是其实用性和可靠性的最 好证据。 由于 c/os仅是一个实时内核,这就意味着它不像其他系统那样,提 供给用户的只是一些 api 函数接口,还有很多工作需要用户自己去完成。 4) palm os palm 是 3com 公司的产品,其操作系统为 palm os。palm os 是一种 32 位 的嵌入式操作系统。palm 提供了串行通信接口和红外线传输接口,利用它可以 方便地与其它外部设备通信、传输数据;拥有开放的 os 应用程序接口,开发 商可根据需要自行开发所需的应用程序。palm os 是一套具有极强开放性的系 统,现在有大约数千种专门为 palm os 编写的应用程序,从程序内容上看,小 到个人管理、游戏,大到行业解决方案,palm os 无所不包。在丰富的软件支 持下,基干 palm os 的掌上电脑功能得以不断扩展。 palm os 是一套专门为掌上电脑开发的 os。在编写程序时,palm os 充分 考虑了掌上电脑内存相对较小的情况,因此它只占有非常小的内存。由于基干 palm os 编写的应用程序占用的空间也非常小(通常只有几十 kb) ,所以,基 于 palm os 的掌上电脑(虽然只有几 mb 的 ram)可以运行众多应用程序。 由于 palm 产品的最大特点是使用简便、机体轻巧;因此决定了 palm os 具有以下特点。 ? 操作系统的节能功能。由于掌上电脑要求使用电源尽可能小,因此在 palm os 的应用程序中,如果没有事件运行,则系统设备进入半休眠的状态;如 果应用程序停止活动一段时间,则系统自动进入休眠状态。 ? 合理的内存管理。palm 的存储器全部是可读写的快速 ram。动态 ram 类 似于 pc 机上的 ram,它为全局变量和其它不需永久保存的数据提供临时 的存储空间;存储 ram(storage ram)类似于 pc 机上的硬盘,可以永久 保存应用程序和数据。 palm os 的数据是以数据库的格式来存储的。数据库是由一组记录和一些 数据库头信息组成的。为保证程序处理速度和存储器空间,在处理数据的时候, palm os 不是把数据从存储堆(storage heap)拷贝到动态堆(dynamic heap) 后再进行处理, 而是在存储堆中直接处理。 为避免错误地调用存储器地址, palm os 规定,这一切都必须调用其内存管理器里的 api 来实现。 南京航空航天大学硕士学位论文 11 palm os 与同步软件结合可以使掌上电脑与 pc 机上的信息实现同步, 把台 式机的功能扩展到了掌上电脑。palm 应用范围相当广泛,如:联络及工作表管 理、电子邮件及互联网通信、销售人员及组别自动化等等。其中 palm 与 gps 结合的应用,不但可以作导航定位,还可以结合 gps 作气候的监测、地名调查 等。 但 palm 在其它方面还存在一些不足, palm os 本身不具有录音、 mp3 播放 功能等,如果你需要使用这些功能,就需要另外加入第三方软件或硬件设备方 可实现。对于中国用户而言,另一个不足之处在于 palm os 起初在中国销售的 产品仍然要使用中文外挂平台,有相当部分依然是以英文界面为主,在一定程 度上影响了基于 palm os 的产品在中国市场的大面积进入。其代表性的产品有 palm m505、palm m500、palm 等。 5) linux 这是嵌入式操作系统的一个新成员,其最大的特点是源代码公开并且遵循 gpl 协议, 在近几年以来成为研究热点。 linux 是一个类似于 unix 的操作系统。 它起源于芬兰一个名为 linus torvalds 的业余爱好, 但是现在已经是最为流行的 一款开放源代码的操作系统。linux 从 1991 年问世到现在,短短 10 年的时间 内已发展成为一个功能强大、设计完善的操作系统。linux 系统不仅能够运行 于 pc 平台,还在嵌入式系统方面大放光芒,在各种嵌入式操作系统迅速发展 的状况下,linux os 逐渐形成了可与 windows ce 等嵌入式操作系统进行抗衡 的局面。目前正在开发的嵌入式系统中,49%的项目选择 linux 作为嵌入式操 作系统。linux 现已成为嵌入式操作系统的理想选择。 linux 操作系统有如下特点: ? 适用于不同的 cpu,支持多种体系结构,如 x86、arm、mips、alpha, sparc 等。同时支持的硬件数量也非常庞大,pc 上用到的硬件 linux 几乎 都支持,在内核中可以找到相应的驱动程序接口。 ? 外围支持硬件也十分丰富,有数码相机、gps 接收器、调制解调器、gsm 无线电话、数码音频播放设备、便携键盘、语言记录器、条码扫描、无线 寻呼接收器、探测仪等。 ? 精简的内核,性能稳定,支持多任务。内核精悍,运行所需资源少,十分 适合嵌入式应用。 ? 能够提供完善的嵌入式 gui。 ? 提供嵌入式浏览器、邮件程序、mp3 播放器、mpeg 播放器、记事本等应 用程序。 ? 开放源码,丰富的软件资源,广泛的软件开发者的支持,价格低廉,结构 基于 802.11b 标准的嵌入式视频监控系统的设计 12 灵活,适用面广。由于其源代码公开,人们可以任意修改,以满足自己的 应用,并且查错也很容易。因为遵从 gpl 协议,无须为每例应用交纳许可 证费。另外有庞大的开发人员群体,无需专门的人才,只要懂 unix/linux 和 c 语言即可。随着 linux 在中国的普及,这类人才越来越多。所以软件 的开发和维护成本很低。 综上所述,vxworks、windows ce、c/os、palm os、linux 这五种 嵌入式操作系统各有不同的特点, 不同的用途。 但 vxworks 成本高, windows ce 在内核结构的设计中并未考虑适应系统的高度可裁减性的要求,c/os并 没有提供足够的 api 函数接口,palm os 界面以英文为主,而相比之下,linux 更小、更稳定,而且 linux 是开放的操作系统,在价格上极具竞争力。由于代 码开放性以及强大的网络功能,在中低端的嵌入式网络设备中的应用,比起其 他的操作系统有许多优势。开发嵌入式 linux 产品,从产品上市时间到产品系 列化,除人员以外所需的投入均较少。考虑到系统的实际需求,尤其是对网络 性能的要求,所以选择了 linux 作为操作系统。 2.2.2 linux 的调度过程 linux 是由四部分组成的,如图 2.3 所示。 用户应用程序 操作系统服务 操作系统内核 图 2.3 linux 系统组成图 各模块功能说明如下: 操作系统内核实现与系统硬件进行交互,实现对硬件部件的编程控制和接 口操作,调度对硬件资源的访问,并为用户程序提供一个高级的执行环境和对 硬件的虚拟接口。 操作系统服务是指那些向用户提供的服务被看作是操作系统部分功能的程 序。 用户应用程序是指那些数据处理程序、 internet 浏览器程序和用户自行编制 的各种应用程序。 在系统中,操作系统所提供服务的流程为:应用主程序使用指定的参数值 执行系统调用指令, 使 cpu 从用户态 (user mode) 切换到核心态 (kernel mode) 16,然后操作系统根据具体的参数值调用特定的系统调用服务程序,而这些服 南京航空航天大学硕士学位论文 13 务程序则根据需要再调用底层的一些支持函数以完成特定的功能。在完成了应 用程序所要求的服务后,操作系统又从核心态切换回用户态,返回到应用程序 中,并继续执行后面的指令。 而操作系统内核作为整个系统的核心,是由五大模块组成的,内核模块体 系结构如图 2.4 所示。 虚拟文件系统 网络接口 文件系统进程调度进程间通信 内存管理 图 2.4 模块体系结构图 各模块功能说明如下: 进程调度模块:负责控制进程与 cpu 资源的使用,所采取的调度策略是各 进程能够公平合理地访问 cpu,同时保证内核能够及时地执行硬件操作。 内存管理模块:用于确保所有进程能够安全的共享机器主内存区,同时, 内存管理模块还支持虚拟内存管理方式,使 linux 支持进程使用比实际内存空 间更多的内存容量。并且可以把暂时不用的内存数据,通过文件系统交互到外 部存储设备上去,当需要时再交换回来。mmu 把 cpu 产生的虚拟地址转换成 物理地址17(如图 2.5 所示)去访问外部存储器,同时继承并检查访问权限。 地址转换有四条路径。路径的选取由这个地址是被标记成节映射访问还是页映 射访问确定。页映射访问可以是大、小和微页的访问。 逻辑地址线性地址 分段机制分页机制 物理地址 图 2.5 mmu 地址映射过程 文件系统模块:用于支持外部设备的驱动和存储,虚拟文件系统模块通过 向所有的外部存储设备提供一个通用的文件接口,隐藏了各种硬件设备的不同 细节。从而提供并支持与其它操作系统兼容的多种文件系统格式。 进程间通信模块:用于支持多种进程间的信息交换方式。 网络接口模块:提供对多种网络通信标准的访问并支持许多网络硬件。 而对于各模块间以及模块内部的通信流程如图 2.6 所示。 基于 802.11b 标准的嵌入式视频监控系统的设计 14 系统调用接口 进程间通信 设备驱动程序 字符设备 调度程序 内存管理 高速缓冲 文件子系统 函数库 用户程序 用户级 内核级 进程控制 子系统 块设备 硬件 硬件控制 内核级 硬件级 图 2.6 内核结构框图 同时要进行程序设计,还要涉及到编辑器、编译链接器、调试器及项目管 理工具等开发工具,具体说明可以参阅相关书籍。 2.2.3 应用软件的流程 系统的应用软件分成三大块,分别是视频采集模块,视频传输模块和客户 端请求模块。具体实现步骤如图 2.7 所示。 有客户端请求? 开始 结束 视频传输 视频采集 n y 图 2.7 应用程序流程图 首先,视频采集模块通过内核提供的 api 函数接口对摄像头进行访问,并 将采集到的图像送入缓冲区进行存储, 然后视频传输模块对图像数据进行处理, 并监听客户端的请求,若有请求,就通过设定的程序步骤将数据按照相应的策 略发送给客户端。 南京航空航天大学硕士学位论文 15 第三章 视频采集软件模块的研究 在视频监控系统中,视频信号及时正确的采集是整个监控系统正常工作的 基础。而视频采集模块的实现需要硬件和软件共同的支持,对软件的效率也提 出了很高的要求。采集模块中所采用的采集策略决定了其他模块处理视频的速 度。 3.1 usb摄像头的驱动步骤 首先,摄像头要在 linux 上工作,需要实现它的驱动。在 linux 下已经支 持的摄像头驱动是采用 ov511 芯片的摄像头,而系统采用的是市面上最常用的 zc301 芯片的摄像头,linux 内核中并没有相关的驱动支持,需要从网上下载 到相关的 spca5xx 驱动。为了嵌入式环境的需要,下载专用于嵌入式 linux 的 spca5xx-le 驱动以最大限度地减少内存的使用。将下载的驱动加入到内核中, 修改 makefile 和 config 文件,在内核中选中 usb_spca5xx,编译后就将摄像 头的驱动加入到内核映像中了。 具体操作步骤如下: 1) 从网址http:/mxhaard.free.fr下载针对嵌入式环境的驱动源码和针对2.4内核 的驱动补丁,并在/kernel/driver/usb 目录下解压、打补丁。 2) 根据 patch 时的错误提示,对 makefile 和 config.in 进行修改。 3) 配置内核,在 kernel 下 make menuconfig,首先选择 multimedia device 下的 video for linux,然后在 usb support 目录下选择 support for usb,并 在 usb multimedia devices 项下选择 usb spca5xx 型摄像头, 并保存 退出。之所以选择动态加载,是为了测试方便,不需要下载整个内核,只 需通过 nfs,加载驱动即可测试。 4) 执行命令 make dep;make zimage;make modules,就会在/usb/spca5xx 下生成 spca5xx.o,spcadecoder.o,spca_core.o 了。 5) 用新内核启动,insmod.o 文件就成功加载 usb 摄像头了。 3.2 双帧采集算法的分析 linux 提供了一些函数用于实现视频的采集, 通过编写相应的应用程序实现 了视频采集功能,并且提高了采集的效率。 基于 802.11b 标准的嵌入式视频监控系统的设计 16 3.2.1 设备驱动的数据结构 video4linux 是 linux 内核里支持影像设备的一组 apis,配合适当的视频 采集设备和相应的驱动程序,可以实现影像采集、am/fm 广播、频道切换等功 能,在远程会议、可视电话、视频监控系统中有着广泛的应用。 在 linux 下,所有外设都被看成是一种特殊的文件,称之设备文件。系统 调用是内核和应用程序之间的接口,而设备驱动程序则是内核和外设之间的接 口,它完成设备的初始化和释放、对设备文件的各种操作和中断处理等功能, 因为应用程序屏蔽了外设硬件的细节,使得应用程序可以像普通文件一样对外 设进行操作。系统中主要针对 usb 摄像头设备/dev/video0,进行视频图像采集 方面的程序设计。 linux 下 v4l 视频采集,主要是调用 v4l 模块参数进行视频原始数据的采 集。使用的一些主要参数和函数定义在系统/include/linux/videodev.h18文件中, 首先根据这个头文件来定义自己的 video device 的数据结构,下面是 videodev.h 中定义的几个重要的数据结构,说明如下: 1) struct video_capability 包含设备的基本信息(设备名称、支持的最大最小分 辨 率、信号源信息等) name32 canonical name for this interface type type of interface channels number of radio/tv channels if appropriate audios number of audio devices if appropriate maxwidth maximum capture width in pixels maxheight maximum capture height in pixels minwidth minimum capture width in pixels minheight minimum capture height in pixels 2) struct video_picture 设备采集的图象的各种属性 brightness picture brightness hue picture hue(colour only) colour picture colour (colour only) contrast picture contrast whiteness the whiteness(greyscale only) depth the capture depth palette reports the palette that should be used for this image palette 3) struct video_window 包含关于 capture area 的信息 南京航空航天大学硕士学位论文 17 x the x co-ordinate specified in x windows format y the y co-ordinate specified in x windows format width the width of the image capture height the height of the image capture chromakey a host order rgb32 value for the chroma key
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
评论
0/150
提交评论