(计算机软件与理论专业论文)无线传感网络节点的组件化设计与实现.pdf_第1页
(计算机软件与理论专业论文)无线传感网络节点的组件化设计与实现.pdf_第2页
(计算机软件与理论专业论文)无线传感网络节点的组件化设计与实现.pdf_第3页
(计算机软件与理论专业论文)无线传感网络节点的组件化设计与实现.pdf_第4页
(计算机软件与理论专业论文)无线传感网络节点的组件化设计与实现.pdf_第5页
已阅读5页,还剩59页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

浙江大学硕士学位论文无线传感网络节点的组件化设计与实现 1 1 引言 第一章概述 随着计算机技术的发展,嵌入式系统已经在人们的日常生活中获得了越来越 多的应用。智能传感器作为嵌入式系统中很重要的一个种类,在环境勘探,灾难 营救,军事侦察,生物医疗等等一系列领域中发挥着日益重要的作用 1 】【2 】。 得益于集成电路制造技术的不断进步,现在我们可以获取价格更加便宜,功 能更加强大的芯片来搭建各种嵌入式的硬件平台,这为我们研究开发各种嵌入式 系统提供了基础。再加上专门为智能传感器领域设计的嵌入式组件技术,我们可 以像搭积木一样构筑智能传感器,可以快速设计出满足我们各种不同需求的产 品,而且能够做到质优价廉。 1 2 智能传感器 智能传感器( s m a ns e n s o r ) 就好像是计算机系统的五官,它能够完成外部 环境的感知。目前,智能传感器的应用领域越来越广,对系统的要求也越来越高, 不光要求系统简单的采集外部环境的数据,还要求系统能够对数据进行预处理, 并且能够感知上下文数据,进行联网通信,必要时,能够进行自我诊断,自我修 复等一系列复杂的操作。这些系统的普遍特点是可靠性高,体积小,成本低,功 耗要求严格 3 】。 1 3 组件技术 目前比较流行的组件技术有,微软公司的c o m d c 0 m 技术,s l l l l 公司的 j a 、,a b e a 扼j b 和0 m g 组织的c o r b a ( 4 】等。但是在智能传感器这样资源受限 的系统环境中,上述技术并不能发挥出其作用,为此,人们有提出了一系列专门 为嵌入式系统设计的组件技术,例如美国卡内基梅隆大学( c a m e g i em e l l o n u n i v e r s i t y ) 的p e c t 技术( p r e d i c t i o n - e n a b l e d c o m p o n e n tt e c h n o l o g y ) 5 ,飞利 浦公司的k o a l a 【6 】技术等,但是纵观这些技术,发现它们各有优缺点。本论文中, 浙江大学硕:t 学位论文 无线传感网络节点的组件化设计与实现 我们提出了一种面向智能传感器的组件技术,它综合了现有组件技术的优点,同 时针对嵌入式系统硬件平台的多样性,把系统的硬件平台也包括在组件技术的范 畴之内,以期望能够更好的研究开发嵌入式系统,特别是智能传感器。 1 4 面向智能传感器的组件技术 我们提出的c t s s ( c o m p o n e n tb a s e dt e c l l i l o l o g yf o rs m a ns e n s o r ) 智能传感 器组件技术针对智能传感器资源受限的特点,进行了大量的调整和优化,使得开 发出来的基于组件的智能传感器性能优异,便于维护、移植和剪裁。 1 5 论文结构 本论文总共分为六个章节,其中,第一章是概述,主要介绍了智能传感器和 组件技术的大致情况。第二章为研究基础和现状,详细介绍了智能传感器的模型, 种类和应用场合,以及智能传感器的特点。另外还介绍了目前成熟的组件技术, 分为通用组件技术和嵌入式组件技术,最后给出了这些组件技术都不适用于智能 传感器的结论。第三章详细描述了智能传感器组件技术c t s s 的设计,从三层结 构划分,到智能传感器组件技术的特点都作了充分的说明。第四章以一个温度图 像网络传感器系统为实例,展示了如何实现c t s s ,并取得了成功。第五章为总 结和展望,总结了全文的工作,并对c t s s 做出评价,在展望中,说明了c t s s 的不足和下一步努力的方向。 i 江大学硕士学位论文 无线传感网络节点的组件化设计与实现 第二章研究基础和现状 2 1 智能传感器 传感器是一种将外部信息转换为电信号的设备,通过它,计算机系统可以感 知到外部世界的各种属性,比如温度,声音,图像等等。传感器的应用包括了众 多领域,比如医疗,石油勘探,灾难抢救,军事侦察等。 伴随着传感器的应用领域的进一步扩大,人们对它也提出了更高的要求,在 不同的领域里,这些要求可能不尽相同,但总结起来,如下这些是共性的。高可 靠性,低功耗,低成本,体积小重量轻,功能上可以根据需要定制。并且,要求 传感器不仅仅是简单的采集数据,还要传感器能够对数据能够进行一定的预处 理。再有,就是要求传感器能够进行自我诊断,自我修复等等复杂的操作。面对 这些要求,普通的传感器势必不能满足,因此,智能传感器( s m a ns e n s o r ) 应 运而生了。 2 1 1 智能传感器的基本模型 智能传感器的基本模型如图所示。 图表1 智能传感器( s m a r ts e n s o r ) 模型 智能传感器模型可以分为三个部分,即传感器部分,数据处理部分,数据发 送或存储部分【7 】。 传感器部分主要把外部的环境变量变成电信号。根据用途,智能传感器的传 感器部分各不相同,但是他们在系统中所扮演的角色是相同的,就是系统的感知 设备。一般的,传感器部分还包括一些干扰去除模块,这些模块辅助传感器感知 浙江大学硕士学位论文无线传感网络节点的组件化设计与实现 信号,保证感知的精确度。以温度为例,传感器部分由温敏元件,a d 转换电路 以及转换控制软件支持等组成,在系统的控制下,转换控制程序通过a d 转换 电路将温敏元件输出的模拟电信号转换为数字信号,而干扰去除模块可以应用多 次采样比较规则1 。 数据处理部分主要根据用户指令对数据作处理。指令可以是预先设定的,也 可以是在使用过程中用户指定的。通过数据处理,智能传感器获取感兴趣的数据。 还是以温度为例,数据处理可以是根据时问点定期记录数据,或者根据温度高低 来记录分布率,比如当温度高于某个值时,开始记录相应的值和时间。 在数据处理完成之后,系统一般还包含一个后期的模块,它用来完成数据信 息的发送或者存储。比如我们的温度可以通过网络发送到用户的主机,而发送的 时机可以被用户控制,即智能传感器可以看作是一个服务器,用户向它发送一个 请求温度查询的请求,智能传感器返回温度数据。还有一种模块是采用数据存储 的方式来保存数据信息。这对于在恶劣通信环境中工作是很好的一个方案。它是 一个非易失的存储系统,数据处理得到的结果被写到这些存储系统中,在完成任 务后,用户可以从存储系统中读取这些数据。 智能传感器除了上面提到的三个模块之外,还包括电源模块,冗余模块( 可 选) ,以及一些其它的辅助模块。 2 1 2 智能传感器种类和应用领域 智能传感器的功能有多种多样的,比如和人类的视觉相似的光敏传感系统, 和听觉相似的声敏传感系统,和嗅觉相似的气敏传感系统,和味觉相似的化学传 感器系统,和触觉相似的压敏传感器系统等。当然,还有不少智能传感器能够比 人类的感觉功能更加优异,能够测量人类很难或者根本无法感知的一些东西,比 如霍尔传感器系统,微波传感器系统等。 既然有那么多的智能传感器,那么我们可以将它们分个类。对于传统的传感 器,目前有很多种分类方法,传统传感器感知外界信息所依据的基本效应有好几 种,由此可以把传感器分成三大类:基于物理效应如光、电、声、磁、热等效应 进行工作的物理传感器;基于化学反应如化学吸附、选择性化学反应等进行工作 多次采样比较规则:通过n ( n 3 ) 次采样,当连续几次采样的差绝对值d v 溱鬻鬻豢襄纂戆蒸蒸蒸熏i :鬻 图表1 2 设备层组件模型 随着芯片技术的发展,目前搭建智能传感器的器件种类成千上万,而它们可 以相互选择,这样,最后产生的智能传感器在硬件上将千差万别。由于智能传感 器的应用领域广泛,必然要求它们能够根据用户要求而设计开发。富足的器件选 择使得设计者能够选择那些符合用户要求的器件组合,这些要求包括功能上的, 成本上的,体积上的,功耗上的等等。但是器件种类的不同导致了开发软件程序 上变得很麻烦,每一种器件都有着自身不同的定义,需要不同的软件驱动。在这 里,对设备层中组件的划分提出了挑战,如果组件划分很细,会造成组件数量庞 大,接口众多,使得上层的功能层组件访问变得过于复杂,失去了组件化的优势; 但是如果组件划分很粗,仅仅规定很少的几个类别,则会大大缩小器件的选择范 围,使得开发出来的智能传感器无法满足用户的所有需求。在这里,智能传感器 组件技术找到了一个很好的平衡点,既保持了器件选择上的一定的自由度,又限 制了组件的种类,使得接口比较统一,方便上层功能组件使用。 智能传感器中,常用的硬件模块可以分为这么几个大类别,传感器模块,网 络模块,存储模块,辅助模块。每个大类别又被分为几个小模块,并且可以做扩 充,我们以小模块作为一个组件单位,已经存在的小模块必须遵守已定义好的组 件的标准接口。分类如下如所示: 浙江大学硕士学位论文 无线传感网络节点的组件化设计与实现 解簿簿簿 图表1 3 智能传感器组件设备层划分 应用这样的分类方法,每个器件模块都可以找到它对应的组件,然后我们只 需提供该组件规定的标准接口,而把其他的信息隐藏的组件内部,就可以供功能 层使用了。 为了解决传统智能传感器开发设计中软硬件过于独立的情况,智能传感器组 件技术的设备层组件把硬件设计也包含在组件之中。每个器件模块组件不但包含 相应的软件代码,还有典型的硬件电路图,详细的p c b 布板指导。同过这种设 计,我们可以把硬件电路和软件代码的协同性做到最好。 综上所述,设备层的组件包含这些部分:典型的硬件电路图,p c b 布板指导, 完整的驱动软件代码,和标准的接口。对于不同的器件模块,前面这些是各不相 同的,但是标准接口是完全相同的。另外,每个组件还有一个对应的完善的文档 说明,它详细描述了组件的特性和接口的使用,包括组件所选器件的信息,组件 应用的注意事项和一些其他有用的信息。 嵌入式设备,特别是智能传感器,它上面的组件技术必须考虑的一个重要因 素是非功能性约束。因为智能传感器上面的资源相对p c 是有限的,所以组件技 术在考虑功能是否符合要求之前,必须符合非功能性约束,也就是该组件所要求 的资源能否得到系统支持。在这里,我们的智能传感器组件技术的设备层组件把 非功能性约束整合在组件之内了,上面的功能层只需关心设备层提供的标准接 口,而接口后面是怎么实现的,则具体由设备层组件自身完成,包括硬件资源的 分配和器件的选择。 当一个设备层组件开发完成后,我们将它连同对应的文档放到一个组件仓库 里面。下次如果出现另外一个系统,需要这么样一个组件时,我们可以从这个仓 库里把它取出来,不用经过很大的修改就能应用到新的系统中了。或者我们在原 有的一个系统中,某一个器件必须被替换掉了,那么我们可以查找仓库,找到提 浙江大学硕士学位论文无线传感网络节点的组件化设计与实现 驹特点,使得应用层组件也被收录在组件仓库中,而且也要求包含相应的文档支 持。我们在复用应用层组件的时候,很少原样照搬过来,都要针对用户的需求做 一些修改,但是即使这样,比重新从无到有的开发一个组件,这种方法无疑具有 很大的优势。 3 3c t s s 的特点 智能传感器具有高可靠,智能化,资源受限,体积小,成本低和功耗低的特 点,这些特点决定了应用在它上面的组件技术具有以下这些特点。它们被分外两 个类别,组件自身的特点和开发上的特点,另外,还有一些随之而来的派生出来 的特点,这些细节不曾包含在前面的两个分类中。 3 3 1c t s s 组件特点 组件技术自身的特点是指智能传感器组件技术在智能传感器领域中相关的 特性和组件自身之间的联系。 系统分析能力 智能传感器嵌入式组件技术能够满足智能传感器分析要求,特别是对于智能 传感器的非功能性约束,比如实时性要求,内存消耗要求。非功能约束是指组件 的非功能性的限定,对于智能传感器组件,这些限定包括处理器性能,程序内存 大小,数据内存大小,电源消耗,信号带宽。通常,我们设计开发一个系统的时 候,都会对这些非功能性的指标做出限定,智能传感器组件专门用特有的设备组 件层来封装这些非功能性约束,而在功能组件层上集中精力划分功能,最后在应 用层上完善用户接口。正是基于这样的分层方式,使得我们在设计一个系统的时 候,能够分开考虑各项需求,在满足最后应用的情况下,尽量选择低成本的平台。 使用智能传感器组件技术,在设计开发的初期,可以采用两种不同的开发方 法,从下至上的方法和从上至下的方法。 从下至上的方法是这样的,首先我们分析客户的需求,确定系统的m c u 类 型,采用8 位的芯片,还是1 6 位的或者3 2 位的,主频是多少m h z ,m c u 是否 自身带有程序存储器和数据存储器,以及它们的容量大小。之所以如此关注 m c u ,是因为m c u 是整个系统的核心,我们所有的软件代码都依靠它才能运行。 浙江大学硕士学位论文无线传感髓络节点的组件化设计与实现 在m c u 确定下来之后,相应的调度内核也确定下来了。在有了m c u 的基础上, 我们开始根据用户的需求,查阅组件仓库的文档资料,找出符合要求的设备层组 件。这个时候,有可能会出现相同一个设备组件同时有多个选择,对于这种情况, 需要我们把选择记录下来,因为在后面的功能层和应用层的设计中,可能会对设 备层组件做出新的要求,这个时候就需要我们返回到以前的步骤,重新选择组件。 在设备层组件完成选择之后,我们进入到功能层的组件选择,和前面一样,我们 在功能层的选择也是主要依据文档资料和用户的需求,把最符合要求的组件选出 来。在确定了功能层组件后,就进入到最后的应用层的组件选择了,对于应用层, 一般选择的余地不是很大,而是需要我们对组件仓库里已有的组件作些修改以 完全的符合用户的需求。总体来说,这样一种自底向上的设计方法并不能很好的 发挥智能传感器组件技术分层的优势,但是这样一种方法比较符合传统的嵌入式 开发,即先确定硬件平台,然后再是软件。也就是我们所说的先有板子,再调程 序。用这种方法,比较适合经验丰富的开发者,能够从用户的需求中马上得到设 备的性能要求,确定设备层组件。 与从下而上的设计方法相对应的是从上至下的设计方法。设计开发者在拿到 用户的需求后,可以根据需求马上构建出一个应用( a p p l i c a t i o n ) ,这个应用一 方面能反映用户的需求,另一方面,又可以通过调用不同的功能来实现。应用回 答了系统是做什么用的( w h a t t o d o ) 。在有了应用之后,我们通过搜索 x 浙江大学硕士学位论文无线传感网络节点的组件化设计与实现 ( w h ot od o ) ,这一层的选择我们要确定设备层组件,同时也就完成了系统的整 体设计。 关心硬件 智能传感器组件技术和其它嵌入式组件技术有两个关键的不同点,一个是前 面提到的三层划分,还有一个就是它引入了设备组件来封装硬件信息。 智能传感器的器件生产厂家众多,每一个器件模块都有无数个相似功能的产 品,另外,生产这些器件的厂家之间很少存在一些公认的协议,这就导致器件的 应用电路千差万别,对于这些器件的操作代码各不相同。在传统的设计过程中, 对于每个器件都要从电路图到驱动进行设计,几乎没有复用的可能。 在智能传感器组件技术引入设备层组件之后,这种现象得到了很大的改观。 设备层组件把器件模块封装成一个只对外提供标准接口的组件,应用这些组件时 只要访问它提供的标准接口,至于内部的器件是怎么实现的上层不需要关心。虽 然设计这样一种组件的时候付出的代价可能比传统的设计方法大,但是组件技术 带来的可复用性的足以抵消这种初次开发代价区别。 智能传感器的器件模块被划分为传感器模块,网络模块,存储模块,辅助模 块。每个大类别又被分为几个小模块。每个器件模块都是一个设备层组件,属于 同一个小模块内的组件提供同样的标准接口。同时每个组件都会附带一个典型的 应用电路图和p c b 布板说明,另外还有完整的文档说明。 通过这样一种机制,我们在设计智能传感器时,首先是根据需求去仓库查找 合适 x 浙江大学硕士学位论文 无线传感网络节点的组件化设计与实现 比如用图像来显示组件的调用情况和它们的各自状态。 移植 可移植主要表现在系统软件系统可以被应用到不同的平台上的能力。我们的 组件分层对于提高系统的可移植性是很有帮助的。这里的移植可以分为三个部 分,设备层代码的移植,功能层代码的移植和应用层代码的移植。 现在智能传感器系统的开发,普遍使用k e i l c 等通用语言,这些语言支持低 级的汇编语句内嵌。我们开发相同组件类型的组件时,可以从相似的组件移植。 设备层组件的软件代码的作用是提供一个标准接口,并把标准接口通信的信息转 换成它自身设备的操作。这些操作绝大部分是对器件的寄存器读写操作,也就是 这一块是和具体设备相关的。当我们从一个相似的设备层组件代码移植到另一个 的时候,所要做的主要工作也就是更改这些寄存器操作。随着i c 技术的不断发 展,器件实现一个功能的流程已经开始趋于一个统一的流程,即都是用m c u 对 器件的一些功能控制寄存器发出控制命令,从状态寄存器读取状态,从数据寄存 器读取数据等,所不同的是不同厂家的器件之间的寄存器的地址,以及寄存器值 所对应的含义可能不一样。在智能传感器设备层组件代码中,我们充分利用通用 语言的优势,比如在k e i l c 中,把功能实现放在c 文件里,而把寄存器地址和值 得含义放在h 的头文件里,这样的结果是当我们把代码移植到不同厂家的器件上 时,仅仅需要对照厂家的数据手册( d a t a s h e e t ) 重新生成一个对应的头文件就行 了。而对于实现的c 文件只需做少量改动甚至可能完全不必改动。 功能层组件的移植相对设备层来讲,要容易一些,因为功能层不涉及到具体 的设备,它更多的是关心一个功能以什么样的算法实现。而算法一般是用比较高 级的语言实现的,因此移植它们也要简单一些。 应用层的组件代码移植的机会相对小一点,一方面是应用层的组件比较简 单,而且主要用来表达用户的要求,移植意义不大,另一方面,应用层组件在数 量上不是很多。只要能够反映用户的需求,在需要时,重新写一个有的时候比移 植要简单和高效。 适应资源受限 智能传感器是一个资源受限的系统,比如以5 1 系列单片机作为核心的智能 传感器,它的运算能力仅为8 位,内存只有几十k 字节。即使是采用a l t m 处理 浙江大学硕士学位论文 无线传感网络节点的组件化设计与实现 器的高端的智能传感器,它的c p u 处理能力和流行的p c 机也无法相提并论, 而内存容量普遍在几十m 左右,处理器速度从几十m h z 到几百m h z 不等。另 外,智能传感器大都要求能在恶劣环境工作,所以它能提供的电源供应非常有限, 系统的器件是低功耗的节能器件,这也限制了器件的各种处理能力,比如信号发 送的带宽很窄,只能工作在低速。 智能传感器资源的受限使得组件技术必须考虑非功能性约束,反映在组件结 构三层划分中就是,设备层主要处理单个设备的资源受限问题,功能层主要考虑 整个功能模块的资源受限,应用层则主要考虑整个系统的资源受限。 设备层组件是以一个器件为基础,我们设计一个设备层组件的时候,向上提 供标准的接口,组件内部实现则要求尽可能的发挥器件的特性,也就是把器件的 资源全部利用起来,为上面的功能层尽可能的提供强劲的硬件上的支持。组件对 应的文档要完整的描述组件的资源特性,详细的说明这个组件能工作在怎样一个 负荷强度。当我们从组件仓库查找组件的时候,必须要选择资源上合适的组件, 这个合适的定义可以分为两个方面,一是选择的时候要留有一定的余量,在符合 要求的基础上做一定的冗余;二是要控制成本,避免资源浪费。器件工作的时候 要考虑到实际应用中的恶劣条件,留出一些余量应付系统运行过程中可能出现的 意外,比如电源供应不足,温度变化剧烈等等。另一方面,在满足用户要求的情 况下不能盲目追求高级的器件,这样一方面会造成资源的浪费,提高系统的成本, 另一方面,高速度的器件会带来一系列的问题,增加系统开发的难度。 在功能层上,资源同样是受限的,所以我们引入的是一个精小的调度内核, 所谓精小,是指它可以在低于3 0 0 字节的指令空间和低于5 0 字节的数据空间内 运行。在调度策略上也是采用尽量简化方法,以节省硬件资源。比如在状态的表 示上我们采用位的形式而不是字节的形式,尽可能节约内存资源,提高处理速度。 对于宝贵的电源,我们在功能组件中专门有一个电源管理模块,采用的技术有 d p m ( d y n a m i c p o w e r m 柚a g e r ) ,动态电源管理,即把系统中不在使用的组件关 闭或者进入低功耗模式( 待机模式) 。d v s ( d y n a m i cv o l t a g es c a l i n g ) 和d f s ( d y n a m i cf r e q u e n c ys c a l i n g ) ,即在系统运行过程中动态的改变主控芯片的工作 电压和频率,来达到降低功耗的目的。 应用层设计时着眼于整个系统,此时,设计者能够看到整个系统的资源,包 题江大学硕士学位论文 无线传感网络节点的组件化设计与实现 括硬件上面的,以及功能组件。设计者需要仔细衡量系统的能力和用户的需求, 建立应用组件时,只能使用功能组件层提供的功能接口,而且它要合理安排功能 组件,将它们的功能发挥到最好。 组件模块化; 模块化的定义是按照功能将一个软件切分成许多部分单独开发,然后再组装 起来,每一个部分即为模块。其优点是利于控制质量、利于多人合作、利于扩充 功能等,是软件工程中一种重要的开发方法 2 5 】。 组件模块化就是要求组件与组件之间松耦合,组件自身高度自治和独立。这 主要通过组件只提供标准接口,而把实现细节完全封装在组件内部来实现。组件 在组合的时候,我们只需要考虑它们的接口是否配套就行了,而无须关心这些接 口背后的实现问题。 应用能力 组件最终的目标还是应用。组件的可应用是指组件可以被系统使用。智能传 感器组件即使是针对智能传感器的一套完熬的解决方案。从系统硬件平台的搭建 到整个软件系统的开发,智能传感器组件技术都作了明确的规范指导。应用智能 传感器组件技术建立的所有组件,都将存放在组件仓库,连同对应的完善的文档 支持。 当设计开发一个智能传感器时,我们有两种选择,一是自己设计组件,二是 从组件仓库查找组件。如果是自己设计组件,在设计过程中还是要遵守组件的标 准接口,这样的好处是组件能够以后被复用,而且它也能从使用别的组件来获得 支持。 3 3 2c t s s 开发过程的特点 智能传感器组件技术在开发过程中,有着一些与组件技术和智能传感器相联 系的特点,它们是组件技术和智能传感器共同作用的结果。这些特点包括,在智 能传感器开发中,组件技术是可以引进的,可以复用的,可以维护的和可以理解 的。 在开发中引入组件技术 如果说采用一项新技术,可以比较有保障的提高智能传感器的开发效率,降 浙江火学硕士学位论文无线传感网络节点的组件化设计与实现 低开发风险,那么,智能传感器组件技术无疑是最好的选择。在系统开发中引入 一项新的技术无疑是具有风险的,尤其是实际的工业生产中,新技术的引进伴随 着是投资,所以在新技术引进上必须谨慎。智能传感器组件技术是一项比较有保 障的技术,首先,智能传感器组件有现成的可供选择,目前我们已尽开发出若干 个基本组件,通过它们的组合可以搭建出不同的系统。其次,当完成一个组件开 发后,这个组件可以被将来的系统再次应用,所以初次开发的投资可以被以后的 多次应用所分解。 还有,通过组件技术,我们可以实现系统的不断升级。因为组件是互相独立 的,我们更新其中一个组件后,整个系统还是能够正常工作的,这给我们升级系 统带来了很大的便利。 组件的复用能力 组件是可复用的,在和组件初始设计的应用和环境的不同的地方再次应用 【2 6 】。组件复用和前面组件自身特点中的可移植性是完全不同的,组件的复用是 指把组件不经修改的放在新的环境和应用中,而组件的移植是对组件进行修改使 它能够工作在不同的环境和应用中。在这一小节里,我们主要讨论组件技术在开 发过程中组件的复用问题。 智能传感器组件技术采用了松耦合组件设计,组件之间通过标准接口调用。 智能传感器组件的设备层组件是一种完摧封装了硬件设备的组件,每个设备层组 件对应一个器件模块。它向上提供了该种类器件应该提供的标准接口,向下则直 接管理硬件设备,把从标准接口获取的信息转换成器件能够识别的信息格式;再 把器件返回的信息转换成标准接口支持的信息格式返回给调用者,或者把器件产 生的中断格式转换成标准格式向上发送。通过设备层组件的这种设计,智能传感 器组件技术解决了组件的硬件相关问题,使得组件的复用扩展到器件级别。功能 层的组件是系统能够实现功能的层次组件,它们由精小的调度核心调度负责调 度。对于功能层组件的复用,主要看它所要调用的设备层组件的那些标准接口在 新的应用环境里是否能够访问,只要设备层支持这些接口,那么功能层的组件就 可以在新环境中实现复用。应用层组件的复用目前看来价值不是很大,应为应用 总是和用户的需求相关,而需求一般是不断变化的,如果出现两个完全相同的需 求,那么可以考虑复用应用层组件,但是这个时候重新搭建一个系统和直接应用 浙江大学硕士学位论文 无线传感网络节点的组件化设计与实现 原有的系统成本上考虑就不是很值得了。 综上,一个明确的,被良好定义的组件接口能够大大增强组件的复用能力, 同时,完善的文档支持和非功能性约束这些也是复用必不可少条件。 智能传感器组件技术将来的目标是实现组件参数,组件参数是表示组件的某 些工作条件,状态和配置信息,使用它可以在系统软件的编译期对组件的特性做 出进一步的说明,它能更好的帮助编译器优化组件,从而提升整个系统的性能。 在组件复用的时候,我们根据新的应用环境重新设定这些组件参数,使得组件不 管在哪个应用环境,都可以工作在最佳状态。 基于组件技术的系统的维护升级 基于组件技术开发的系统的维护主要在组件级别进行。智能传感器组件技术 规定每个组件在进入组件仓库时,必须附带一个完善的说明文档,在这个文档中, 详细的描述了组件的接口,组件的行为。通过这个说明文档,系统维护人员就能 理解接口的定义,以及组件的特性。另外,智能传感器组件技术规定系统在开发 过程中要生成相应的开发文档,这些文档能够帮助维护人员更好的掌握系统组件 的上下文关系,方便维护工作的开展。 对于系统的升级,有两层意思,一是对系统原有组件进行改进;二是在系统 原有基础上增加新的组件,实现新的功能。对组件进行改进时,我们只要保证组 件的标准接口不变就行了,组件内部的行为在组件外面是不被关心的,所以组件 的改进只要遵守标准接口不变的前提,其他的改进就可以按照维护者的意愿进行 了。如果需要在系统原有基础上实现薪的功能,就需要增加新的组件,在这个时 候,我们要检查新增加的组件所需要的标准接口系统里面是否已经具备,如果不 存在的话,就要进行新的引入,直至增加新的设备层组件,是要增加新的设备。 智能传感器组件技术的下一步目标是开发出相应的工具来支持维护工作的 开展,比如用图形化的方式管理组件仓库里不同版本组件,或者用组件工具对组 件进行错误的诊断。 3 3 3c t s s 其他特点 智能传感器组件技术除了前面提到的组件自身的特点和开发过程的特点以 外,还包括其他的一些特点,具体为,组件的发布形式上的特点和组件配置上的 浙江大学硕士学位论文 无线传感网络节点的组件化设计与实现 特点。这两个特点综合了前面提到的两种特点,是由前面的特点派生出来的,而 且并没有在前面的表述中出现。 组件的发布采用源代码的形式发布。传统组件技术像c o m 是以w i n 3 2 动态 链接库( d l l ) 的形式发布可执行二进制代码,但是这种形式不适合智能传感器 组件技术。智能传感器的平台种类繁多,各个系统之间的差异性很大。而系统的 资源相对于普通计算机是短缺的。这些特点使得智能传感器组件技术采用源代码 的形式发布组件。 使用源代码形式的好处有:便于修改,能够进行白盒测试,以及能够在编译 时去除无用部分代码。 以源代码形式发布组件使得组件能够根据需要被方便的修改。智能传感器系 统的应用环境是非常复杂的,在组件的设计阶段一般是无法考虑到实际应用中可 能会出现的各种情况,所以在应用中难免对组件要进行一些必要的修改,此时, 以源代码形式发布组件就能符合这种修改的要求。 为了确保智能传感器组件的质量,达到系统要求的标准,测试是非常必要的。 目前,在软件产品的测试方面均使用软件工程中提出的两种方法进行测试,即白 盒和黑盒测试。白盒是已知产品的内部工作过程,可以通过测试证明每种内部操 作是否符合设计规格要求。自盒测试又叫结构测试。黑盒是已知产品的功能设计 规格,可以进行测试证明每个实现了的功能是否符合要求。只有组件以源代码的 形式发布,才有可能对它进行白盒测试。 最后,在组件组合完成之后,采用源代码的组件能够在编译的时候去掉无用 部分的代码。组件在设计的时候,出于兼容性和其他方面的考虑,代码内部会安 排一些专门应对不同情况的冗余代码,比如说对不同版本的支持,而这些在实际 应用中只可能出现一种情况,其他的代码对于这个系统来说是没有用处的。通过 对源码形式的组件进行编译,我们就能借助编译器去除这些没用的代码,生成高 效率程序,节约宝贵的系统资源。 还有一个其他特点是组件配置采用静态的形式。智能传感器资源是受限的, 在开发过程中我们要始终考虑资源的消耗问题( 包括c p u ,内存,电源等) 。为 此,智能传感器组件技术要求在编译期就确定组件之间的接口调用,而不是像某 些领域里的接口调用是在运行期动态配置的。 浙江大学硕士学位论文 无线传感网络节点的组件化设汁与实现 智能传感器自身在应用上的特点决定了它可以采用静态的方式配置组件。一 个智能传感器的工作流程基本上是确定的,虽然整个工作过程中它要接受用户的 命令控制,但是总体上,它的工作可以分成一些比较独立的任务,而任务和任务 之间是不会发生抢占的,每个任务都会按部就班的进行,如果中间被事件打断, 那么在事件得到处理之后,任务会被恢复到打断之前的状态,继续进行下去。正 是这种特性,使得智能传感器组件技术可以采用静态配置构建系统。 通过组件的静态配置,智能传感器可以节省系统资源,适应资源受限。同时, 静态配置也使得系统更加简单和容易理解,这对以后的维护和升级创造了便利。 静态配置还有一个优点是,现在智能传感器应用环境有可能变化不定,如果出现 两个不同的环境都要求系统能够工作,那么系统可以采用预先编译两套不同的静 态配置,在实际应用中,根据具体的环境切换到相应的系统去工作,这样就能通 过配置来充分优化程序,使系统在不同环境里都能工作。 浙江大学硕士学位论文无线传感网络节点的组件化设计与实现 第四章c t s s 的实例 在第三章,我们详细介绍了智能传感器组件技术c t s s ( c o m d o n e n tb a s e d t c c h n 0 1 0 9 yf o rs m a ns e n s o r ) ,从一开始的组件结构层次划分到后面的特点分析, 智能传感器组件技术在理论上已经完整成型了。本章,我们将把智能传感器组件 技术应用到一个智能传感器的设计开发过程,详细展示该技术是如何帮助开发人 员完成开发的。 这个系统是本文中出现的第一个智能传感器完整实例,它的每个组件都是我 们开发出来而不是从组件仓库查找出来的,但是这些组件将被存放到仓库里以便 后续系统的使用。 这个系统名为温度图像网络传感器系统,系统的设计开发工作由本人完成, 但系统开发语言部分获得了实验室老师和同学的帮助,系统开发所用的是a n t c 语言,a n t c 就是面向网络嵌入式系统设计的一种编程语言。a n t c 通过实现一个 包含了事件驱动的执行模式和面向组件的编程模式,来满足这个领域的系统设计 和开发的特定要求;同时,a n t c 的语法设计体现了当今许多高级语言的特性; 并且,a n t c 的编译器通过进行数据竞争检测( 提高可靠性) 、积极的函数内联( 降 低资源消耗) 等整体程序分析,简化了应用开发的难度,缩小了代码大小,并且 减少了许多潜在诱发错误的因素【2 7 】。 4 1 系统介绍 下图显示了温度图像网络传感器系统的总体功能图。 数据处理 。 鼷 肚 n 图表1 6 温度图像传感器系统总体功能图 从图中我们可以看到,温度图像传感器系统是一个复合型的多功能传感器系 浙江大学硕士学位论文 无线传感网络节点的组件化设计与实现 统,它分别用图像传感器和温度传感器采集图像及温度信息,然后对这些信息做 一些处理,并通过以太网发送出去。由于系统是处于网络中的,因此它还能从网 络获取用户的指令信息,做出相应的反应。 温度图像传感器系统的工作如下,用户先给传感器系统分配一个i p 地址( 要 求这个i p 地址能够被主机访问) ,然后把系统放置在目标区域,连上以太网。最 后从主机上用系统提供的工具访问系统,发出读取图像指令,传感器系统接到指 令后,会把目标区域的图像信息通过以太网传回,发出读取温度的指令,传感器 同样把目标区域的温度信息通过以太网传回。由于以太网很普遍,所以该系统联网相当方便。 我们对照智能传感器组件技术的应用层,功能层和设备层三层结构,自底向上对系统进行设计开发。 在设备层,我们主要把系统的硬件平台封装进几个设备层组件,向上提供对 设备操作的标准接口,组件自身完成对设备的具体操作。 在功能层,我们主要实现了几个功能组件,它们通过调用设备层提供的接口, 在精小的调度内核的支持下,实现几个功能,为上层的应用层组件提供标准接口。 同时,在功能层组件还能接受设备层的中断请求。 应用层组件主要通过调用功能层组件实现应用,在这个系统实例中,我们只 有一个应用,所以也只需要一个应用层组件。4 2c t s s 设备层组件 通过对图像温度传感器系统的分析,在设备层组件,我们需要设计实现四个 组件,它们是图像传感器组件,温度传感器组件,网络组件和可靠性组件。以下 几个小节将分开描述每个设备层组件,包括电路结构,p c b 布板指导【2 8 】和组件 的标准接口。这些信息对于将来组件复用也是非常有用的。 在丌始描述系统设备之前,我们还要说明一下系统的m c u 芯片,它属于系 统的核心,我们所有的组件的软件代码和精小的调度核心都在m c u 上面跑,所 有的设备组件中的设备都是连接在m c u 上的。 实例中采用的m c u 是p h i l i p s 公司的p 8 9 c 6 0 x 2 芯片【2 9 】。p 8 9 c 6 0 x 2 器件 采用高性能的静态8 0 c 5 1 设计。以先进的c m o s 工艺制造并包含非易失性f l a s h 江大学硕士学位论文 无线传感嘲络节点的组件化设计与实现 程序存储器,可通过并行编程或在系统编程( i s p ) 的方法进行编程。支持6 时 钟和1 2 时钟模式。 此外,器件的静态设计使其具有非常宽的频率范围,甚至可低至零。具有两 个软件可选的节电模式一空闲模式和掉电模式。空闲模式冻结c p u 的运行,但 允许r a m 、定时器、串口和中断系统继续保持其功能。掉电模式保持r a m 的 内容,但冻结振荡器,这样使其它片内功能都停止工作。由于是静态设计,时钟 停止而不会使用户数据丢失。操作可从时钟停止点恢复运行。下面是功能框图: 4 2 1 图像传感器组件 图表1 7 m c u 芯片功能图 图像传感器组件封装图像传感器设备,向上提供标准接口。我们的实例中, 图像传感器设备采用的是u s b 主控芯片加上u s b 摄像头这样一种方式实现。之 所以采用这种方式,是因为我们通过调查研究发现,在智能传感器中实现图像的 浙江大学硕士学位论文 无线传感网络节点的组件化设计与实现 采集有两种比较常用的方法,一种是通过c m o ss e l l s o r 或者c c d 传感器采集 图像的原始信息,再通过图像压缩处理芯片转换成j p g 信号;还有一种是直接 使用u s b 摄像头,在系统中只需实现u s b 接口。我们实例中的m c u 芯片是一 个增强型的8 位单片机,处理能力虽然较普通单片机有提高但是无法应付图像压 缩这样的任务,如果采用前一种方法,必须要扩展一片图像处理芯片,将增加不 少成本。而后一种方法使用的是u s b 摄像头本身所带的j p g 压缩芯片,而且u s b 摄像头市场上比较常见,成本也比较低,所以最终我们采用的是u s b 主控芯片 加上u s b 摄像头来实现图像传感器组件设备。 图像传感器组件有s l 8 1 1 h su s b 和u s b 设备两个部分。 图表1 8s l 8 1 1 h s 电路图 s l 8 1 l h s 的电路图如上所示,在硬件上,s l 8 l l h s 需要处理以下这些连线。 s l 8 1 1 h s 的数据口,以d o ,d 1 ,d 7 命名,s l 8 1 l 的a 0 地址线,s l 8 1 1 的读写线,s l 8 1 l 的片选线,s l 8 1 1 的中断信号输出线。 在我们的实例中,它们是按照以下方式连接的,其中,中断请求线为了达到 电平的匹配,中间加了一个反相器: s l 8 1 1 h sm c u 说明 d o d 7 p o p o 7 ( d d 7 ) 数据线 a op 2 5 ( a 1 3 ) 地址数据选择线 n c sp 2 7 ( a 1 5 ) s l 8 1 l 的片选信号 n r d n w rp 3 7p 3 6 ( i l r dn w r ) 读写信号 i n t r q p 3 1 3 ( n r n t l ) 中断请求信号 图表1 9s l 8 1 仆l s 连线说明 s l 8 ll h su s b 部分主要封装了u s b 主控芯片s l 8 1 1 h s ,该芯片可作为嵌入 式的u s b 主机控制器,它可以与全速或低速的u s b 设备通信【3 0 】。s l 8 1 1 h s 结 4 l 砭江大学硕士学位论文无线传感网络节点的组件化设计与实现 合了标准的8 位、1 6 位或者3 2 位的嵌入式微处理器的地址数据总线,这使得它 很适合应用于嵌入式的u s b 主机。它的结构框图如下: 图表2 0 u s b 芯片内部框图 s l 8 l l h s 使用8 位的内存映射结构。一开始的1 6 个地址( 0 0 h 一0 f h ) 作为2 0 个 寄存器来控制u s b 主机串行接口引擎。l o h f f h 范围内的地址作为u s bf i f o 缓 存。s l 8 1 1 h s 的2 0 个控制寄存器被用于事务处理,中断处理,状态报告。 w i t ef u n c l i o n u s b - ac o n t f o i u s b a a d d r e s s u s b - a l e n g i l l u s b - ap i d ,e p u s b - a a d d r c s s c 仃j 1 l n lb n a b l e u s b - bc o n t f 0 】 u s b - ba d d r e s s u s b - bl c n g l h u s b bp l d ,e p u s b ba d d r e s s i n t s 组t i l s s o f l o w s o fh i g h c 1 2 w r j l cf u n c i o n r e a df u n c t i o “ u s b - a c 0 n t r o i u s b a a d d r c s s u s b al c n g t h u s b as 乜l u s u s b ac o u n t c ”1 1 i n t e n a b l e u s b - bc o n t l u s b ba d d 化s s u s b bl c n g i h u s b - bs t a 加s u s b bc 0 u n t i n ls t a l u s h wr e v i s i o n s o fh j g h ,c t r l 2 r e a df u n c t i o n 图表2 1s l 8 1 1 h s 控制寄存器表 s l 8 11 h su s b 部分的软件代码可以分成几个模块: 1 s l 8 1 l h s 寄存器读写模块,负责访问、修改s l 8 1 1 h s 芯片的内部寄存器, 达到对s l 8 1 1 h s 编程的目的。 2 u s b 包管理模块,u s b 数据传输中最小的单位是包,该模块通过对 s l 8 l l h s 芯片编程,接收和发送u s b 包。 3 u s b 事务处理模块,在u s b 上数据信息的一次接收或发送的处理过程 m们:凹姒吣害吁m刖呶帆呶呶舨帆舨弧帆帆帆呶呶呶呶削 浙江大学硕士学位论文 无线传感剐络节点的组件化设计与实现 称为事务,事务处理完成数据输入、数据输出、设置等操作。 4 u s b 数据传输模块,u s b 数据传输由总线上的一个或者多个事务处理组 成,该模块根据不同的数据传输类型,选择特定事务处理组合,完成数 据传输。 模块的组合如图所示: i 咖n 据传拣擦辘 - d 三, l 研m 事劳酶理援跤 之上p lu s b 包管理l 羹敏 i 皂- ls ,h s 襻器缕等蠛援 图表2 2s l 8 1 仆i su s b 部分软件模块图 u s b 设备部分是一个u s b 摄像头,采用的是罗技c l i c k s m a n 3 1 0 摄像头,它 采用c m o s 类型的光传感器,u s b 接口。这款摄像头可以在3 5 2 + 2 8 8 的分辨率 下拍摄,或者1 7 6 + 1 4 4 的分辨率下录像,配合内置的2 ms d r a m 缓存,最多 可以储存1 6 0 张照片和1 5 秒的录像。 u s b 设备部分的软件代码可以分为以下几个模块: 1 摄像头芯片寄存器读写模块,该模块需要利用上面的u s b 主机控制器驱 动模块,达到对摄像头芯片的访问。 2 摄像头配置管理模块,负责通过对摄像头芯片内部寄存器的编程,修改 摄像头亮度、对比度、图像大小、图像质量、图像输入速度等的配置。 3 实时图像帧传输模块,该部分的任务是把摄像头中的图像帧实时的取出 并放入内存的适当位最,等待处理。 模块的组合如下图所示: 浙江大学硕士学位论文 无线传感网络节点的组件化设计与实现 l 实瓣嗣像帧传输模块 ,墨lj , l 掇像头既鬣管

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论