datasheet
超过470,000+ 应用技术资源下载
pdf

基于ARM的无线视频监控手持终端的研究与设计

  • 1星
  • 日期: 2014-03-05
  • 大小: 1.93MB
  • 所需积分:1分
  • 下载次数:0
  • favicon收藏
  • rep举报
  • 分享
  • free评论
标签: 基于ARM的无线视频监控手持终端的研究与设计

随着科学技术的进步和人民群众生活水平的提高,视频监控系统在工业生产、国家安防、日常生活中得到了广泛的应用。实时的远程视频监控,能够及时、直观地为人们提供动态现场信息。远程视频监控已经逐步成为现代社会管理的重要手段之一。与传统的视频监控系统相比,嵌入式远程无线监控系统具有体积小、携带方便、可以进行远距离监控等优点,从而有着良好的应用前景。 本文在总结分析即有的研究成果的基础上,将先进的嵌入式技术、视频技术、无线网络技术有效的结合在一起,力图设计出一款便携式、低功耗、高电池使用寿命、硬件与软件资源管理高效合理、人机交互性能良好的手持式无线视频监控终端。通过对Windows CE.NET嵌入式操作系统下进行USB相关设备驱动程序开发的研究与分析,在本手持终端中实现了USB host端功能,以满足对USB设备的即插即用操作。本手持终端将会极大程度上方便监控保安人员,使得他们不必随时守候在传统的基于PC的视频监控机旁,实现企业楼宇及智能小区中电子巡更的任务。 本文首先对无线视频监控系统的发展现状进行分析与研究,主要包括:无线视频监控系统的定义、特点、分类、应用以及发展趋势;之后介绍ARM处理器并对无线网络的发展状况进行研究分析,重点对无线网络中无线局域网技术进行阐述;然后笔者利用一款基于ARM920T核的微处理器S3C2410来构建Windows CE.NET操作系统下的无线视频监控手持终端,在此详细阐述了该手持终端硬件、软件平台的研究与设计;最后为了使该终端支持不同类型的非标准USB存储设备以及从、USB接口可扩展性方面的考虑,通过对Windows CE.NET下的USB系统结构和设备驱动程序开发包的分析,研究了在Windows CE.NET嵌入式操作系统下进行USB相关设备驱动程序开发的过程。

合肥工业大学 硕士学位论文 基于ARM的无线视频监控手持终端的研究与设计 姓名:欧明 申请学位级别:硕士 专业:计算机应用技术 指导教师:魏臻 20071101 基于ARM的无线视频监控手持终端的研究与设计 摘要 随着科学技术的进步和人民群众生活水平的提高,视频监控系统在工业生 产、国家安防、日常生活中得到了广泛的应用。实时的远程视频监控,能够及 时、直观地为人们提供动态现场信息。远程视频监控已经逐步成为现代社会管 理的重要手段之一。与传统的视频监控系统相比,嵌入式远程无线监控系统具 有体积小、携带方便、可以进行远距离监控等优点,从而有着良好的应用前景。 本文在总结分析即有的研究成果的基础上,将先进的嵌入式技术、视频技 术、无线网络技术有效的结合在一起,力图设计出一款便携式、低功耗、高电 池使用寿命、硬件与软件资源管理高效合理、人机交互性能良好的手持式无线 视频监控终端。通过对Windows CE.NET嵌入式操作系统下进行USB相关设备驱动 程序开发的研究与分析,在本手持终端中实现了USB host端功能,以满足对USB设 备的即插即用操作。本手持终端将会极大程度上方便监控保安人员,使得他们不 必随时守候在传统的基于Pc的视频监控机旁,实现企业楼宇及智能小区中电子 巡更的任务。 本文首先对无线视频监控系统的发展现状进行分析与研究,主要包括:无线视 频监控系统的定义、特点、分类、应用以及发展趋势;之后介绍ARM处理器并对无 线网络的发展状况进行研究分析,重点对无线网络中无线局域网技术进行阐述;然后 笔者利用一款基于ARM920T核的微处理器¥3C2410来构建Windows CE.NET操作系 统下的无线视频监控手持终端,在此详细阐述了该手持终端硬件、软件平台的研究与 设计;最后为了使该终端支持不同类型的非标准USB存储设备以及从USB接口可扩 展性方面的考虑,通过对Windows CE.NET下的USB系统结构和设备驱动程序开发 包的分析,研究了在Windows CE.NET嵌入式操作系统下进行USB相关设备驱动程 序开发的过程。 关键词;视频监控 ARM无线局域网 Windows CE.NET Research and Design of the Wireless Video Monitoring Portable Terminal Based on ARM ABSTRACT The video monitoring system has much wide applications in industrial production,state security and daily life with the advanced of the technology and the inprovement of the life level.Real—time and remote video can timely and intuitive help provide the dynamic information of the scene for people.Remote video monitoring has gradually become one of the most important means in management in modern society.Compared with traditional video monitoring systems,embedded remote wireless monitoring system has many advantages such as smaller size, protability and remote monitoring,and these features will make it has bestter and wider application than traditional systems. This paper bases on the previous reseach and does further work,which integrates advanced technologies including enbed technology,video and wireless network,and trying to design a portable,low-power,high battery life,hardware and software resources management rational and good interactive wireless video monitoring portable terminal.Through the Research and Design of the development theory of the USB equipment diver in Windows CE.NET,The portable terminal implements the USB host ruction to meet the USB plug··and··play operation of the equipment.The terminal will facilitate the monitoring security personnel greatly SO that they do not have to keep waiting around the video monitoring machine which is based on PC and can implement the electronic patrol task in enterprise building and intelligent community. The analysis and research in the development of wireless video monitoring system are first described in this paper,including:wireless video monitoring system‘S definition,characteristics,classification,applications and trends.Then this paper introduces ARM processor and the research in the development of wireless network,focusing on the wireless network technology in the WLAN.Then we use¥3C2410 microDrocessor which is baesd on ARM920T to build a wireless video monitoring portable terminal in Windows CE.NET.The research and design of the portable terminal’S hardware and software platform are elaborated in this paper.In the end,in order to enable the terminal to support the different types of n.on—standard USB storage device and consider the extensible aspect of the USB interface,the development theory of the USB equipment diver in Windows CE.NET is researched through the analysis in the structure of USB and the Device Driver Kit in Windows CE.NE T. Keywords:Video Monitoring ARM WLAN Windows CE.NET 插图清单 图2-1对等(Ad Hoc)拓扑(IBSS)….………,.….……..……….,.…13 图2-2基本infrastructure拓扑(BsS)……,.………,.………...…14 图2-3扩展infrastructure拓扑(ESS)……..………...……….….14 图3-1本手持终端及无线网络视频监控系统的网络拓扑结构………..…22 图3-2手持终端整体结构设计….……………………………..…23 圈3-3数据采集模块流程图,…………….………….………..…24 图3-4手持终端硬件的整体构成…………,….……,.……………25 图3—5 ARM920T内核结构框图.……………………………………26 图3—6 NAND flash控制器结构图.…………………….………….27 图3—7无线网络模块结构….…..……….….……………….….29 图3-8手持终端软件的整体构成………….…………….……,….29 图3-9驱动程序写入模块流程图………….………………………34 图3一10无线网卡自动安装模块流程图…….………………………36 图3一ll Windows Sockets关系图……………………………..…39 图3一12视频数据传输模块中UDP客户端和服务器编程流程圈………….4l 图3-13视频数据包队列处理流程图………………………………42 图3一14视频数据解码模块流程图.…….….……………………...44 图4—1 USB设备管道和端点的拓扑结构…….……………………...49 图4—2 Windows CE.NET下的USB系统结构….……………….….….49 表2一 表2一 表2一 表2一 表2一 表4一 表格清单 主流嵌入式微处理器性能比较………………... 802.11b(高速)的信道频率……………….... 北美工作信道……………….…………..... 欧洲工作信道(不包括法国和西班牙)……….... 调制和扩频编码类型:802.11和802,11b…….... 流接口驱动程序所要实现的DLL接口函数………。 ….6 …11 …12 …12 …12 …52 独创性声明 本人声明所呈交的学位论文是本人在导师指导下进行的研究工作及取得的研究成果。据我所 知,除了文中特别加以标忐和致谢的地方外,论文中不包含其他人已经发表或撰写过的研究成果, 也不包含为获得盒照』业盔堂 或其他教育机构的学位或证书而使用过的材料。与我一同工作 的同志对本研究所做的任何贡献均已在论文中作了明确的说明并表示谢意。 学位论文作者签字 签字日期彩夥年f≯月≯目 学位论文版权使用授权书 本学位论文作者完全了解盒胆王些盔堂有关保留、使用学位论文的规定,有权保留并向 国家有关部门或机构送交论文的复印件和磁盘,允许论文被查阅或借阅。本人授权合肥工业大 堂一可以将学位论文的全部或部分论文内容编入有关数据库进行检索,可以采用影印、缩印或扫 描等复制手段保存、汇编学位论文。 (保密的学位论文在解密后适用本授权书) …一名:歇媳 签字日期凋年陟妒日 导师签名 签字日期:D 电话 邮编 致谢 在这里,我首先要衷心感谢的是我的导师魏臻教授。在我的研究生学习期 间,魏老师在我的学习和生活上均给予了我悉心的指导和热情的关怀,倾注了 大量的心血,使我在各方面均有长足的进步。魏老师活跃的学术思想,渊博的 知识,丰富的经验、忘我的工作态度、对事物敏锐的观察力都令我钦佩不已, 给我留下了深刻的印象。在魏老师身上,我看到了一个成功者的胸怀和师长的 风范,让我受益终身。值此论文完成之际,谨向导师致以衷心的感谢。 感谢我的同学熊振华、郭智奇、段布托,在我的研究生学习生涯中,他们 一直给予我最真诚的帮助和关心,给了我很多学习上的指导和生活上的帮助。 同时还要感谢其他老师和同学在我攻读硕士学位期间给予我无私的帮助和友 情。还要特别感谢合肥工大高科程磊、鲍红杰同志,他们在我学习道路上给予 了莫大的帮助和指导。 同时,由衷的感谢我的父母和我的亲人朋友们,你们的支持给了我学生生 活的帮助,你们的关心给了我奋发向前的动力,是你们在背后默默的支持使我 能顺利的完成研究生学业。 最后,真诚地感谢有关专家和学者对本文的评阅和指导。 作者:欧明 2007年11月10日 第一章绪论 1.1引言 随着社会的不断进步,人身财产,生活与工作环境的安全越来越得到人们 的重视,特别是在“9.11”恐怖袭击以后,监控行业在全球范围内掀起了一股 热潮。为了保护人民群众的生命财产安全,对付形式各样的经济刑事犯罪,采 用高科技手段预防和制止犯罪已成为安防领域里的共识|11。在上世纪八十年代 末至九十年代初中,随着国外各种新型安防理念的引入,各行业及居民小区纷 纷建立起各自的闭路电视监控系统或报警联网系统,这对预防和制止犯罪,维 护社会稳定起到了巨大的作用12|pl。 图像是通过人类视觉来获得的,视觉是人类最主要的感觉器官,视觉信息 是人们由客观世界获得信息的主要来源之一,占人们依靠五官由外界获得信息 量的70%以上。由图像所提供的直观作用,不是语言和文字描述所能达到的, 所以说百闻不如一见。视频图像是一种更加直观而具体的信息表达形式。当前, 视频监控正从传统的安防监控向管理监控、生产监控方向发展,并逐步与管理 信息系统相结合,为管理者或决策者提供更为直观的决策信息。现在,视频监 控系统被广泛应用于各种行业,涵盖了社会的多个领域,如智能楼字,银干亍ATM 机,汽车牌照自动识别,超市防盗等。随着计算机技术、网络技术、通信技术 及数字视频技术的进步,视频控制技术也得到了飞速发展。 近些年来,伴随着嵌入式技术和网络技术的发展,人们开始试着整合这两 种技术构建出一种新型的网络化视频监控系统一嵌入式网络视频监控系统。它 以功能强大的嵌入式微处理器为核心、采用嵌入式实时多任务操作系统,将视 频数据的传输、处理等工作内置于芯片上,通过自身内部处理后可直接接入网 络,满足人们进行实时远程监控的需要。与其他视频监控系统相比,嵌入式网 络视频监控系统安装便利,体积较小,成本较低,无需专人值守监控,实时性 好,便于用户操作,因此基于该系统的产品将会有良好的发展和应用前景14J15|『“。 1.2视频监控系统发展状况 随着网络、通信和微电子技术的快速发展和人民生活水平的不断提商,视 频监控以其直观、方便及内容丰富等特点,越来越受到人们的重视。视频监控 系统的发展大致经历了以下三个发展阶段㈣: 第一阶段是在20世纪90年代初及以前,主要是以模拟设备为主的闭路系 统,人们称之为第一代视频监控系统,即模拟视频监控系统。主要应用于小范 围内的监控,如大楼监控,监控图像一般只能在本地控制中心机房内观看。模 拟视频监控系统的主要优点是应用实现简单,但是该系统具有很多明显的缺点: 如:传输距离近、设备材料费用高、布线复杂、不利于施工等;由于视频图像 是模拟的,所以导致其图像数据量大,需要有海量的存储介质来存放视频信息; 同时,由于模拟信号在传输时容易受到干扰,导致了监控图像质量较差;而且, 该系统的扩展能力很差,如果需要新增监控点,新的设备很难被添加到原有的 系统中。 第二阶段是20世纪90年代中期,随着计算机处理能力的提高和视频技术的 发展,人们用计算机的高速数据处理能力进行视频信息采集和处理,从而大大 提高了图像质量,增强了视频监控的功能。这种基于多媒体计算机的系统被称 为第二代视频监控系统,即模拟输入与数字压缩、显示和控制系统。因为其核 心设备是数字设备,因此我们也可以称之为数字视频监控系统。 第三阶段是20世纪90年代未特别是最近几年,随着网络带宽、计算机处 理能力和存储容量的迅速提高,以及各种使用视频信息处理技术的出现,视频 监控进入了全数字化的网络时代,称之为第三代视频监控系统,即全数字视频 监控系统或网络数字视频监控系统。第三代视频监控系统基于飞速发展的网络 技术,以数字视频的压缩、传输、存储和播放为核心,以智能实用的图像分析 为特点,引发了视频监控行业的技术革命。 视频监控的应用具有巨大的市场前景,所以视频监控系统的研究和开发受 到了学术界、产业界和使用部门的高度重视,国外研究成果和开发的产品层出 不穷。在1996年至1999年间,美国国防高级研究计划局(DARPA)资助卡内基梅隆 大学、南加州大学等著名大学和公司合作,联合研制了视频监视与监控系统 VSAM,VSAM是一个战场监控系统,目前已经取得较为满意的成果。当前先进 的民用监控系统一般都具有远程监视和控制功能,部分产品集成了简单的运动 检测功能和IntemetJ报务。典型的系统有瑞典AXIS公司推出的EP—Surveillance、美 国Solution Dynamics Inc.公司的DVSl3I 171[Sl。 目前国内的视频监控系统的发展情况是:模拟视频监控系统所占比例越来 越小,数字视频监控系统占据主导地位。就技术角度而言,数字视频监控系统 将是未来监控系统的发展方向,具有很高的先进性和可扩充性。 随着计算机技术、网络技术、图像处理技术的发展,人们采用最新的计算 机、通信、视频图像压缩技术,通过宽带、专线、无线等网络传输视频信息, 可实现高效的远程视频监控。计算机数字远程视频监控逐渐代替了传统的模拟 视频电视监控系统,成为了远程监控的主流。 以计算机PC为核心的远程视频监控系统主要是通过PC机与网络技术(主 要是有线)实现,在这种系统中,由于Pc机有着丰富的资源,因此其软件开发 和实现简单方便。然而由Pc机组成的视频监控系统功耗高,体积大,不易携带, 这将大大限制了该监控系统的应用范围(如在企业楼宇中实现电子巡更的需 求)。 20世纪,以Pc机为代表的计算机技术的迅速发展,对世界政治、经济、 军事和科教等方面产生了重要的影响,由此而产生的信息产业已经成为了世界 经济发展的支柱之一。如果说20世纪被称之为“PC时代”的话,那么2l世纪 则可以冠之以“后Pc时代”的称号,而嵌入式技术无疑是这个时代最具代表性 的技术之一。实际上,从消费类电子产品领域,到汽车电子、航空航天以及我 们日常生活中使用的网络通信、数据传输等领域,都有嵌入式技术的身影。随 着嵌入式技术的不断发展以及其应用领域的日益扩大,嵌入式产品也在不断地 改变着我们的生活。嵌入式技术的发展和成熟,使得无线视频监控手持终端设 备成为了可能。 目前一般的视频监控终端都采用笨重的PC机、配置比较复杂、不便移动、 视频采集端和监控终端必须用电缆连接,在许多不能用有线方式进行视频数据 传输的场合,这种传统的解决方案便无能为力。视频监控和无线网络在技术上 是两个相对独立的领域,如果将这两种技术结合起来,并且融入嵌入式技术, 将监控终端设计成手持设备形式,则可以很好的解决上述的缺点。这将会极大 程度上方便监控保安人员,使得他们不必随时守候在PC监控机旁,实现电子巡 更的任务。 无线视频监控手持终端体积小,重量轻,通过无线方式传输数据,使用方 便,应用场合非常广泛,不仅可以替代很多现有的基于PC机的视频监控系统, 还能应用在PC机不能胜任的场合。无线视频监控手持终端虽然不能完全代替基 于PC机的视频监控系统,但是由于其低功耗、低成本、便于携带等特点,必将 有着广泛的应用场景。 1.3论文目标和内容安排 本课题旨在通过基于ARM的无线视频监控手持终端硬件及软件平台的研究与设 计,介绍无线网络技术以及¥3C2410处理器的性能,利用该处理器构建一个无线视频 监控系统,满足人们在企业楼宇中对于电子巡更的要求。为了使该终端支持不同类型 的非标准USB存储设备以及从USB接口可扩展性方面的考虑,研究了在Windows CE.NET嵌入式操作系统下进行USB相关设备驱动程序开发的过程。以Windows CE.NET实例代码为基础,重点介绍了USB流接口驱动程序的实现。 本论文主要内容如下: 1)对无线视频监控系统的发展现状进行分析与研究。主要包括:无线视频监控系统 的定义、特点、分类、应用以及发展趋势。 21介绍ARM处理器并对无线网络的发展状况进行研究分析;重点对无线网络中无 线局域网技术进行阐述。 3)利用一款基于ARM920T核的微处理器¥3C2410来构建Windows CE.NET操作系 统下的无线视频监控手持终端。详细阐述了该手持终端硬件、软件平台的研究与 设计。 4)为了使该终端支持不同类型的非标准USB存储设备以及从USB接口可扩展性方 面的考虑,通过对Windows CE.NET下的USB系统结构和设备驱动程序开发包的 分析,研究了在Windows CE.NET嵌入式操作系统下进行USB相关设备驱动程序 开发的过程。以Windows CE.NET实例代码为基础,重点介绍了USB流接口驱动 程序的实现。 4 第二章无线视频监控手持终端设计的关键技术 2.1嵌入式微处理器 2.1.1 嵌入式微处理器特点及类型 在嵌入式系统领域,嵌入式处理器的内核几乎都是RISC(ReducedInstruction SetComputer,即精简指令集计算机)指令集的内核。RISC是在1979年由美国加 州大学伯克利分校提出来的,其体系结构具有以下特征: ·采用固定长度的的指令格式。 ●使用单周期指令,便于流水线操作执行。 ●基本寻址方式有2—3种。 ·大量使用寄存器,数据处理指令只针对寄存器进行,有效的提高了指 令的执行效率。 RISC结构体系有两大主流:硅谷图形公司的IdlPS技术和ARM公司的 Advanced砌SC Machines技术。从整个微处理器领域来看,砌SC和CISC(复杂 指令集计算机)是目前设计和制造微处理器的两种典型技术。我们对于嵌入式 微处理器的选择就是在体系结构、揉作运行、硬件及软件平台和编译时间等各 种因素中做出某种平衡,以求达到高效的目的。 嵌入式微处理器(MicroProcessorUnit,MPU)是由通用计算机中的CPU发 展而来。和我们日常生活中使用的PC机中处理器不同的是,在嵌入式领域,我 们只保留了和嵌入式应用相关的功能,去掉了其他诸多冗余的功能,实现低功 耗和高资源利用率的结合。嵌入式微处理器具有体积小、重量轻、成本低、可 靠性高的特点。如我们经常提到的ARM处理器就属于嵌入式微处理器这个范 畴。常用的嵌入式微处理器主要有ARM系列、MIPS系列、X86系统、Motorola 系列。表2—1列出了耳前市场上流行的几款嵌入式微处理器各自性能的比较pI。 表2-1 主流嵌入式微处理器性能比较 CPU类型 ARM7 ARM9 ARMl0 Xcale MIPS32 Elan(X86) (AMD) 80C5l (Cyenal) 68H 运算能力 (MIPS/MHZ) 0.9 1.1 1.2 1.2 1.19 0.25(8位) 0.89 运算频率 (MHz) 20.133 100.233 266.700 233.400 200.280 100.133 12一lOO 123.9 功耗 (Mw/MHZ) 0.39 O.8 0.6 1.28 0.5 12 编译器支持 多 多 多 少 多 多 操作系统支 持 多 多 多 少 多 多 1.2 多 多 1.31 多 多 2.1.2 ARM嵌入式微处理器 ARM公司成立于1991年,它本身并不生产芯片,而是采用出售芯片设计 授权的方式扩大其影响力。通常情况下,世界各大半导体生产厂商从ARM公 司购买ARM核,之后根据各自不同的需要,针对不同的应用领域添加适当的 外围电路,生产出自己的ARM微处理芯片。目前,ARM系列微处理器已经在 工业控制、电子消费类产品、通信设备、无线网络等领域中取得了巨大的成功。 在今后的时间内,ARM微处理器仍将在嵌入式领域中占据主导地位,将会有越 来越多的产品应用于这种设计。下面,简要介绍下ARM系列各种处理器的特 点1101。 AARRMM77微 系处 列理 微器 处系 理列 器包括四种类型的内核:删7TDMI、ARM7TDMI—S、 ARM720T、删7EJ.S。ARM7微处理器有如下特点: ●具有嵌入式ICE逻辑,调试开发方便。 ●功耗极低,适合对功耗要求较高的应用场合。 ●能够提供O.9MIPSkMI-Iz的三级流水线结构。 ●代码密度高,并兼容16位的Thumb指令集。 ●支持广泛的嵌入式操作系统,包括WindowsCE、Linux、PalmOS等。 ●指令系统与AR2v19系列和AR_M10E系列兼容,便于用户产品升级。 ·主频最高可达到120MIPS,高速的运算处理能力能胜任绝大多数应用。 AARRMM99微 系处 列理 微器 处系 理列 器包括以下几种内核:ARM920T、删922T、ARM940T 等。ARM9微处理器有如下特点: ●五级流水线,指令执行效率更高。 ●提供1.1MIPS/MHz的哈佛结构。 ●支持32位ARM指令集和16位Thumb指令集。 ·支持32位的高速AMBA总线接口。 ●全性能的MMU,支持Windows CE、Linux、Palm OS等多种主流嵌入式 操作系统。 ·支持指令Cache和数据Cache,具有更高的指令和数据处理能力。 ●MPU支持实时操作系统。 ARMl0E微处理器系列 ARMl0E系列微处理器包括以下几种内核:ARMl020E、ARMl022E、 ARMl026EJ.S三种类型。ARMl0微处理器有如下特点: ·六级流水线,指令执行效率更高。 ●主频速度可达400MIPS。 ●支持32位ARM指令集和16位Thumb指令集。 ·支持32位的高速AMBA总线接口。 ·全性能的MMU,支持Windows CE、Linux、Palm OS等多种主流嵌入式操 作系统。 ·支持指令Cache和数据Cache,具有更高的指令和数据处理能力。 ●支持VFPl0浮点处理协处理器。 ·内嵌并行读/写操作部件。 SecurCore微处理器系列 SecurCore系列微处理器包含SecurCore SCl00、SecurCore SCll0、 SecurCore SC200和SecurCore SC210四种类型。SecurCore系列微处理器专门 为安全需要而设计,提供了完善的32位RISC技术的安全解决方案。SecurCore 系列处理器除了具有ARM体系结构的主要特点以外,还在系统安全方面具有 以下的特点: ●带有灵活的保护单元,以确保操作系统和应用数据的安全。 ●采用软内核技术,防止外部对其进行扫描探测。 ●可集成应用自己的安全特性和其他协处理器。 Xscale处理器 Xscale处理器是基于ARMv5TE体系结构的解决方案,它支持16位的 Thumb指令和DSP指令集,已在数字移动电话和网络产品等场合中得到了应 用。Xscale处理器是INTEL目前主要推广的一款ARM微处理器。 2.1.3本手持终端中嵌入式微处理器的选择 本手持终端在设计上要求实现低功耗、低成本的特点。ARM9系列微处理 器由于其自身良好的基础体系结构,在功耗、数据传输效率、数据处理速度等 方面都处于业内领先的地位。在日常生活中的许多消费类电产品(如:手持播 放器、数码相机等)都有着ARM的身影。与MIPS系列、X86系列、Motor01a 系列的嵌入式微处理器相比,ARM9系列微处理器在高性能和低功耗方面可以提 供很高的性价比。ARM系列微处理器大约占到了32位RISC处理器四分之三 以上的市场份额,在可预见的时间内,ARM微处理器仍然将在嵌入式微处理器 领域占据主导地位,从市场角度来看,选用ARM系列处理器最为适宜。 在本手持终端及无线网络视频监控系统的设计中,综合考虑嵌入式微处理 器的性能、功耗、价格、厂家支持、购买渠道等因素,最终决定采用ARM920T 为内核的处理器¥3C2410。它是一款高性价比的32位的RISC微控制器,可在 其上运行如Windows CE、嵌入式Linux等操作系统,非常适合于嵌入式系统的 应用开发。 2.2无线局域网技术 2.2.1无线局域网简介 随着个人数据通信的发展,功能强大的便携式数据终端以及多媒体终端得 到了广泛的应用。为了达到用户能够在任何时间、任何地点均能实现数据通信 的目标,要求传统的计算机网络由有线向无线、由固定向移动、由单一业务向 多媒体业务演进。无线局域网(WLAN,Wireless Local.AreaNetwork)是指以 无线通信作为传输介质的计算机网络。早在20世纪90年代初,无线局域网设 备就已经出现,但是由于价格,功能,效率等方面的原因,并没有得到广泛的 应用。但近年来,无线局域网产品逐步走向成熟,正以其高速的传输能力和优 秀的灵活性在计算机网络构建中发挥日趋重要的作用。 有线局域网的计算机网络主要依靠铜缆或光缆作为传输介质,因此有线网 络受到一定地理位置的限制,网中的各个节点不可移动,特别是在大、中城市, 要把相距较远的节点连接起来时,需要铺设专有线路,其费用高,耗时长,制 约了正在迅速扩大的网络需求,形成了严重的瓶颈。而无线局域网可以不受地 理条件限制,在有线网络通信不便以及需要移动通信的情况下,快速组建计算 机网络,既解决了计算机网络的瓶颈,又提高了用户的开通使用率“1I。 当前的WLAN技术提供日益提高的数据速率、更高的可靠性和可信度,而 成本却逐渐降低。数据速率己从1M/bits增加到54M/bits,伴随着IEEE 802.儿 系列标准的出现,不同产品之间的互操作性已经成为现实,而无线产品的价格 也在大幅下降112I。 2.2.2无线局域网的特点 总的来说,无线局域网具有以下特点1121: (1)可移动性,不受布线节点位置的限制。 (2)数据传输率高,大于1Mbit/s。 (3)抗干扰能力强,能实现很低的误码率。 (4)保密性较强,可使用户进行有效的数据提取,又不至于泄密。 (5)高可靠性,数据传输几乎没有丢包现象产生。 (6)兼容性好,采用载波侦听多路访问/冲突避免(CS/MA)介质访问协议, 遵从IEEE 802.3以太网协议。用户已有的网络软件可以不作修改在无 线网上运行。 (7)快速安装,无线局域网的安装工作非常简单,它无需施工许可证,不 需要布线或开沟挖槽,安装时间只是安装有线网络时间的零头。 (8)易于扩容,无线局域网能够根据需要,灵活选择多种配置方式,不仅 有几个,几十个的用户网络,还有几百上千用户的大型网络,并能够 提供用户的移动和漫游。 2.2.3无线局域网的协议标准 目前无线局域网协议标准主要分为IEEE 802.11和欧洲的HiperLAN两大 类113lil4ll”。 1.IEEE 802.1l IEEE 802.11是由IEEE最初制定的无线局域网标准,其数率最高为2Mbps。 它定义了物理层(PHY)及介质控制子层(MAC)的结构。在物理层中,定义 了两个射频(RF)传输方法和一个红外线传输方法。在MAC层则使用载波侦 听多路访问或冲突避免(CSMA/CA)协议。由于802.11在速率和传输距离上 都不能很好的满足需求,因此IEEE小组又推出了802.11a和802.11b两个新 标准。它们是对802.11标准的扩充。三者之间技术上的主要差别在于MAC子 层和物理层协议的处理方式上。 802.11a扩充了标准的物理层,工作在5GHzU-NII频带,物理层速率可达 54 Mbps,传输层可达25 Mbps。采用正交频分复用(OFDM)的独特扩频技术, 可提供25 Mbps的无线ATM接口和10 Mbps的以太网无线数据帧构接口;支 持语音、数据及图像业务;一个扇区可以接入多个用户,每个用户可带多个用 户终端。但是,基于该技术的芯片没有市场化、设备昂贵、点对点连接很不经 济、不适合于小型系统。 802.1lb采用的是开放的2.4 GHz频段,其调制方法采用补偿码键控 (CKK)。CKK是802.1lb规定的调制方法。是由直接序列扩频技术发展而来。 9 多速率机制的MAC使用动态速率漂移确保当工作站直接距离过长或干扰过大, 使得信噪比低于某个限制数据时,传输速率将从ll Mbps自动降到5.5 Mbps, 而且能够根据DSSS技术调整到2 Mbps和l Mbps,且在2 Mbps、1 Mbps速 率时与802.11兼容。 802.11还包括IEEE 802.1le和IEEE 802.1lf两个扩展标准,它们是在现 有的802.1la和802.1lb的MAC层追加了QoS功能及安全功能的标准。可以 提高传输语音数据和数据流数据的能力。 另外还有802.1lg标准,它是一种混合标准,既能兼容传统的802.11b标 准,在2.4 GHz频率下提供11 Mbps数据传输率,也符合802.11a标准在5 GHz 频率下提供56 Mbps数据传输率,市场上现有的很多产品都同时支持802.1la、 802.1lb、802.119三个标准。 2.HiperLAN HiperLAN是下一代高速无线LAN技术,能够给最终用户提供高达25 Mbps 的高速传输速率。HiperLAN标准是由欧洲电信标准协会(ETSI)制定的,ETSI 所制定的标准共有4个:HipcrLANl、HiperLAN2、HipcrLink和HiperAccess。 其中HiperLANl和HiperLAN2主要用于高速无线LAN接入,HiperLink用于 室内无线主干系统,HiperAccess则用于室外对有线通信设施提供固定接入。 HiperLAN采用5GHz频带,在WLAN频谱利用上有很大突破,克服了目 前大多数WLAN产品工作频段较窄的缺陷,可使大量的用户实现高速通信。 HiperLAN在高速率下支持QoS,对像视频和语音一类实时应用提供了新的途 径;面向多种类型的网络基础结构(如:以太网、ATM等)提供连接,并且对 每一种连接都具有安全认证和加密功能;具有自动频率管理功能。 通过比较分析我们可以看出,上述各种标准都是根据不同的使用场合,不 同的用户需求而制定的。有的是为了增加宽带和传输距离,有的是考虑移动性 和经济性。我们在考虑实施无线局域网时,要从实际需求、市场情况和今后的 技术发展方向综合考虑。就目前国内的条件,在选择产品支持的协议标准建议 使用满足支持802.1la、802.1lb和802.119三个标准的产品。 2.2.4 IEEE 802.11 b技术 802.11b标准1121被认为是ISM(工业科学及医学)应用的2.4GHz频段所用 的高速PHY。它也是通常人们所说的Wi.Fi。 这种对DSSS系统的扩展建立在最初802.11标准的数据速率上,用来提供 5.5Mbit/s和11Mbit/s的数据率;同时它仍然支持原先lMbit/s和2Mbit/s。为了 提供更高的数据率,采用了8个码片的补码键控(CCK)技术作为调制方案。码 片速率为11MHz,与DSSS系统相同,因此提供了与占用信道同样的宽度。基本 的高速率PHY使用了与DSSS PHY相同的PLCP前文和头部,因此这些PHY 可以并存于同一个BSS中。 除了为DSSS系统提供高速扩展以外,很多可选的特性也可以改进RFLAN 系统的性能。 这些可选的功能包括以下: ●一种可选的模式,它将CCK调制更换为分组二进制卷积码 (HR/DSSS/PBcC)。这种可选的扩展模式也可以应用于802.1lg,使其 速率高达54Mbit/s。 ●一种可选的模式,它允许在2、5.5和11Mbit/s这样高速率上的数据 吞吐量通过使用较短的PLCP前文而得到显著的提高。该模式称为 HR/DSSS/short或HR/Dsss/PBcc/short。这种短前文的模式可以在限 制条件(如不同的信道)下与DSSS、HR/DSSS或HR/DSSS/PBCC共存。 ·一种使信道变得灵活的可选选项,它能够克服静态信道分配带来的固 有缺陷。 802.1l b工作频率范围:工作信道编号 表2—2列出了信道的中心频率和CHNL.ID编号。从表中可以看出,并不 是所有国家的管制机构都分配了同样的信道数量。 表2-2 802.1Ib(高速)的信道频率 CHNL ID 频 率 FCC IC (MHz) 1 2412 √ √ 管制域 ETSI 西班牙 √ 2 2417 √ √ √ 3 2422 √ √ √ 4 2427 √ √ √ 5 2432 √ √ √ 6 2437 √ √ √ 7 2442 √ √ √ 8 2447 √ √ √ 9 2452 √ √ √ lO 2457 √ √ √ √ 11 2462 √ √ √ √ 12 2467 √ 13 2472 √ 14 2484 802.1lb工作频率范围:调制和信道数据速率 法国 √ √ √ ’, 日本 √ √ √ √ √ √ √ √ √ √ √ √ √ √ 高速PHY规定了4种调制格式和数据率: ·基本的访问速率,它基于1Mbit/s的差分二进制相移键控(DBPsK)调 制模式。 ·增强的访问速率,它基于2Mbit/s的差分正交相移键控(DQPSK)调 制模式。 ●扩展的直接序列扩频规范定义了另外两种数据速率: -高速访问速率,它基于5.5Mbit/s和11Mbit/s的CCK调制模式。 -可选的PBCC模式,它用来提高性能。 IEEE 802.1lb(高速)工作信道 每个指定区域的工作信道都被定义为两种类型,而每种类型的信道都具有 不同的编号。表2.3显示了用于北美的信道编号,表2.4显示了用于欧洲的信 道编号。 表2-3北美工作信道 l组 信道数 HR/DSSS信道编号 1 3 l、6、1l 2 6 1、3、5、7、9、11 表2-4欧洲工作信道(不包括法国和谣班牙) I组 信道数 HR/DSSS信道编号 1 3 1、7、13 2 7 l、3、5、7、9、11、13 IEEE 802.11b扩频的调制 CCK用来在仍然使用正交相移键控(QPSK)调制模式的情况下,将802.1lb 的最高数据速率从2Mbit/s提高到11Mbit/s。为了做到这一点,首先它将数据时 钟频率从1Mbit/s提高到1.375Mbit/s,然后将数据压缩到一个8位的数据块(8 ×1.375=11)中。8位中的6位用来选择64个补码中的一个,每个补码为8个 码片,总的时钟输出为1lMbit/s。另外2个位与QPSK调制器中的编码组合在 一起。 表2—5显示了802.1l和802.11b所用的各种扩频序列以及相应的数据速率。 表2-5 调制和扩频编码类型:802.11和802.儿b 2.4GHZ DSSS 扩频编码 Barker码 Barker码 CCK CCK 调制技术 DBPSK DQPSK DQPSK DQPSK 数据速率 】Mbit/s 2Mbiffs 5.5Mbit/s ¨Mbit/s 2.2.5无线局域网的网络拓扑 无线局域网可以采用以下几种基本的物理配置112I: ●对等(Ad Hoc)拓十b(IBSS)。 ●基本infrastructure拓扑(BSS)。 ●扩展infrastructure拓扑(ESS)。 ●拨号。 ●宽带。 对等(Ad Hoc)拓Sb(IBSSl 如图2—1所示,一个无线服务集仅仅由两台或两台以上的无线客户端组成。这种 不包括AP的配置人们称之为独立BSS(IBSS)。这种拓扑可以用于SOHU,将笔记 本电脑和主电脑相连,或者几个笔记本电脑互连起来进行文件共享。但是这种网络的 一个缺点就是覆盖范围受到很大限制,网络中的每台设备必须能够侦听到任一其他设 备。 ◇ …户端Q——《 @—{ 图2-1对等(Ad Hoe)拓扑(IBSS) 基本infrastructure拓扑(BSS) 基本服务集(BSS)是802.11WLAN的基本构建。图2.2显示了3个成员站点和 1个AP组成的BSS。当站点移动到BSS之外时,它将不能与BSS的其他成员进行通 信。BSS使用只需一个AP的基本infrastructure模式。在此模式下,所有站点之间不 直接进行通信,站点通过AP进行通信。通过使用低成本的SOHO无线AP和无线路 由器,BSS拓扑网络可以获得更好的扩展性和安全性。 无线接入点 无线客户端 图2-2基本infrastructure拓扑(BSS) 扩展in鼢tmcture拓扑(ESS) 扩展服务集(ESS)包括两个或者多个通过通用分布系统连接的BSS,这 就允许创建任意大小和复杂性的网络。与BSS一样,ESS中所有数据包的传输 都必须通过AP。ESS常用在企业网中。图2.3显示了一个典型的ESS。 有线网络 ‘’◇ ● ◇ 。’◇ ●● ◇ 图2-3扩展infrastructure拓扑(ESS) 拨号 拨号拓扑主要是为SOHU而设计的。它允许远程办公人员、SOHU和家庭用户通 14 过AP进行无线连接。实际上,共享连接可以让有线和无线设备同时接入调制解调器 和Interact。如:一台PC机既可以为无线客户端提供连接,也可以作为DHCP服务器。 然而,尽管拨号方式很便宜,但是其数据传输速度显得很慢,很多用户转而会去使用 宽带技术。 宽带 随着宽带技术飞速的发展,提供给用户的宽带服务越来越多。许多拨号用 户都从拨号转向宽带。基本的家庭网络拓扑包括一个调制解调器、一台路由器、 一台集线器或交换机、一个无线AP和若干个客户端。很多宽带用户通过上述 配置组建家庭无线网络来共享Internet资源以及局域网各种服务。 2.2.6本手持终端中无线技术的选择 一直以来,人们都希望不受空间、地域的限制,能够随时随地获取所需要 的信息。随着无线通信技术的飞速发展,出现了WLAN、GPRs、CDMA等技 术。在最近几年中,无线局域网技术得到了迅速的发展,已经成为计算机网络 中一个至关重要的组成部分,其应用领域也随着飞速扩展。与GPRS、CDMA 等技术相比,随着IEEE 802.11无线局域网标准的制定成功,无线技术已经摆 脱了过去那种互不兼容的状态,无线局域网解决方案业已成为客户无线网络连 接的首选解决方案,如果采用标准IEEE 802.11b无线局域网,手持终端可以和 以太网、未来的wi—Fi电话网实现无缝连接。市场上基于802.11b技术的无线 网卡日益占据主导地位,各大厂商纷纷推出自己的基于802.11b标准的无线网 卡产品,从市场的角度来说,采用IEEE 802.1lb标准作为本手持终端中的无线 技术最为合适。 在本手持终端及无线网络视频监控系统的设计中,综合考虑无线网卡及AP 的性能、价格、厂家支持、市场购买渠道等因素,最终决定采用基于标准IEEE 802.11b技术的无线网卡及AP组成无线局域网;在网络拓扑方面,决定使用基 本infrastructure拓扑。 2.3嵌入式操作系统 2.3.1 嵌入式操作系统特点及分类 随着硬件的飞速发展,传统的前后台控制程序已经不能很好的满足嵌入式 系统性能的需求了。因此人们在这一领域引入了嵌入式操作系统,以便实现对 系统硬件及软件资源合理、高效的管理。目前全世界有很多嵌入式操作系统设 计生产厂商,据统计约有200多种嵌入式操作系统可供嵌入式系统设计人员选 择I“I 1171。 目前的嵌入式操作系统从应用角度可以分为通用型嵌入式操作系统和专用 型操作系统两种。当通用型操作系统应用到实际的嵌入式环境中时,一般都要 经过重新定制的过程,以适应具体环境的要求,比较典型的通用型操作系统有: Windows CE、Linux和VxWorks等;而专用型嵌入式操作系统,因为它是专门 为应用广泛、环境变化相对较小的嵌入式环境制定的操作系统,因此其在应用 时,可以不经裁剪直接使用,或是只需很少的设置即可,比较典型的专用型操 作系统有:Smart Phone、Symbian和PocketPC等。 如果按照操作系统实时性的划分,嵌入式操作系统又可以分为以下两大类 1161: (1)可抢占型实时操作系统。这类操作系统内核可以抢占正在运行任务的 CPU使用权并且将该使用权交给进入就绪状态的优先级更高的任务。 在这里,抢占CPU并将其交给其他任务的是内核,即操作系统的核心 部分。 可抢占型实时操作系具有良好的实时性。优先级高的任务只要具备了 运行的条件或是进入了就绪状态,就可以立即运行。这就是说,除了 优先级最高的任务以外,其他任务在运行时都有可能被它优先级高的 任务中断,让后者运行。通过这种方式的任务调度保证了操作系统的 实时性。应用比较广泛的嵌入式实时操作系统有:Windows CE.NET、 Linux和VxWorks等。 (2)不可抢占型实时操作系统,在一个任务运行时,该任务就完全获得了 CPU的控制权,直到它自己主动将CPU控制权交出。在这种操作系统 中,中断将由中断服务程序来处理,可以激活一个休眠状态的任务, 使之进入就绪状态,而这个进入就绪态的任务还不能立即被运行,必 须要一直等到当前运行的任务主动交出CPU的控制权。从上述这一点 来说,不可强占型操作系统的实时性比不使用操作系统要好,但是因 为一个任务的最长执行时间无法确定,所以该操作系统的实时性将会 打些折扣。 2.3.2 Windows CE.NET嵌入式操作系统 在嵌入式操作系统产品的市场竞争中,由微软推出的Windows cE虽然才 发布了数年,但是却抢占了很大一部分市场份额。Windows CE的成功,一方 面是因为微软强大的市场营销和推广能力以及其在Windows操作市场的成功; 另一方面,Windows CE.NET在结构设计上的合理性、先进性,适合嵌入式系 统的开发,也是让其取得成功的重要因素IIslll911201Illl。 Windows CE.NET是一种具有抢占式多任务功能的嵌入式操作系统,具有 强大的网络通信能力。它是微软公司专门为移动设备和消费类电子产品、嵌入 16 式应用等非Pc领域而设计的全新的操作系统产品。Windows CE.NET被微软设 计成为高度模块化、良好实时性、支持多种微处理器、通信能力强大的嵌入式 操作系统。以下将介绍Windows CE.NET的主要功能1221㈣12+1。 Windows CE.NET嵌入式操作系统主要包含四个模块125l: ●内核模块。 ●对象存储模块。 ●GWES(图像、窗口和事件子系统)模块。 ●通信模块。 内核模块是Windows CE.NET的核心,它主要负责内存管理、进程间任务 调度及多任务处理等核心功能。对象存储模块主要针对Windows CE.NET中与 文件相关的存储操作。GWES模块主要包括图形、窗口、事件子系统和与之相 关的用户界面。通信模块则主要负责对I/O接口的支持、远程访问服务、局域 网、无线服务及相关的传输协议等ⅢI。 Windows CE.NET出身于微软之手,我们可以将其看成是Windows的简化 版本,自然,Windows CE.NET也支持多任务处理。我们可以在Windows CE.NET 中同时执行多个任务,并在这些任务中来回切换。比如:我们可以在使用其自 带的简化版Word进行文字办公的同时,利用系统自身的Media Player听音乐。 Windows之所以会取得巨大的成功,其主要原因之一就在于其友好的用户 界面。当用户在使用Windows时,可以避免使用那些晦涩难懂的命令行代码来 进行用户操作,只需要简单的使用鼠标和键盘即可。作为微软在嵌入式领域中 力推的Windows CE.NET也具有上述的特点,其图形用户界面同样非常出色。 比如在Windows CE.NET中拥有微软的Internet Explorer浏览器和图片浏览器 等。 嵌入式系统中,电池的使用寿命是不可忽略的设计考虑因素之一。Windows CE.NET具有灵活的电源管理功能,它的睡眠/唤醒模式可以很好的延长嵌入式 产品中电池的使用寿命。 Windows CE.NET具有非常出色的通信能力。它支持各种通信硬件、局域 网连接和无线通信等,可以用于各种级别的数据传输和设备之间的互联,可以 提供与Windows 9x/NT的最佳集成和通信能力。 2.3.3本手持终端中嵌入式操作系统的选择 从应用开发的角度来说,Windows CE.NET遵循Windows平台应用开发规 范及微软解决方案,这使得在桌面系统上大量开发人员积累的知识和经验能够 迅速的应用到Windows CE.NET的开发中来,从而加快基于Windows CE.NET 嵌入式操作系统的应用开发速度。 Windows CE.NET支持微软的.NET战略,这使得开发人员可以轻松跨越设 备、PC、服务器,大大增强了Windows CE.NET的应用开发能力。 Windows CE.NET具有强大的仿真技术,开发人员能够使用Windows的桌 面版本平台进行开发和测试,而不需要额外的硬件支持。 Windows CE.NET提供了和以前Windows桌面版本系统相似的开发环境及 开发工具。它们的编程工具、函数和界面分格极为相似,这使得绝大多数应用 软件只需要经过部分的修改、裁剪和移植便可在WindowsCE.NET平台上使用。 对于本手持终端,采用Windows CE.NET作为嵌入式操作系统,可以获得 良好的人机交互界面,提高开发效率,高效合理的管理终端硬件与软件资源。 综合以上的考虑,在本手持终端中最终决定使用Windows CE.NET作为嵌 入式操作系统。 2.4 图像压缩编码技术 2.4.1 图像压缩编码标准简介 视频图像信息处理的过程中遇到的一个很重要的问题便是数字化图像的数 据量巨大。例如:一幅分辨率为1024×768的24位真彩色静止图像,就有2.36M 的数据量。如果进行视频处理,假设30帧/s,就会产生近70MB/s的数据,而 现在一张普通的光盘只能容纳上述9s的图像。因此要保存这些图像数据,需要 很大的存储空间12al。 面对如此巨大数据量的数字化图像的传输、存储、处理和交换等问题,图 像压缩编码成了当今通信和信号处理领域里的一个重要研究课题。数字图像压 缩的目的在于减少表示图像所需的位数,更有效的表示图像,以便于图像的处 理、存储和传输。下面介绍几种经典的国际标准图像压缩编码方法。 H.26x系列标准H 1.CCITT H.26l 1984年CCITT为制定ISDN视频信号传输标准而成立了“可视电话编码特 别组”,1988年由可视电话编码特别组(CCITT SGl5)提出了CCITT的H.261 建议,1990年12月通过了H.261即P×64kbit/s视听业务用的视频编码器。 这个建议是针对运动实时动态图像的压缩编码和解码,应用目标是可视电 话和电视会议。它采用混合编码方法,压缩比可达48:1。H.261覆盖了64— 1920kbit/s的信道,它的原理框架奠定了以后MPEG标准的基础。 2.CCITT H.26397I 1995年制定的H.263视频编码标准是专为中高质量运动图像压缩所设计的 低码率图像压缩标准。与H.261相比,H.263的码率更低,单位码率可以小于 64kbit/s,其支持的原始图像格式更多,如:CIF、EDTV、ITU—R 60l、ITu— R 709等。 H.263是基于运动补偿的DPCM混合编码,在运动搜索的基础上进行运动 补偿,从而得到输出码流。H.263在H.261建议的基础上,将运动矢量的搜索 增加为半像素点搜索;同时又增加了无限制运动矢量、基于语法的算术编码、 高级预测技术和PB帧编码等四个高级选项;从而达到了进一步降低编码速率 和提高编码的目的。 3.CCITT H.26L128l和H.264|29l 1301 1999年ITU.T以H.263为基础,开始研究新一代的低码率视频压缩标准 H.26L。为响应ISO/IEC MPEG对先进视频编码技术的需要,ISO/IEC与ITU—T 早2001年成立联合视频工作组JVT(Joint Video Team),在H.26L的基础上开 发了心的标准,即JvT标准。该标准在ITu.T中的正式名称为H.264。2002年 12月,JVT通过最好的标准草案,并于2003年3月被正式确定为国际标准Is (International Standard)。 H.264是目前图像通信领域研究的热点,它同样采用DPCM加变换编码的混 合编码模式,但它采用“回归基本”的简洁设计,不用众多的选项,但获得比 H.263+好得多的压缩性能。H.264应用目标范围较宽,可以满足不同速率、不同 分辨率以及不同传输场合的需求。 MPEG系列 1.MPEG一1Pll “运动图片专家组”(Moving Picture ExpeaGroup,简称MPEG)提出的“用 于数字存储媒体运动图像及伴奏率为1.5Mbit/s的压缩编码”简称为MPEG.1。其 作为ISO CD 11172号建议于1992年通过。它包括三个部分:MPEG视频、MPEG 音频、MPEG系统。采用MPEG.1标准的平均压缩比可达50:1,其处理能力可 达至FJ360×240像素。 MPEG.1视频压缩算法采用了三个基本技术:运动补偿(预测编码和插补 编码)、DCT变换编码技术和熵编码技术。 2.MPEG.2141 1993年提出、于1996年底公布的MPEG.2标准引用了MPEG.1标准的基 于DCT的、有运动补偿的、帧问双向预测的基本结构,并对此进行了扩展。 MPEG.2标准的处理能力可以达到广播级水平,即720×480像素。MPEG.2 标准兼容MPEG.1标准,适应于1,5-80Mbit/s编码范围。MPEG.2标准也是高 清电视(HGTV)全数字解决方案和DVD方案所采用的数据压缩标准。 3.MPEG.414I 1321 1331 MPEG于1991年5月提出关于视频音频编码的MPEG.4项目,1998年11 月成为国际标准。MPEG.4并不仅仅着眼、定义不同码流下的压缩编码标准, 而是更多地强调多媒体通信的交互性和灵活性,以及与其他领域的融合。 MPEG.4是一个支持视听数据,包括自然或人工视听对象的通信、存取和管理, 能实现交互性和高压缩比,以及具有很高程度的灵活性和可延展性的视听标准。 提供一个灵活的框架和一个开放的工具集,以支持各种各样新颖的功能。基于 内容的交互性允许用户修改、增加、删除或重定位一个视频场景中的对象,甚 至可以转换场景中的对象的行为,这是与MPEG前两个标准最大的不同。 MPEG.4的标准是开放式的,这使得它在处理不同形式的数据时具有较高 的灵活性,并使标准本身具备了可扩展性。在MPEG.4制定过程中,为了适应 传输不同码率、不同分辨率、不同质量视听数据的需要,对传输网络的系统结 构、比特流结构,从编码器到解码器的比特流句法、语法及部分参数的取值范 围做出了规定。引入了数据类的概念后,MPEG.4实现了与以往标准的兼容性, MPEG.1/2和H.261,H.263均能作为一个数据类被纳入到MPEG.4的框架中。 MPEG.4编码基本参数如下: (1)视频帧格式。彩色视频任一像素均可由RGB三基色决定,经过线性变 换产生亮度信号Y和两个色差信号(U,v)来表示。取样频率和量化等级是对视 频信号进行数字化的两个主要参数。 (2)宏块。视频图像帧处理时一般都采用从左到右、从上到下分成16×16 大小的宏块。具体的形状、运动和纹理编码都是基于宏块进行的。 (3)块。块是8×8矩阵,既可以描述未编码的源编码和解码后的重建数据, 又可以表示编码的数据元素。 MPEG.4常用的编码/解码算法有以下几种: (1)基本运动估计/牢h偿(ME/MC) MPEG.4采用基本块匹配ME/MC方法。该算法基本思想是对当前帧的每个 编码块在前一帧中一定范围内搜索出最佳匹配快,以用来代替当前编码块。 (2)无限运动估计(UMV:Unrestricted Motion Vector) 无限运动估计主要是使用重复填充技术,在矩形框边缘的宏块运动估计不 必考虑边界限制,对于一个矩形,可以在其四个方向上扩展到16×16的整数倍。 (3)高级预测模式(Advanced Prediction) 高级预测模块主要包括两种模式,一是使用自适应方法决定是使用16×16 宏块还是4个8×8块进行ME/MC,另一个是使用重叠的运动预测。 2.4.2 本手持终端中视频压缩技术的选择 随着科学技术的发展,计算机硬件设备价格不断下降,软件技术不断进步, 这使得基于网络的多媒体应用越来越广泛。可以说,网络多媒体应用与我们的 生活越来越近。但是,就现有的网络带宽和服务质量来看,在网络上传输大量 数据的多媒体信息仍然很吃力。因为:第一,多媒体文件的大小相对于网络带 宽来说依然很大;第二,现有的网络环境不够稳定,在传输大量数据的多媒体 文件时容易出现丢包和拥塞现象。这就需要我们选择一种高效、可靠的编码解 码算法来实现多媒体信息的压缩编码。与其他压缩编码相比,MPEG一4的一个 很重要的功能是可扩展性,它包括对象分辨率的可调性和对象本身的可调性。 前者是指视频图像的内容和质量能够以较为精细的间隔实现时域和空域的可扩 展性,后者则是指在解码后的场景中加入或删除视频对象的能力。因此,在可 获得的网络带宽变小时,我们可以通过降低传输的视频信号质量,以减少对传 输所需带宽的要求,从而保证视频通信的连续性。 MPEG.4引入了合成与自然混合编码,以往的编码把人工合成信息视为自 然信息的一个子集(如:把计算机图像视为视频),而MPEG.4则把这类数据 视为一种新的数据类型,支持数据混合编码,这样可以很大程度上提高编码效 率。MPEG一4是一种高效率的编码标准,其应用范围最宽到数字电视,最低可 支持移动多媒体或电子游戏。 MPEG-4图像压缩标准将众多的多媒体应用集于一个完整的框架内,为不 同性质的视频、音频数据制定通用、有效的编码方案,提出基于具体内容的视 频对象的编码标准。 MPEG.4的编码系统是开放的,可以为各种多媒体应用提供一个灵活的框 架和一套开放的编码工具,对于不同的应用环境开发者可以使用不同的算法。 综合以上的考虑,在本手持终端及无线网络视频监控系统中最终决定使用 MPEG.4作为视频压缩技术。 第三章手持终端的研究与设计 3.1 系统总体设计 3.1.1 无线视频监控系统网络拓扑 本手持终端及无线网络视频监控系统是基于802.nb无线局域网技术进行 视频数据传输的新型嵌入式系统,它使用当今比较成熟的图像压缩技术 MPEG.4对采集的视频数据进行编码和解码,并通过传输层协议进行视频数据 的传输。图3-1显示了本手持终端及无线网络视频监控系统的网络拓扑结构。 手 视 持 频 终 数 端 据 服 务 器 图3-1本手持终端及无线网络视频监控系统的网络拓扑结构 3.1.2手持终端总体设计 手持终端利用802.1lb无线网卡通过无线局域网与视频服务器进行数据交 互。首先手持终端从视频数据服务器上获得分布在企业楼宇中所有监控摄像头 列表,然后保安人员通过人机交互模块中的触摸屏从列表中选择所要监控的摄 像头,此时手持终端向视频数据服务器请求该摄像头视频数据,服务器在得到 手持终端发送的数据请求消息后,响应该请求,向手持终端发送视频数据。由 于该视频数据是采用MPEG.4技术压缩过的,因此手持终端首先必须对数据进 行解码,之后在触摸屏上播放该视频画面,达到电子巡更、无线监控的目的。 另外,本手持终端还可以使用一个非标准USB存储设备(如移动硬盘)对视频 图像进行保存,以便记录和实现视频回放及备份功能。手持终端的整体结构如 图3.3所示。 图3-2手持终端整体结构设计 3.2无线视频监控系统功能模块设计 从视频数据的角度来看,可以将系统设计分为数据采集模块和数据传输模 块。 3.2.1数据采集模块 首先我们利用分布在楼宇中的摄像头获取视频图像信息,在摄像头成功读 取到视频数据后,还需要对其进行压缩,在这里我们使用的图像压缩技术是 MPEG-4。之后我们通过数据传输模块将压缩后的数据发送至视频数据服务器。 数据采集模块的流程如图3-2所示。 图3-3数据采集模块流程图 3.2.2数据传输模块 我们将压缩后得到的视频数据利用802.11b无线网卡通过无线局域网发送 至视频数据服务器。在这里,我们使用基本infrastructure拓扑(BSS)作为该无线 局域网的拓扑结构。之后,手持终端通过与视频服务器进行数据通信,完成其电子巡 更、无线监控的功能。关于手持终端与视频服务器的数据传输及所采用的协议等,我 们将在下面的手持终端软件设计章节进行详细讲解,此处不再赘述。 24 3.3手持终端硬件设计 3.3.1 手持终端硬件的整体构成 本手持终端的硬件构成包括¥3C2410嵌入式微处理器、电源模块、存储器 模块、人机交互模块、无线网络模块。图3-4显示了本手持终端硬件的整体构 成。 图3—4手持终端硬件的整体构成 ¥3C2410是三星公司推出的为手持设备等相关应用设计的一款面向高性价 比、低功耗、高集成度的16/32位RISC嵌入式微处理器,包含一个ARM920T 内核。图3.5为ARM920T结构框图。 图3-5 ARM920T内核结构框图 ARM920T核由ARM9TDMI、存储管理单元MMU和高速缓存三部分组成。 其中,MMU可以用来管理虚拟内存,高速缓存由独立的16KB地址和 16KBCache组成。 ¥3C2410芯片使用ARM920T作为内核CPU,主频为203MHz,最高可达 260MHz。¥3C2410非常适合于低成本、采用电池供电的嵌入式应用,其芯片内 部集成了大量的功能单元。如041l删: (1)面向手持设备和通用嵌入式系统。 (2)16/32位RISC体系结构,使用ARM920T cI,u的强大指令集。 (3)ARM带MMU的先进的体系结构支持WINCE、LINUX。 (4)指令缓存(CACHE)、数据缓存、写缓存和物理地址TAG RAM,减小 了对主存储器带宽和性能和影响。 (5)内部先进的位控制总线(AMBA)。 (6)内置外部存储控制器(SDRAM控制和芯片选择逻辑)。 (7)LCD控制器,一个LCD专用DMA。 (8)内部1.8v,存储器3.3v,外部IO 3.3V,16KB数据CACHE,MMU. (9)3个通用异步串行端口,2通道SPI。 (1 0)2个USB HOST,一个USB DEVICE。 (11) 1个多主IIC总线,一个IIS总线控制器。 (12) SD主接口1.0版本和多媒体卡协议2.11版本兼容。 (13)看门狗定时器。 (14)4个PWM定时器和一个内部定时器。 n5)24个外部中断。 (161 117个通用IO。 (17) 电源控制模式:标准、慢速、休眠、掉电。 (18)8通道10位ADC和触摸屏接口。 (19)芯片内置PLL。 3.3.3存储器模块 当前NORflash存储器的价格比较昂贵,而SDRAM和NAND flash存储器 的价格相对来说比较适合,嵌入式系统采用NAND flash与SDRAM组合,可 以获得更高的性价比。¥3C2410支持NANDflash存储器。用户可以将bootload 代码和操作系统镜像文件固化到外部的NAND flash当中,采用NAND闪存 boot。当处理器上电复位时,通过内置的NANDflash闪存访问控制接口自动加 载bootload代码并且运行,此后bootload程序将操作系统镜像(如Windows CE 镜像文件)加载到SDRAM,之后操作系统就能够在SDRAM中运行。¥3C2410 将系统的存储地址空间分成8个bank,每个bank的大小是128M字节,共1G 字节。除bank0(只能是16/32位宽)以外,其他bank都具有可编程的访问大 小(可以是8/16/32位宽),其中最后1个bank起始地址是可以调整的,最后2 个bank的大小是可编程的,所有存bank的访问周期都是可编程的,总线访问 周期可以通过插入外部wait来延长删。NAND flash控制器结构图见图3-6。 系 统 总 线 图3-6 NAND flash控制器结构图 在本手持终端硬件设计的存储器模块中。作为boot的NAND flash存储器 采用的是三星公司的SmartMedia卡。采用SmartMedia卡进行大容量的数据存 储可以得到很高的性价比。由于¥3C2410专门有NAND flash接口,所以在硬 件上SmartMedia卡可直接与这个接口相连。在本平台中,SmartMedia卡用来 固化操作系统镜像和大容量的数据存储。根据应用中对于容量的需求笔者选用 64M的K9S1208VOM。它按照页自动编程,每一页大小为528字节;而擦除则 按照块进行,每一块的大小为16K字节。它在页面中读取单个数据的时间为 50ns。此外,SmartMedia卡还提供ECC错误纠正码,实现坏区检测以及实时映 射,这样它具有高达10万次的编程/擦除周期,数据保存可长达10年。 SDRAM用来运行操作系统以及各类数据的缓存,在此笔者选用三星公司 的K4S561632C,它的容量为32MB。在此系统中笔者使用2块K4S561632C, 实现位扩展,使数据总线宽度为32位,存储器总容量达到64M,它的地址空 间映射在¥3C2410的bank6。 为了实现视频回放及备份功能,在此最终选择使用一个非标准USB存储 设备(如移动硬盘)对视频图像进行保存。由于该设备是一个非标准USB设备, 因此需要对其进行驱动程序的开发,在第四章我们将会详细讨论Windows CE.NET下USB设备驱动程序的开发技术,故此处不在赘述。 3.3.4电源模块 本手持终端设备电源模块需要使用3.3V和1.8V的电压。在此我们使用T1 公司的TPS75833KTTT系列芯片进行电压转换。TPS75833KTTT系列芯片具有 3A快速瞬态响应的特点,可以提供非常低的静态电流,具有电源电压监控和节 省功率的关断功能。由于本手持终端设备采用电池供电,这正好满足了本设备 电源模块对低功耗、快速响应的需求。 3.3.5人机交互模块 在人机交互模块中,触摸屏或键盘用来获取用户输入,液晶触摸屏用来显 示用户界面、视频图像。在本手持终端设备中,采用夏普8.0英寸(分辨率640 ×480)的液晶触摸屏和PDA常用的软键盘来构成人机交互方面的设计。 3.3.6无线网络模块 目前市场上主流无线网卡的接口分为PCMCIA接口和USB接口两大阵营。 由于本手持终端采用¥3C2410作为嵌入式微处理器,而¥3C2410没有PCMCIA接 口,如果选择基于PCMCIA接口的无线网卡,则必须在手持终端的硬件设计中 加入一个专用的ISA—TO.PC Card控制器芯片作为转接设备。而相对PCMCIA接 口的无线网卡而言,USB无线网卡具有即插即用、携带方便、使用灵活等特点, 且¥3C2410具有两个USB Host接口,因此本手持终端采用华硕的WL-161无线网 卡。该网卡采用了USB接口,基于802.1lb的无线局域网技术,可以很好的满足 本手持终端的需要。无线网络模块结构图如3-7所示。 802.11b I¥3C2410卜。===》 USB无线网卡 WL.16l 图3—7无线网络模块结构 3.4手持终端软件设计 3.4.1 手持终端软件的整体构成 本手持终端的软件部分构成包括Windows CE.NET嵌入式操作系统、视频 数据传输模块、视频数据存储模块、无线网络模块、解码模块、摄像头监控选 择模块。图3.8显示了本手持终端软件部分的整体构成。 图3-8手持终端软件的整体构成 3.4.2 Windows CE.NET嵌入式操作系统 ¥3C2410作为一款优秀的ARM9处理器,可以运行如Windows CE,Linux 等主流嵌入式操作系统。Microsoft Windows CE是一个32位的、开放的、可裁 剪的实时嵌入式操作系统,被广泛应用于工业控制、信息家电、移动通信、汽 车电子、个人电子消费品等各个领域。与WindowsCE的其他版本相比,Windows CE.NET 4.2版本是目前应用最多、最成熟的操作系统平台,在本系统软件平 台中,最终确定选择WindowsCE.NET 4.2。 在WindowsCE.NET程序的开发中,PB(PlatformBuilder)是一个非常重 要的开发工具。PlatformBuilder是为基于微软WindowsCE.NET操作系统定制 特定嵌入式平台而提供的集成开发环境。它为开发设计人员提供了完整的设计、 创建、编译、调试Windows CE.NET平台的工具。它运行在桌面Windows版本 下,开发设计人员可以使用它来设计和定制操作系统内核、选择系统的特性、 对程序的编译和调试、进行驱动程序开发等。我们也可以利用Platform Builder 对Windows CE.NET系统内核进行适当的裁剪,去除一些不必要的组件(如: 红外支持),同时添加一些嵌入式环境必须的组件(如:Hive.based Registry)。 编写Windows CE.NET下的应用程序,需要使用微软提供的专门用于 Windows CE.NET的开发工具。工具的选择由开发者使用的具体语言而定。可 以选择的有EVC、EVB、Visual Studio.NET。因为嵌入式设备中资源都极其有 限,与EVB、Visual Studio.NET相比,EvC编译器效率较高,编译出的应用程 序结构紧凑,非常适合于嵌入式环境的应用,因此在本手持终端的软件开发中, 我们选用EvC。 WindowsCE被设计为一种分层结构,从低层向上分别为硬件层、0EM层、 操作系统层和应用层。Windows CE操作系统的开发首先是针对特定硬件的板 级支持包BSP的开发;其次通过Platform Builder裁剪和配置操作系统所需要 的组件;然后编译和调试定制后的操作系统内核、相应的组件以及BSP,最终 生成操作系统镜像NK.bin:之后将该镜像下载到目标设备中运行、调试。在完 成操作系统定制后,通过Platform Builder提供的导出向导工具(Export SDK Wizard)将该平台的SDK导出,这样就可以将该SDK安装在一台装有Embedded Visual C++的计算机上,开发出应用程序1311。 操作系统定制完以后,需要将其固化到目标设备中。为了实现镜像文件的 下载,可以使用JATG接口下载、EBOOT(Ethernet Boot Loader)下载、USB 下载和串口下载等。在本手持终端的设计中,为了将WinCE镜像固化到NAND flash存储器中,首先通过JATG方式将EBOOT监控程序下载到硬件设备中Flash 的首地址,系统上电后运行EBOOT监控程序,设置好下载地址并将硬件IP地 址设置成与提供Win CE镜像文件的PC在同一个子网中,安装好交叉网线并通 过Platform Builder利用网口下载wince kernel image,要下载的image名称为 NK.bin。系统镜像下载到SmartMedia卡中,改变boot方式,让S3C24lO从NAND flash启动,这样就完成了操作系统的固化,可直接启动了。 为了避免每次开机都要重新设置IP地址,首先需要在Platform Builder的 组件目录区里找到File Systems and Data Store,在其中的Registry Storage项中 选择Hive.based Registry并将其添加到操作系统工作区中,然后在Platform.reg 文件中加入如下注册项: ;@CESYSGEN IF FILESYS FsREGHIVE :HIVE B00T SECTION [HKEY—LOCAL—MACHINE\init\BootVars】 ”SYSTEMHIVE”=”system.hv” “Start DevMgr”=dword:1 ”RegistryFlags”=dword:1 【HKEY_LOCAL—MACHINE\init\BootVars】 ”DefaultUser”=”default” :END HIVE BOOT SECTl0N ;@CESYSGEN ENDIF FILESYS—FSREGHIVE ;@CESYSGEN IF FILESYS FSREGHIVE :HIVE BOOT SECTION 【HKEY_LOCAL—MACHINE\System\StorageManager\AutoLoad\FlashDrv】 ”DriverPath”=”Drivers\\BlockDevice\\FlashDI'V” ”LoadFlags”=dword:1 ”MountFlags”=dword:11 ”BootPhase”=dword:1 ”Flags”=dword:1 000 【HKEY—LOCAL—MACHINE\Drivers\BlockDevice\FlashDrv】 ”Prefix”=”DSK” ”Dll”=”FLASHDRv.dll” ”Order”=dword:0 ’’Ioctl”=dword:4 ”Profile”=”FlashDrv” ”FriendlyName”=”MS Flash Driver” ”MountFlags“=dword:11 ”BootPhase”=dword:1 ”Flags”=dword:1 000 ;Bind BINFS to the block driver [HKEY—LOCAL—MACHINE\System\StorageManager\Profiles\FlashDrv】 31 ”DefaultFileSystem”=”FATFS” ”PartitionDriver”=”mspart.dll” “AutoMount”=dword:l ”AutoPan”=dword:l “AutoFormat”=dword:1 :”MountFlags”=dword:2 ”Folder”=”ResidentFlash” ”Name”=”Microsoft Flash Disk” ”BootPhase”=dword:0 ”Flags”=dword:1 000 【HKEY—LOCAL—MACHINE\System\StorageManager\Profiles\FlashDrv\FATFS】 ”FriendlyName”=”FAT FileSystem” ”Dll”=”fatfsd.dll” ”Flags”=dword:00280014 ”Paging”=dword:1 ”CacheSize’’=dword:0 ”EnableCacheWarm”=dword:0 ”EnableCache”=dword:1 ”MountFlags’’=dword:2 ;END HIVE BOOT SECTION ;@CESYSGEN ENDIF FILESYS—FSREGHIVE 之后可以在应用程序开发时使用Windows CE.NET提供的注册表操作的 API函数,如:RegcreateKeyEx,RegOpenKeyEx,RegSetKeyEx,RegColseKey等, 在完成注册表编辑操作后,使用RegFlushKey函数实现注册表的刷新保存设置。 3.4.3无线网络模块 无线网络模块的功能主要是通过华硕公司的基于USB接口的无线网卡 WL一161来实现的。该无线网卡可与本手持终端的核心(即嵌入式微处理器 ¥3C2410)集成的USB主机接口直接连接,遵从802.1lb协议,能够满足本手 持终端及无线网络视频监控系统中视频数据传输的需要。以下将着重介绍该无 线网卡的安装配置问题并提出解决方案。 如果要使无线网卡在本手持终端中正常的运行工作,则手持终端必须能够 加载该无线网卡的驱动程序。由于华硕公司已经提供了该网卡在Windows CE.NET嵌入式操作系统下的驱动程序,在这里提出一个Windows CE.NET环 32 境下无线网卡驱动程序自动安装的解决方案。该方案内容具体如下: Windows CE.NET的物理内存由RAM和ROM构成。通常,操作系统和一 些内置应用软件(如:生产厂家设计的电源管理软件、蓝牙、红外等无线设备 管理软件等)安装在ROM中,而程序执行的时候是存储在RAM当中。ROM 存储设备即使在关闭电源以后,仍然可以保存其中的信息;而一旦系统掉电或 冷启动时,RAM中存储的信息就会丢失,尤其是与系统密切相关的注册表的信 息将会丢失,因此必须保持对RAM不间断供电。而在本手持终端的设计中, 由于采用电池供电,因此不能保证硬件电源可以持续向RAM供电。当我们安 装了WL.161无线网卡的驱动程序后,其信息将会存储在RAM中,系统在断 电或冷启动时,无线网卡驱动程序的信息将会丢失,此时需要工作人员重新安 装该驱动程序,而这显然是非常不便的。 对此,可以首先将WL.16l无线网卡驱动程序写入SmartMedia卡,之后从 手持终端的NAND flash存储器SmartMedia卡中读取该无线网卡驱动程序的 DLL文件和配置文件config.txt,并按照配置文件设置注册表键值,然后让 Windows CE.NET操作系统加载该驱动程序。 在这里,我们使用EVC(Embedded Visual C++)编写应用程序以实现无 线网卡驱动程序自动安装。该应用程序分为两大模块。 首先是驱动程序写入模块。该模块的功能是将无线网卡驱动程序写入到手 持终端的ROM存储器中。因为ROM中存储的信息是非易失性的,因此该模块 程序在本解决方案中只需在开始时执行一次即可。在Windows CE.NET嵌入式 操作系统下,对ROM设备进行打开操作使用的是CreateFile函数,该函数声明 如下: Handle CreateFile( LPCTSTR lpFileName,//设备对象名 DWORD dwDesiredAccess,//访问模式 DWORD dwShareMode,//共享模式 LPSECURITY ATTRIBUTES lpSecurityAttributes,//通常为NULL DWORD dwCreationDistribution,//创建方式 DWORD dwFlagsAndAttributes,//文件属性和标志 HANDLE hTemplateFile//临时文件的句柄,通常为NULL ) 如果调用成功,CreateFile函数将会返回该设备的句柄给writeFile函数,而 如果调用失败,CreateFile函数将会返回INVALID HANDLE VALUE。 在成功使用CreateFile函数打开ROM设备后,我们将使用WriteFile函数向 ROM设备写入无线网卡驱动程序。WriteFile函数声明如下: WrjteFjle( HANDLE hFile,//设备句柄 LPVOID lpBufer,//数据缓存区地址 DWORD nNumberOfBytesToWrite,//数据的大小 LPDWORD 1pNumberOfBytesWriteten,//读取字节数 LPOVERLAPPED lpOverlapped//一般设为NULL ) 在文件使用完之后,应及时将其关闭,以释放对它的占有权。在这里,我 们使用CloseHandle函数来完成该功能。图3-9显示了该模块程序的流程。 图3-9驱动程序写入模块流程图 其次为无线网卡自动安装模块。该模块的功能是将无线网卡驱动程序从本 手持终端的SmartMedia卡中复制到Windows CE.NET系统的/Windows目录下 并完成对注册表的配置操作,使得手持终端可以正常的使用该无线网卡。在 Windows CE.NET嵌入式操作系统下,对注册表进行创建和打开打开操作使用 的是RegCreateKeyEx函数,该函数声明如下: LONG RegCreateKeyEx( HEKY hkey,//要创建或打开的键的父键 LPCWSTR IpSubKey,//要创建或打开的键名称 DWORD Reserved,//被忽略,设置为0 LPWSTRIpclass,//指向包含键的类名称的字符串,如果没有类名称要 //指定,则设置为空字符串。 DWORD dwOptions,//被忽略,设置为0 REGSAM samDesired,//被忽略,设置为0 LPSECURITY_ATTRIBUTES 1pSecurityAtt“butes,,,通常为NULL PHKEY phkResult,//用于存储创建或打开的键的句柄 LPDWORD lpdwDisposition//用于存储子键是被打开还是被创建的信息 ) 如果RegCreateKeyEx数执行成功,则创建或打开子键,函数返回 ERROR_SUCCESS。在打开注册表的某个子键后即可设置键中的值了。在 Windows CE.NET@,可以使用RegSetValueEx函数向注册表写入键值。该函数 声明如下: LONG RegSetValueEx( HEKYhkey,//已打开的键的句柄 LPCWSTR lpValueName,/,设置键值的名称。如果该键值名称不存在, ,/则增添一个新值,否则修改该键值 DWORD Reserved,//被忽略,设置为O DwORD dwType,//设置键值的数据类型 eonst BYTE+lpData,//指向要写入的值缓冲区 DWORD cbData//指定IpData缓冲区大小 ) 如果RegSetValueExi至i数执行成功,函数返回ERROR SUCCESS。 图3—10显示了该程序模块的流程。 图3-10无线网卡自动安装模块流程图 为了实现无线网卡自动安装模块程序自动运行,采用修改Windows CE.NET注册表,增添系统启动项的方法来实现。在这里,定制Windows CE.NET 嵌入式操作系统内核所使用的工具为PB(Platfc·rm Builder),该应用程序通过 EVC编译并最终生成WLANCardDriverAuto.exe这个可执行文件。具体的解决 方案如下: (1)在common.reg文件中增加类似键的信息: “LauchSO’’=“WLANCardDriverAuto exe’’ ‘‘Depend80”=hex:14,00,1E,00 这个是设定启动顺序,Launch后面的数字越大的越是后启动,Depend80 后面的将指定依赖项,为16进制。上面Depend语句表明依赖项为launch20定 义的device.exe和launch30中定义的gwes.exe,注意Launch后面的数字范围只 能为0到99,此范围之外的将不会有效果。在这里我们选择80,它与Windows CE.NET中系统内核启动程序不相冲突。 (2)在project.bib文件中增加如下代码: WLANCardDriverAtitO.exe¥ (FLATREASEDIR)、WLANCardDriverAuto.exe NK U 此配置文件中的代码表示,将WLANCardDriverAuto.exe加载到名为NK 的内存区中(NK的定义在config.bib文件中的memory部分完成),文件的属性 为U(非压缩文件),这样就完成了把自己所开发的应用程序及其链接程序封装 进操作系统的“声明”。 (3)复制WLANCardDriverAuto.exe至ljPB当前工程目录下的Release文件夹 下。之后通过PB定制新的操作系统内核,这就使得该应用程序被封装到Windows CE.NET嵌入式操作系统中。每次手持终端设备掉电重启或系统冷启动后,都将 自动运行无线网卡自动安装模块程序。 3.4.4视频数据传输模块 TCP/IP是目前最流行的商业化的协议,并被公认为当前的工业标准或“事 实上的标准”。在TCP/IP参考模型的传输层中,定义了如下两种协议p81139114011411: (1)传输控制协议(transmission control protocol,TCP) TCP是一种面向连接的、可靠的传输层协议。TCP协议在网络层IP协议 的基础上,向应用层用户进程提供可靠性、全双工的数据流传输。它允许两个 应用进程之间建立一条传输连接,应用进程通过传输连接可以实现顺序、无差 错、不重复和无报文丢失的流传输。在一次进程数据交互结束时,释放其传输 连接。 (2)用户数据报协议(user datagram protocol,UDP) UDP是一种无连接、不可靠的传输层协议。它在完成进程到进程的通信中, 提供了有限的差错校验功能。设计UDP通信协议的目的,主要是希望以最小的 开销代价来实现网络环境中的进程通信目的。 当应用进程有报文需要通过UDP发送时,它就将此报文传送给执行UDP 协议的传输实体。此时该UDP传输实体将用户数据加上UDP报头形成UDP用 户数据报。然后在UDP用户数据报上增加IP报头构成IP分组,传送给数据链 路层。数据链路层在接收到IP分组后,在该IP分组上增加数据链路层帧头、 帧尾,形成一个典型的数据链路层帧,之后再通过物理层将其发送出去。由于 UDP是一种无连接服务协议,所以它没有建立传输连接的过程,它只需要将 UDP用户数据报传送给网络层。而网络层执行IP协议,选择该数据报的传输 路径。当该帧到达目的主机后,数据链路层、网络层按照协议规定进行检查。 如果没有发现差错,UDP协议将对用户数据报进行检查。如果检查后发现完全 没有错误,则去除UDP报头,按照目的端口号,将发送进程的数据传送给接收 端进程,从而完成了源进程与目的进程之间的数据交换功能。UDP具有以下特 点: (1)UDP是一种无连接、不可靠的数据报传输服务协议。UDP不与远端 的UDP模块保持端对端的连接,它仅仅是把UDP数据报发向网络,并从网络 接收传输的UDP数据报。 (2)UDP对数据传输过程中唯一的可靠性保证是进行差错校验。如果发 生差错,只是简单的丢弃该数据报。 (3)UDP协议在设计时的简单性是为了保证UDP协议在工作时的高效性 和低延时性。 (4)如果目的端收到的UDP数据报中的目的端口号不能与当前已经使用 的某端口匹配,则丢弃该数据报,并发送目的端口不可达的ICMP差错报文。 (5)UDP常用于传输延时小,对可靠性要求不高,有少量数据要进行传 输的情况。 由于UDP传输层协议采用了无连接的方式,并且只提供有限的差错控制, 因此UDP协议自身简单,在一些特点应用中协议运行效率较高。在网络高速发 展的今天,UDP逐渐发展成为一种非常重要的数据传输方式。其应用范围非常 广泛。如:IP电话、流式多媒体通信、网络视频、音频聊天大多都是采用UDP 方式进行数据传输。因此在本视频数据传输模块中,采用UDP协议。 基于Windows CE.NET嵌入式操作系统的UDP编程采用的是Microsoft Windows下的Socket套接字网络编程技术。定义Windows Sockets规范的目的 在于提供给应用程序开发者一套简单的API,并让各家网络软件供应商共同遵 守。Windows Sockets规范定义并记录了如何使用API与Internet协议族(IPS, 通常指的是TCP/IP)连接。在这里,尤其要指出的是所有的Windows Sockets 实现都支持流套接口和数据报套接口。应用程序调用Windows Sockets的API 以实现相互之间的通讯。Windows Sockets又利用下层的网络通讯协议功能和操 作系统调用实现实际的通讯工作。图3.1l显示了它们之间的关系。 应用程序 【网络编程 I Windows Sockets I 网络通信协议TCP/IP I 操作系统 如:Windows CE.NET I 物理通信介质 图3—11 Windows Sockets关系图 Windows SocketsAPI依靠套接字(Socket)进行通信。套接字在网络编程 中可以看成是两个网络应用程序进行通信时,各自通信连接中的一个端点。在 双方进行通信时,其中的一个网络应用程序将需要传输的一段信息写在它所处 主机的Socket中,该Socket通过网络接口卡(NIC)的传输介质将这段信息发 送到另一台主机的Socket中,使这段信息可以传达到其他应用程序当中。如果 不考虑网络通信过程中的传输介质和网络接口卡等因素,那么基于Sockets编 程的网络通信的实质就是由数据发送者将要发送的数据信息写入一个套接字, 再通过中间环节将信息传输到接收端的套接字中,之后就可以由接收端的应用 程序将该数据信息从套接字中读取出来。 基于Windows CE.NET嵌入式操作系统的UDP编程首先调用Socket函数 创建数据报套接字,之后调用bind函数绑定本地地址,待地址绑定后即可调用 sendto函数和recvfrom函数来发送数据和接收数据。上述函数说明如下: SOCEKT Socket( int af,//指定通信家庭地址 int type,//指定套接字。在这里我们选用SOCK DGRAM(数据报套接 //字)类型 int protocol//指定协议类型 ) 如果创建套接字成功,Socket函数就返回此套接字句柄,否则返回 INVALID SOCKET。 39 在创建了套接字以后,应使用bind函数将其绑定到一个已知的地址。 int bind( socEKT s,//指定所要绑定的套接字 coast struct socket*addr,//代表要绑定的地址 int namelen//指定第二个参数addr缓冲的大小,这里直接使用sizeof //(*addr) ) 如果调用bind函数出错,则返回SOCEKT ERROR。 因为本模块是在无连接的套接字上发送数据,则需要使用sendto函数。该 函数说明如下: int sendto( SOCEKT s,//指定已建立连接的套接字 coast char*buf,//指定要发送数据的缓冲区 int len,//指定要发送数据的长度 int flags,//指定sendto函数调用方式。这里设置为MSG—DONTROUTE coast struet socket*to,//指定接收方的地址 int tolen//to参数的长度 ) sendto函数执行成功后,返回发送的字节数,否则返回SOCEKT ERROR。 同样,因为本模块是在无连接的套接字上发送数据,因此需要使用recvfrom 函数。该函数说明如下: int recvfrom( SOCEKT s,//指定准备接受数据的套接字 eonst char*buf,//存储即将收到的数据缓冲区 int len,//指定buf参数缓冲区的长度 int flags,//这里设置为0 coast struct socket*from,//返回发送数据方的地址 int tolerd/from参数的长度 ) recvfrom函数执行成功后,返回实际接收到的字节数,如果返回 SOCEKT ERROR表示发生错误,而如果返回0则表示连接已经被中断。 图3.12显示了本视频数据传输模块中UDP客户端和服务器的编程流程图。 UDP客户端 首先调用WSAStarmp() 函数加载WinSock DLL动 态链接库 jl 调用socket()函数建立数 据报套接字,并返回套接 字S 』J 之后调用bind()函数将 套接字S和本地地址绑定 起来 U 调用sendto()函数发送数 据 Jl 调用recvfrom()函数接 _< 收数据 U 调用closcsockcn()函数关 闭套接字S UDP服务器端 首孝调旦WSAStartup(), 函数加载WinSock DLL动 态链接库 U 调用socket()函数建立数 据报套接字,并返回套接 字s U 之后调用bind()函数将 套接字s和本地地址绑定 起来 U 调用recvfrom()函数接 收数据 等待客户端发 ●__一 送数据 J 、 调用sendto()函数发送数 据 U 调用closesocket()函数关 闭套接字S 图3一12视频数据传输模块中UDP客户端和服务器编程流程图 3.4.5解码模块 本解码模块分为视频数据包获取模块和视频数据解码模块两大子模块。 (1)视频数据包获取模块 当本手持终端要求从视频数据服务器中获取视频图像信息时,服务器通过 UDP协议向手持终端发送视频数据包。这一系列的数据包需要被缓存,以交给 解码模块程序进行图像解码。在本手持终端的解码模块中,采用链表技术实现 了一个队列来管理这些视频数据包,调用该队列的流程见图3.13。 4l 开始 』 初始化队列 』 通过无线局域网 获取视频数据信息 l 将获得的数据包 加入到队列当中 l 对队列中的数据 进行图像解码 l 删除队列 l 结束 图3—13视频数据包队列处理流程图 (2)视频数据解码模块 本手持终端中采用的视频编码/解码标准是MPEG.4。在视频数据解码模块 中,我们选用FFMPEG作为视频数据解码工具。 FFMPEG是一套对音频和视频进行解码录制转换的完整的方案。它能够快 速实现音频视频格式转换,也能从音频视频源获取数据并将其保存。FFMPEG 是一个开源的视频压缩解决方案,最初是在Linux系统下开发,目的是为用户 提供一套快速高效的以MPEG标准为基础的视频压缩编码器。随着技术的发展 和改进,FFMPEG现在支持包括MPEG系列在内的众多视频压缩标准和数十种 常见的视频视频文件格式,成为一整套比较完备的格式转换、压缩编码、视频 音频文件播放的解决方案。FFMPEG能够运行在多种操作系统平台下运行,包 括Windows CE、Linux、Mac OS等。在本手持终端中采用FFMPEG软件对视 频图像数据进行解码。 FFMPEG库是音频视频数据的分离、转换和解码的完全解决方案,其中最 重要的两个库为libavcodec和libavformat库。其中libavcodee库包含了许多常 42 见的音频视频解码器,而libavformat库能很好的支持大部分的音频视频文件格 式。Libavformat库复杂解析各种音频视频文件并从中分离出音频视频流,之后 由libavcodec库对捕获的音频视频流进行解码。这两个库被kplayer和mplayer 等使用作为其解码器,而且,著名的音频视频播放器暴风影音的后端ffdshow 也使用FFMPEG的解码库。FFMPEG包括以下三个应用程序: (1)ffmpeg。这是一个复杂转换音频视频格式文件的软件。它支持文件、 网络流媒体、Tv卡输入等多种视频格式。 (2)ffplay。这是一个简单的可移植的多媒体播放器。它基于MPEG库, 于测试FFMPEG的API函数。 (3)ffserver。这是一个流媒体服务器。它可以使用各种输入格式(如: 流媒体、文件、TV卡输入等)。 在本视频数据解码模块设计中,首先从FFMPEG官方网站上下载其源代码 包,之后在手持终端上对其进行编译操作。通过阅读相关文档资料和使用教程, 掌握FFMPEG的用法。本解码模块的程序流程如下:在本手持终端获得视频数 据后,启动ffserver流媒体服务器,此时在后台会启动FFMPEG对原始视频图 像数据进行解码,其中解码参数从ffserver.conf文件中读取。我们可以在该文 件中设置不同的解码参数以适应不同压缩传输率的要求,例如: </Stream> Port 8080//ffserver流媒体服务器端口 BindAddress 10.17.10.95//流媒体服务器绑定地址 MaxBandwidth 11000//最大传输带宽限制。单位为kbits/s CustomLog一//日志文件 <Stream webeam.asf> Feed webeye.ffm//原始视频流数据 Format asf//采用asf文件格式 VideoSize 640*480//分辨率设置 传统的编码是将一个图像帧分为多个不同分辨率的图像层进行编码,其中 基本层构成最小分辨率图像,其他为增强层。对增强层图像进行处理时,要么 将其整个都丢弃,要么就将整个一层的图像都编码传输。在输出的码率范围内, 码率可以连续地变化,这种编码方式对带宽的要求也是一条没有拐点的连续曲 线,解码质量随着变率增加而增加。为了克服使用低质量参考带来的低编码效 率,需要使用较高质量的参考来做预测补偿,因为质量较高的视频图像与原始 视频图像更为相似。在此,我们对MPEG-4进行了一些改进:增加一个高质量 的参考来作为预测补偿,也就是说,增加增强层与基本层之间的参考路线,以 获得高质量的参考预测。这样既可以使用高质量的参考,又可以有较低的计算 43 复杂度,在编码效率方便可以做出一定的提高。与原有的编码方案相比,我们 将增加一条新的预测线路:高质量预测参考,使用这个预测的原有在于:增强 层的重构图像质量总是由于基本层的重构图像质量,因而可以提高较好的预测 结果及运动补偿,从而提高编码效率。 在这里,我们选用上述改进的MPEG.4算法作为本模块的视频数据解码算 法,本视频数据解码模块流程图见图3.14。 图3—14视频数据解码模块流程图 3.4.6摄像头监控选择模块 摄像头监控选择模块分为两个部分: ●摄像头列表获得 ●指定所要查看的摄像头 首先来看摄像头列表获得部分: 手持终端如果要查看摄像头视频数据,首先必须获得分布在企业楼字中所 有监控摄像头的列表信息。因为所有监控摄像头都通过无线局域网与视频数据 服务器进行数据交互,故服务器可以生成一个监控摄像头列表。本手持终端可 以通过向视频数据服务器发送获得摄像头列表请求,得到分布在企业楼宇中所 有监控摄像头的列表信息。下面将重点介绍本手持终端与视频数据服务器之间 通信架构的选择和建立。 在当今世界,科学技术正在飞速前进,尤其以计算机、网络通信为代表的 互联网技术的发展更是日新月异,令人眼花燎乱,目不暇接。由于计算机网络 网在社会经济、政治、人民生活等各个领域的应用以及网络的迅速普及和全社 会对网络的依赖程度,计算机网络已经成为国家的经济基础和命脉,成为社会 和经济发展强大动力,其地位越来越重要。因此人们对于计算机网络通信中的 架构问题进行了深入的研究,在这里,主要形成了两大架构技术阵营:B/S和 C/S。 C/S(Client/Server)结构。这是大家熟知的客户机/i11.务器结构。通过它可 以充分利用客户端及服务器端各自硬件环境的优势,将任务合理分配到客户端 和服务器端来实现,降低了系统整个的通信开销。目前大多数应用软件系统都 采用Client/Server的两层结构。但是由于现在的软件应用系统正在向分布式的 Web应用发展,Web应用和C/S架构应用都可以处理同样的业务,因此内部和 外部的用户都可以访问新的和现有的应用系统,通过现有应用系统中的逻辑可 以扩展出新的应用系统。这也就是目前应用系统的发展方向。 C/S体系结构虽然采用的是开放模式,但这只是系统应用开发这一级别的 开放性,对于特定的应用无论是客户端还是服务器都还需要特定的软件支持。 由于没能提供用户真正期望的完全开放环境,C/S结构的软件需要针对不同的 操作系统系统开发不同版本的软件,由于当今世界中产品的更新换代速度非常 快,它已经很难适应数百台电脑以上局域网用户同时使用,这时就会显现出其 代价高,效率低的缺点。 BIS(Browser/Server)。这是新兴的浏览器/服务器结构。它是随着Internet 的飞速发展,对C/S结构的一种变化或者说是改进的结构。在这种结构下,用 户操作界面是通过www浏览器(如:IE等)来实现,极少部分事务逻辑在前 端(Browser)实现,而主要事务逻辑在服务器端(Server)实现,形成所谓的 三层结构。这样可以大大简化客户端计算机负载,减轻了系统维护与升级的成 本和工作量,降低了系统的总体成本。 以目前的发展状况来看,局域网内部建立B/S结构的网络应用,并通过 Internet/Intranet模式下数据库应用,成本较低、应用简单合理。它具有很好的 45 开放性,能实现不同的人员,在不同的地点,以不同的接入方式(比如 LAN,WAN,Internet/Intranet等)访问和操作共同的数据库;此外它还能有效地 保护数据平台和管理访问权限,服务器数据库也很安全。特别是在JAVA这样 的跨平台语言出现之后,B/S架构管理软件更是方便、快捷、高效。 (3)管理软件主流技术。 管理软件技术经历了三个发展时期。 ●用户操作界面技术从最初晦涩难懂的DOS字符界面到Windows图形 界面(或图形用户界面GUI),直至Browser浏览器界面三个不同的发 展时期。 ●今天计算机的浏览器界面,非常直观和便于使用,具有良好的人机交 互性。而且更主要的是基于浏览器平台的任何应用软件的风格都是一 样的,用户对操作培训的要求不高,而且软件可操作性强,易于识别。 ·平台体系结构也从过去单用户结构发展到今天的文件/i11.务器(F/S)体 系、客户机/,ill务器(C/S)体系和浏览器/服务器(B/S)体系。 C/S和B/S是当今计算机网络通信中开发模式技术架构的两大主流技术。 C/S架构由美国Borland公司最早开发,B/S是由微软公司研发。目前,这两项 技术以被世界各国所掌握,国内公司以C/S和B/S技术开发出产品也很多。 C/S一般建立在专用的计算机网络上,局域网之间再通过专门服务器提供 连接和数据交换服务。而B/S不必是专门的网络硬件环境,例如电话上网,租 用设备,信息自己管理,所以B/S比C/S有着更广泛的应用范围,一般只要有 操作系统和浏览器即可。 C/S更加注重程序流程,可以对用户访问权限进行多层次校验,而系统运 行速度则较少考虑。B/S对访问速度及系统安全等多重的考虑,建立在比C/S 更加优化的基础之上。B/S结构的程序架构是今后发展的趋势,从MS的.Net 系列的BizTalk2000Exchange2000等,全面支持网络的构件搭建的系统。SUN 和IBM推的JavaBean构件技术等,使B/S更加成熟。 C/S程序必须出整体角度考察、处理问题。其系统升级较难,很能可以在 源C/S架构的基础上再做出一个全新的系统。而B/S架构可以实现系统的无缝 升级。其系统维护开销较小,用户从网上自己下载安装程序就可以实现系统升 级。 C/S程序可以处理用户面相对固定,并且处于相同区域,安全要求高的需 求。C/S架构非常强调操作系统,应该都是相同的系统。B/S可以面向不同的甚 至是处于分散地域的用户群,这是C/S无法作到的,而且B/S与操作系统平台 关系最小。 C/S多是建立在Windows平台上,对程序开发人员普遍要求较高。而B/S 建立在浏览器上,具有良好的人机交互性,并且大部分开发难度减低,降低了 开发成本。 本手持终端作为一个嵌入式应用设备,其系统资源非常宝贵,需要最轻量 级的减轻其通信负担;同时,本手持终端基于Windows CE.NET嵌入式操作系 统,具有内置的IE测览器,因此在这里选用B/S架构作为终端设备与视频数据 服务器的通信架构。可以在服务器端开发web services服务器程序,把所有监 控摄像头信息以列表的形式表现在ActiveX控件上,将该ActiveX控件置于提 供给用户浏览的页面之上,之后本手持终端利用服务器端IP地址通过使用操作 系统内置的IE浏览器对服务器进行访问,获得其所要的摄像头列表信息,并在 触摸屏上显示给用户。 当用户需要进行视频监控时,通过查阅获得的摄像头列表,选择其想要查 看的特定摄像头并向视频数据服务器发送图像数据请求,服务器在接收到该请 求后,利用无线网络模块中的通信技术,将用户指定的摄像头视频数据传输给 手持终端,终端首先利用解码模块中的技术对这些视频数据进行解码操作,之 后利用流媒体播放器将图像呈现给用户。 3.4.7视频数据存储模块 本手持终端采用非标准USB存储设备(如移动硬盘>两这一存储介质来实 现视频数据存储功能。与无线网络模块中向SmartMedia卡写入无线网卡驱动程 序类似,首先调用CreateFile函数打开该存储设备,待成功打开后,对该存储 设备剩余存储空间进行判断,如果剩余空间过小,则返回失败并提示用户;如 果有足够的剩余存储空间,则调用WriteFile函数将视频数据写入该存储设备, 最后还需调用CloseHandle函数释放对该存储设备的占有权。 由于Windows CE.NET自带的USB驱动程序可能无法识别非标准USB存 储设备,因此需要在Windows CE.NET环境下对其进行驱动程序开发,下一章 将详细讲述如何开发基于Windows CE,NET嵌入式操作系统的USB驱动程序。 第四章手持终端视频信息存储设备驱动程序开发 由于本手持终端使用一个非标准USB存储设备(如移动硬盘)作为视频 信息存储工具,因此Windows CE.NET自带的USB驱动程序可能无法识别该硬 件设备;同时,由于USB是目前计算机中应用最为广泛的接口之一,现在很多 的外接设备都是采用USB接口的,为了使该终端能正常识别并支持不同类型的 非标准USB设备的存储以及从USB接口可扩展性方面考虑,本章将详细介绍 基于Windows CE.NET嵌入式操作系统的USB驱动程序开发过程。 4.1 USB(Universal Serial Bus,即通用串行总线) 4.1.1 USB系统介绍 USB是由IBM、Microsoft、Intel、Compaq、DEC、NEC等公司为了简化 计算机与外围设备之间的连接而共同研发出的一种免费的标准化连接器。它可 以很好的支持PC与各种外设之间的连接,其技术直接影响到一些日常生活中 十分重要的外围设备,如:键盘、鼠标、移动硬盘等142l。 USB总线结构具有以下几个特点: ●即插即用。 ●支持热插拔。 ·为所有的外设提供了单一的、便于定义的标准化连接器类型。 ●可以使用多个外围设备同时与主机进行通信。 一般情况下,USB系统分为3个基本部件; ●主控制器驱动程序HCD。 ●USB驱动程序USBD。 ●主机软件。 其中的主控制器驱动程序HCD可以把不同的主控制器设备映射到USB系 统中。HCD与USB之间的接口叫做HCDI,特定的HCDI由支持不同主控制器 的操作系统来定义。 USB驱动程序USBD在主控制器驱动程序HCD之上,它提供了驱动级别 的接口,以满足现有设备驱动器设计的需求。USBD以I/O请求包的形式提供 数据传输架构,它通过特定管道进行数据传输。同时,USBD也是客户端设备 的一个抽象,作为抽象的一部分,USBD拥有默认的管道。通过它可以对所有 的USB设备进行访问以及进行标准的USB控制操作。该默认管道描述了一条 USBD和USB设备之间通信的逻辑通道。要建立起上述的管道,就必须有一个 管道通信的来源,这个来源被称之为端点。端点是一个USB设备中唯一可寻址 的部分,是主机和设备之间通信的目的或来源。总而言之,端点是地址而管道 是通信时临时建立的路径。图4.1反映了USB设备管道和端点的拓扑结构。 管道 端点 图4—1 USB设备管道和端点的拓扑结构 4.1.2 Windows CE.NET下的USB系统结构 通常情况下,Windows CE.NET下USB系统结构由两层结构组成: ·USB设备驱动程序层。 ·USB总线功能实现层。其中包括主控制器驱动程序HCD和USB驱动 程序USBD两部分。这层实际上是由Windows CE.NET实现的USB函 数层。 图4.2反映了Windows CE.NET下的USB系统结构。 USB设备驱动程序 g{}㈣USBD USB 主控制器驱动程序HcD n USB系统硬件 图4-2 Windows CE.NET下的USB系统结构 在这个结构中,HCD给USBD提供低层的支持,而USBD实现较高层次 的USBD接口函数。USB设备驱动程序通过调用USBD提供的借口函数和外围 设备进行通信。 4.2 Windows CE.NET的驱动程序模型简介及分类 与其他操作系统一样,Windows CE.NET也提供了驱动程序软件,这些软 件的目的是为了驱动系统内部和外围的硬件设备,或者为它们提供相应的接口。 通过驱动程序,操作系统和硬件设备可以很好的结合起来,操作系统能够很好 的识别设备并为相应的应用程序提供设备服务。在这里,可以把Windows CE.NET下的驱动程序理解为一个管道设备、服务或协议的软件模块。在 Windows CE.NET下,驱动程序模型被分为以下两种形式: ●本机驱动程序 ●流接口驱动程序 不同的驱动程序只能通过它们支持的软件接口来区分,不是它们所适用的 设备,驱动程序模型决定了指定驱动程序输出的软件接口。这些驱动可以是一 个整体,也可以被设计成分层的。驱动程序可以对设备直接进行操作,也可以 把对设备的操作和软件接口放在两个层上。在Windows CE.NET中,微软在其 提供的许多驱动程序中都采用了分层结构。如果设备被系统映射到内存中,驱 动程序可以直接访问他们,否则驱动程序必须使用下一层的设备驱动程序来完 成对该设备的操作。 在实际的嵌入式设备开发中,需要把WindowsCE.NET移植到目标设备平 台上,因此必须为目标设备平台自身附带的设备(如:LED显示器、电池、触 摸屏等)提供相应的驱动程序。这一类的驱动程序就是本机驱动程序。 本机驱动程序一般由Windows CE.NET中的GwES模块统一加载和管理。 因为本机设备驱动程序通常与基于Windows CE.NET的平台有着紧密的联系, 而每种本机驱动程序都有其特定的功能和目的,绝大多数的开发人员不需要编 写本机设备驱动程序,只有需要定制Windows CE.NET平台的原始设备制造商 OEM厂商除外。他们可以将微软提供的本机设备驱动程序移植到他们所开发的 平台上,也可以创建自己的本机驱动程序,之后一般会将该驱动程序与GwES 模块链接起来,而不需要普通用户对其进行加载,如:电源驱动在设备被制造 出来以后就被集成在了Windows CE.NET中,成为了GWES的一份子。 另外一种驱动程序模型为流接口驱动程序,它一般是为连接到Windows CE.NET平台上的外围设备而开发设计的。流接口驱动程序表现为用户一级的 DLL(动态链接库),它可以接收来自设备管理程序的命令和通过系统发送的应 用程序的命令。在Windows CE.NET平台下,流接口程序几乎可以支持连接到 Windows CE.NET平台的任何外围设备。在Windows CE.NET下,当需要连接 一个外围设备时,必须为该设备提供相应的驱动程序,而这个驱动程序需要通 过流接口驱动程序模型为该设备提供驱动级的支持。所有的流接口函数都使用 一组固定的函数,这些函数被称之为流接口函数。流接口函数集通过标准I/O 函数来表现设备的功能,通过设备管理器对其进行管理。设备管理器的主要作 用是在系统启动的时候或是外设初始化驱动程序时,通过读写系统注册表来加 载和跟踪设备驱动程序,在不需要该设备的时候对其驱动程序进行卸载,如: 向本手持终端插入移动硬盘时,设备管理器就会加载该移动硬盘相应的驱动程 序,当我们拔出该设备时,设备管理器又会自动卸载该驱动程序。 本文中所要重点介绍的USB设备驱动开发采用的是流驱动模式。由于流驱 动程序在Windows CE.NET中是以DLL(运行在用户模式的动态链接库)形式 存在的,因此既可以使用EVC也可使用PB来开发。使用PB开发驱动程序有 着以下几点的好处: ●可以使用内核调试器来帮组调试驱动程序。 ●可以把一个驱动程序打包或导出.Msi文件提供给OEM用户。 ●可以把一个驱动程序打包或导出.Cab文件提供给目标设各用户。 考虑到PB在编译内核方面的优势,在这里选择PB来开发USB设备驱动 程序。 4.3 Windows CE.YET平台下的1JSB设备驱动程序开发 严格的说,在WindowsCE.NET下编写USB设备驱动程序没有固定的格式, 这需要视外围设备的功能而定,但是一般而言,我们可以采用如下3种方式: ·使用流接口函数。 ●使用现有的Windows CE的API。 ●创建用户指定的API。 在这里,由于USB总线是串行总线,所以其在产生流式数据的设备方面应 用较为广泛,所以在USB驱动开发方面以流接口形式的驱动模式技术较为成 熟。因此在这里,使用流接口函数开发USB设备驱动程序。在Windows CE.NET 下编写USB设备驱动程序可分为两部分工作完成。一是需要实现控制设备的各 种流接口函数。这些流接口函数实现了如何操作具体功能设备,而这是与具体 设备相关的。表4.1列出了流接口驱动程序所要实现的DLL接口函数。 表4-1 流接口驱动程序所要实现的DLL接口函数 函数名称 XXX Close 功能描述 关闭设备 函数名称 XXX Write 功能描述 向设备写数据 xxx open 打开设备进行读写 操作 XXX Seek 移动设备数据的 指针位置 XXX Deinit XXX Init XXX Read 卸载设备 初始化设备 读取数据 XXX—PowerDown xxx—PowerUp XXX—IOControl 使设备休眠节电 恢复设备电源 上层软科:进行I/0 控制调用 上述函数中的“XXX”三个字母在实际程序开发时要由设备驱动程序的设 备文件名前缀所代替。Windows CE.NET的设备文件名前缀是由三个大写字母 组成,Windows CE.NET使用这三个字母来识别与该流接口驱动程序想对应的 特殊设备。文件名前缀存储在“Prefix”这一注册表键值当中。如果开发者需要 生产自己的流接口驱动程序,就需要指定这三个大写字母,它们可以是任意的 大写字母组合。如果开发者自己开发的驱动程序和Windows CE.NET下已经存 在的驱动程序是同一类型,则应该使用相同的文件名前缀。如果系统中的其他 驱动程序和开发出的新驱动程序前缀相同,该新驱动程序可以根据不同的索引 值与其他拥有相同前缀的驱动程序区分开来。 第二部分是必须实现三个入口点函数。所有的USB设备驱动程序在设计时 都被要求提供一定的入口点从而与USBD模块进行交互,Windows CE.NET规 定USB设备驱动程序必须提供的入口点如下: ●USBDeviceAttach。 ●USBInstallDriver。 ●USBUninstallDriver。 在这里以USB存储介质(STORAGE)为例,挖掘出上述各个入口点的部 分源代码进行分析说明其功能及重要性,以下是简化的代码及注释旧J: 首先是最为重要的USBDeviceAttach: B00L USBDeviceAttach0 { do{ //判断当前连接的这个 USB 设备是否是 USBMSC—INTERFACE CLASS //类型。这个类型常量是在usbmse.h文件中定义的,如果比较后发现 //该设备不是USB存储设备,那么结束这个函数,也就是说此驱动程 //序只能处理USB存储设备类型。 if(USBMSC_INTERFACE—CLASS f- UsbDriverSettings一>dwInterfaceClass){ DEBUGMSG(ZONE—ERR,(TEXT(”Not our Device Class:Ox%x\n”), UsbD“VerSettings一>dwInterfaeeClass)); bRc=FALSE; break; ) //当通过比较发现连接的该USB设备符合驱动程序要求时,调用 //ParseUsbDescriptors函数。该函数用来为该设备进行各种配置。 pUsbInterface 2 ParseUsbDescriptors(hDevice, UsbFuncs, UsbInterface, LPUSHORT)&ulConfiglndex); //分配内存空间,设置标识,从注册表特定的键值中读取信息。驱动 ,/程序可以通过该信息得知这个设备将通过哪种形式以及哪个DLL库 ,/向WindowsCE.NET操作系统提供接口,这也为以后的操作做了准 ||爸。 RegVal[0].Name=DLLSZ; RegVal[0].Type=REG—SZ; RegVal[0].Size 2 MAX_DLL—LEN; RegVal[O].Data=(PUCHAR)wsDriverName; if(!GetSetKeyValues(wsSubClassRegKey, &RegVal[0], GET’ FALSE)){ if(OxFF==bTempInterfaeeSubClass){ //retry using SCSI DEBUGMSG(ZONE—WARN,(TEXT(”Retry SubClass:0x%x with Ox%x\n”),bInterfaceSubClass,USBMSC—SUBCLASS—SCSl)); bTempInterfaceSubClass=bInterfaceSubClass; bInterfaceSubClass=USBMSC—SUBCLASS—SCSI; goto—retryDefault; )else{ DEBUGMSG(ZONE_ERR,(TEXT(”OetSetKeyValues failed!\n”))); bRe=FALSE break; if(0xFF f-bTempInterfaceSubClass){ bInterfaceSubClass=bTempInterfaceSubClass; ) //通过LoadDriver函数加载了另一个驱动程序的DLL文件,计数器加 //一,取到该文件中UsbDiskAttach函数及UsbDiskDetach函数的地 //址,注册事件通知处理函数,然后调用了该DLL文件中的 //UsbDiskAttaeh函数。 pUsbDevice一>hDiskDriver 2 LoadDriver(wsDriverName); pUsbDevice·>Index 2 Interlockedlncrement(&g_NumDeviees); ) 通过以上分析我们可以得知USBDeviceAttach函数的主要功能是初始化 USB设备,取得设备信息,对该设备进行必要的配置并为其申请到必须的资源。 当USB设备连接到计算机上时,USBD模块会调用此函数。 其次是USBInstallDriver函数: BOOL USBInstallDriver0 { //注册设备类别。 bRc=RegisterClientDriverID(wsUsbDevieeID); //注册设备细节。 ‘bRc=RegisterClientSettings(szDriverLibFile,‘ wsUsbDevicelD, NULL, &usbDriverSettings); ) USBInstallDriver函数的作用是创建USB设备驱动程序加载所需要的注册 表信息。该函数有一个唯一的参数表示的就是DLL文件的名称。 最后是USBUninstallDriver函数: BOOL USBUnInstallDriver0 { //以相反的顺序释放由USBInstallDriver函数注册的信息。 bRe=UnRegisterClientSettings(wsUsbDeviceID, NULL, &usbDriverSettings); bRe=bRe&UnRegisterClientDriverID(wsUsbDevicelD 1: } USBUninstallDriver函数的作用是删除USBInstallDriver函数所创建的注册 表信息,释放驱动程序所占用的资源等。 在WindowsCE.NET中,USBD通过查询固定的注册表项来加载驱动程序, 这个一般配置在HKEY LOCAL MACHINE\Drivers\USB\LoadClients下,每个 驱动程序的子键格式为GroupljD\Group2一ID\Group3 ID\DriverName,如果注 册表信息与USB设备符合,USBD就会加载该驱动程序。以USB鼠标为例: USB鼠标是标准的HID设备,它的协议为:InterfaceClassCode为3(HID类), InterfaceSubclassCode为1(引导接口类),InterfaceProtoeolCode为2(鼠标协 议类),所以它的注册表配置如下:[HKEY_LOCAL_MACHINE\Drivers\USB\ LoadClients\Default\Default\3一l一2\USBMouse】”DLL”=”usbmouse.dll”, USBMouse为需要加载的驱动程序名称。 随着Windows CE在嵌入式操作系统市场所占据的份额不断扩大,大量 USB设备将都会支持Windows CE.NET系统,为这些外设开发相应的设备驱动 程序会逐步成为研究热点。本文对于在Windows CE.NET下开发USB设备驱动 程序的分析研究,将会对这一领域有一定的借鉴意义。 第五章总结 传统的视频监控终端一般都是基于PC机的,其配置比较复杂、不便移动、 需要专人持续在PC终端进行监控,监控终端和服务器大都以电缆连接,在许多 不能用有线方式进行视频数据传输的场合,这种传统的解决方案便无能为力。 本文立足于视频监控和无线网络这两个相对独立的技术,并且结合嵌入式 技术,将监控终端设计成手持设备形式,很好的解决了上述的缺点。这将会极 大程度上方便监控保安人员,使得他们不必随时守候在PC监控机旁,实现企业 楼宇中电子巡更的任务。 本文主要介绍了一款基于ARM的无线视频监控手持终端的研究与设计。 本手持终端通过将先进的嵌入式技术、视频技术、无线网络技术有效的结合在 一起,具有便携式、低功耗、高电池使用寿命、硬件与软件资源管理相对高效 合理、人机交互性能良好的优点。 在本论文中,笔者详细介绍了该手持终端的硬件、软件平台的设计以及基 于Windows CE.NET嵌入式操作系统的USB驱动程序开发过程。 笔者主要做了如下工作: ·收集整理相关资料 ·系统所需主要技术的研究和分析 ·对基于ARM的无线视频监控手持终端的硬件、软件平台进行研究和设计。 详细阐述了该手持终端硬件、软件各个模块的功能及实现。 ·详细介绍了基于Windows CE.NET嵌入式操作系统的USB驱动程序开发过 程 通过完成上述各项工作,笔者对ARM9架构的嵌入式微处理器有了一定的 了解,掌握了无线局域网中的几种网络协议标准及网络拓扑技术,对Windows CE.NET嵌入式操作系统有了深入的认识并能熟练的使用PB(Platforill Builder) 定制其内核及使用EVC(Embedded Visual c++)开发其应用程序,提高了自己 使用C++语言进行编程的能力,对WindowsCE.NET下的网络通信编程及USB 设备驱动程序开发也进行了一定的研究和分析;同时,也深深感受到自己知识、 能力上的不足,在很多方面的研究都还没有深入透彻的进行。 尽管本手持终端的设计基本上达到预期的目标,但是我认为还有一些地方 有待将来做进一步的改进: ·用户图形界面不够美观,人机交互性有待进一步的改进。 ●目前本手持终端不能并行获取多个监控摄像头视频数据,下一步的工作可 尝试解决该问题。 ·解码模块可做进一步优化,如;增加一个专用MPEG.4解码器芯片,进一 步减轻嵌入式微处理器¥3C2410的负载。 由于受到时间和本人学识水平等因素的限制,在本论文中难免存在一些不 妥之处,敬请各位老师、专家批评指正。 参考文献 Basso A,Varakliotis S,Transport of MPEG一4 over IP/RTP.IN:IEEE International Conference,2000(2):1067—1070 【2】 Grehan R,Moote R,Cyliax I.Real-time Programming.A Guid to 32-bit Embedde Development.Bering:China Electric Power Press,2000 刘富强.数字视频监控系统开发及应用.北京:机械工业出版社,2003.3 嘲Ⅲ BehrouzA.Forouzan.DataCommunications andNetworking.北京:清华大学 出版社,2001 嘲 Li Gong.JXTA:a network programming environment.IEEE Internet Computiong,2001(5):88.95 嘲 Iain E G,Richarson.H.264 and MPEG.4 Video Compression.Video Coding for Next--generation Multimedia.JOHN WILEY&SONS LTD,2004 吲 Ville Hallivuori,Real-Time Transport Protocol(RTP)security,Seminar on Network Security.Tik一11 0.50 1,2000 吲 Dapeng Wu.On End·to—End Architecture for Transporting MPEG一4 Video Over the Internet.IEEE Trans Circuits syst VideoTechnol,2000,106 吲 马忠梅,马光云,徐英慧,田泽.ARM嵌入式处理器结构与应用基础.北 京:北京航空航天大学出版社,2002 孙红波.ARM与嵌入式技术.北京:电子工业出版社,2006 呷Ⅲ Joseph J.Carr.Mircowave and Wireless Communications Technology. Publisher:Butterworth。Heinemann,1996 m Cisco System公司,Cisco NetworkingAcademy Program.思科网络技术学 院教程:无线局域网基础.北京:人民邮电出版社,2005 【13】 IEEE 802.11.Standard,1997 [14】 IEEE 802.11a.Standard,1997 【15】 IEEE 802.11b.Standard,1997 【16] 姜波.Windows CE.NET程序设计.北京:机械工业出版社,2007 [17】 L.P.Maguie,T.M.McGinity,L.J.McDaid.Issues in the development of an tintegrated environment for embedded system design Part A:user needs and commercial products.Micrprocessors and Mirosystems.1 999,(9):46.48 [1 8】 Wong,William.Microsoft previews Windows CE 5.O at electronic/ESC 2004 Electronic Design.2004,(52):44.49 [19】 Labs,Wayne.Microsoft thins down WinCE to compete for embedded applications.Contr01 Solutions International.2003,(76):52.57 [20】 Pugh,Tom.Automated testing and windows CE,Dr.Dobb‘S Journal,v27, n12,Decembe r.2002,(7):54—60 [2 l】 Mintchell,A Gary.Windows CE moves from pocket to contr01.Control Engineering.1999,(46):5-9 【22】 Wang An·Hsiang,Lai Yueh-Yuan,Sun Cheng—Tung.Efeets of Palm and WinCE menu·design for PDA on users’operating performance and Subjective preference.Displays.2005.(26):97—1 02 【23】Nagl,L Krishnamurthi.Experiences using WinCE PocketPCs as computation and data acquisition platforms for ambulatory telemonitoring.Annual International Conference of the IEEE Engineering in Medicine and Biology --Proceedings.EMBC 2004,P 3373—3376 【24】 Zhang Cong,Wang Ping,Ma Wanli.Implementation of EPA communication Service based on WinCE.Computer Engineering.2005,(31):127-129 【25】周毓林,宁杨,陆贵强,付林林.Windows CE.NET内核定制及应用开发.北 京:电子工业出版社,2005 【26】徐立中,马小平.多媒体监控技术与系统.北京:国防工业出版社,2004 [271 Karel Rijkse.ITU standardization of very low bitrate video coding algorithms.Signal Processing:Image Commuication,1995.553·565 [28】 Gisle Bjontegaard.H.26L Test Model Long Term Number 8(TML一8)draft0. Jun,2001 [29】Thomas Wiegand,Gary J.Sullivan,Gisle ajontegaard,Ajay Luthra. Overview of the H.264/AVC Video Coding Standard.IEEE Transactions on Circuits and Systems for Video Technology,2003,13(7):560-576 【30】毕厚杰.新一代视频压缩编码标准.H264/AVC.北京:人民邮电出版社, 2005 【3l】ISO.ISO/IEC 11171-3.Coding ofmoving pictures and associated audio for digital storage media at up to about 1.5Mbps,part3,1993 【32】高文,吴枫.MPEG.4编码的现状和研究.计算机研究与发展,1999,36 (6):641.652 [33】MPEG·4 Video Verification Model version 15.0.ISO/IEC JTCl/SC29/WGl 1 MPEG98/N3093,Hawaii,DEC,1999 [34】 S3C2410X User’S Manual.Samsung Electronics,2004 【35] Sam sung Electronics.¥3C2410X 32·Bit RISC Microprocessor User’s Manual,Revision 1.2.Korea:Samsung Electronics Limited Company,2003 【36】欧明,魏臻.¥3C2410在ZigBee无线通信中的应用.科学技术与工程, 2007,17:4307.4315 【37】 Grehan,Rick.Windows CE--new software force in embedded.Computer Design.1998,(37):81-84 【3 8】 Adolfo Rodriguez.TCP/IP Tutorial and Technical Overview.7thEdition. 【39】 Publisher:Prentice Hall PTR,2001 W.Richard Stevens.TCP/IP Illustrated.Volume 1.The Protocols,October 1 993 [40】 Jeremy Bentham.TCP/IP Lean Web Servers for Embedded Systems. 2E.CMP Books,CMP Media LLC.,2002 [41]M.Tim Jones.TCP/IP Application Layer Protocols for Embedded Systems, Charles River Media,Inc。,2002 [42】 Compaq,Hewlet-Packard,Intel,Lucent,Microsoft,NEC,Philips.Universal Serial Bus Specification(Revision2.0、.2000 [43】 欧明,魏臻.基于Windows CE.NET的USB设备驱动程序开发.科学技术与 工程,2007,23:6218-6221 60 攻读硕士学位期间发表的论文 [1] 欧明,魏臻.¥3C2410在ZigBee无线通信中的应用.科学技术与工程,2007, 17:4307.43l 5 [2] 欧明,魏臻.基于Windows CE.NET的USB设备驱动程序开发.科学技术与 工程,2007,23:621 8-6221 61 基于ARM的无线视频监控手持终端的研究与设计 作者: 学位授予单位: 欧明 合肥工业大学 相似文献(10条) 1.学位论文 侯树静 基于无线局域网的嵌入式视频监控系统研究 2007 根据目前监控行业的现状及发展趋势,采用最新的嵌入式理念,利用各种网络通信技术,实现视频监控系统的数字化、网络化,已经成为监控领域 发展的主流。 本课题结合常州明景电子有限公司的网络高速球型摄像机开发项目,提出一种新的网络视频监控系统设计方案,将网络视频服务器的功能分散到前 端高速球型摄像机,在前端高速球机中嵌入Web服务器,并通过无线局域网连接到Internet,组成一个基于无线局域网的嵌入式网络视频监控系统,使用 浏览器就可以在用户端进行视频监控。 论文阐述了基于无线局域网的嵌入式视频监控系统的整体构建;将网络高速球作为研究对象,把嵌入式ARM微处理器应用于网络高速球的硬件设计中 ,介绍中央管理模块和网络接入模块的功能实现,组成以PRISM-2芯片组为主体的无线网络模块;论述嵌入式网络高速球的软件设计,完成uClinux操作 系统的嵌入和移植;构建了基于TCP/IP协议的嵌入式Web服务器;通过无线局域网实现了视频数据的无线传输;最后分析和讨论了系统调试过程中遇到的 问题,并提出进一步开发设想。 2.会议论文 罗海龙.毛征.王春华 基于WEB的无线局域网视频监控系统设计 2005 本文采用具有Web服务器功能的无线网络视频监控设备,设计了一种基于Web的无线视频监控系统;详细介绍了该系统的结构、组成和基本功能,并描述 了所用到的关键技术. 3.学位论文 周祥为 支持快速移动的无线局域网车载视频监控技术研究 2008 随着我国城市轨道交通的快速发展,安防、反恐等方面的考虑使得建立高效可靠的列车视频监控系统成为迫切的要求。本文将无线通信技术与轨道 视频监控技术相结合,研究无线局域网运用于轨道交通视频监控的关键技术问题。主要包括:无线局域网技术在快速运动场合下的网络性能,无线局域 网技术用于轨道交通的漫游切换问题,轨道交通无线视频监控系统的设计与开发等。论文的主要工作如下: 首先,研究了轨道交通无线视频监控系统的关键技术,包括视频监控技术,无线网络技术。分析各技术在轨道交通视频监控中的适用性,并根据分 析,提出了系统的技术方案。 接着,在真实环境下,通过测试研究无线局域网技术在快速移动下的网络性能。包括运动速度对吞吐量,响应时间,丢包率等网络性能指标的影响 。研究了无线局域网现有漫游切换机制,包括切换的种类、发生场合、标准切换过程,切换时延以及主要改进方案,并探讨了各改进方案在轨道交通场 合的适用性。通过测试研究了轨道交通中无线局域网切换过程对网络的实际影响。从而得出无线局域网技术对快速移动的支持性,以及现有漫游切换机 制无法满足轨道交通视频监控要求的结论。 然后,从轨道交通特点出发,提出了一种新颖的无缝视频传输切换机制-“交替多通道平滑切换机制”,从根本上解决了无线局域网漫游切换对车地 视频传输造成的损害,保证了快速移动场合下车地间可靠的无线传输。 最后,利用工业控制机,嵌入式系统,Linux网络编程完成了轨道交通无线视频监控系统的设计开发,成功地开发出满足城市轨道交通需求可用于上 海市地铁实际使用的无线视频监控系统。 4.期刊论文 刘亭亭.李柏年.张金生.王多银.LIU Tingting.LI Bonian.ZHANG Jinsheng.WANG Duoyin 基于无线局 域网的城市视频监控系统 -现代电子技术2008,31(9) 无线局域网在城市组网时具有布线少、对市容影响小、便于施工等优点,通过一个实际工程案例,介绍了基于无线局域网的城市视频监控系统的设计 、调试和优化过程.通过专业软件测试,系统性能达到了预期的要求.为了克服城市复杂地形对传输信号引起的多径快衰落现象,研制双极化天线用于城市 视频监控系统,提高了系统的传输性能. 5.学位论文 王国伟 基于WLAN的嵌入式视频监控服务器的设计与实现 2005 论文在深入分析嵌入式系统与无线局域网的基础上,重点研究了基于MotorolaColdfire5307嵌入式CPU和uClinux操作系统进行嵌入式设备软硬件开 发的若干关键技术,设计和研制了基于无线局域网的嵌入式数字网络视频监控服务器软硬件平台,为开发视频监控服务器提供了平台支撑,并针对数字 网络视频监控服务器的具体功能需求开发了应用软件。 全文共分五章。第一章概述了课题背景,说明了本论文的主要任务和章节安排。第二章构建了一个典型的视频监控服务器应用场景,提出一种基于 WLAN的嵌入式数字网络视频监控服务器设计方案。第三章首先简单介绍IEEE802.11WLAN和嵌入式系统的一些概念、技术特点,以及几种常用的嵌入式操 作系统;然后重点分析和研究了uClinux的内核和uClinux下软件开发技术。第四章详细阐述了嵌入式数字网络视频监控服务器硬件和软件平台的实现 ,包括图像采集与压缩编码方案的选择、硬件电路设计、uClinux的移植以及MPEG-4编码芯片驱动程序开发等,并且总结了硬件和驱动调试中的一些问题 和解决方法。第五章给出了嵌入式数字网络视频监控服务器应用软件的实现方案,着重讨论CGI程序、视频编码数据的网络传输程序和主控制程序的实现 ,并针对系统的安全性需求阐述了CGI的安全编程和包过滤防火墙功能的实现。 6.学位论文 王陆林 嵌入式无线视频监控终端的研究与设计 2008 本文采用总线接口的802.11g无线基带芯片WT6104CLVG,设计了一个基于802.11g无线局域网技术,S3C2410处理器和嵌入式Windows CE实时操作系统 的无线视频监控终端系统,能提供54Mbps的数据传输率,为大容量视频数据的传输提供了高速传输通道。该无线视频监控终端可通过无线AP方便地接入 无线局域网和有线局域网。 鉴于高精度实时视频信息量巨大,传输前需要经过编码的问题,本系统采用MpEG-4专用编码芯片IME6400对采集到的数字视频进行编码,然后通过无 线模块将生成的MPEG-4码流转发到无线局域网。 本文包括硬件设计和软件开发两大部分。硬件设计包括主控模块、视频采集与编码模块和无线模块的设计。软件开发包括基于Windows CE操作系统 板级支持包的移植、内核映像的创建、模块驱动程序和应用软件开发。 7.会议论文 王春华.毛征.罗海龙.张屿 基于无线局域网的视频监控系统设计 2005 本文提出了一种基于无线局域网(WLAN)的视频监控系统的设计方案,介绍了系统的总体结构及相应的关键技术,详细地描述了视频捕获、视频再现、 无线视频传输和移动终端PDA视频播放等模块的工作原理、过程及实现.同时,该系统使用IP组播和MPEG-4编解码技术,实现了一对多的视频传送。 8.学位论文 刘艳兵 数字矿山视频监控及导航系统的设计与实现 2009 目前我国煤矿井下地质条件复杂,工作环境恶劣,矿井巷道有时长达几十千米,作业地点分散,采煤机电设备及人员流动性大,巷道和采掘工作面 空间狭窄,环境中还存在着大量的有爆炸危险的一氧化碳、瓦斯及煤尘等空气混合体,导致工作人员在井下很难知道自身的位置和周围的环境设施,事 故隐患极大。 本文结合煤矿井下环境特性,在数字矿山综合无线局域网的设计基础之上,提出了煤矿井下视频监控和导航的设计方案,并顺利完成了煤矿井下视 频监控系统和导航系统的开发、调试,实现了对煤矿井下环境的无线远程视频监控和导航系统在Pocket PC2003模拟器中的模拟定位导航,为煤矿井下的 生产管理和安全管理提供了一种可供参考的解决方案。 首先,本文阐述了当前煤矿井下通信系统、视频监控系统、导航系统的国内外发展研究现状,为数字矿山综合无线局域网、井下视频监控系统、井 下导航系统的设计和开发提供了理论支持。其次,本文设计了数字矿山综合无线局域网的网络拓扑结构和逻辑结构,并全面分析了系统的各个功能模块 、技术特点以及系统控制端软件。再次,本文设计并实现了煤矿井下无线视频监控系统,详细设计了视频监控系统的实现目标、网络拓扑结构和逻辑结 构,讨论了对视频压缩标准、视频传输协议和方式的选取,分析了无线网络摄像机的构成,还着重分析了系统各个功能模块的开发实现细节。接着,本 文设计并在Pocket PC2003模拟器上实现了煤矿井下导航系统,分析了对eGIS开发平台的选取以及eSuperMap的特点和组织结构,并详细设计了井下导航 系统的实现目标、逻辑结构和数据组织结构,着重分析了井下导航电子地图的制作流程和系统各个功能模块的开发实现细节。最后,本文还完成了视频 监控系统在上湾煤矿井下巷道中的功能测试和性能测试,并根据测试结果详细分析了无线网络摄像机在煤矿井下巷道中的部署要求、网络性能、WLAN接 入流程以及在TCP和UDP协议下视频数据传输的细节。 9.期刊论文 胡荣华.楼佩煌.Hu Ronghua.Lou Peihuang 基于掌上电脑的工业现场无线视频监控技术研究 -计算机 测量与控制2006,14(7) 为了实现敏捷维修背景下装备制造系统的信息高效采集与处理,提出了一种基于掌上电脑的工业现场无线视频监控方法.简介了系统的原理和结构,阐 述了其模块设计和实现的关键技术,重点介绍了在Windows CE平台下的多线程程序设计技术.给出的应用实例表明,该方案能充分的满足工业现场视频监控 的便捷性、开放性和实时性的要求. 10.学位论文 鲁侃 嵌入式视频监控设备的关键技术研究及软硬件研制 2007 随着社会的发展,视频监控的需求不断增加,但目前大多数视频监控产品的价格偏高,特别是一些对图像质量要求不是很高而对价格却很敏感以及 监控结点较多的应用场合更是如此。针对这种现状,本学位论文提出了一种基于IP的低成本嵌入式视频监控设备的解决方案。在该方案中,廉价的USB摄 像头充当视频前端,嵌入式视频监控设备充当视频服务器,设备具有接入IP网络的以太网和无线局域网接口,其操作系统选择开源的嵌入式Linux操作系 统,视频监控图像可以通过网页浏览器或专用视频监控软件观看。 全文共分五章。第一章介绍了视频监控系统的发展概况和论文各章节安排。第二章首先概述了嵌入式视频监控设备,然后根据具体需求,设计了硬 件和软件总体方案。第三章在给出嵌入式视频监控设备硬件设计的基础上,详细论述了各硬件模块的研制,总结了研制过程中遇到的问题和相应的解决 方法。第四章介绍了嵌入式Linux系统下的软件开发方式,接着详细讨论了如何在嵌入式系统上实现嵌入式Linux操作系统,最后给出了系统所需驱动程 序的移植情况。第五章首先阐述如何在嵌入式Linux操作系统下采集图像,然后结合视频的实时传输问题介绍了实时流媒体协议,提出使用jrtplib来实 现视频的实时传输,介绍监控视频播放的两种实现方式。最后总结了论文工作并对下一步的研究给出了设想。 本文链接:http://d.g.wanfangdata.com.cn/Thesis_Y1207317.aspx 下载时间:2010年5月26日
更多简介内容

评论

下载专区


TI最新应用解决方案

工业电子 汽车电子 个人电子
$(function(){ var appid = $(".select li a").data("channel"); $(".select li a").click(function(){ var appid = $(this).data("channel"); $('.select dt').html($(this).html()); $('#channel').val(appid); }) })