Digi XBee的长距离无线通讯模块有很多是采用跳频的方式,这种方式的好处是,模块可以在跳频点中自动选取干扰少的频点进行通讯,从而增强抗干扰能力,传播到更远的距离。
跳频是在无线模块的固件中自动进行的,多个模块多个网络的应用场景下,跳频仍可以较好地工作。但如果同频干扰较多的情况下,会影响模块的效率,从而降低通讯距离和有效带宽。如果需要在同一个信号覆盖区域内运行多个网络,就需要合理规避同频干扰。
Digi提供多种方式来处理同频干扰问题,首先可以用HP来区分不同网络。只有HP号相同的模块才能进行通讯,并且HP在包头位置,检测到HP不同就会丢弃该包,从而节约大量的处理时间,让模块专注于自己网内的通讯。
除了HP参数外,Digi还提供跳频点掩码CM参数,这种频道隔离方式是通过指定跳频点,来让不同网络的模块尽可能在不同的频点上工作,从而更高效地避开同频干扰。
不同区域的跳频点有专门的规定,比如北美规定跳频点必须跳满50个频点,从中选择最合适的频点通讯。因此CM也并非可以任意设置,此外,当900MHz工作在250kbps的空速时,为了满足带宽的要求,它无法设置跳点掩码,只有在BR=0或BR=1时,才可以使用CM参数。需要注意的是,当空速在10K或110K,一般需要开启串口的流控,以防止空速跟不上串口速度造成缓冲区溢出的丢包情况。
这里提供一些跳频方案参考设计,分为完整频点隔离和部分频点隔离,相关的方案最好是在网络配频阶段自动由软件来设置同组的模块为相同的参数,以防止参数不一致造成不可通讯。
跳频完全隔离的方案只有两组,跳频部分隔离的方案可以配置最多11组。
一、完全隔离
CM=11555555555555555555555555 (和下面这一组完全错开) CM= 02aaaaaaaaaaaaaaaaaaaaaaaa
二、部分隔离
基础四组方案的CM值如下:
11EEEEEEEEEEEEEE111111 12DDDDDDDDDDDDDD222222 04BBBBBBBBBBBBBB444444 0877777777777777888888
可以在四组方案的基础上,把重叠点换位即可新增下面四组CM值:
11111111EEEEEEEEEEEEEE 12222222DDDDDDDDDDDDDD 04444444BBBBBBBBBBBBBB 0888888877777777777777
把完整隔离的两组也加入的话,总计可以获取10组CM值。在软件的初始配频程序时,可以为同频随机选择一个。注意CM不同时,模块不能相互通讯。因此模块也需要在配频时可恢复默认值以便能相互通讯完成同组配置。
上面这种频点设置可以更高效的覆盖频谱范围,当然可以用默认值作为部分隔离的分频点方案,比如3FFFFFFFFFFFF和3FFFFFFFFFFFF0,3FFFFFFFFFFFF00… 以此类推。