关 闭

新闻中心

EEPW首页 > 工控自动化 > 设计应用 > CSMA协议在无线传感器网络中的实现

CSMA协议在无线传感器网络中的实现

作者:时间:2011-08-05来源:网络收藏

本文引用地址:http://www.eepw.com.cn/article/161636.htm

  1.2 信道监测的设计

  CC2420提供了一项2CA的功能,称为CCA(ClearChannelAssessment,空闲信道评估),它使用一个寄存器来设置阈值。当CC2420收到CCA命令后,就开始采样RSSI值,只有采样到的RSSI值小于寄存器中的阈值时才允许发送数据。CCA虽然了信道监测的基本功能,但是也有其自身的缺点:不够灵活且开放程度不够,只能进行一次完整的通道监测,并不能设置采样次数。

  这就限制了它在其他中的使用,例如在LPL(LowPowerListening,低功耗侦听)中,只需要进行一次采样作为侦听。另外,它的判定机制并不够完善,只有一个阈值,因而开发者难以找到合适的阈值。

  本文参照CCA的阈值机制,设置上下阈值并利用CC2420读取RSSI采样值的命令,用软件来完成信道监测工作。本文使用的信道监测及判定的基本原理就是:先设置两个适当的信号强度阈值,一个是最小信号强度minSignal,其含义是信道中有数据发送时的最小信号强度值;另一个是噪声强度noiseStrength,其含义是信道空闲时的信号强度值。然后物理层在一段时间内不断地进行RSSI采样,并把采样结果按照某种规则(在中有具体说明)与阈值进行比较,从而得到信道的活动状态。而且为了更准确地反映信道状态,在不能判断信道活动状态时,还应有扩展采样机制。

  另外,这两个信号强度阈值并不是一直不变的,它们必须根据信道一段时期的信号强度情况来动态更新,因此本文还了一种阈值更新机制,它能根据当前的信道信号强度和一些强度统计信息来动态地更新阈值。

  从接口上看,物理层的信道监测只是提供给MAC层的一个探测信道的接口。为了设计一个灵活的信道探测接口给上层,就必须给上层一些调整的接口,例如可以让上层来设定具体某次监测的采样次数,这样上层就可以根据不同的实际情况来设定采样数。

  图2为物理层信道监测提供的接口与MAC层的关系简图。

  2 信道监测的实现

  2.1 信道活动状态判断的基本规则

  采样得到的RSSI值是一个有符号的振幅值,它只有一个字节。这样的值并不利于分析,所以统一将其值上升128,即对读出的RSSI值统一加上128,因此转换后的值都是为正的,后面提到的RSSI值指的都是转换后的值。

  假设上层设定信道采样窗口数为N。为了完成连续的N次采样,需要使用一个采样定时器。CC2420的RSSI采样时间约为128μs,再加上硬件延迟以及软件处理延迟时间,采样定时器设置为1ms循环触发(这1ms的采样在CSMA中称为“采样窗口”)。每次定时器触发后,就向CC2420发送命令读取当前信道的RSSI值,然后采用如下规则进行信道活动状态判断:

  ①如果采样到的RSSI值大于等于阈值minSignal,那么就判定信道正被其他节点使用,即使采样未满N次也不再采样,并立即通知上层协议信道正被使用。反之如果该次采样监测绲闹敌∮诨虻扔minSignal,那么本次采样不做任何判断,继续下次的采样。

  ②如果一直采样到最后,且最后一次的RSSI值小于noiseLevel(噪声强度),那么就判定信道为空闲,并给出修改阈值标志,通知上层可以发送数据。注意,只要判定为信道空闲,就要给出更新阈值标志,原因将在后面的阈值维护中说明。

  如上所述,只要采样值大于等于minSignal,就判定信道是繁忙的,而判定信道空闲时却要求所有的采样都小于minSignal,且最后一次的采样值要小于noiseLevel。然而上面两个规则并不完善,并不能处理任何情况,以下两种情况就不能得出结论:最后一次采样绱砻挥械玫RSSI值,或者最后一次采样的RSSI值介于noiseLevel和min2Signal之间。此时就必须使用扩展规则。



评论


相关推荐

技术专区

关闭