首页 UPnP协议及其在嵌入式通信系统中的应用研究(可编辑)

UPnP协议及其在嵌入式通信系统中的应用研究(可编辑)

举报
开通vip

UPnP协议及其在嵌入式通信系统中的应用研究(可编辑)UPnP协议及其在嵌入式通信系统中的应用研究(可编辑) 四川大学 硕士学位论文 UPnP协议及其在嵌入式通信系统中的应用研究 姓名:蔡蕴文 申请学位级别:硕士 专业:电路与系统 指导教师:罗代升 20050101 协议及其在嵌入式通信系统中的应用研究 电路与系统专业 研究生: 蔡蕴文 指导教师: 罗代升 随着计算机网络和通信技术的迅猛发展,小型企业和家庭网络成了通信领 域的新热点,这一类网络规模虽“小”却“大有可为”。如何实现小型企业和家 庭网络中广泛存在的各种智能设备的互联互控是其中的...

UPnP协议及其在嵌入式通信系统中的应用研究(可编辑)
UPnP 协议 离婚协议模板下载合伙人协议 下载渠道分销协议免费下载敬业协议下载授课协议下载 及其在嵌入式通信系统中的应用研究(可编辑) 四川大学 硕士学位 论文 政研论文下载论文大学下载论文大学下载关于长拳的论文浙大论文封面下载 UPnP协议及其在嵌入式通信系统中的应用研究 姓名:蔡蕴文 申请学位级别:硕士 专业:电路与系统 指导教师:罗代升 20050101 协议及其在嵌入式通信系统中的应用研究 电路与系统专业 研究生: 蔡蕴文 指导教师: 罗代升 随着计算机网络和通信技术的迅猛发展,小型企业和家庭网络成了通信领 域的新热点,这一类网络规模虽“小”却“大有可为”。如何实现小型企业和家 庭网络中广泛存在的各种智能设备的互联互控是其中的一个关键所在。 由微软提出的通用即插即用协议正是为实现小型企业和家庭网络中 智能设备间的互联互控而提供的一种简捷高效、易于使用、灵活且基于 标准 excel标准偏差excel标准偏差函数exl标准差函数国标检验抽样标准表免费下载红头文件格式标准下载 的 方式。使用该技术,用户无需了解任何关于设备配置的专业知识,可以真正做 到“即插即用”。另外,由于是一个基于/协议的开放标准,它独 、 立于底层网络架构,可以工作在以太网、?或.无线网络、 电话线网络或电力线网络之上,提供了极大的组网灵活性,并且可以无缝融入 现有网络,最大限度地保护已有投资,降低组网成本。基于这些特点, 协议已被业界推为构建未来数字家庭的主流标准,其后孕育着巨大的市场,国 内在这方面的研究却刚刚起步。 本文对协议进行了深入分析,并对其在嵌入式通信系统中的应用做 了重点研究。主要工作如下: 针对目标平台完成了嵌入式操作系统的配置和裁剪,这有助于 节约嵌入式应用中的宝贵硬件资源,降低系统成本。 实现了针对目标平台闪存芯片的驱动程序,通过在驱动之 上构建可读写文件系统,就可以方便地实现嵌入式系统中动态数据的永 久保存。 深入分析了协议 工作原理 数字放映机工作原理变压器基本工作原理叉车的结构和工作原理袋收尘器工作原理主动脉球囊反搏护理 ,并在上实现了该协议。 其中利用开放源代码的优点,并做了针对目标平台的修改,很大程度地四川大学磺士学位论文 提高了开发的质量和效率。 提出了针对小型企业和家庭网络应用场景的基于的多媒体通信穿越 /解决方案,该方案利用了架构提供的设备发现和控制机 制,实现简便,普适性强且无需用户干预。 设计实现了一个网关设备程序. ,完成了目标平台对 协议的支持,实现了本文提出的/穿越解决方案。. 被设计作为系统中一个独立模块存在,这保证了和系统原有模块的低耦 合度,提高了系统的可扩展性和可维护性,同时也降低了开发难度;另 外,为了保证程序的处理效率,. 的设计实现中采用了多 线程技术和回调机制。最后根据开发中的经验教训,总结出了设 备的编写框架,这对于实现其他类型的设备具有很大的参考价 值。 关键词:协议嵌入式通信系统路由器 /多媒体通信?大学硬士学位论文 :: : , . . .. , , . . ” ”. , /, . , , , . ,. ..,. 四川大学硬士学位论文 .: . . . . ., . /..’ ” ’’. ,,‘ /.? , .,, ? . , .: , , ,/:四川大学磺士学位论文 第一章绪论 .课题背景及意义 随着计算机与互联网技术的普及,越来越多的小型企业和家庭开 始使用计 算机并接入因特网。目前的因特网基于技术,其总共位的地址空间在 互连热潮中显得捉襟见肘,网络地址已成为稀缺资源之一,为了降低接入成本、 简化网络管理,小型企业和家庭网络通过部署网关来共享连接。 通常网关借助网络地址转换州: 机制来 实现多主机共享单个公共地址接入因特网,同时通过在网关上配置防火墙 :来实现访问控制,保障网络安全。狂热的需求和这一接入方案 的高效性,使其成为绝大多数小型企业和家庭用户的接入选择。 内建/模块的网关设各在相当程度上解决了小型企业和家庭网络的 安全问题,缓解了现行网络地址匮乏的问题,也可以较好地支持基本 的因特网应用如:访问,但是对于近来因为宽带业务的普及、多媒体编 解码技术的突破以及技术的进步而蓬勃发展的基于的多媒体应用, /设备却不能很好地支持,无法做到“与时俱进”。现行网络中大量存 在的/设备己成为阻碍基于的多媒体应用发展的瓶颈之一,这一 问 题已成了业界的研究焦点。 目前针对这个问题的典型解决方案【有应用层网关: 技术、技术、代理技术和隧道机制。但是以上各个方案的可扩 展性、实施代价及便易性对于小型企业或家庭网络用户来说是个大问题。对这 些用户而言,涉及技术细节越少、操作越方便、投资越少的解决方案才是“合 适的方案”。本文提出并在目标平台??嵌入式路由器上实现的基于通 用即插即用: 协议架构的解决方案就是基 于这一目标,提供一种针对家庭和小型企业网络的理想解决方案。 协议是公司在年推出的用于构建未来数字家庭的标准, 其目标在于为家庭网络和小型企业网络中的各种智能设备提供一种简捷的互联 互控方式,以简化家庭网络的实现。目前,该标准联盟的成员数目已达到口大学硬士学位论文 家,这些成员中很多是业界领先的公司如:、、、等。 国内的家电企业和通信设备厂商也开始关注这一标准,参与到该标准的制定和 相关的应用研究之中。协议凭借其本身的技术优势和业顶级厂商 的支 持,将会是实现家庭和小型企业网络中设备互联的基石,推动家庭网络这一新 的通信热潮,这对于国内通信业和刚刚起步的信息家电业来说既是机遇也是挑 战,因为标准后面蕴藏的不仅仅是巨大的市场,更是主导产业链利益分配的主 动权,可以说产业竞争就是从标准开始。 鉴于此,研究协议及其应用有着深远的现实意义,这也正是本课题 的立足点和意义所在。本文首先全面、深入地分析了协议,并在一个嵌 入式通信系统、台上实现了该协议,随后提出了利用架构解决小型企业 和家庭网络中的多媒体通信穿越作问题的方案,最后通过为开发平台开 发了一个提供服务的网关设备程序.“”表示该程序工作 在平台,“”表示程序基于架构,“”表示该程序遵循 论坛的工作委员会制定的因特网网关设备规范实现了该方案。 .嵌入式通信系统 通信与计算机的结合彻底改变了我们的世界,而各种各样的通信设备是实 现这一切的基础。目前,绝大多数通信设备都是以嵌入式系统的方式实现的。 嵌入式系统一般是指非而又具有计算功能的系统,它以应用为中心,软 硬件可剪裁,针对特定应用场合,在功能、可靠性、体积、功耗、成本等方面 有严格 要求 对教师党员的评价套管和固井爆破片与爆破装置仓库管理基本要求三甲医院都需要复审吗 的专用计算机系统【。嵌入式通信系统是嵌入式技术在通信领域的 应用,嵌入式处理器、嵌入式操作系统、网络通信协议模块是其中的核心组件。 ..嵌入式微处理器 处理器是一切信息设备的“心脏”。随着信息技术和互联网络技术的发展, 嵌入式产品的功能日趋复杂,越来越多的应用系统采用了高性能的位微处理 器,以满足产的嘲络化功能。为了满足嵌入式应用的要求,嵌入式处理器一般采用精简指令柴计算机: 技术,具有 高性能价格比、低功耗、散热小、稳定性高及占用面积小等特点。 四川大学硬士学位论文 、、 目前嵌入式处理器主要有/、、、 、系列等,其中、和在嵌入式通信系统的开发 中占据了重要地位。特别让人鼓舞的是,在核心技术长期被跨国公司垄断的嵌 入式微处理领域,我国已取得了零的突破,“神州龙芯”、“方舟系列”、“星光系 列”陆续粉墨登场,结束了中国的“无芯时代”。 ..嵌入式操作系统 对于面向通信、网络、信息处理等领域的产品,人们要求其实现的功能复 杂、可靠性高,于是对微处理芯片和软件都提出了更高的要求。嵌入式操作系 统的出现,为人们解决复杂的应用提供了可靠的保障。 嵌入式操作系统具有通用操作系统的特点,如有效管理系统中的资源,将 硬件虚拟化,使开发人员摆脱了一些繁琐但又重复性的和底层硬件相关的工作 如:一些通用硬件的驱动移植,缩短开发周期,增加代码可移植性以最大化 地复用以前的成果;同时它也有自己的特点,如:有些嵌入式应用要求操作系 统具有较高的实时性、软件的固态化、硬件的相关依赖性和高度可剪裁性。 目前,业界存在着多种嵌入式操作系统,如公司的、 的、微软的、以及本文讨论的嵌入式等等。但 是其中的大部分都是商用系统,开发费用及开发灵活性不易控制, 而对于嵌入 式开发来说,这两点尤其重要。在网络通信应用领域,和因功 能强、性能可靠而被国内外通信设备开发商如:国内的中兴、华 为、等通 信公司广泛使用,大量用于通信设各和个人手持设备中,但这种 局面随着嵌 入式的出现正在发生变化,表比较了嵌入式和专用嵌入式实 时操作系统以及它们在作为路由器开发平台时各自的特点。 事实证明嵌入式已显示出其强大的生命力,根据的调查,在 未来三年嵌入式领域优先采用的操作系统调查中,嵌入式以.%排 在各操作系统的首位。四川大学硬士学位论文 表一和嵌入式在开发路由器中的比较 项目:开发路由器 使用专用操作系统 使用嵌入式操作系 统 产品上市时间 长达个月 仅需个月 投入开发的人力 多达六人以上 只需三人 产品的成本 每台路由器需交一份版权费.成本 没有任何附加费用 大大提高 产品功能的丰富性 一般,增加模块需另外购买 丰富.移植开源软件 网络特性 需支付昂贵的费用另购网络模块 免费获取源代码,且因继 如:动态路由协议库.自行 承自标准.稳定性 开发的话,稳定性差,开发时间更 好,开发时间短 长。 产品升级以及对新 厂家反映慢,支持慢,不一定能支 利用全世界自由软 网络协议的支持 持新特性 件开发团队的力量。反应 迅速 .嵌入式路由器简介 嵌入式 路由器是一种低端网络接入设备, 适合于小型企业和家庭网络的宽带接入。 路由器在构造、功能、价格等各方面,都与传统的路由器相去甚 远, 一般主要提供简单的路由服务以及防火墙功能,其中的网络地址翻译模 块实现了共享接入,有效缓解了现行网络地址短缺的状况。另外, 路由器配置简单、成本低廉、体积小巧、电源功耗也/、适宜长时间开机在 线工作等特点也是成就其广阔市场的因素,已经成为了网络设备开发商的一个 追逐热点。 本课题正是围绕为嵌入式路由器增加协议支持而展开的。 】本文工作平台简介 本文采用了宽带通信半导体公司公司的基于 处理器的硬件平台后文中将简称其为“目标板,平台”,这是 一种网关/路由器的单芯片解决方案。开发板的硬件结构如图.所示。 其中,处理器为 . ,. 基于 一内核,主频,附带扩展指令,内置各种控制器,能方便 四川大掌磺士学位论文 进行外围扩展,更为主要的是它针对网络应用内置了一个功能强大的交换模块, 用于完成以太网数据交换【】。 另外,板上主要扩展了一个的芯片和的芯片, 前者用于存放系统引导程序、压缩的内核映象、压缩的 的根文件系统以及系统的一些配置参数;扩展的用于运行解压 后的内核和应用程序。 因本文的重点不在硬件部分,所以文中对此将不作进一步详述。? / 口 ?? 习围 口 甄竺 口 竺到?; 匕掣 嚣 群 口 面匣 ?恒 皂 图.硬件结构 .本文的工作及薪意之处 本课题的所有工作都是围绕对协议的分析以及为课题所采用的 开发 平台??基于和的嵌入式路由器增加协议的支持 而展开的,这是利用架构解决小型企业和家庭网络中的多媒体应用穿越 忭问题的关键一环。 其中主要工作如下: 针对目标板完成了嵌入式操作系统的配置和裁剪,这有助于节 约嵌入式应用中的宝贵硬件资源,降低系统成本。 实现了针对目标平台闪存芯片的驱动程序,通过在驱动之四川大学硬士学位论文 上构建可读写文件系统,就可以方便地实现嵌入式系统中动态数据的永 久保存。 深入分析了协议工作原理,并在上移植实现了该协议。 其中利用开放源代码的优点,并做了针对目标平台的修改,很大程度地 提高了开发的质量和效率,是本文的新意之一。 提出了针对小型企业和家庭网络应用场景的基于的多媒体通信穿越 /解决方案,该方案利用了架构提供的设备发现和控制机 制,实现简便,普适性强且无需用户干预。这是本文的新意之二。 设计实现了一个网关设备程序. ,完成了目标平台对 协议的支持。. 被设计作为系统中一个独立模块存在,这 保证了和系统原有模块的低耦合度,提高了系统的可扩展性和可 维护 性,同时也降低了开发难度。另外,为了保证程序的处理效率,. 的设计实现中采用了多线程技术和回调机制。最后根据开发中的 经验教训,总结出了设备的编写框架,这对于实现其他类型的 设备具很大的参考价值。此处是本文的工作重点,也是本文的新 意之三。 .论文安排 本论文共分为章,每章安排如下: 第~章:介绍了课题的背景、并对课题涉及的相关技术和开发平台 做了一 些基本介绍,最后提出了本文的主要工作内容和章节安排。 第二章: 首先归纳分析了在利用进行嵌入式开发时必须考虑的~ 些重要特性,接着介绍了本文的软件开发模式,最后在目标平台 上构建了基于 的软平台并分析了系统的启动过程。 第三章:对网络架构、协议模型以及设备的工作过程进 行了详细地分折,随后剖析了提供的标准下的开源协议栈的 实现结构及原理,最后在目标平台上实现了协议栈。 第四章: 首先通过实例分析了基于的多媒体通信应用和/设备 一起工作时可能会出现的问题及其原因,接着阐述了如何利用四川大学硬士学位论文 技术来解决这些问题,其中对目前现存的其他穿越方案也做了简 单介绍,并和 方案做了比较。 第五章; 提出了设备的实现框架,并设计实现了一个基于 平台、支持的网关设备应用程序 ,这是利用架构解 决小型企业和家庭网络中的多媒体应用穿越/问题的关键一环。 第六章,全文总结。四川大学磺士学位论文 第二章基于的嵌入式通信软件开发 通信与计算机的结合彻底改变了我们的世界,而各种各样的通信设备是实 现这一切的基础。在绝大多数通信设备中,嵌入式通信软件发挥着越来越重要 的作用。如何提高嵌入式通信软件的开发效率、增加系统的鲁棒性和可移植性、 降低开发成本这些已成为业界思考的焦点问题。缘于目前技术的迅猛发展, 很低的硬件成本就可获得较高的处理能力,在一些低端的网路通信设备中使用 嵌入式操作系统已经不是问题。作为一个经标准裁剪而来、开放 源码、高度优化、开发资源丰富的嵌入式操作系统,非常适合在低端网络通信 设备中使用。 本章围绕在本课题的目标平台??低端网络通信设备中的应用展 开讨论。首先结合实际开发中的经验教训,归纳分析了在利用进行嵌 入式开发时必须考虑的一些重要特性,随后介绍了本课题的开发模式,最后在 目标平台上构建了基于的软平台并分析了系统的启动过程。 . 系统分析 ..简介 是的一个嵌入式版本,它针对无 ,内存管理单元的处理器设计用于嵌入式系统的处理器为了降低成本和 功耗,经常去除模块】。由于在标准基础上进行了适当 的裁剪和优化,使它具备了高度优化,代码紧凑内核的二进制映像文 件可以做到小于,支持多任务,具有完备的/协议栈并支持多种网 络协议以及丰富的文件系统如,,/支持等特点。另外, 可移植性很强,用户通过重新配置、编译内核,可以很方便地将其 移植 、、 、等多种处理器计算平台。更为重要 到 的是开放源代码并且继承了下丰富的开发资源包括技术人才和 技术积累,能够大大降低开发的成本和开发周期,这两点对于嵌入式系统的开 发成功意义重大,因此在面世后不久就博得众多嵌入式开发者的青睐。目前,已成功应用于路由器、网络摄像机、机顶盒、等诸多领域。 下面讨论下开发相关的问题,主要针对不同于标准之处。 ..存储器管理及相关问题 针对无的微处理器,微控制器而设计,因此没有的支持 是与主流的基本差异。 由于没有的支持,不能使用虚拟内存管理技术,但它仍然采 用存储器的分页管理,系统在启动时对实际存储器进行分页嘲,在加载应用程 序时分页加载。相对于虚拟内存管理技术,实际上采用了实存储器管 理策略。在这种方式下,系统对于存储器的访问是直接的,所有程序 中访问的地址都是实际的物理地址,这样一来。操作系统对内存 空间没有任何 保护,系统中各进程共享一个运行空间。当应用程序进程错误访问了系统进程 地址空间时,系统就会崩溃掉,所以这无形中增加了开发人员的负担,要求开 发人员对程序进行严格设计和测试以保证系统的健壮性和安全性,并且要求系 统在一个进程执行前必须为之分配足够韵连续地址空间,然后全部载入主存储 器的连续空间中。 因为不支持,使得一些标准下的系统接口需要作相应 改变。最大的不同就是没有和系统调用。系统调用复制父进程 来创建一个予进程。在下,是使用.页面来实现的。由 于没有,不能完整、可靠地复制一个进程,也没有对. 的存取。为了弥补这一缺陷,实现了,当父进程调用来 创建子进程时,两个进程共享它们全部的内存空间,包括堆栈。子进程要么代 替父进程执行此时父进程已经直到子进程调用退出,要么调用 执行一个新的进程,这个时候将产生可执行文件的加载,即使这个进程只 是父进程的拷贝,这个过程也不能避免。当子进程执行或后,子进 程唤醒父进程,父进程继续往下执行。本文后面部分在设计以方 式工 作的网关应用程序. 时就涉及了这个问题。 既没有自动生长的堆栈,也没有函数,用户空问的程序必须 使用命令来分配内存。为了方便,在的函数库中所实现的 四川大学硬士学位论文 实质上就是一个。在编译时,可以指定程序的堆栈大小。 ..内核运行方式 的内核有两种可选的运行方式‘:在闪存上直接运行;/?载到 内存中运行。 闪存中运行的方式: 内核的可执行映像文件被烧到闪存上,系统启动时从 闪存的某个地址开始逐句执行。 加载到内存中运行的方式:内核的压缩文件存放在闪存上,系统启动时读 取压缩文件并在内存里解压,然后开始执行。这种方式相对复杂一些,但是运 行速度更快。本文的开发平台使用了这种方式。 ..文件系统 采用作为其根文件系统,这种文件系统相对于一般的 文件系统要求更少的空间。空间的节约来自于两个方面;首先内核支持 文件系统比支持文件系统需要更少的代码;其次文件系 统相对简单,建立文件系统超级块需要更少的存储空间。 文件系统不支持动态擦写保存,对于需要动态保存数据的系统应 采用虚拟 盘的方法进行处理盘将采用文件系统。 应用程序如果需要以文件方式交换数据,可以将它存储在/目录 下。这 一目录实质上就是虚拟的盘。不过在掉电时,这些数据就会丢失。 如果希望在掉电时,信息仍然可以保持,那么就要把它写到中。这 时,就可以使用/文件系统。可以通过修改//.和 //.中的有关内容,增加内核对和的支持。 ..应用程序库 小型化的另一个途径是重写了其应用程序库,相对于越来越大且 越来越全的库,经重写的更适合嵌入式应用。 提供大多数的类的程序调用】。如果应用程序需要用到 中没有提供的函数,这些函数可以;至 中、或者作为一个独立的 库、或者加到应用程序中进行链接。 四川大学硬?学位论文 对用户程序采用了静态链接方式,这样会使生成的可执行文件交 大,但是由于其本身内存管理的缺陷,只能如此。在本文后面就是 将协 议栈编译成静态库的方式以和后面设计的. 程序静态链接。 .软件开发模式 嵌入式系统的开发一般采用宿主机/目标板模式,如下图所示: 图.宿主机/目标板模式 其中,宿主机指的是运行交叉编译器为目标系统生成可执行代码的主机。 目标板指的是待开发的系统。 宿主机和目标板之间一般通过串口或以太网口进行连接。在本文的开发过 程中,由于目标板上运行了系统,而的默认打印终端是串口, 所以可以利用宿主机和目标板之间的串口连接来完成两者之间的控制命令的交 互,即:宿主机通过超级终端之类的串具连接到目标板,设置和监控目标 板的运行状态。以太网连接的传输速度比较快,可以用来将宿主机上编译生成 的目标代码下载到目标板中,当然这里的前提是目标板的硬件平台和引导程序 如:已经能够正常工作,后者能够支持简单文件下载客户端,比如 本节讨论的开发模式就是基于这样的前提。本文的目标平台就是利用了引 导程序中包含的卸客户端,从宿主机上的鲫服务器下载映象文件 到目标板闪存中。 具体开发流程如下: 在宿主机上安装交叉编译工具。 本课题的开发中,宿主机的操作平台采用.,交叉编译器采用了针 对.处理器的开放源代码工具链???卜。四川大学硬士学位论文 下载开发包,并针对特定目标平台打上补丁。 开发包可以到官方网站下载,如本文采用的开发包为 ...。这里所说的目标板的补丁是指目标板的 板级支持包。因为即使是采用相同处理器的不同目标板因为应用场合 的不同,板上支持的设备也会不尽相同,因此在操作系统和物理硬件之问 需要一层额外的支持软件,以完成对目标板上特定设备的驱动,这就是 的存在意义。本文目标平台的由处理器厂商附带提供。 编译内核 进入目录下,执行 开始编译前的配置工作, 其中包括目标板的配置,内核的配置以及应用程序的配置。针对本文平台, ” 在目标板配置时选择“/”为/;“ 为?..;“ ”为;另外,“ ” / 与“ ”两项置为“”。 其他设置依需要而定。配置结束后执行 ;即可生成内核映 象和根文件系统映象。 为编写应用程序 这一步是开发的重点。由于是基于标准,两者提供的绝大多 数系统调用都是相同的,因此可以将编写好的程序先在宿主机平台下编译、 调试;通过以后再将程序加入到代码树下的相应位置具体的添加 方法可以参见开发包中的文档?,然后 用交叉编译器重新编译。 下载并烧写系统映象 配置好宿主机和目标板的网络连接后,通过以太网将宿主机上的内核映象 和根文件系统映象分别下载并烧录到目标板中,完成后需重启设备。 通过串口测试新系统 通过串口连接目标系统,对当前编译烧入的系统和应用程序进行测试,如 测试有问题,则重复第四步操作。 四川大学硬士学位论文 .构建软件开发环境 ..宿主机端的配置 按照本章关于软件开发工作模式小节中所述,在宿主机上安装好 交叉编译器,下载开发包并打上开发板补丁,同时安装一个 .于下载映象,配置好串口终端及正确设置网络。 .目标板软平台的建立 ..内核配置及裁剪 这部分主要工作是针对具体应用对内核进行必要地裁减和配置,以 得到最精简的应用平台。 内核编译的方法参见上面.小节。 ... 下驱动程序的实现 是专门针对嵌入式应用中的闪存设备而开发的驱动程序,跟常规块设备驱动程序相比,它提供了更好更有效的闪存 操作接口。 下的驱动程序接口可划分为用户模块和硬件模块。 用户模块是抽象意义上的块设备或字符设备,提供了用户空间程序使用的 接口,如:原始字符访问、原始块访问。基于这些接口,可以构建上层文件系 和 统,如:、文件系统。目前有两个流行的用户模块: 提供了对闪存的原始字符访问,而 。 将闪存抽象为可以在上面创建文件系统的常规块设备象磁盘。 硬件模块提供了对闪存设备的物理访问接口,如:在闪存上读、擦 除和写 操作的实际例程,其中涉及了底层硬件细节,一般不直接使用它 们,而是通过 用户模块来访问闪存设备。 下面给出针对本文目标平台闪存芯片的驱动的实现步骤。 更新内核配置。 为了访问特定的闪存设备并在其上构建文件系统,需要在内核中 包含对 驱动的支持。操作如下:四川大学硬士学位论文 ”,并设 ?在内核编译菜单中选择“ 置其下的“ ”、“ ”、“ ”、“ ”子选项为。 夺在// 下使能 “”、 “ .?/? ”、/ ”选项。 “ 修改//文件,为目标系统增加块设备文件。 分区的访问是通过设备文件完成的。 与 关联的设备文件如//、、。 与 关联的设备文件如//、。 创建分区。 由于 设备抽象了块设备,于是可以基于该设备创建象 一类的文件系统。在这个操作之前,需要为闪存创建分区,分别存 放引 导装载程序、内核映象和文件系统映象等模块。 本文目标平台的闪存分区表结构如下: 。 //配置参数存放区 ”, :” :。 //分区大小 : //分区偏移量 /,内核映象存放区 , :””, :. ,,分区大小 : //分区偏移量 ,/根文件系统存放区 , :””, :, //分区大小 : ; 完成以上关键步骤之后,重新编译内核并复位目标平台。 四川大学硕士学位论文 如配置成功将在系统启动时看到如下提示: : ./ : . . . : : ”: ” ” ?:” :” ” .:” ” .. 搭建 为了提供一个更直观的用于监控、配置及管理系统的用户界面,使用户通过 普通浏览器就可以远程访问系统,可以为路由器构造一个小型的 。本文采用了下的,支持通用网关接口技术, 能提供动态网页服务。 利用构建主要有三部分内容: 修改编译设置 】编写网页 编写程序。 因过程相对简单,开发资料丰富,这里不再赘述。 .系统的启动过程 板子上电复位后,处理器先完成一系列的自检和硬件初始化,接着执行引 导加载程序,’引导加载程序针对不同的体系结构和硬件平台,独 立于操作系统内核,不具备可移植性。 在初始化板级的基本硬件后,将经压缩的内核映象文件从 存储区拷贝到指定位置并解压缩。 内核加载完毕后需执行存储器重映射,将的起始地址映射为原四川大学碍士学位论文 先是的起始地址为,设置堆栈指针并将段清零,为执行程序 做好准备。修改指针,开始执行真正的操作系统内核代码。接着 进行内核核 心数据结构的初始化及外设初始化。外设的初始化利用内核核心数据结构初始 化阶段生成的线程来完成,主要是各种外设驱动程序的加载和初始化如: 闪存驱动就在此时加载,以及根文件系统的加载。 内核在完成引导后,加载根文件系统中的程序,同时执行应用程序脚 本文件//,设置系统环境,执行处理用户登陆和进一步的操作。 系统启动后的存储空间分布如下:脚 肿 托 啪 丘搿 图.存储空间分布图 .本章小结 本章先对在利用开发嵌入式通信系统时需考虑的重要系统特性进 行分析,然后介绍了本文采用的开发模式,并在目标平台上构建了基于 四川大学硬士学位论文 的软平台。这是后面工作的平台基础,同时高效简捷的开发方式 也是提高系统 稳定性、缩短产品开发周期的有力保障。四川大学硬士学位论文 第三章协议分析与实现 是针对智能家电、无线设各以及个人电脑的普遍对等 网络连接而设计的一种网络架构。它旨在为家庭、小型企业提供易于使用、灵 活且基于标准的连接。充分利用了/和技术,实现了控制点、 设备和服务之间数据和控制命令的便捷通讯,同时能够无缝的融入现有网络, 网络中的设备通过遵循这一共同的约定保证了彼此间的互操作性。使用, 设备可以动态加入网络,自动获得一个地址,向其他设备公布它提供的服务 或获知其他设备的存在和服务,所有这些过程都是自动完成的。 架构独立于底层网络介质和操作系统,可以使用任何编程语言编写基 于的应用,在任何操作系统平台下运行,这一点体现了架构的开 放性。 本章对网络架构、协议模型以及设备的工作过程进行了详细分 析,然后剖析了提供的开源协议栈结构和原理,最后在目标平台所 采用的操作系统平台上实现了协议栈。 . 网络架构 图.是一个简化的网络示例。 网络中的基本实体是“设备”、“服务”和“控制点”。下面对 网络中涉及的几个重要概念作扼要解释。 “设备”是服务的载体和多个逻辑子设备的嵌套集。协议通过 语言编写的设备描述文档来描述设备的结构及包含的服务。 “服务”是一个网络中最小的逻辑功能单元,通常包含一张状态表, 一个控制服务器和一个事件服务器。.状态表借助状态变量表征服务器的运行状 态;控制服务器接收控制点发出的控制请求,执行请求,更新状态表然后返回 响应;事件服务器在服务器状态发生改变时发布更新事件给感兴趣的订阅者控 制点。服务也有对应的包含这些信息的服务描述文档,这些文档的位于 设备描述文档中。四川大学硬士学位论文 “控制点”指的是可以发现并控制其他设备的控制设备。在完成发现感兴 趣的设备后,它会检索设备和服务描述,发送控制请求到服务,查询服务的状 态变量及接收事件通知。 “事件”是指由服务的状态变量改变而引起的通知消息。 图, 网络架构 .协议模型 协议模型和的七层网络模型一样采用了层次化的架构,该协议建 立在标准的协议集的基础上,巧妙地借用了诸如协议和技术, 在这些已经成功应用于目前互联网,曾在推动互联网高速发展中起了举足轻重 作用的成熟技术上做一些变化,使其爆发了新的生命力,中还加入了一 系列独有的高层协议,如:简单服务发现协议、简单对象访问协议 、通用事件通知体协议?等。图.展示了协议栈模型。 下面对协议栈模型中的各层协议做一个简介,具体的协议消息体格 式定义以及工作过程将在下面的章节中结合设备的工作流程进行详细说 明。 特定协议 设备生产商 、论坛工作委员会 四大学硬圭学位论文 指定了协议栈的高三层协 和设备架构层 议。论坛的工作委员会定义了一类设备所公共的特性,设备生产 商定义 了他们设备的个性化特征和功能。 / 协议是建立于/协议之上的,而后者是现行网络的主要技术, 这使得能够跨越不同的网络媒介,并能无缝连接现有网络。 至亟亘口 叵回二三 习二二三 图. 协议栈模型 、与协议 这三个协议是协议中的重要基石。和协议是标准 协议的两种变体,它们的基本格式沿袭了协议,定义它们是为了 通过而不是/发送消息。 在上实现了普通的传送协议;在上实 现了协议的多播传送方式,它们为协议所用。 简单设备发现协议: 该协议基于和协议,定义了控制点如何自动发现 网络中存在的服务,以及设备如何自动向网络发布其提供的服务 信 息以及当设备不可用时发送离开消息。通用事件通知结构: 该协议定义了设备如何利用/和多播接收和发四川大学磺士学位 论文 送事件通知。 简单对象访问协议: 协议提供了一种应用程序之间进行数据通讯的机制。它定义了如何 使用语言可扩展标识语言和盯来执行远程过程调用,控制点利用该 协议来访问和控制设备,消息体中包含了请求的控制名以及一些 相关的参数,控制的响应也是以消息的形式返回。 扩展标识语言 是一种为了在上使用结构化数据而定义的文本格式。在设 备及服务描述、控制信息表示、事件信息处理中均使用了语言, 语言在网络架构中发挥了重要的作用。 . 设备工作过程 完整的设备工作过程【】由设备寻址、设备发现、设备描述、设备控制、 事件通知和展示基于的描述界面这六个步骤构成。图.为的工作 流程图。其中,寻址、设备发现、设备描述这三个步骤是基础,解决了 设备如何自动接入网络,如何自动发布服务的问题;控制、事件 处理、设备表示这三个步骤则用来实现设备、服务和控制点之间 的互操 作。 图. 设备工作流程四川大学硬士学位论文 .设备寻址 网络的基础就是/协议族,设备能在/协议下工作 的关键就是正确的设备寻址。一个设备寻址的一般过程是:首先向 服务器发送消息,如果在指定的时间内,设备没有收到 回应消息,设备必须使用.完成地址的设置。使用 .时,设备在地址范围.“.中查找空闲的地址。在选中一个地 址之后,设备测试此地址是否在使用。如果此地址被占用,则重复查找过程直 到找到一个未被占用的地址,此过程的执行需要底层操作系统的支持,地址的 选择过程应该是随机的以避免多个设备选择地址时发生多次冲突。为了测试选 择的地址是否未被占用,设备必须使用地址解析协议。一个查询 请求设置发送者的硬件地址为设备的硬件地址,发送者的地址为全。设备 应该侦听查询响应,或者是否存在具有相同地址的查询请求。如 果地址已被使用,设备必须尝试新的地址。 使用 的设备必须定时检测服务器是否存在,这可以通过定 时发送消息实现,如果接收到回应消息,设 备必须释放 分配的地址,此时设备必须取消所有的广告消息并重新发 出新的。 一个设备可以使用之外的更高层的协议,这些协议将为设备定义友 好的名称。在这种情况下,将这些友好的主机名解析为地址就很必要了, 通常是用来实现此功能的。使用此功能的设备可能要包含一个客户 端,而且支持动态的注册,通过注册将它自己的名字加入到地址分布图中。 ‘.设备发现 当设备连到网上并分配了网络地址后,进入设备发现阶段。设备发现是由 协议来定义的。 设备加入网络后,通过向多播地址...:发送 命令来通告网络上的控制点它所能提供的服务信息,如果它嵌套 多个逻辑子设备,那么它将多播发送一系列的发现消息公开它的这些设备和服 命 务;一旦控制点监听到设备多播的消息,就可以用标准四川大学 飘士学位论文 令来获取设备描述文档了。设备离开网络时,也应该发出一系列 声明,表示此 设备包含的设备和服务已经失效。 当一个控制点加入到网络中时,设备发现过程允许控制点寻找网 络上它所 感兴趣的设备和服务。控制点通过向多播地址...:发 命令来实现搜索。符合搜索条件的设备监听到搜索请求时, 使用单播响应控制点。 图.表示在发现阶段设备和控制点交互的一般过程。 协议定义 下面对上述过程中涉及的消息格式进行详细介绍, 的消息格式是基于协议的。 明 搜索 销 多播 播 图.设备发现过程 ..设备加入网络时多播的:消息 设备用于声明自己存在的消息格式如下: 礤,. :...:?】:? :: :: :/ /. /四川大学确士学位论文 : 下面说明消息体中的命令行与标头的意义。 : 定义的用以发送通知和事件的方法。 /.:版本。 : 由互联网编号分配组织为协议保留的多播地址和端 口。必须是...:。 ?: 必须带有?,指代设备声明的有效存活时间。如果超过此时间间 隔, 控制点可以认为设备或服务不再可用。应大于秒分钟。 具体由厂商决定。取整数。 : 包含根设备描述的地址。在某些未受管理的网络中,主 机可能包含地址与域名相对。具体由厂商决定。 : 规定使用的标头。通知类型。必须采用以下一种形式: : 向根设备发送一次。 :? 向每种设备根设备或嵌入式设备发送一次。 设备九肛由厂商指定。 :?::: 向每种设备根设备或嵌入式设备发送一次。设备 类型与版本由论坛工作委员会定义。 .:?::: 向每种服务发送一次。服务类型与版本由论坛 工作委员会定义。 ’ : 规定使用的标头。通知子类型。必须是:。 : 包含操作系统名称、操作系统版本、.、产品名称以及 产品版本等信息。具体由厂商决定。 : 要求使用的标头。唯一服务名称。前缀位于双冒号前 必须与设备描述中的元素值相匹配。四川大学硬士学位论文 ...控制点的搜索消息 控制点搜索设备和服务采用的消息格式如下: ./. :...: :”:” : : 下面仅说明消息体中出现的前面没有介绍过标头的意义。 ?: 定义的搜索方法 : 必须是“:” : 最长等待时间。设备响应在和这个值之间随机选择响应延迟的 值, 这样可以为控制点响应平衡网络负载。如果大量设备需要响应或 如果网 络延迟过长,那么该值应该适当增大。具体由厂商决定。取整数。 : 搜索目标。同:中的标头。 ..设备的搜索响应消息 当设备匹配搜索的要求时,需向多播搜索请求的控制点发送响应 信息。具 体消息格式如下: /.:: : 盥: 其中,各标头意义和设各多播的消息一致,这里不作解释。 ...设备不再可用消息: 在设备或服务要离开网络时,设备应对每个未超期的:消息多播 传送:消息。但如果设备非正常推出网络,它可能来不及发出这个 通知消息,因此,在发现消息中的标头中包含超时值是四川大学 硬士学位论文 非常有意义的,如果没有更新声明,发现消息最终会因超时从控 制点的高速缓 存中删除。 其消息定义如下: /. :...: : :: : 消息体中各标头意义在前面都介绍过了,这里不再重复。 ..设备描述 在控制点发现了一个设备之后,控制点仍然对设备知之甚少,控 制点可能 仅仅知道设备或服务的类型,设备的和设备描述的地址。为 了让控制点更多地了解设备或者与设备进行交互,控制点必须从收到的发现消 息中得到设备描述的,并通过取回设备描述。下图是设备描述的一 般过程: 控制点 设 描述文档 :档 , 设备 服务服务图.设备描述 控制点通过在发现消息中包含的设备上发出’ 请求,设备内四川大学硬士学位论文 置的服务器收到请求后发 响应,同时返回设备描述文档。 一个设备的描述一般分成两个部分:描述设备和描述设备提供的服 务两者都是以描述。设备描述包括制造商信息,包括模块名称和编号, 序列号,制造商名称,制造商网站的等等。设备描述也包括所有嵌入设备 描述和地址集。对于一个物理设备可以包含多个逻辑设备,多个 逻辑设备 既可以是一个根设备其中嵌入多个设备,也可以是多个根设备的方式实现。设 备描述是由设备制造商提供的,采用表述,并且遵循设备模版。 此模版是由工作委员会生成的。服务描述包括一系列命令或者动 作,服务响应,动作的参数。服务的描述也包含一系列变量,这些变量描述了 服务运行时刻的状态,包括数据类型、取值范围和事件特性的描述。服务描述 也是由设备制造商提供的,采用方式表述,遵循服务模版。 ..设备控制 在接收设备和服务描述之后,控制点可以向这些服务发出动作,同时控制 点也可以轮询服务的状态变量值。发出动作实质上是一种远程过程调用。设备 控制的一般过程如下图: 图.设备控制四川大学硬士学位论文 为了控制一个设备,控制点向设备服务发出一个动作。这一般通过向服务 的控制地址发送一个适当的控制消息,而服务则做出相应的响应。动作的 效果可以通过改变一个描述服务运行状态的变量进行建模。在这 些状态变量改 变时,事件将被发送到所有相关的控制点。控制点也可以轮询服务的状态变量 值以获得状态变量的当前值,与发出一个动作的过程相似,控制点向服务的控 制发送一个适当的查询消息,而服务则返回相应的变量值。每个服务必须 保持状态表的一致性,以便控制点能够轮询并接收到有意义的值。 控制点发出的动作请求、接收的响应都封装在消息体中,通过 请求发送、并通过?响应接收。 ..动作调用请求 遵循扩展框架,使用来发出动作请求,具体消息格式如 下: /. : : :;”” :”::::” : :”://..///” :”://..///’’ : :矗:”::::’/ /: /:’ /: 消息中各标头的意义如下:, : 指定了服务的控制,也是该请求发往的目标地址。 :规定使用的标头。指明了要调用的服务类型和动作名称四川大 学硬士学位论文 消息中标头行之后是用编写的消息体,其中包含一个信封和 消息体,消息中包含了请求的动作名称和所需的相关参数。 ...动作调用请求响应 服务收到动作调用请求后应及时响应,响应的消息格式如下: /.:;”” : :”://..///” :”://..///’’ : ::”::: :” / /: /: /: 该消息中也包含一个信封,可能会包含响应动作的返回参数。 。事件通知 服务的描述包括服务的动作列表和运行时模拟服务状态的变量列表。 当这些变量改变时,服务就会发布更新,则控制点就会收到设备事件。设备事 件发送的一般过程如图.。 为了订阅事件,订阅者控制点发送一个订阅消息。如果发布者设备服务 收到此消息,它将以这个订阅的持续时间作为响应。’为了保持订阅,订阅者必 须在订阅到期之前进行续订。在订阅者不需要出版者发送的事件时,订阅者必 须取消这个订阅。出版者通过发送事件消息提醒订阅者状态变量改变。事件消 息包含多个状态变量的名字和这些变量的当前值。在订阅者第一次订阅时,需 要发送初始化事件消息,其中包含所有事件变量的名和值并且允许订阅者初始四川大学硬士学位论文 请求、 更新、 取消、 订阅请 通知 响应订阅 图.事件通知 化服务变量值。为了支持多个控制点,在动作生效之后所有订阅者都将接到通 知。事件消息使用协议传送,事件详细定义在通用协议中。 ...订阅请求 为了订阅特定服务的事件,控制点将订阅消息发送到该服务的事件触发 ,消息中含所要订阅服务的标识符以及用于事件消息交付的,还可能 包含所要求的订阅持续时间。订阅消息中采用方法并带有和 标头,具体如下: /.: : . : :: : 发布者接收订阅请求时会分配一个唯一的订阅标识符和持续时间,并发送 一个初始化事件消息。响应须在秒内送出,消息格式如下:四川大学硬士学位论文 ,.:: : 其中是订阅标识符,规定使用的标头。 ...事件通知 服务通过发送事件消息来发布其状态变量的变更。消息中包含一个或多个 状态变量名和变量的当前值。事件消息应尽可能快地发送,以使订阅者能够及 时和服务同步,当同时有几个变量发生变化时,发布者应将这些变化捆绑在一 个事件消息中,以减少处理和网络流量。 事件消息带有唯一的编号,编号从发布者发送的初始化事件开始递增,这 里要注意编号的溢出处理。 发布者通过下列格式来发送一个采用方法的事件通知。 /.: : :/ :: :::: :”:印:一’ :: : / /:/: 其中方法由定义,用于通知客户关于事件的情况。 是事件的交付路径,也就是消息的目的地。 为规定使用的标头,表示事件编号,初始化事件消息必须为, 发送给特定订阅者的每条事件消息必须以为增量,长度为字节,为防止溢 出必须回置到。四川大学硬士学位论文 以标记开始的消息体中给出了一组对应变量名的当前值。 订阅者必须在收到事件消息后的秒内作出响应,否则,发布者停止向订 阅者发送该事件,但应保持订阅并向订阅者发送未来事件消息,知道订阅期慢 。 或取消订阅为止,响应为硎. ..设备表征 设备表征是设备工作过程的最后一步。如果设备提供了用户接口的 ,那么控制点就能通过此得到页面,在浏览器中装载页面,并使得用 户能够根据页面提供的功能控制设备或者浏览设备状态。设备表征包含在设备 描述的字段。设备表征可以完全由设备制造商提供,它采用 页的形式,使用进行发布。下面是控制点获取设备接口页面的过 程图。 控制点 设 展示页面 设备 服务服务图.设备表征 为了获取表征页面,控制点发出~个请求到设备表征,设 备用 响应并返回设备表征页面,这其实就是一个标准的服 务请求响应过程,在此不作更多陈述。四川大学磺士学位论文 . 开源协议栈结构分析 为了促进协议的发展,信息业巨头公司开放了一个基于 的协议栈源代码【,该协议栈实现了规范中协议模块, 协议模块,协议模块,能够支持设备和控制点的互操作。本文后 面为嵌入式路由器设计的网关设备应用程序. 就是基 于这个开源协议栈。本节将对该协议栈模块的系统结构做简单分 析。图.为 协议栈的结构框架。 图. 协议栈结构图 .模块 该模块工作在套接字层之上,为上层的模块、模块、 模块、模块提供服务。工作时,接收所有网络连接,通过 模块判断出收到的消息类型,然后将消息传给上层对应模块处 理。 可能接收的消息有以下几种类型:四川大学硕士学位论文 控制点用来获取设备或服务的描述文档 协议采用/.命令方式完成控制请求 /. 控制点用来订阅服务,该消息将被模块进一步处理 控制点用来取消订阅,也将送交模块处理。 经上文的讨论中可知基于连接的消息被服务用 来发送事件通知,所以这里应递交模块处理;而基于 的消息被用来声明设备存在、搜索设备或服务 以及注销设备,显然应该递交模块处理。 .模块 鉴于网络中的数据最终都以或其变体形式传输,模块 自然不可或缺,成为支持协议栈工作的有力工具,它分析收到消 息的头 部信息,判断消息的类型,同时负责为输出消息构建响应的头部。 .线程工具库模块 协议栈的实现中大量采用了多线程技术,该模块就是为了更方便 高效 地使用线程技术,其中包含了一个定时器线程子模块和一个线程 池子模块。 线程池子模块用于管理协议栈中所有的线程;定时器线程子模块 用来处理协议 栈中所有的定时事件。 .解析模块 由前面讨论可知,协议中广泛使用了技术,设备描述文档用 编写,和协议均使用了来作为信息表示方式,这个模 块就是为了所有使用技术的其他模块服务的。 .模块、模块、模块、模块 这四个模块工作在模块之上。 模块实现了协议,提供了对的设备发现服务支持,关于 的详细讨论在本章前面部分,这里不作重复。 模块实现了协议,提供了对的事件通知服务支持。 模块实现了协议,提供了对的设备控制服务支持。 模块用来处理标准的 请求,这也是控制点用来获取 描述文档的方式。
本文档为【UPnP协议及其在嵌入式通信系统中的应用研究(可编辑)】,请使用软件OFFICE或WPS软件打开。作品中的文字与图均可以修改和编辑, 图片更改请在作品中右键图片并更换,文字修改请直接点击文字进行修改,也可以新增和删除文档中的内容。
该文档来自用户分享,如有侵权行为请发邮件ishare@vip.sina.com联系网站客服,我们会及时删除。
[版权声明] 本站所有资料为用户分享产生,若发现您的权利被侵害,请联系客服邮件isharekefu@iask.cn,我们尽快处理。
本作品所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用。
网站提供的党政主题相关内容(国旗、国徽、党徽..)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
下载需要: 免费 已有0 人下载
最新资料
资料动态
专题动态
is_954223
暂无简介~
格式:doc
大小:74KB
软件:Word
页数:0
分类:
上传时间:2017-09-19
浏览量:23