一种无线传感器网络节点通信控制系统及其控制方法

文档序号:7851611阅读:111来源:国知局
专利名称:一种无线传感器网络节点通信控制系统及其控制方法
技术领域
本发明涉及无线传感器网络技术领域,特别是能够应用于森林灾情的预防与监测、大面积农作物生长环境监测与调节、大型仓储环境、智能家居等无线传感器网络应用领域的一种无线传感器网络节点通信控制系统。
背景技术
在监测与控制领域,如森林灾情的预防与监测、大面积农作物生长环境监测与调节、大型仓储环境、智能家居等,无线传感器网络得到越来越广泛的应用。在实际应用中,一般是在监测区域中长期部署大量的传感器节点,节点之间通过无线自组织的方式形成网络。传感器节点采集所需的监测数据,并将监测数据按照特定的路由协议传输到汇聚节点。但是由于无线传感器网络节点数量较多,且监测区域环境复杂,监测数据在传输的过程中会出现信道竞争、环境干扰或传输距离不够的现象,会导致节点间数据碰撞重传,不仅降低 了数据采集的可靠性,同时消耗了大量的节点能量,缩短了无线传感器网络的工作寿命。目前已有的针对上述问题的无线传感器网络节点通信解决方案中,采用较多的是基于ZigBee协议开发无线传感器网络节点,其在一定程度上可以形成自组织网络,提供信道竞争接入机制。但是ZigBee协议较为复杂,会占用较多的节点存储空间,消耗大量节点能量,节点的硬件成本较高;且采用ZigBee协议的硬件设备无线通信绕射性较差,不利于无线传感器网络节点的大规模应用。同时支持ZigBee协议的无线通信芯片其通信距离有限,一般为50米到100米,无法满足有些应用中较远距离通信的需求。其他解决方案中一般采用相对简单的通信模块,其复杂程度、通信距离等都满足需求,但是硬件上没有提供信道竞争接入机制,导致数据传输中可能发生冲突。同时,在已经提出的基于微型嵌入式操作系统TinyOS解决方案中,操作系统内核中各个任务间缺乏数据通信的有效手段,在网络中监测数据量及通信数据量较多的情况下将会出现数据得不到及时处理而直接被丢弃的情况。

发明内容
本发明的目的是提供一种无线传感器网络节点通信控制系统,以解决现有技术中无线传感器网络中节点之间数据通信的功耗、可靠性、通信距离和组网问题,以及传感器节点上微型嵌入式操作系统多任务之间数据通信的问题,同时基于本发明的硬件系统具有低成本、低复杂度、高可靠性、使用方便的特点,基于本发明的软件系统具有维护容易和升级方便的特点。为实现上述目的,本发明采取的技术方案为一种无线传感器网络节点通信控制系统,即T-Smart OS微型嵌入式操作系统,其采用了 TinyOS微型嵌入式操作系统的组件化结构形式以及FIFO的调度机制;本发明的系统包括应用层、无线通信子系统和任务间通信子系统,其中
应用层中包含多个实现不同功能的任务模块;任务间通信子系统包括任务间通信组件,任务间通信组件中设有任务间通信接口 ;任务间通信组件在两个需要进行通信的任务模块之间建立用于存放通信数据的通信队列,两个任务模块之间通过任务间通信组件的通信接口进行通信;
无线通信子系统由依次连接的接口层、适配层和表示层组成;接口层设有发送缓冲组件和接收缓冲组件,分别与应用层中的各任务模块进行数据交互;适配层中设有数据通信逻辑控制组件、信道载波侦听组件和状态控制组件;表示层中设有接口抽象组件,接口抽象组件提供连接通信单元的抽象配置接口和抽象数据接口;
适配层中的状态控制组件通过表示层的抽象配置接口控制通信单元的工作过程;数据通信逻辑控制组件和信道载波侦听组件利用状态控制组件对通信单元的工作状态进行切换控制;信道载波侦听组件实时监测共享信道的空闲情况;数据通信逻辑控制组件通过信道请求接口连接信道载波侦听组件,获取共享信道的空闲情况,并根据共享信道的空闲情况,控制接口层通过表示层的抽象数据接口与通信单元进行数据交互。此外本发明的控制系统中还包括其他内核组件和硬件抽象组件;其他内核组件包 括系统调度器实现组件、数据采集功能抽象组件、串口通信抽象组件等,分别实现了系统的FIFO调度机制、数据采集功能、串口通信功能等,使应用层组件无需关注底层硬件工作机制,并向应用层组件提供了通用的访问接口 ;硬件抽象组件是对除通信单元之外的所有无线传感器网络节点上硬件设备功能的抽象,这些组件实现了底层的硬件工作机制,并向内核组件提供访问这些硬件设备的接口,且这些组件皆可结合Tiny OS的组件结构形式利用现有技术实现。作为一种改进,本发明的无线通信子系统中,适配层的信道载波侦听组件利用现有的基于CSMA/CA协议的信道竞争接入机制,以及周期性侦听/休眠的工作方式,监测共享信道的空闲情况;适配层还设有信号强度阈值设定组件,信号强度阈值设定组件中预设有信号强度阈值;信道载波侦听组件连续监测共享信道中的信号强度值,信号强度阈值设定组件获取共享信道中当前信号的信号强度阈值,与预设的信号强度阈值进行比较,信道载波侦听组件根据比较结果得到共享信道的空闲情况。进一步的,信道载波侦听组件中设有信号强度值缓冲区,信号强度阈值设定组件的设定规则为信号强度值缓冲区中缓存一定数量的信号强度值,空闲状态下,当前节点的信道载波侦听组件获取共享信道的最新信号强度值并缓存,同时剔除,最先缓存的信号强度值,再剔除三个最小值后,将当前缓存的最小信号强度值与预设定的信号阈值作加权平均运算,运算结果作为新的预设信号阈值。若获取的信道信号强度值高于预设信号阈值,则判断信道为占用状态,否则为空闲状态。当需要发送数据时,需先通过信道请求接口访问信道载波侦听组件,只有在当前信道空闲的情况下才能将数据分组发送出去;接收数据时,需根据通信协议定位数据分组中的数据载荷部分,并将其提交至接口层。本发明的信道载波侦听组件实现了共享信道的竞争接入机制,避免了相邻节点之间数据传输的碰撞。本发明的无线通信子系统中,适配层的状态控制组件中设有状态接口,无线通信子系统通过状态接口与表示层的抽象配置接口相连,从而控制通信单元的工作过程;通信单元的工作过程包括初始化操作、不同工作模式之间相互转化和设置,以及发送功率的获取。
进一步的,无线通信子系统中,适配层中的数据通信逻辑控制组件中设有一个处理数据分组的状态机,状态机中设有分别对应数据接收过程和数据发送过程中的两组状态类型,每组状态类型中的每个状态类型对应一个状态值,且每个状态类型对应一个数据处理器;状态机将表示层接收到的数据,或者需要发送的数据,提交相应的数据处理器中进行处理,状态机根据处理结果更新各 状态类型的状态值。此外,本发明无线通信子系统中接口层的发送缓冲组件中设有发送缓冲区,接收分发组件中设有接收缓冲区;适配层中的数据通信逻辑控制组件中设有数据发送区。更进一步的,应用层与无线传感器网络节点通信控制系统中的各模块集成到一个微处理器芯片实现,定义为处理器单元。上述无线传感器网络节点通信控制系统的控制方法,包括以下步骤
O.通信单元与处理器单元上电后,处理器单元对表示层抽象配置接口及抽象数据接口所使用的I/o端口的输入与输出属性进行配置;
2).处理器单元利用抽象配置接口对通信单元的工作参数进行配置,工作参数包括工作载波频率、通信波特率、数据编码格式、信号调制方式、最大输出功率;
3).通信单元执行内部压控振荡器及锁相环的校正;若校正成功,通信单元进入休眠模式,若失败,则重复步骤3)重新校正;
4).当应用层有任务模块需要数据发送时,处理器单元将封装好的数据包写入到发送缓冲组件中的发送缓存区中,发送缓冲组件在数据通信逻辑控制组件中的发送数据区为空时,将数据包写入其中;
5).数据通信逻辑控制组件利用信道请求接口向信道载波侦听组件查询当前信道是否空闲;若为空闲,则利用状态控制组件的状态接口将通信单元从休眠模式切换成发送模式,之后将步骤4)中所述的数据包通过抽象数据接口发送出去;
6).若信道为空闲,而同时没有数据包需要发送,则信道载波侦听组件继续对共享信道进行侦听,若检测到有数据需要接收,则利用状态控制组件的状态接口将通信单元从休眠模式切换到接收模式,数据从抽象数据接口接收完毕后进入数据通信逻辑控制组件,数据通信逻辑控制组件提取数据包中的数据载荷部分,提交到接口层的接收分发组件,同时将通信单元从接收模式切换到发送模式,并向数据包的发送节点返回应答信号;应答信号发送完毕后,再将通信单元从发送模式切换到接收模式;若没有数据需要接收,信道载波侦听组件在接收模式下通过状态控制组件的状态接口获取当前信道的接收信号强度值,作为信道信号阈值的计算依据;
7).重复步骤4)至步骤6),待数据发送与接收完毕后,处理器单元将通信单元设置为休眠模式;
8).当通信单元被信道载波侦听组件所设定的周期性定时器唤醒,则重复步骤4)至步骤7)。本发明的有益效果为
O.本发明在系统研究无线传感器网络特征的基础上,对控制系统及其控制方法进行设计,有效地解决了无线传感器网络节点之间数据通信的功耗、可靠性、通信距离及组网问题,以及传感器节点上微型嵌入式操作系统任务间数据通信的问题,同时系统具有低成本、低复杂度、可靠性高、使用和维护升级方便的特点;2).本发明在TinyOS微型嵌入式操作系统内核中增加了任务间通信子系统,实现了任务间消息队列通信机制,可有效解决传感器节点传感数据和通信数据过大时导致数据得不到处理而丢弃的问题;
3).本发明依据通信单元的功能,将无线通信子系统划分为三个不同的抽象层次,不同层次的组件之间只通过接口进行访问;这种实现方式加强了单个层次的内聚度,并极大地降低了不同层次之间的耦合度,使得系统的维护和升级更加方便;
4).本发明的控制系统可结合硬件功能较为简单、不支持通信协议但具有较强通信能力的通信单元应用,使无线传感器网络节点的成本大为降低;
5).本发明在信道载波侦听组件中,采用了CSMA/CA协议的信道竞争接入机制,使共享信道能够得到更加有效的利用,避免了相邻节点之间的数据碰撞,必要时可启动跳频通信,保证了数据传输的可靠性;同时组件中采用了信号阈值动态设定方法,相对于设定固定的信号阈值,该方法能动态反映出共享信道在空闲状态下的平均信号强度,从而设定正确的 信号阈值,使节点对共享信道的状态判断更加准确可靠;
6).本发明控制系统中无线通信子系统适配层的信道载波侦听组件中,节点没有数据通信的任务时,会将通信单元设置成休眠模式;这极大降低了节点的功耗,延长了节点的工作周期;
7).本发明控制系统的无线通信子系统在接口层中提供了面向应用层的统一通信接口,应用程序无需关注底层数据通信及状态控制的相关机制,方便了应用程序的开发,能够加快应用层的开发进度。


图I所示为本发明的控制系统结构框 图2所示为本发明中任务间通信子系统工作原理示意 图3所示为本发明中无线通信子系统工作原理示意 图4所示为无线通信子系统中接口层工作原理示意 图5所示为无线通信子系统中适配层工作原理示意 图6所示为无线通信子系统中表示层工作原理示意 图7所示为无线通信子系统中表示层与通信单元之间的接口示意 图8所示为本发明的控制系统的控制方法流程图。
具体实施例方式为使本发明的内容更加明显易懂,以下结合附图和具体实施方式
做进一步描述。如图I所示,本发明的控制系统采用了 TinyOS微型嵌入式操作系统内核中模块、配件及接口所构成组件化结构形式,并采用了 FIFO调度机制,实现为T-Smart OS微型嵌入式操作系统;系统按硬件抽象架构包括应用层、任务间通信子系统、无线通信子系统,以及其它内核组件和硬件抽象组件;其中应用层中包含多个实现不同功能的任务模块;任务间通信子系统为任务之间进行有效数据通信提供了消息队列通信机制,如负责周期性密集采集监测数据的任务与负责将监测数据路由传输到汇聚节点的任务之间的数据通信;无线通信子系统实现对通信单元的内部寄存器访问、数据通信、载波侦听、休眠等功能。
如图2所示,任务间通信子系统包括任务间通信组件MessageQueueP,任务间通信组件在两个需要进行通信的任务模块之间建立用于存放通信数据的通信队列,两个任务模块之间通过任务间通信组件的通信接口进行通信。任务间进行数据通信之前,需要先实例化任务间通信组件。每个实例化的组件占据单独的内存空间,并创建一个消息队列。组件实例化时要求必须提供组件参数作为创建消息队列的依据。该参数为封装的结构体messagequeue_t,其中包含消息队列的缓冲区大小m_ent ry_size、最大消息长度m_len、消息类型m_type。该消息队列缓冲区为静态分配,在系统编译时所需内存空间已经分配好。任务间通信组件提供任务间通信接口 messageQueue,该接口包括sendMessage、recvMessage、isFull、isEmpty、setLevel、getLevel命令,分别用于提交消息至队列、从队列中获取消息、获取队列的当前状态、设置/获取队列的“水位”。当队列中的消息数目Sm_entry_size个时,队列为满状态,消息数目为O时,队列为空状态;消息队列的“水位”值为消息数目的预警值,该值小于m_entry_size,当消息队列中的消息数目达到预设的“水位”值时,messageQueue接口通过触发messageReady事件通知接收数据的任务从消息队列中提取消息。任务间通信通过接口 messageQueue完成。任务间进行通信时,由数据的“生产者”任务A将数据写入消息队列,而数据的“消费者”任务B将数据从消息队列中提取出来进行处理。当任务B提取消息的速度小于任务A写入消息的速度时,消息队列中的消息数目可能超过设定的“水位”值,此时会触发messageReady事件通知任务B提取消息。“水位”的设置用于提醒任务B相对于其他操作优先提取队列中的消息,防止因消息队列进入满状态导致任务A写入消息失败。参与通信的任务对消息队列中数据操作必须是原子的,以保证该任务与异步事件对消息队列的视图是一致的,防止数据竞争。消息队列组件提供的任务间通信接口也向其他应用层组件提供了访问消息队列的通用接口,该接口实现了发送消息、接收消息、清空队列、获取队列当前状态的命令;同时,该接口利用事件触发机制通知需要接收消息的任务进行相应的操作。通信的消息内容是由参与通信的任务决定的,如负责监测数据采集的任务与负责无线传输的任务进行通信时,通信消息可包含监测数据的类型、采集时间与位置信息、数据值等相关内容。如图3所示,无线通信子系统由依次连接的接口层、适配层和表示层组成;各层模块与应用层集成到一个微处理器芯片实现,定义为处理器单元。如图4所示,接口层设有负责发送数据缓冲的发送缓冲组件AMQueuelmplP组件和负责接收数据的接收缓冲组件ActiveMessageP组件,组件向应用层程序提供统一的抽象接口 AMSend、Receive、AMPacket,分别用于消息的发送、接收及消息中各部分数据的提取,以实现与应用层中的各任务模块进行数据交互。发送缓冲组件AMQueuelmplP中设有发送缓冲区,接收分发组件ActiveMessageP中设有接收缓冲区。AMQueuelmplP组件中创建了静态的、固定大小的发送消息队列,该队列缓存了需要发送的消息,防止因通信时消息过多或共享信道被占用造成消息得不到及时发送的问题。应用层可以通过抽象接口 AMSend将需要发送的消息提交到该队列中。接收分发组件AMQueuelmplP循环扫描消息队列,将消息通过与适配层CC1020SendReceiveP组件相连接的send接口发送出去。发送缓冲组件ActiveMessageP通过接口 Receive从适配层的CC1020SendReceiveP组件中接收消息,并根据消息的类型将该消息分发到对应的任务中处理。消息的类型位于消息的数据载荷部分,该部分由应用层自定义,如查询消息或监控命令。应用层不同的任务接收不同类型的消息,并采取不同的处理方式。如对于查询消息,接收该消息的任务将启动监测数据的采集工作;而对于监控命令,接收该消息的任务将根据监测区域内环境参数调控的要求启动无线传感器网络节点上的执行器。如图5所示,适配层中设有数据通信逻辑控制组件CC1020SendReceiveP、信道载波侦听CC1020CsmaP和状态控制组件CC1020ControlP ;状态控制组件提供状态接口,无线通信子系统通过状态接口连接表示层,进而通过表示层的抽象配置接口控制通信单元的工作过程;通信单元的工作过程包括上电后的工作参数设定、频率偏移补偿、压控振荡器及锁相环自校正等初始化操作、发送模式、接收模式、休眠模式等不同工作模式之间相互转化和设置,以及发送功率的获取。数据通信逻辑控制组件和信道载波侦听组件利用状态控制组件对通信单元的工作状态进行切换控制;信道载波侦听组件实时监测共享信道的空闲情况;数据通信逻辑控制组件通过信道请求接口连接信道载波侦听组件,获取共享信道的空闲情况,并根据共享信道的空闲情况,控制接口层通过表示层的抽象数据接口与通信单元进行数据交互。 适配层中的数据通信逻辑控制组件中设有一个处理数据分组的状态机,状态机中设有分别对应数据接收过程和数据发送过程中的两组状态类型,包括对应数据接收的LISTEN状态、SYNC_STATE状态、RX_STATE状态、SENDING_ACK状态,以及对应数据发送的 TXPREAMBLE_STATE 状态、TXSYNC_STATE 状态、TXDATA_STATE 状态、TXCRC_STATE 状态、TXFLUSH_STATE状态、TXREADACK_STATE状态、TXD0NE_STATE状态。每组状态类型中的每个状态类型对应一个状态值,且每个状态类型对应一个数据处理器;状态机在SPI总线中断的驱动下,将表示层接收到的数据,或者需要发送的数据,提交相应的数据处理器中进行处理,状态机根据处理结果更新各状态类型的状态值。整个数据分组处理完毕后,可通过Send接口或Receive接口通知接口层组件。适配层的信道载波侦听组件CC1020CsmaP利用现有的基于CSMA/CA协议的信道竞争接入机制,以及周期性侦听/休眠的低占空比工作方式,监测共享信道的空闲情况,同时减少能量的消耗。适配层还设有信号强度阈值设定组件CC1020SqUelchP,信号强度阈值设定组件中预设有信号强度阈值;信道载波侦听组件连续监测共享信道中的信号强度值RSSI,信号强度阈值设定组件获取共享信道中当前信号的信号强度值RSSI,与预设的信号强度阈值进行比较,信道载波侦听组件根据比较结果得到共享信道的空闲情况如通信单元被设定为周期性定时器唤醒后,如有数据通信任务,则进入发送模式或接收模式;如连续检测到共享信道的RSSI值低于当前设定的信号强度阈值,则提交相应任务让节点继续休目民。具体的,本发明中信道载波侦听组件中设有信号强度值缓冲区,信号强度阈值设定组件的设定规则为信号强度值缓冲区中缓存一定数量的信号强度值,空闲状态下,当前节点的先导载波侦听组件获取共享信道的最新信号强度值并缓存,同时剔除,最先缓存的信号强度值,再剔除三个最小值后,将当前缓存的最小信号强度值与预设定的信号阈值作加权平均运算,运算结果作为新的预设信号阈值。若获取的信道信号强度值高于预设信号阈值,则判断信道为占用状态,否则为空闲状态。结合图6和图7,表示层中抽象出分别对应抽象配置接口及抽象数据接口的组件HplCC1020P和组件HplCC1020SpiP。组件HplCC1020P提供了对无线通信芯片Ul内部工作寄存器的读写操作时序,并向适配层导出了抽象配置接口 HplCC1020 ;组件HplCC1020SpiP利用SPI总线实现了将无线通信芯片Ul使用的比特流数据转换成微处理器U2使用的字节流数据(数据的接收过程),或反之(数据的发送过程),并向适配层导出了字节流数据发送与接收的抽象数据接口 HplCC1020Spi。如图7,本发明中任务层与无线传感器网络节点通信控制系统中的各模块集成到一个微处理器芯片实现,定义为处理器单元,处理器单元可由微处理器芯片U2及其外部电路组成,U2可采用AVR系列微处理器,选用Atmel公司的高性能、低功耗8位高档微处理器ATmegal28L,主要实现对通信单元的配置、监测数据采集、数据处理等功能。通信单元由无线通信芯片Ul及其外围电路组成,Ul选用TI公司生产的CC1020,它具有高灵敏度(可达-118dBm)、低供电电压(2. 3V 3. 6V)、极低功耗,可工作于402MHz 470MHz及804MHz 940MHz的ISM/SRD频段,最高传输数据率可达153. 6kBaud/s,开阔区域直线通信距离可达600米。通信单元主要完成数据分组的接收与发送、共享信道占用状态的侦听等。考虑整个无线传感器网络系统的协同性,软件平台可采用微型嵌入式操作系统,编程语言为nesC。控制系统的控制过程中,表示层与通信单元之间的物理实体接口连接为无线通信芯片Ul的“PSEL、PCLK、PDI、PDO”引脚分 别与微处理器U2的“PD4、PD6、PD7, PF3”引脚相连,作为通信单元的抽象配置接口 ;无线通信芯片Ul的“DCLK、DIO”引脚与微处理器U2的SPI总线“SCK、MISO/MOSI”引脚相连,作为通信单元的抽象数据接口。
其他内核组件包括系统调度器实现组件、数据采集功能抽象组件、串口通信抽象组件等,分别实现了系统的FIFO调度机制、数据采集功能、串口通信功能等,使应用层组件无需关注底层硬件工作机制,并向应用层组件提供了通用的访问接口 ;硬件抽象组件是对除通信单元之外的所有无线传感器网络节点上硬件设备功能的抽象,这些组件实现了底层的硬件工作机制,并向内核组件提供访问这些硬件设备的接口,且这些组件皆可利用现有技术实现。本发明的控制系统中,无线通信子系统的接口层的发送缓冲组件中设有发送缓冲区,接收分发组件中设有接收缓冲区;适配层中的数据通信逻辑控制组件中设有数据发送区。无线传感器网络节点通信控制系统的控制方法,包括以下步骤
O.通信单元与处理器单元上电后,处理器单元对表示层抽象配置接口及抽象数据接口所使用的I/o端口的输入与输出属性进行配置;
2).处理器单元利用抽象配置接口对通信单元的工作参数进行配置,工作参数包括工作载波频率、通信波特率、数据编码格式、信号调制方式、最大输出功率;
3).通信单元执行内部压控振荡器及锁相环的校正;若校正成功,通信单元进入休眠模式,若失败,则重复步骤3)重新校正;
4).当应用层有任务模块需要数据发送时,处理器单元将封装好的数据包写入到发送缓冲组件中的发送缓存区中,发送缓冲组件在数据通信逻辑控制组件中的发送数据区为空时,将数据包写入其中;
5).数据通信逻辑控制组件利用信道请求接口向信道载波侦听组件查询当前信道是否空闲;若为空闲,则利用状态控制组件的状态接口将通信单元从休眠模式切换成发送模式,之后将步骤4)中所述的数据包通过抽象数据接口发送出去;
6).若信道为空闲,而同时没有数据包需要发送,则信道载波侦听组件继续对共享信道进行侦听,若检测到有数据需要接收,则利用状态控制组件的状态接口将通信单元从休眠模式切换到接收模式,数据从抽象数据接口接收完毕后进入数据通信逻辑控制组件,数据通信逻辑控制组件提取数据包中的数据载荷部分,提交到接口层的接收分发组件,同时将通信单元从接收模式切换到发送模式,并向数据包的发送节点返回应答信号;应答信号发送完毕后,再将通信单元从发送模式切换到接收模式;若没有数据需要接收,信道载波侦听组件在接收模式下通过状态控制组件的状态接口获取当前信道的接收信号强度值,作为信道信号阈值的计算依据;
7).重复步骤4)至步骤6),待数据发送与接收完毕后,处理器单元将通信单元设置为休眠模式;
8).当通信单元被信道载波侦听组件所设定的周期性定时器唤醒,则重复步骤4)至步骤7)。
本发明中所述具体实施案例仅为本发明的较佳实施案例而已,并非用来限定本发明的实施范围。即凡依本发明申请专利范围的内容所作的等效变化与修饰,都应作为本发明的技术范畴。
权利要求
1.一种无线传感器网络节点通信控制系统,即T-Smart OS微型嵌入式操作系统,其采用TinyOS微型嵌入式操作系统的组件化结构形式以及FIFO的调度机制;其特征是,包括应用层、无线通信子系统和任务间通信子系统,其中 应用层中包含多个实现不同功能的任务模块; 任务间通信子系统包括任务间通信组件,任务间通信组件中设有任务间通信接口 ;任务间通信组件在两个需要进行通信的任务模块之间建立用于存放通信数据的通信队列,两个任务模块之间通过任务间通信组件的通信接口进行通信; 无线通信子系统由依次连接的接口层、适配层和表示层组成;接口层设有发送缓冲组件和接收缓冲组件,分别与应用层中的各任务模块进行数据交互;适配层中设有数据通信逻辑控制组件、信道载波侦听组件和状态控制组件;表示层中设有接口抽象组件,接口抽象组件提供连接通信单元的抽象配置接口和抽象数据接口; 适配层中的状态控制组件通过表示层的抽象配置接口控制通信单元的工作过程;数据通信逻辑控制组件和信道载波侦听组件利用状态控制组件对通信单元的工作状态进行切换控制;信道载波侦听组件实时监测共享信道的空闲情况;数据通信逻辑控制组件通过信道请求接口连接信道载波侦听组件,获取共享信道的空闲情况,并根据共享信道的空闲情况,控制接口层通过表示层的抽象数据接口与通信单元进行数据交互。
2.根据权利要求I所述的无线传感器网络节点通信控制系统,其特征是,无线通信子系统中,适配层的信道载波侦听组件利用基于CSMA/CA协议的信道竞争接入机制,以及周期性侦听/休眠的工作方式,监测共享信道的空闲情况;适配层还设有信号强度阈值设定组件,信号强度阈值设定组件中预设有信号强度阈值;信道载波侦听组件连续监测共享信道中的信号强度值,信号强度阈值设定组件获取共享信道中当前信号的信号强度阈值,与预设的信号强度阈值进行比较,信道载波侦听组件根据比较结果得到共享信道的空闲情况。
3.根据权利要求I所述的无线传感器网络节点通信控制系统,其特征是,无线通信子系统中,适配层的状态控制组件中设有状态接口,无线通信子系统通过状态接口与表示层的抽象配置接口相连,从而控制通信单元的工作过程;通信单元的工作过程包括初始化操作、不同工作模式之间相互转化和设置,以及发送功率的获取。
4.根据权利要求I所述的无线传感器网络节点通信控制系统,其特征是,无线通信子系统中,适配层中的数据通信逻辑控制组件中设有一个处理数据分组的状态机,状态机中设有分别对应数据接收过程和数据发送过程中的两组状态类型,每组状态类型中的每个状态类型对应一个状态值,且每个状态类型对应一个数据处理器;状态机将表示层接收到的数据,或者需要发送的数据,提交相应的数据处理器中进行处理,状态机根据处理结果更新各状态类型的状态值。
5.根据权利要求I所述的无线传感器网络节点通信控制系统,其特征是,接口层的发送缓冲组件中设有发送缓冲区,接收分发组件中设有接收缓冲区;适配层中的数据通信逻辑控制组件中设有数据发送区。
6.根据权利要求2所述的无线传感器网络节点通信控制系统,其特征是,信道载波侦听组件中设有信号强度值缓冲区,信号强度阈值设定组件的设定规则为信号强度值缓冲区中缓存一定数量的信号强度值,空闲状态下,当前节点的先导载波侦听组件获取共享信道的最新信号强度值并缓存,同时剔除,最先缓存的信号强度值,再剔除三个最小值后,将当前缓存的最小信号强度值与预设定的信号阈值作加权平均运算,运算结果作为新的预设信号阈值。
7.根据权利要求1-6任一项所述的无线传感器网络节点通信控制系统,其特征是,应用层与无线传感器网络节点通信控制系统中的各层模块集成到一个微处理器芯片实现,定义为处理器单元。
8.权利要求7所述的无线传感器网络节点通信控制系统的控制方法,其特征是,包括以下步骤 1) 通信单元与处理器单元上电后,处理器单元对表示层抽象配置接口及抽象数据接口所使用的I/O端口的输入与输出属性进行配置; 2).处理器单元利用抽象配置接口对通信单元的工作参数进行配置,工作参数包括工作载波频率、通信波特率、数据编码格式、信号调制方式、最大输出功率; 3).通信单元执行内部压控振荡器及锁相环的校正;若校正成功,通信单元进入休眠模式,若失败,则重复步骤3)重新校正; 4).当应用层有任务模块需要数据发送时,处理器单元将封装好的数据包写入到发送缓冲组件中的发送缓存区中,发送缓冲组件在数据通信逻辑控制组件中的发送数据区为空时,将数据包写入其中; 5).数据通信逻辑控制组件利用信道请求接口向信道载波侦听组件查询当前信道是否空闲;若为空闲,则利用状态控制组件的状态接口将通信单元从休眠模式切换成发送模式,之后将步骤4)中所述的数据包通过抽象数据接口发送出去; 6).若信道为空闲,而同时没有数据包需要发送,则信道载波侦听组件继续对共享信道进行侦听,若检测到有数据需要接收,则利用状态控制组件的状态接口将通信单元从休眠模式切换到接收模式,数据从抽象数据接口接收完毕后进入数据通信逻辑控制组件,数据通信逻辑控制组件提取数据包中的数据载荷部分,提交到接口层的接收分发组件,同时将通信单元从接收模式切换到发送模式,并向数据包的发送节点返回应答信号;应答信号发送完毕后,再将通信单元从发送模式切换到接收模式;若没有数据需要接收,信道载波侦听组件在接收模式下通过状态控制组件的状态接口获取当前信道的接收信号强度值,作为信道信号阈值的计算依据; 7).重复步骤4)-步骤6),待数据发送与接收完毕后,处理器单元将通信单元设置为休眠模式; 8).当通信单元被信道载波侦听组件所设定的周期性定时器唤醒,则重复步骤4)至步骤7)。
全文摘要
本发明公开一种无线传感器网络节点通信控制系统及其控制方法,系统采用了TinyOS微型嵌入式操作系统的组件化结构形式以及FIFO的调度机制,包括应用层、无线通信子系统和任务间通信子系统;应用层中包含多个任务模块,任务间通信子系统中的任务间通信组件在两个需要进行通信的任务模块之间建立通信队列,以实现任务间的通信;无线通信子系统由依次连接的接口层、适配层和表示层组成;接口层与应用层中各任务模块进行数据交互;适配层中设有数据通信逻辑控制组件、信道载波侦听组件和状态控制组件;表示层中设有用于连接通信单元的接口抽象组件。结合相应的控制方法本发明能够可靠实现无线传感器网络节点间的通信,复杂度及成本皆较低。
文档编号H04W24/00GK102711142SQ20121015673
公开日2012年10月3日 申请日期2012年5月18日 优先权日2012年5月18日
发明者陈俊杰, 陈检文 申请人:东南大学, 南京拓诺传感网络科技有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1