D0I:10.13374/i.issnl00113.2009.09.022 第31卷第9期 北京科技大学学报 Vol.31 No.9 2009年9月 Journal of University of Science and Technology Beijing Sep·2009 一种混合方式的无线传感器网络测试调试系统 王沁潘光荣王磊何杰 北京科技大学信息工程学院,北京100083 摘要无线传感器网络是典型的网络化嵌入式系统,由于其既涉及嵌入式系统的行为又涉及网络的行为,以及其应用相关 性,使其测试调试变得困难复杂,无法构建一个通用的测试调试平台·为有效地测试调试无线传感器网络,在分析已有的研究 工作基础上,采用半实物的仿真策略,提出了一种混合方式的无线传感器网络测试调试系统,解决了纯粹软件仿真平台掩盖 太多实际器件实现的细节和实际环境测试中嵌入式系统行为和网络行为不可见、不可控性的缺陷,达到了一种折中的效果. 最后给出了该系统在FPGA(field programmable gate array)上的实现实例:通过实验验证了该系统能够有效地对无线传感器网 络应用进行测试调试, 关键词无线传感器网络:测试调试:网络仿真;环境测试 分类号TP206+.1 A hybrid testing and debugging system for wireless sensor networks WA NG Qin,PAN Guang-rong,WANG Lei,HE Jie School of Information Engineering.University of Science and Technology Beijing.Beijing 100083.China ABSTRACT The wireless sensor network(WSN)is a typical networked embedded system.It involves in both embedded systems and networks,and is extraordinarily application"specific:therefore testing and debugging WSN becomes relatively complicated with various difficulties.Developing a"one-fits-all"platform for WSN testing and debugging is difficult to achieve.In order to efficiently test and debug the implementation of WSN application,this paper carefully analyzed previous related researches.adopted the half- practicality simulation strategy,proposed a hybrid testing and debugging system for WSN,and solved the problems that pure software simulation veils too many hardware implementation details and in"situ platforms can only provide limited visibility and controllability for both the embedded systems and the net works,thus achieved a balanced achievement.At last.an instance platform of the hybrid testing and debugging system for WSN was implemented in the field programmable gate array(FPGA):experimental results verified the correctness and validity of the proposed system. KEY WORDS wireless sensor networks:testing and debugging:network simulation:in"situ test 无线传感器网络技术(Wireless sensor network, WSN的仿真模拟对WSN的研究、开发、测试 WSN)作为现在国际最前沿的新技术被誉为信息技 调试和验证具有十分重要的意义.早期的Great 术的第4次产业革命,是未来信息技术产业创新发 Duck Island叮项目中,很多节点没有能够按预期工 展的重要方向,WSN集成了传感器技术、嵌入式计 作,这掀起了业内人士对WSN的应用进行验证和 算技术、网络技术和电源技术等多项技术,因此在具 评估研究的热潮,然而,WSN的应用相关性决定了 有十分广阔的应用前景的同时,开发也具有一定的 其硬件平台、软件系统和网络协议也必然有很大差 错综复杂性,理论分析、仿真模拟和实际环境测试 异.文献[2]指出,对于WSN没有一种统一的适用 是目前研究和分析WSN的三大方法;但WSN的特 于任何情况的仿真平台,只能针对不同的应用和目 点决定了仿真模拟将是分析和研究WSN的主要 的有一个更适用的平台 手段 本文在分析相关工作的基础上,提出了一种混 收稿日期:2009-01-12 基金项目:国家高技术研究发展计划重大项目(N。.2007AA041201) 作者简介:王沁(l961一),女,教授,博士,Emil:wangqin@ies.ustb.cdu,cm
一种混合方式的无线传感器网络测试调试系统 王 沁 潘光荣 王 磊 何 杰 北京科技大学信息工程学院北京100083 摘 要 无线传感器网络是典型的网络化嵌入式系统由于其既涉及嵌入式系统的行为又涉及网络的行为以及其应用相关 性使其测试调试变得困难复杂无法构建一个通用的测试调试平台.为有效地测试调试无线传感器网络在分析已有的研究 工作基础上采用半实物的仿真策略提出了一种混合方式的无线传感器网络测试调试系统解决了纯粹软件仿真平台掩盖 太多实际器件实现的细节和实际环境测试中嵌入式系统行为和网络行为不可见、不可控性的缺陷达到了一种折中的效果. 最后给出了该系统在 FPGA(field programmable gate array)上的实现实例;通过实验验证了该系统能够有效地对无线传感器网 络应用进行测试调试. 关键词 无线传感器网络;测试调试;网络仿真;环境测试 分类号 TP206+.1 A hybrid testing and debugging system for wireless sensor networks W A NG QinPA N Guang-rongW A NG LeiHE Jie School of Information EngineeringUniversity of Science and Technology BeijingBeijing100083China ABSTRACT T he wireless sensor network (WSN) is a typical networked embedded system.It involves in both embedded systems and networksand is extraordinarily application-specific;therefore testing and debugging WSN becomes relatively complicated with various difficulties.Developing a “one-fits-all” platform for WSN testing and debugging is difficult to achieve.In order to efficiently test and debug the implementation of WSN applicationthis paper carefully analyzed previous related researchesadopted the halfpracticality simulation strategyproposed a hybrid testing and debugging system for WSNand solved the problems that pure software simulation veils too many hardware implementation details and in-situ platforms can only provide limited visibility and controllability for both the embedded systems and the networksthus achieved a balanced achievement.At lastan instance platform of the hybrid testing and debugging system for WSN was implemented in the field programmable gate array (FPGA);experimental results verified the correctness and validity of the proposed system. KEY WORDS wireless sensor networks;testing and debugging;network simulation;in-situ test 收稿日期:2009-01-12 基金项目:国家高技术研究发展计划重大项目(No.2007AA041201) 作者简介:王 沁(1961—)女教授博士E-mail:wangqin@ies.ustb.edu.cn 无线传感器网络技术(Wireless sensor network WSN)作为现在国际最前沿的新技术被誉为信息技 术的第4次产业革命是未来信息技术产业创新发 展的重要方向.WSN 集成了传感器技术、嵌入式计 算技术、网络技术和电源技术等多项技术因此在具 有十分广阔的应用前景的同时开发也具有一定的 错综复杂性.理论分析、仿真模拟和实际环境测试 是目前研究和分析 WSN 的三大方法;但 WSN 的特 点决定了仿真模拟将是分析和研究 WSN 的主要 手段. WSN 的仿真模拟对 WSN 的研究、开发、测试 调试和验证具有十分重要的意义.早期的 Great Duck Island [1]项目中很多节点没有能够按预期工 作.这掀起了业内人士对 WSN 的应用进行验证和 评估研究的热潮.然而WSN 的应用相关性决定了 其硬件平台、软件系统和网络协议也必然有很大差 异.文献[2]指出对于 WSN 没有一种统一的适用 于任何情况的仿真平台只能针对不同的应用和目 的有一个更适用的平台. 本文在分析相关工作的基础上提出了一种混 第31卷 第9期 2009年 9月 北 京 科 技 大 学 学 报 Journal of University of Science and Technology Beijing Vol.31No.9 Sep.2009 DOI:10.13374/j.issn1001-053x.2009.09.022
第9期 王沁等:一种混合方式的无线传感器网络测试调试系统 ,1201, 合式的无线传感器网络的仿真方法,从而达到反映 信息却无法在不影响原程序的情况下大量地提取出 嵌入式系统与网络行为之间关系的目的,进而高效 来,哈佛大学的MoteLab1o]是早期尝试物理测试 地对无线传感器网络的应用进行调试和测试, 平台的实例之一,由30个MicaZ节点经过以太网连 1相关研究工作分析 接到一个中央服务器上组成,SNIF(sensor network inspection framework)架构山通过在传感器网络中 在流程工业设备故障监测应用系统的设计、部 再部署另外一个检测网络,通过监测网络来收集传 署和现场测试中[3],发现由于得到的信息有限,在 感网络的信息,从而对其进行验证和调试, 调试过程和应用过程中出现的一些问题难以定位, DSN2]、EmStar[13]也是测试WSN应用程序的实际 或者需要大量的时间去测试以排除各种可能,因此 环境测试平台,实际网络的难以控制,外界环境的 需要一个新的测试调试平台.一个目的是对已知类 千变万化使实验难以重现;反映网络行为和嵌入式 型的错误加快调试和定位,另一个目的是通过极端 行为的信息通过应用程序中注入附加代码实现,得 情况的设置去发现并解决应用中难以发现的问题, 到的信息有限;实际环境测试的方法无法满足大规 下面主要从WSN的调试方法、仿真平台和实际环 模的需要,而且一旦布设,硬件平台便固定,灵活性 境测试平台三个方面对相关的研究工作进行总结; 受限 然后给出新的测试调试平台的实现思想 纯粹软件的仿真在功能层上提供了很好的测试 目前,调试WSN的程序的手段一般包括串口 调试方法,但是得出的结果并不能被当作完全可靠 调试、指示灯(LED)调试和嵌入式平台模拟器调试, 的依据去直接部署节点,往往还需要通过实际环境 串口调试通过串口输出节点中程序的执行状态信 测试进一步验证,实际环境测试,由于信道和嵌入 息,该方法能够观测的节点数目非常有限,且当节点 式系统信息的不可见、不可控性,灵活性不足、耗时、 内部程序发生死锁或崩渍时该方法将失效,指示灯 耗力,当面向异构仿真、环境仿真、仿真并行性和硬 调试靠节点上数量有限的LED提供的信息进行调 件错误检测时这两种方法都没很好地达到需求.本 试,因此无法调试逻辑比较复杂的程序,嵌入式平 文提出的系统,主要目的是验证实际WSN的实现, 台模拟器(主要指微处理器的模拟器)可以在嵌入式 其保留了真正的嵌入式系统,同时提供一种嵌入式 系统前期有效地诊断软件的功能缺陷;但WSN的 系统信息收集机制,应用程序中不需要注入过多的 程序行为高度依赖于应用环境,因此嵌入式平台模 调试代码便可定位其他平台难以快速定位的错误; 拟器上的仿真结果不能完全反映实际实现时的实时 为了能够控制信道并使网络信息可视化,用一种更 性和事件突发性,应用中的一些问题是很难通过该 真实的手段一同步数字电路模拟网络和信道.这 类平台定位的, 种混合的方式能够调试WSN应用程序,对协议的 通用的网络仿真软件是网络领域研究算法和协 实现进行验证,并且能在不影响原WSN应用程序 议的主要工具,主要有OPNET[、Ns-2和G1o 的前提下收集到开发者感兴趣的性能评价参数,从 MoSim[6]等.这些平台大部分要重新为仿真编写代 而进行性能优化或评估 码,而且该类平台的抽象层次比较高,不适用于实际 实现的验证,因此,出现了WSN的专用仿真器. 2混合方式的SN测试调试系统的体系结构 TOSSIM],TOSSIF[8]是TinyOS开发的专用平台, 与传统网络仿真主要在协议栈层次上进行体系 它们在支持异构网络的仿真上具有一定的局限性, 结构划分不同,本文根据实际WSN的实现进行器 WSNSim[通过对网络模型和抽象算法的描述来进 件级上的体系结构划分.实际WSN的结构可以抽 行网络级的抽象算法仿真,其主要贡献是添加了更 象成如图1左侧所示,由信道和接在其上的实际传 加真实的能耗分析模型.这些纯粹软件的仿真方 感器节点组成.实际的传感器节点由传感器模块、 式,用软件实现各层的网络协议,简单地抽象信道特 处理器模块、无线通信模块和能量供应模块组成 征,从而评价各种协议的性能,如网络的吞吐量、端 为了对实现进行验证,需要平台运行实际程序并具 对端延迟和丢包率等指标. 有和实际一样的并行效果,本文保留实际传感器节 另一种WSN开发的常用方法是用多个实际传 点的传感器模块、处理器模块和能量供应模块,称其 感器节点布置成真实网络,通过收集节点上的输出 为RES(real embedded system),实际传感器节点中 信息,了解网络和嵌入式系统的运行状况,这种方 的通信模块如CC2420和CC1100,本文用同步数字 法比较真实地体现了WSN的行为,但真实的行为 电路进行器件级上的模拟,称其为VRF(virtual
合式的无线传感器网络的仿真方法从而达到反映 嵌入式系统与网络行为之间关系的目的进而高效 地对无线传感器网络的应用进行调试和测试. 1 相关研究工作分析 在流程工业设备故障监测应用系统的设计、部 署和现场测试中[3]发现由于得到的信息有限在 调试过程和应用过程中出现的一些问题难以定位 或者需要大量的时间去测试以排除各种可能因此 需要一个新的测试调试平台.一个目的是对已知类 型的错误加快调试和定位另一个目的是通过极端 情况的设置去发现并解决应用中难以发现的问题. 下面主要从 WSN 的调试方法、仿真平台和实际环 境测试平台三个方面对相关的研究工作进行总结; 然后给出新的测试调试平台的实现思想. 目前调试 WSN 的程序的手段一般包括串口 调试、指示灯(LED)调试和嵌入式平台模拟器调试. 串口调试通过串口输出节点中程序的执行状态信 息该方法能够观测的节点数目非常有限且当节点 内部程序发生死锁或崩溃时该方法将失效.指示灯 调试靠节点上数量有限的 LED 提供的信息进行调 试因此无法调试逻辑比较复杂的程序.嵌入式平 台模拟器(主要指微处理器的模拟器)可以在嵌入式 系统前期有效地诊断软件的功能缺陷;但 WSN 的 程序行为高度依赖于应用环境因此嵌入式平台模 拟器上的仿真结果不能完全反映实际实现时的实时 性和事件突发性应用中的一些问题是很难通过该 类平台定位的. 通用的网络仿真软件是网络领域研究算法和协 议的主要工具主要有 OPNET [4]、Ns-2[5] 和 GloMoSim [6]等.这些平台大部分要重新为仿真编写代 码而且该类平台的抽象层次比较高不适用于实际 实现的验证.因此出现了 WSN 的专用仿真器. TOSSIM [7]、TOSSIF [8]是 TinyOS 开发的专用平台 它们在支持异构网络的仿真上具有一定的局限性. WSNSim [9]通过对网络模型和抽象算法的描述来进 行网络级的抽象算法仿真其主要贡献是添加了更 加真实的能耗分析模型.这些纯粹软件的仿真方 式用软件实现各层的网络协议简单地抽象信道特 征从而评价各种协议的性能如网络的吞吐量、端 对端延迟和丢包率等指标. 另一种 WSN 开发的常用方法是用多个实际传 感器节点布置成真实网络通过收集节点上的输出 信息了解网络和嵌入式系统的运行状况.这种方 法比较真实地体现了 WSN 的行为但真实的行为 信息却无法在不影响原程序的情况下大量地提取出 来.哈佛大学的 MoteLab [10] 是早期尝试物理测试 平台的实例之一由30个 MicaZ 节点经过以太网连 接到一个中央服务器上组成.SNIF(sensor network inspection framework)架构[11]通过在传感器网络中 再部署另外一个检测网络通过监测网络来收集传 感 网 络 的 信 息从 而 对 其 进 行 验 证 和 调 试. DSN [12]、EmStar [13]也是测试 WSN 应用程序的实际 环境测试平台.实际网络的难以控制外界环境的 千变万化使实验难以重现;反映网络行为和嵌入式 行为的信息通过应用程序中注入附加代码实现得 到的信息有限;实际环境测试的方法无法满足大规 模的需要而且一旦布设硬件平台便固定灵活性 受限. 纯粹软件的仿真在功能层上提供了很好的测试 调试方法但是得出的结果并不能被当作完全可靠 的依据去直接部署节点往往还需要通过实际环境 测试进一步验证.实际环境测试由于信道和嵌入 式系统信息的不可见、不可控性灵活性不足、耗时、 耗力.当面向异构仿真、环境仿真、仿真并行性和硬 件错误检测时这两种方法都没很好地达到需求.本 文提出的系统主要目的是验证实际 WSN 的实现. 其保留了真正的嵌入式系统同时提供一种嵌入式 系统信息收集机制应用程序中不需要注入过多的 调试代码便可定位其他平台难以快速定位的错误; 为了能够控制信道并使网络信息可视化用一种更 真实的手段———同步数字电路模拟网络和信道.这 种混合的方式能够调试 WSN 应用程序对协议的 实现进行验证并且能在不影响原 WSN 应用程序 的前提下收集到开发者感兴趣的性能评价参数从 而进行性能优化或评估. 2 混合方式的 WSN 测试调试系统的体系结构 与传统网络仿真主要在协议栈层次上进行体系 结构划分不同本文根据实际 WSN 的实现进行器 件级上的体系结构划分.实际 WSN 的结构可以抽 象成如图1左侧所示由信道和接在其上的实际传 感器节点组成.实际的传感器节点由传感器模块、 处理器模块、无线通信模块和能量供应模块组成. 为了对实现进行验证需要平台运行实际程序并具 有和实际一样的并行效果本文保留实际传感器节 点的传感器模块、处理器模块和能量供应模块称其 为 RES(real embedded system).实际传感器节点中 的通信模块如 CC2420和 CC1100本文用同步数字 电路进行器件级上的模拟称其为 VRF (virtual 第9期 王 沁等: 一种混合方式的无线传感器网络测试调试系统 ·1201·
,1202 北京科技大学学报 第31卷 F);同样用同步数字电路来仿真信道模型,称为仿 2.1节点的裁剪 真的信道VCH(virtual Channel),RES和VRF构成 节点裁剪是一道很简单的工序,将PCB板上微 的仿真的节点连接到VCH,这就如实际传感器节点 型控制器(micro control unit,MCU)与实际通信部 连接在实际信道上, 件相接的接口直接引出,使其能连接到VRF上即 用FPGA实现同步数字电路系统,可以灵活配 可.通常情况下,MCU与通信模块之间有两类接 置所实现的系统,容易地将感兴趣的信息输出到指 口:通用接口(如SPI)和通信模块与MCU之间的其 定的地方,而且可以达到真正的并行性,VCH和 他信号接口(如CC2420的FIF0、FIFOP等,这里称 VRF正是采用这些优势来达到控制信道、可视化信 其为其他I/0口)·保留传统串口调试所用的接口 道及模拟通信器件的目的,图1是实际WSN系统 (UART),与传统串口调试不同的是,该接口输出的 和本文所提混合方式的WSN测试调试系统(下文 调试信息不直接送往PC,而是通过下文将要描述的 简称HybridWSNSim)的体系结构.HybridWSNSim 探针采集后,由信息收集系统集中送往PC,这样所 体系结构的详细模块划分如图2所示,其中小虚线 有节点的信息都可以输出到PC,解决了传统串口调 框是连接到仿真信道上的各个仿真节点,因为Hy~ 试只能监测有限个节点的问题,通过检测SPI和其 bridWSNSim既有实际器件又有仿真部分,所以是 他I/0管脚上的事件,可以在不用添加任何附加代 一种混合方式的系统 码的情况下,跟踪MCU对VRF的各个操作以及通 信模块的行为状态,从而使部分嵌入式系统行为和 一仿真的 传感器节点 网络的行为可视化,例如,当VRF接收到一个数据 仿真的 包时,会通过一根和RES相连的I/0管脚发起中 信道 实际传感器 信道 断,而探针会检测到该事件从而将之收集 节点 2.2虚拟通信模块 虚拟通信模块必须像真的物理器件一样为与之 图1无线传感器网络系统 相连接的裁剪节点提供下层的服务,由于不同类型 Fig-1 WSN system 的通信器件具有不同的实现细节,本文提供一个由 图2中的一些其他模块有:①PC端软件一用 若干个虚拟通信部件组成的虚拟化模版,仿真过程 来设置仿真参数,控制仿真过程,分析仿真数据的辅 中可以根据实际的物理器件选择合适的虚拟通信模 助软件:②信息收集系统一包括各个信息收集探 块,通过分析目前主要使用的通信部件CC1100、 针在内的测试调试数据收集系统;③P℃与仿真模块 CC2420,发现两种通信部件与MCU的接口都是 的接口一用来连接P℃端软件和仿真平台;④片 SPI接口,它们主要功能的收发状态机的大部分状 外存储器一存储仿真结果的片外存储单元. 态是一致的.因此,编写一个通用的状态机,各种类 型的通信模块共享该状态机,进行比特流上的数据 片外存储器 P℃端仿直 一一一■、连接到所有 包收发,能够避免重复编码,同时提供一个虚拟的 参数设置 PC与仿真 信息收集 探针上的事 寄存器接口,解决这两种射频部件在寄存器配置上 管理及其 模块接口 系统 件收集总线 测试数据 的不同,从而达到直接支持多种通信器件驱动程序 分析软件 配置接口 的目的,图3是虚拟通信模块的结构图 SPI SPI 虚拟寄存器 接口 译码 模板 VCH 模块 1其他1O 接收FIFO SRAM 接口 控制 收发 发送 状机 块事 发送FO 接收( 控制 件收集探针: 1嵌人式系统: 输出信息 仿直的 收集探 RES RES 传感器节点 图3虚拟通信模块结构 Fig.3 Structure of virtual RF 图2 dybridWS NSim的体系结构 收发状态控制单元主要用来实现一个MAC Fig.2 Structure of HybridWSNSim (media access control)层的收发状态机,模拟各个状 态之间的转换.MCU发来的命令和仿真信道的信
RF);同样用同步数字电路来仿真信道模型称为仿 真的信道 VCH(virtual Channel).RES 和 VRF 构成 的仿真的节点连接到 VCH这就如实际传感器节点 连接在实际信道上. 用 FPGA 实现同步数字电路系统可以灵活配 置所实现的系统容易地将感兴趣的信息输出到指 定的地方而且可以达到真正的并行性.VCH 和 VRF 正是采用这些优势来达到控制信道、可视化信 道及模拟通信器件的目的.图1是实际 WSN 系统 和本文所提混合方式的 WSN 测试调试系统(下文 简称 HybridWSNSim)的体系结构.HybridWSNSim 体系结构的详细模块划分如图2所示其中小虚线 框是连接到仿真信道上的各个仿真节点.因为 HybridWSNSim 既有实际器件又有仿真部分所以是 一种混合方式的系统. 图1 无线传感器网络系统 Fig.1 WSN system 图2中的一些其他模块有:①PC 端软件———用 来设置仿真参数控制仿真过程分析仿真数据的辅 助软件;②信息收集系统———包括各个信息收集探 针在内的测试调试数据收集系统;③PC 与仿真模块 的接口———用来连接 PC 端软件和仿真平台;④片 外存储器———存储仿真结果的片外存储单元. 图2 HybridWSNSim 的体系结构 Fig.2 Structure of HybridWSNSim 2∙1 节点的裁剪 节点裁剪是一道很简单的工序将 PCB 板上微 型控制器(micro control unitMCU)与实际通信部 件相接的接口直接引出使其能连接到 VRF 上即 可.通常情况下MCU 与通信模块之间有两类接 口:通用接口(如 SPI)和通信模块与 MCU 之间的其 他信号接口(如 CC2420的 FIFO、FIFOP 等这里称 其为其他 I/O 口).保留传统串口调试所用的接口 (UART)与传统串口调试不同的是该接口输出的 调试信息不直接送往 PC而是通过下文将要描述的 探针采集后由信息收集系统集中送往 PC这样所 有节点的信息都可以输出到 PC解决了传统串口调 试只能监测有限个节点的问题.通过检测 SPI 和其 他 I/O 管脚上的事件可以在不用添加任何附加代 码的情况下跟踪 MCU 对 VRF 的各个操作以及通 信模块的行为状态从而使部分嵌入式系统行为和 网络的行为可视化.例如当 VRF 接收到一个数据 包时会通过一根和 RES 相连的 I/O 管脚发起中 断而探针会检测到该事件从而将之收集. 2∙2 虚拟通信模块 虚拟通信模块必须像真的物理器件一样为与之 相连接的裁剪节点提供下层的服务.由于不同类型 的通信器件具有不同的实现细节本文提供一个由 若干个虚拟通信部件组成的虚拟化模版.仿真过程 中可以根据实际的物理器件选择合适的虚拟通信模 块.通过分析目前主要使用的通信部件 CC1100、 CC2420发现两种通信部件与 MCU 的接口都是 SPI 接口它们主要功能的收发状态机的大部分状 态是一致的.因此编写一个通用的状态机各种类 型的通信模块共享该状态机进行比特流上的数据 包收发能够避免重复编码.同时提供一个虚拟的 寄存器接口解决这两种射频部件在寄存器配置上 的不同从而达到直接支持多种通信器件驱动程序 的目的.图3是虚拟通信模块的结构图. 图3 虚拟通信模块结构 Fig.3 Structure of virtual RF 收发状态控制单元主要用来实现一个 MAC (media access control)层的收发状态机模拟各个状 态之间的转换.MCU 发来的命令和仿真信道的信 ·1202· 北 京 科 技 大 学 学 报 第31卷
第9期 王沁等:一种混合方式的无线传感器网络测试调试系统 ,1203 号都能触发状态机切换状态,状态机还负责收发模 来的数据,并把其作为干扰信号,数据流选通模块 块与FIF0之间的数据传输,发送模块负责将数据 根据各个过滤模块产生的选通信号最后判决可达数 以比特流的形式按一定的数据传输速率发送到信道 据比特流,该数据比特流经过比特流错误注入器注 中,接收模块将信道的信号接收并组装成字节,SPI 入符合BER配置的错误, 接口是MCU与VRF之间的数据命令传送接口. 2.4信息收集系统 SPI译码模块将MCU发来的寄存器操作或者命令 信息采集机制是将嵌入式系统行为和网络行为 进行译码,并将包数据或寄存器数据送到SPI接口, 可视化的关键,主要有以下几部分. 其他I/O接口模块实现MCU和VRF之间的其他 (1)探针:探针以事件触发的方式工作,将要 连接信号的功能,如CC2420的SFD、FIFO、FIFOP 检测的信号接到探针上,任何变化都会触发探针将 和CCA,CC1100的GD0. 变化采集下来,并将其按指定的格式与全局时间戳 2.3仿真的信道 封装成一个事件.每个探针都有局部存储部件,按 仿真的信道有两个作用:一是为虚拟通信模块 时分的机制,每个探针轮流将事件发送给信息收集 提供虚拟的物理层,即将VRF的比特流发送出去, 子系统,探针独立于其他的仿真模块,而且其不影 同时也要将信道中的信号以比特流的方式传给 响应用程序的执行 VRF;二是模拟信道的功能,如能量衰减、信号的干 (2)信息收集子系统:仿真过程中,用来将各个 扰和噪声等,由于本系统是建立在比特流上的仿 探针局部事件组装到外部事件存储器中,因此其还 真,而从MAC层上看有两个参数可以足够描述信 包括一个外部存储器接口的实现:在仿真结束后,该 道的特征:一个是收到一个包的可能性,另一个是收 子系统将事件发送到PC端以进行后续的处理和分 到包的位误码率(bit error rate,BER)·前一个参数 析 由能量的衰减、信干比决定:后一个参数由信道的实 (3)全局时钟:用一个全局时钟产生的时间信 际状况和发送接收的硬件本身决定, 号来标志事件是必要的,这样能够清楚标志事件的 一个由n个节点构成的网络的仿真由n个图4 先后顺序,全局时钟频率远高于裁剪节点的工作频 给出的仿真信道模块组成,每个仿真信道为一个仿 率,这样在保证时间精度的基础上还满足了各个裁 真的节点提供服务,负责其他所有仿真节点到其服 剪节点在同步电路基础上的异步行为 务节点的数据可达性判断以及可达包的BER注入· 2.5P℃端 参数表存储其他节点信号能量衰减后到达该仿真信 为了提高仿真平台的易用性,开发了一系列的 道所服务节点时的能量,该节点可接收信号的频率、 PC终端的用户应用程序接口.通过一个图形化的 位传输率以及信干比阈值,能量衰减过滤模块判决 用户接口界面,用户可以通过输入坐标的方式设置 所达信号是否在能量上可达所服务节点,载频过滤 网络的拓扑结构,设置仿真信道的参数,设置节点的 模块仅让频率匹配的节点的数据具有可达所服务节 硬件参数如发送能量、天线增益、接收能量阈值和信 点的可能性,而其他信号作为干扰信号,信干比过 干比阈值等,还有一些参数需要通过用户选择的模 滤模块检测该信道的信干比,若信干比小于所设阈 型来进行计算得出,如能量的路径损耗等.所有的 值则任何节点的数据都不可达所服务的节点,位传 参数存放在一个服务器端的数据库中,这样达到了 输速率过滤模块过滤掉位传输速率不匹配的节点发 仿真的灵活性,简化了用户配置,其次用户接口界 面能够进行一定的事件演示,通过该用户接口界面 参数表 还可以进行探针的设置,每个探针事先接到32个事 件源上,用户可以对事件源进行选择,还可以对事件 能量衰诚 载频率 信干比 位传输率 触发条件进行配置, 过滤模块 过滤模块 过滤模块 过滤模块 Ttt I 3 HybridWSNSim的一个实现原型 数据流选通 图5是Hybrid WS NSim的一个实现原型.PCB 比特流错误注人器 板上的FPGA是XILINX的Virtex2PXC2VP70,主 要用来实现图2大虚线框中的部分.图5的各个实 图4仿真信道模块 现配置如表1所示 Fig.4 Module of virtual channel 仿真结果以表格的方式存储到$QL数据库中
号都能触发状态机切换状态.状态机还负责收发模 块与 FIFO 之间的数据传输.发送模块负责将数据 以比特流的形式按一定的数据传输速率发送到信道 中接收模块将信道的信号接收并组装成字节.SPI 接口是 MCU 与 VRF 之间的数据命令传送接口. SPI 译码模块将 MCU 发来的寄存器操作或者命令 进行译码并将包数据或寄存器数据送到 SPI 接口. 其他 I/O 接口模块实现 MCU 和 VRF 之间的其他 连接信号的功能如 CC2420的 SFD、FIFO、FIFOP 和 CCACC1100的 GDO. 2∙3 仿真的信道 仿真的信道有两个作用:一是为虚拟通信模块 提供虚拟的物理层即将 VRF 的比特流发送出去 同时也要将信道中的信号以比特流的方式传给 VRF;二是模拟信道的功能如能量衰减、信号的干 扰和噪声等.由于本系统是建立在比特流上的仿 真而从 MAC 层上看有两个参数可以足够描述信 道的特征:一个是收到一个包的可能性另一个是收 到包的位误码率(bit error rateBER).前一个参数 由能量的衰减、信干比决定;后一个参数由信道的实 际状况和发送接收的硬件本身决定. 图4 仿真信道模块 Fig.4 Module of virtual channel 一个由 n 个节点构成的网络的仿真由 n 个图4 给出的仿真信道模块组成.每个仿真信道为一个仿 真的节点提供服务负责其他所有仿真节点到其服 务节点的数据可达性判断以及可达包的 BER 注入. 参数表存储其他节点信号能量衰减后到达该仿真信 道所服务节点时的能量该节点可接收信号的频率、 位传输率以及信干比阈值.能量衰减过滤模块判决 所达信号是否在能量上可达所服务节点.载频过滤 模块仅让频率匹配的节点的数据具有可达所服务节 点的可能性而其他信号作为干扰信号.信干比过 滤模块检测该信道的信干比若信干比小于所设阈 值则任何节点的数据都不可达所服务的节点.位传 输速率过滤模块过滤掉位传输速率不匹配的节点发 来的数据并把其作为干扰信号.数据流选通模块 根据各个过滤模块产生的选通信号最后判决可达数 据比特流该数据比特流经过比特流错误注入器注 入符合 BER 配置的错误. 2∙4 信息收集系统 信息采集机制是将嵌入式系统行为和网络行为 可视化的关键主要有以下几部分. (1) 探针:探针以事件触发的方式工作.将要 检测的信号接到探针上任何变化都会触发探针将 变化采集下来并将其按指定的格式与全局时间戳 封装成一个事件.每个探针都有局部存储部件按 时分的机制每个探针轮流将事件发送给信息收集 子系统.探针独立于其他的仿真模块而且其不影 响应用程序的执行. (2) 信息收集子系统:仿真过程中用来将各个 探针局部事件组装到外部事件存储器中因此其还 包括一个外部存储器接口的实现;在仿真结束后该 子系统将事件发送到 PC 端以进行后续的处理和分 析. (3) 全局时钟:用一个全局时钟产生的时间信 号来标志事件是必要的.这样能够清楚标志事件的 先后顺序.全局时钟频率远高于裁剪节点的工作频 率这样在保证时间精度的基础上还满足了各个裁 剪节点在同步电路基础上的异步行为. 2∙5 PC 端 为了提高仿真平台的易用性开发了一系列的 PC 终端的用户应用程序接口.通过一个图形化的 用户接口界面用户可以通过输入坐标的方式设置 网络的拓扑结构设置仿真信道的参数设置节点的 硬件参数如发送能量、天线增益、接收能量阈值和信 干比阈值等.还有一些参数需要通过用户选择的模 型来进行计算得出如能量的路径损耗等.所有的 参数存放在一个服务器端的数据库中.这样达到了 仿真的灵活性简化了用户配置.其次用户接口界 面能够进行一定的事件演示.通过该用户接口界面 还可以进行探针的设置每个探针事先接到32个事 件源上用户可以对事件源进行选择还可以对事件 触发条件进行配置. 3 HybridWSNSim 的一个实现原型 图5是 HybridWSNSim 的一个实现原型.PCB 板上的 FPGA 是 XILINX 的 Virtex2P XC2VP70主 要用来实现图2大虚线框中的部分.图5的各个实 现配置如表1所示. 仿真结果以表格的方式存储到 SQL 数据库中 第9期 王 沁等: 一种混合方式的无线传感器网络测试调试系统 ·1203·
,1204 北京科技大学学报 第31卷 表1 HybridWSNSim实现实例的配置 Table 1 Specifications for a prototype of HybridWSNSim 名称 实例 数目或说明 RES没有RF的MicaZ 4 VCH Free Space十高斯噪声信道模型8 PC展务PGA VRF 器件级上仿真CC2420 8 RES 存储两片并联的Hynix32 M SDRAM可存储约6O0万个事件 探针事件触发模式 9组 图5 HybridWS NSim实现原型 将添加其他模型.图6(b)所示界面是仿真过程中各 Fig-5 Prototype of Hybrid WSNSim 个节点布局的显示,右下方表格显示的是按时间排 可以方便取出进行比较、绘图或者进一步的处理, 序的事件,单击其中任意一行,可以在节点布局图中 图6是PC端的图形用户接口界面,基于.NET框 显示事件的图形化描述,同时也可以点击演示按钮, 架的Visual C#.NET2005开发.图6(a)用于设置 使演示窗口以动画的形式播放整个仿真过程,其播 仿真参数,信道模型目前只实现了FreeSpace,后期 放速度可以调节 (3 (b) 图6用户应用程序接口,(a)配置界面;(b)事件演示分析界面 Fig.6 User application programming interface:(a)configuration interface:(b)event display and analysis interface 4实验验证 一个同步周期 数据传输阶段」 数据传输阶段2 HybridWSNSim的主要目的是通过将嵌入式系 统和信道的相关信息可视化,对WSN进行测试调 试,从而验证实际WSN的实现,为了验证平台的有 数回数回数回 效性,本文在平台上仿真了一系列的基于TinyOS 33 编程的应用.通过对注入已知错误的快速定位,证 明了本平台的实用价值,下文通过一个实例对该平 图7一种TDMA协议 Fig.7 A TDMA protocol 台进行说明 实验室中布置四个节点构成的星型拓扑网络, 持程序上的异构,而且支持器件级别上的异构 一个为Sink节点,另外三个为数据节点,四个节点 Sik节点和三个数据节点上运行的程序是不同的, 通过文献[3]中所述的TDMA协议(图7)进行通 这在TinyOS自带的仿真工具TOSSIM上是没法进 信.Sloti被分配给第i个数据节点与Sink进行通 行仿真的.任何支持SPI接口的MCU都可以接到 信.不在自己时隙的节点进入休眠状态,每个节点 本文的系统上,而且虚拟通信部件可以从目前器件 设置重传机会为3,在每个数据周期前,Sink发送两 库里选择是CC2420或者CC1100. 次同步帧进行同步,应用程序通过修改TinyOS中 (2)使节点行为和网络行为可视化,表2将探 的CC2420 Radio M实现. 针探测到的信息列出,清晰地描述了两个节点的通 (l)异构网络的测试.HybridWSNSim不但支 信行为和节点的行为,节点0开始发送数据时发送
图5 HybridWSNSim 实现原型 Fig.5 Prototype of HybridWSNSim 可以方便取出进行比较、绘图或者进一步的处理. 图6是 PC 端的图形用户接口界面.基于.NET 框 架的 Visual C#.NET 2005开发.图6(a)用于设置 仿真参数.信道模型目前只实现了 FreeSpace后期 表1 HybridWSNSim 实现实例的配置 Table1 Specifications for a prototype of HybridWSNSim 名称 实例 数目或说明 RES 没有 RF 的 MicaZ 4 VCH Free Space+高斯噪声信道模型 8 VRF 器件级上仿真 CC2420 8 存储 两片并联的 Hynix 32M SDRAM 可存储约600万个事件 探针 事件触发模式 9组 将添加其他模型.图6(b)所示界面是仿真过程中各 个节点布局的显示右下方表格显示的是按时间排 序的事件单击其中任意一行可以在节点布局图中 显示事件的图形化描述同时也可以点击演示按钮 使演示窗口以动画的形式播放整个仿真过程其播 放速度可以调节. 图6 用户应用程序接口.(a) 配置界面;(b) 事件演示分析界面 Fig.6 User application programming interface:(a) configuration interface;(b) event display and analysis interface 4 实验验证 HybridWSNSim 的主要目的是通过将嵌入式系 统和信道的相关信息可视化对 WSN 进行测试调 试从而验证实际 WSN 的实现.为了验证平台的有 效性本文在平台上仿真了一系列的基于 TinyOS 编程的应用.通过对注入已知错误的快速定位证 明了本平台的实用价值.下文通过一个实例对该平 台进行说明. 实验室中布置四个节点构成的星型拓扑网络 一个为 Sink 节点另外三个为数据节点.四个节点 通过文献 [3] 中所述的 TDMA 协议(图7)进行通 信.Slot-i 被分配给第 i 个数据节点与 Sink 进行通 信.不在自己时隙的节点进入休眠状态.每个节点 设置重传机会为3在每个数据周期前Sink 发送两 次同步帧进行同步.应用程序通过修改 TinyOS 中 的 CC2420RadioM 实现. (1) 异构网络的测试.HybridWSNSim 不但支 图7 一种 TDMA 协议 Fig.7 A TDMA protocol 持程序上的异构而且支持器件级别上的异构. Sink 节点和三个数据节点上运行的程序是不同的 这在 TinyOS 自带的仿真工具 TOSSIM 上是没法进 行仿真的.任何支持 SPI 接口的 MCU 都可以接到 本文的系统上而且虚拟通信部件可以从目前器件 库里选择是 CC2420或者 CC1100. (2) 使节点行为和网络行为可视化.表2将探 针探测到的信息列出清晰地描述了两个节点的通 信行为和节点的行为.节点0开始发送数据时发送 ·1204· 北 京 科 技 大 学 学 报 第31卷
第9期 王沁等:一种混合方式的无线传感器网络测试调试系统 ,1205 表2两个节点的通信行为 Table 2 Communication behavior between 2 nodes 节点0 节点1 时间藏(clock cycle) VRF状态 发送中断监测信道 VRF状态 接收中断监测信道 104210280 PowerDown 0 No RxPreamble 1 No 223042324 Idle 0 No RxPreamble 1 No 223045476 TxPreamble 1 0 RxPreamble 0 223045576 TxPreamble 1 0 Rx Preamble 1 0 223046496 TxLength 1 0 RxPreamble 1 0 223046542 TxLength 0 RxLength 1 0 223047520 TxData 0 RxLength 1 0 223047566 TxData 1 0 RxData 1 0 223055712 TxCrch 1 0 RxData 1 0 223055759 TxCrch 1 0 RxData 0 0 223056736 TxCrel 1 0 RxData 0 0 223056784 TxCrel 1 0 RxCrch 0 0 223057760 TxEnd 1 0 RxCreh 0 0 223057762 RxPreamble 0 RxCrch 0 0 223058830 RxPreamble 0 No RxCrel 0 0 223058888 RxPreamble 0 RxCrel 0 No 223465227 RxPreamble 0 No RxPreamble 0 No 中断信号出现一上升沿,发送结束时出现一下降沿 隙大小设置有问题,至此,已发现传统调试方式将 跳变.只有节点0和节点1在通信,所以信道显示 耗费大量的人力、物力和时间 “0”,表示只有0号节点的数据在信道中 对平台原型上收集到事件进行分析,见表3. (3)调试,通过串口输出Sik节点收到的数据 1号节点探针检测到的FIFOP管脚(即接收中断管 包,发现Sink节点从1号节点仅收到了一个数据 脚)仅发生过三次变化.第1次变化表示向MCU发 包.这不符合图7所示的协议,按传统的串口调试 起接收中断请求,第2次变化表示FIF0内数据包 办法,须先猜测错误的可能性,形成一个可能的错误 被读走,第3次表示又向MCU发起接收中断请求, 集,再按照错误可能性大小的经验性判断对错误集 此后该管脚一直处于同一状态(表3特殊标记的表 中的错误逐个断定或排除,该问题可能原因有: 项),这样错误便容易定位到是中断相关,实际原 Sik节点自身的错误,如未能按时进入接收状态、 因是接收中断处理程序进入后关全局中断但是跳出 参数设置与数据节点有不符等;数据节点的错误,如 时没有开中断,本文的平台很大程度地便利了 程序进入死循环等;协议错误,如TDMA的各个时 WSN应用程序的调试 表3调试程序并定位错误源示例 Table 3 A demonstration on debugging programs and locating problems 时间藏 节点0 节点1 (clock eycle) 备注 VRF状态 接收中断管脚 VRF状态 344260428 RxLength 1 TxData 344260474 RxData 1 TxData 344268620 RxData 1 TxCrch 344268667 RxData 0 TxCrch 344271796 RxCrel 0 RxPreamble 344272849 RxPreamble 0 RxPreamble 节点I发送完毕等待ACK 344432849 RxPreamble 0 RxPreamble 节点I等待ACK超时 344433848 RxPreamble 0 TxPreamble 节点1重传数据
表2 两个节点的通信行为 Table2 Communication behavior between2nodes 时间戳(clock cycle) 节点0 节点1 VRF 状态 发送中断监测 信道 VRF 状态 接收中断监测 信道 104210280 PowerDown 0 No RxPreamble 1 No 223042324 Idle 0 No RxPreamble 1 No 223045476 TxPreamble 1 0 RxPreamble 1 0 223045576 TxPreamble 1 0 RxPreamble 1 0 223046496 TxLength 1 0 RxPreamble 1 0 223046542 TxLength 1 0 RxLength 1 0 223047520 TxData 1 0 RxLength 1 0 223047566 TxData 1 0 RxData 1 0 223055712 TxCrch 1 0 RxData 1 0 223055759 TxCrch 1 0 RxData 0 0 223056736 TxCrcl 1 0 RxData 0 0 223056784 TxCrcl 1 0 RxCrch 0 0 223057760 TxEnd 1 0 RxCrch 0 0 223057762 RxPreamble 0 0 RxCrch 0 0 223058830 RxPreamble 0 No RxCrcl 0 0 223058888 RxPreamble 0 No RxCrcl 0 No 223465227 RxPreamble 0 No RxPreamble 0 No 中断信号出现一上升沿发送结束时出现一下降沿 跳变.只有节点0和节点1在通信所以信道显示 “0”表示只有0号节点的数据在信道中. (3)调试.通过串口输出 Sink 节点收到的数据 包发现 Sink 节点从1号节点仅收到了一个数据 包.这不符合图7所示的协议.按传统的串口调试 办法须先猜测错误的可能性形成一个可能的错误 集再按照错误可能性大小的经验性判断对错误集 中的错误逐个断定或排除.该问题可能原因有: Sink 节点自身的错误如未能按时进入接收状态、 参数设置与数据节点有不符等;数据节点的错误如 程序进入死循环等;协议错误如 TDMA 的各个时 隙大小设置有问题.至此已发现传统调试方式将 耗费大量的人力、物力和时间. 对平台原型上收集到事件进行分析见表3. 1号节点探针检测到的 FIFOP 管脚(即接收中断管 脚)仅发生过三次变化.第1次变化表示向 MCU 发 起接收中断请求第2次变化表示 FIFO 内数据包 被读走第3次表示又向 MCU 发起接收中断请求 此后该管脚一直处于同一状态(表3特殊标记的表 项).这样错误便容易定位到是中断相关.实际原 因是接收中断处理程序进入后关全局中断但是跳出 时没有开中断.本文的平台很大程度地便利了 WSN 应用程序的调试. 表3 调试程序并定位错误源示例 Table3 A demonstration on debugging programs and locating problems 时间戳 (clock cycle) 节点0 节点1 VRF 状态 接收中断管脚 VRF 状态 备注 344260428 RxLength 1 TxData 344260474 RxData 1 TxData 344268620 RxData 1 TxCrch 344268667 RxData 0 TxCrch … … … … 344271796 RxCrcl 0 RxPreamble 344272849 RxPreamble 0 RxPreamble 节点1发送完毕等待 ACK 344432849 RxPreamble 0 RxPreamble 节点1等待 ACK 超时 344433848 RxPreamble 0 TxPreamble 节点1重传数据 第9期 王 沁等: 一种混合方式的无线传感器网络测试调试系统 ·1205·
,1206 北京科技大学学报 第31卷 (4)协议实现的验证,各个节点的时钟同步精 VRF的状态得出的四个节点的网络行为,各个事件 度比较低,且很难同步收集多个节点的信息,因此实 时标是统一时钟下的绝对时间,精确地验证了图7 际环境中观察TDAM协议的行为验证协议实现困 协议的实现,通过不断调整参数,收集各个事件的 难、复杂甚至无法实践,本文平台中MCU和网络 准确时长,可以得到一个合适的同步周期,准确地分 的行为经过同一个全局时钟的同步,可以验证实时 配时隙,指导能耗管理,这为TDMA等实时性要求 性要求比较高的应用,哈佛大学的Motelab,通过以 严格的协议的研究提供了强大的支持 太网将各个试验节点互联起来,其收集到的信息时 本文所述平台还具有以下优点:不用重新编写 标是由各个节点的局部时钟给出的,在一定意义上, 仿真代码直接运行应用程序代码;真正实现了各个 其精确度不如本文的系统,图8是通过收集各个 节点程序的并行仿真等 Sink 节点1 a节点2 节点3 1“ Sink ro .co8o 生形 节点1 节点2 C同 节点3互 到 图8TDMA协议的仿真 Fig-8 Simulation of TDMA protocol [D/OL].[2008-12-28].http://www.opnet.com 5结语 [5]Kevin F.Kannan V.The ns Manual[M/OL].[2009-0130] http://www-isi-edu/nsnam/ns/ 实验证明HybridWSNSim极大程度地方便了 [6]Zeng X.Rajive B.Mario G.GloMoSim:a library for parallel 调试、测试,且能为WSN应用的优化提供准确的信 simulation of large-scale wireless networks Proceedings of the 息.目前设计的平台可支持使用CC2420、CC1100 Workshop on Parallel and Distributed Simulation PA DS.Alber 的节点的仿真,在本文设计的FPGA原型中共实现 ta,1998,154 了八个VRF和VCH,外围接入了四个实际的MCU [7]Philip L.Nelson L.TOSSIM:A Simulator for TinyOS Net- works[M/OL].[2007-08-27].http:/www.cs.berkeley- 部分,但占用FPGA逻辑资源和可用管脚资源均不 edu/-pal/pubs/nido.pdf 到10%.因此,一块这样的PCB板至少可以实现80 [8]Perrone L.Nicol D.A scalable simulator for TinyOS applications/ 个节点的仿真,多块PCB板的互联可以实现大规模 Proceedings of the 2002 Winter Simulation Conference Califor- 的高保真度的仿真,本文设计的仿真平台在开发 nia,2002,679 WSN的应用中应该具有很好的应用前景,由于硬 [9]Chen J M.Lin R Z,Sun Y X.Development of simulation envi- 件实现状态机具有天然的优势,因此在该平台上实 ronment WSNSim for wireless sensor networks.Chin J Sens Ac- Luators,2006,19(2):457 现一个合适的能量评估模型将是未来研究的重点, (陈积明,林瑞仲,孙优贤.无线传感器网络仿真平台WS NSim 参考文献 的设计.传感技术学报,2006,19(2):457 [10]Allen G W.Swieskowski P,Welsh M.MoteLab:a wireless [1]Szewezyk R.Polastre J.Mainwaring A.et al.Lessons from a sensor network testbed//Proceedings of Information Processing sensor network expedition /The First European Workshop on in Sensor Networks.California.2005:483 Wireless Sensor Networks (EWSN).Berlin.2004:307 [11]Ringwald M.Cortesi M.Romer K.et al.Demo abstract:pas- [2]Fraboulet A.Chelius G.Fleury E.Worldsens:development and sive inspection of deployed sensor networks with SNIF//The 4th prototyping tools for application specific wirelesssworks European Conference on Wireless Sensor Networks.Delft. IPSN 2007:Proceedings of the Sixth International Symposium 2007.45 on Information Processing in Sensor Networks.Cambridge, [12]Dyer M,Beutel J.Thiele L,et al.Deployment support net- 2007.176 work-a toolkit for the development of WSNs//The 4th Euro- [3]Wan YD,Li L.He J,et al.Anshan:wireless sensor networks pean Conference on Wireless Sensor Networks.Delft,2007:195 for equipment fault diagnosis in process industry/IEEE SECON [13]Girod L,Elson J.Cerpa A.et al.EmStar:a software environ- 2008.California.2008:314 ment for developing and deploying wireless sensor networks [4]Ranjan K.OPNET IT Guru:A Tool for Networking Education USENIX 2004.California:2004:283
(4) 协议实现的验证.各个节点的时钟同步精 度比较低且很难同步收集多个节点的信息因此实 际环境中观察 TDAM 协议的行为验证协议实现困 难、复杂甚至无法实践.本文平台中 MCU 和网络 的行为经过同一个全局时钟的同步可以验证实时 性要求比较高的应用.哈佛大学的 Motelab通过以 太网将各个试验节点互联起来其收集到的信息时 标是由各个节点的局部时钟给出的在一定意义上 其精确度不如本文的系统.图8是通过收集各个 VRF 的状态得出的四个节点的网络行为各个事件 时标是统一时钟下的绝对时间精确地验证了图7 协议的实现.通过不断调整参数收集各个事件的 准确时长可以得到一个合适的同步周期准确地分 配时隙指导能耗管理.这为 TDMA 等实时性要求 严格的协议的研究提供了强大的支持. 本文所述平台还具有以下优点:不用重新编写 仿真代码直接运行应用程序代码;真正实现了各个 节点程序的并行仿真等. 图8 TDMA 协议的仿真 Fig.8 Simulation of TDMA protocol 5 结语 实验证明 HybridWSNSim 极大程度地方便了 调试、测试且能为 WSN 应用的优化提供准确的信 息.目前设计的平台可支持使用 CC2420、CC1100 的节点的仿真.在本文设计的 FPGA 原型中共实现 了八个 VRF 和 VCH外围接入了四个实际的 MCU 部分但占用 FPGA 逻辑资源和可用管脚资源均不 到10%.因此一块这样的 PCB 板至少可以实现80 个节点的仿真多块 PCB 板的互联可以实现大规模 的高保真度的仿真.本文设计的仿真平台在开发 WSN 的应用中应该具有很好的应用前景.由于硬 件实现状态机具有天然的优势因此在该平台上实 现一个合适的能量评估模型将是未来研究的重点. 参 考 文 献 [1] Szewczyk RPolastre JMainwaring Aet al.Lessons from a sensor network expedition ∥ The First European Workshop on Wireless Sensor Networks ( EWSN).Berlin2004:307 [2] Fraboulet AChelius GFleury E.Worldsens:development and prototyping tools for application specific wireless sensors networks∥ IPSN2007:Proceedings of the Sixth International Symposium on Information Processing in Sensor Networks. Cambridge 2007:176 [3] Wan YDLi LHe Jet al.Anshan:wireless sensor networks for equipment fault diagnosis in process industry∥ IEEE SECON 2008.California2008:314 [4] Ranjan K.OPNET IT Guru:A Tool for Networking Education [D/OL ].[2008—12—28].http:∥www.opnet.com [5] Kevin FKannan V.The ns Manual [ M/OL ].[2009—01—30] http:∥www.isi.edu/nsnam/ns/ [6] Zeng XRajive BMario G.GloMoSim:a library for parallel simulation of large-scale wireless networks∥ Proceedings of the Workshop on Parallel and Distributed Simulation PADS.Alberta1998:154 [7] Philip LNelson L.TOSSIM:A Simulator for TinyOS Networks[ M/OL ].[2007—08—27].http:∥ www.cs.berkeley. edu/-pal/pubs/nido.pdf [8] Perrone LNicol D.A scalable simulator for TinyOS applications∥ Proceedings of the2002Winter Simulation Conference.California2002:679 [9] Chen J MLin R ZSun Y X.Development of simulation environment WSNSim for wireless sensor networks.Chin J Sens Actuators200619(2):457 (陈积明林瑞仲孙优贤.无线传感器网络仿真平台 WSNSim 的设计.传感技术学报200619(2):457 [10] Allen G WSwieskowski PWelsh M.MoteLab:a wireless sensor network testbed∥ Proceedings of Information Processing in Sensor Networks.California2005:483 [11] Ringwald MCortesi MRömer Ket al.Demo abstract:passive inspection of deployed sensor networks with SNIF∥ The4th European Conference on Wireless Sensor Networks. Delft 2007:45 [12] Dyer MBeutel JThiele Let al.Deployment support network—a toolkit for the development of WSNs∥ The 4th European Conference on Wireless Sensor Networks.Delft2007:195 [13] Girod LElson JCerpa Aet al.EmStar:a software environment for developing and deploying wireless sensor networks∥ USENIX 2004.California2004:283 ·1206· 北 京 科 技 大 学 学 报 第31卷