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卷