专利名称:无线传感器网络并行仿真方法
技术领域:
本发明主要涉及无线传感网络领域,尤其涉及一种无线传感器网络并行仿真方法。
背景技术:
无线传感器网络(wireless sensor network)是由部署在监测区域内大量的微型 传感器节点组成,通过无线通信方式形成的一个面向任务的自组织的网络系统,其目的是 协作地感知、采集并处理网络覆盖区域内的目标信息,并进行控制或者发送给观察者。无线 传感器网络在工业控制,交通监控,仓储物流,环境和构筑物监测以及抢险救灾等多个方面 有着广泛的应用前景。 在现有技术中,要精确的获得网络覆盖区域内的目标信息,无线传感器网络通常 由成千甚至上万个节点组成,这对相关的技术和工艺水平提出了非常高的要求,故无线传 感器网络的设计和验证通常是使用仿真的方法进行的。 在实施本发明的过程中,发明人发现无线传感器网络的设计和验证使用目前的仿 真软件(如NS2,0MNET)进行仿真至少存在以下问题。首先,现有的仿真软件通常是对计算 机网络的通用的仿真器,通用性导致了这类软件通常只关注于协议级的仿真,而无法进行 细粒度(如比特级)的仿真;同时,由于各仿真软件都使用各自定义的语言进行描述,在使 用仿真软件验证之后,设计人员必须重新开发相应的节点程序。其次,无线传感器网络是一 个分布式系统,各节点都是并行运行的,而在单机上运行的仿真程序是串行执行的。使用串 行的程序对并行系统的仿真效率是非常低下的,尽管节点使用的处理芯片的工作频率非常 低,但是当节点数目多至成千上万时,串行的仿真往往需要非常大的计算量,因此会耗费大 量的时间,甚至是无法完成的。
发明内容
本发明的目的在于提供一种无线传感器网络并行仿真的方法,以解决现有技术中
的仿真软件无法进行细粒度仿真以及单机串行导致工作效率低下的问题。 —种无线传感器网络并行仿真方法,包括节点的细粒度仿真和无线网络的并行仿
真,节点的细粒度仿真是由单片机的仿真、通信模块的仿真和传感器模块的仿真构成,单片
机的仿真是使用软件方法对单片机指令集的实现,它能够读入HEX文件,然后对其进行仿
真执行。 所述单片机的仿真方法包括以下步骤 1、初始化初始化指令数组、载入HEX文件、初始化寄存器组、初始化指令指针IP、 堆栈指针SP ; 2、取指令根据IP指针从指令数组中取指令; 3、指令译码根据特征码判断指令的格式、判断指令类型、取操作数; 4、指令执行根据指令类型和指令译码得到的操作数执行指令、并按需访存、将结果写回、修改指令相关的寄存器; 上述取指令、译码、执行指令的顺序循环执行直到指令指针越界。 单片机的引脚提供了其与外设通信的桥梁,在仿真中必须提供合理的机制保证其
与外设的数据一致性。在实现时可将其所有引脚封装为独立的头文件,并且所有的端口都
定义为整型指针。外设连接时,引用此头文件,然后定义指针,并设其值为单片机相应的引
脚对应的指针值,这样就完成了单片机与外设的连接。 所述的通信模块负责数据的发送接收,它从单片机获得数据的比特流然后将其通过无线信道发送出去,接收过程如此相反。通过上面对引脚连接的仿真方法,使通信模块可以与单片机进行通信,仿真时主要负责完成两项任务内部寄存器的读写和数据的收发。
内部寄存器的读写主要为单片机提供访问通信模块内部寄存器变量的接口,即根据参数设定内部寄存器变量的值和返回内部寄存器的值。 对数据的收发是通信模块的主要工作,通信模块作为桥梁连接单片机和无线信道,对数据的发送过程如下 1、根据单片机仿真器函数传递的参数,置内部的寄存器;
2、改变相应的管脚的值; 3、如果是同步模式调用无线网络仿真模块相应的函数进行发送,否则将发送任务加入队列。 对收据的接收过程如下 1、根据无线信道仿真器函数传递的参数,置内部寄存器;
2 、改变相应的管脚的值。 所述的传感器模块的仿真,可使用离散事件仿真方法,根据实验需要,产生具有一定分布的传感器数值的时间序列。仿真时,传感器模块按照时间序列向端口发送预定的传感器数值。 由于无线传感器网络是一个并行系统,因此对其进行并行的仿真才能提高仿真的效率。无线网络的并行仿真负责其与节点之间的通信以及完成节点之间的通信。
无线网络并行仿真方法包括节点向集群系统的映射、与节点通信模块的通信和无线信道仿真三部分; 所述的节点向集群系统的映射中,如何分配任务是并行计算要解决的关键问题,
采用网格的方式可以按照节点的地理信息将其映射到集群节点上。 所述与节点通信模块的通信主要是数据的传递,分数据发送和接受两部分 数据发送准备发送的数据;根据无线信道仿真方法、计算能够收到该广播数据
的节点号;建立多播通信域;在多播通信域内进行广播。 数据接收对于广播收到的数据,调用通信模块提供的函数修改相应的寄存器的值。 无线信道是广播信道,发送节点附近的节点都有可能接收到,要实现并行的仿真,可使用对发送的比特位按位进行多播的方法,分别按照下述的模型计算能够收到多播的节点,然后建立通信域,在此通信域中进行广播。 判断哪些节点能够接收到广播的内容,是通过判断接收方是否大于一定的阈值来实现的,而接收功率Pr则使用自由空间模型确定[,],=^^7 其中,Pt为信号发送功率,Gt,Gr分别为发送者和接收者的天线增益,L为系统能量
损失,A表示波长,表示信号衰减系数。在实现时通常取Gt = Gr = L = 1。 本发明的有益效果为无线传感器网络并行仿真方法可使无线传感器网络的仿
真,由原来的多阶段(首先使用通用仿真器进行仿真,然后具体实现)简化为一个统一的过
程(细粒度仿真);由原来的单机串行仿真,增强为多机并行高效的仿真。从两方面提高了
无线传感器的设计、验证以及仿真的效率。
图1为本发明具体实施例所述的无线传感器网络并行仿真的方法的流程 图2为本发明具体实施例所述的无线传感器网络并行仿真的方法传感器分布在集群上的映射。
具体实施例方式
为使本发明更加清楚明白,以下结合本发明在无线传感器网络中的具体实施过程和结果,并参照附图,对本发明进一步详细说明。 如图1所示,本发明实施例所述的一种无线传感器网络并行仿真方法,包括节点的细粒度仿真和无线网络的并行仿真,节点的细粒度仿真是由单片机的仿真、通信模块的仿真和传感器模块的仿真构成,单片机的仿真是使用软件方法对单片机指令集的实现,它能够读入HEX文件,然后对其进行仿真执行。
所述单片机的仿真方法包括以下步骤 1、初始化初始化指令数组、载入HEX文件、初始化寄存器组、初始化指令指针IP、堆栈指针SP ; 2、取指令根据IP指针从指令数组中取指令; 3、指令译码根据特征码判断指令的格式、判断指令类型、取操作数; 4、指令执行根据指令类型和指令译码得到的操作数执行指令、并按需访存、将结
果写回、修改指令相关的寄存器; 上述取指令、译码、执行指令的顺序循环执行直到指令指针越界。 单片机的引脚提供了其与外设通信的桥梁,在仿真中必须提供合理的机制保证其
与外设的数据一致性。在实现时可将其所有引脚封装为独立的头文件,并且所有的端口都
定义为整型指针。外设连接时,引用此头文件,然后定义指针,并设其值为单片机相应的引
脚对应的指针值,这样就完成了单片机与外设的连接。 所述的通信模块负责数据的发送接收,它从单片机获得数据的比特流然后将其通过无线信道发送出去,接收过程如此相反。通过上面对引脚连接的仿真方法,使通信模块可以与单片机进行通信,仿真时主要负责完成两项任务内部寄存器的读写和数据的收发。
内部寄存器的读写主要为单片机提供访问通信模块内部寄存器变量的接口,即根据参数设定内部寄存器变量的值和返回内部寄存器的值。 对数据的收发是通信模块的主要工作,通信模块作为桥梁连接单片机和无线信
权利要求
一种无线传感器网络并行仿真方法,其特征在于包括节点的细粒度仿真和无线网络的并行仿真,节点的细粒度仿真是由单片机的仿真、通信模块的仿真和传感器模块的仿真构成,单片机的仿真是使用软件方法对单片机指令集的实现,它能够读入HEX文件,然后对其进行仿真执行;所述的通信模块负责数据的发送接收,所述的传感器模块的仿真,可使用离散事件仿真方法,根据实验需要,产生具有一定分布的传感器数值的时间序列;无线网络并行仿真方法包括节点向集群系统的映射、与节点通信模块的通信和无线信道仿真三部分;所述的节点向集群系统的映射中,如何分配任务是并行计算要解决的关键问题,采用网格的方式可以按照节点的地理信息将其映射到集群节点上;所述与节点通信模块的通信主要是数据的传递,所述的无线信道是广播信道,发送节点附近的节点都有可能接收到,要实现并行的仿真,可使用对发送的比特位按位进行多播的方法,分别按照下述的模型计算能够收到多播的节点,然后建立通信域,在此通信域中进行广播。
2. 根据权利要求1所述的无线传感器网络并行仿真方法,其特征在于所述单片机仿真方法包括以下步骤1) 、初始化初始化指令数组、载入HEX文件、初始化寄存器组、初始化指令指针IP、堆栈指针SP ;2) 、取指令根据IP指针从指令数组中取指令;3) 、指令译码根据特征码判断指令的格式、判断指令类型、取操作数;4) 、指令执行根据指令类型和指令译码得到的操作数执行指令、并按需访存、将结果写回、修改指令相关的寄存器;上述取指令、译码、执行指令的顺序循环执行直到指令指针越界。
3. 根据权利要求1所述的无线传感器网络并行仿真方法,其特征在于所述通信模块作为桥梁连接单片机和无线信道,对数据的发送过程如下1) 、根据单片机仿真器函数传递的参数,置内部的寄存器;2) 、改变相应的管脚的值;3) 、如果是同步模式调用无线网络仿真模块相应的函数进行发送,否则将发送任务加入队列。对收据的接收过程如下1) 、根据无线信道仿真器函数传递的参数,置内部寄存器;2) 、改变相应的管脚的值。
4. 根据权利要求1所述的无线传感器网络并行仿真方法,其特征在于传感器模块仿真时,传感器模块按照时间序列向端口发送预定的传感器数值。
5. 根据权利要求1所述的无线传感器网络并行仿真方法,其特征在于所述与节点通信模块分为数据发送和接受两部分数据发送准备发送的数据;根据无线信道仿真方法、计算能够收到该广播数据的节点号;建立多播通信域;在多播通信域内进行广播。数据接收对于广播收到的数据,调用通信模块提供的函数修改相应的寄存器的值。
6. 根据权利要求1所述的无线传感器网络并行仿真方法,其特征在于所述的无线信道中,判断哪些节点能够接收到广播的内容,是通过判断接收方是否大于一定的阈值来实现的,而接收功率&则使用自由空间模型确定
全文摘要
本发明公开了一种无线传感器网络并行仿真方法,包括节点的细粒度仿真和无线网络的并行仿真,节点的细粒度仿真是由单片机的仿真、通信模块的仿真和传感器模块的仿真构成,无线网络并行仿真方法包括节点向集群系统的映射、与节点通信模块的通信和无线信道仿真三部分;本发明的有益效果为无线传感器网络并行仿真方法可使无线传感器网络的仿真,由原来的多阶段简化为一个统一的过程;由原来的单机串行仿真,增强为多机并行高效的仿真。从两方面提高了无线传感器的设计、验证以及仿真的效率。
文档编号H04L12/28GK101720137SQ200910210938
公开日2010年6月2日 申请日期2009年11月12日 优先权日2009年11月12日
发明者夏鹏, 姜鹏, 安竹林, 徐勇军, 李晓维 申请人:宁波高新区深联科技有限公司