Digi XBEE SX丢包测试

数据模型1
数据模型:P2MP模式(TO=40),A模块40Bytes/40ms, B模100Bytes/120ms,长时间发送得到一组数据

SX固件优化测试
SX固件支持Digimesh,固件版本号是90XX。我们先用默认值来做一组测试:

固件类别版本号波特率A模块配置  B模块配置A发   B收B发A收A2B丢包率  B2A丢包率
XBP9X-DM9004BD=115.1K,BR=110k广播,MT=3   广播,MT=3699960  663280   656500620767  5.24%    5.44%
XBP9X-DM9004BD=115.1K,BR=110k广播,MT=3   单播,RR=4939400  933202   882800865943  0.66%1.9%
XBP9X-DM9004BD=115.1K,BR=110k单播,RR=4   广播,MT=3951840  924352   894100852546  2.9%    4.6%
XBP9X-DM9004BD=115.1K,BR=110k单播,RR=4   单播,RR=4615160  608579   577200425748  1%    26.2%

从上面的测试结果可以看出:在双向密集发送时,将更密集发送的一方配置为广播,另一方配置为单播,可以有效地降低丢包率。

X在实验室里去掉天线,发射功率降低,以模拟拉距测试,分别用单播和广播测试长时间工作的丢包率。

XTC固件优化测试
XTC固件兼容Xtend协议,采用16bit寻址,因此理论上,在数据包较小的情况下,较有优势。XTC固件中可以配置RN和TT参数,来改善密集发送时的随机延迟和收发切换,对于不熟悉的用户容易造成困扰,这里用测试数据来说明: 我们将A模块的地址设置为MY=A,将B模块的地址设置为MY=B,在实验室里去掉天线,发射功率降低,以模拟拉距测试,分别用单播和广播测试长时间工作的丢包率。

固件类别版本号波特率A模块配置  B模块配置A发   B收B发A收A2B丢包率  B2A丢包率
XBP9XT2004BD=115.1K广播,MT=3,RN=0,TT=0   广播,MT=3,RN=0,TT=0602680  517363   565100303521  14.2%    46.3 %
XBP9XT2004BD=115.1K广播,MT=3,RN=0,TT=0 单播,RR=4,RN=0,TT=0600640  528889   559900341771  11.9%    39%
XBP9XT2004BD=115.1K单播,RR=4,RN=0,TT=0   广播,MT=3,RN=0,TT=0606280  523917   568400325667  13.6%    42.7%
XBP9XT2004BD=115.1K单播,RR=4,RN=0,TT=0   单播,RR=4,RN=0,TT=0605800  516975   568000303132  14.7%    46.6%

上面结果可以看出,如果只改发送模式,也是更密集一方单播,另一方广播效果好,但单纯改动发送模式效果提升并不明显,我们需要对RR和TT进行调整,这两个参数在SX固件中是软件自适应的,在XTC/Xtend中却需手动配置,如果配置不合量,会导致效果很差。实验结果表明,TT,RN和历史数据有关,所以配置后需重上电,TT并无明显效果,主要需更改RN,使RN=1~2。

固件类别版本号波特率A模块配置  B模块配置A发   B收B发A收A2B丢包率  B2A丢包率
XBP9XT2004BD=115.1K广播,MT=3,RN=2,TT=0   广播,MT=3,RN=2,TT=056640  55240   4800042800  2.5%    10.8%
XBP9XT2004BD=115.1K广播,MT=3,RN=2,TT=0   单播,RR=4,RN=2,TT=050480  47530   4780041188  5.8%    13.8%
XBP9XT2004BD=115.1K单播,RR=4,RN=2,TT=0   广播,MT=3,RN=2,TT=047400  42638   4150028800  10 %    30.6%
XBP9XT2004BD=115.1K单播,RR=4,RN=2,TT=0   单播,RR=4,RN=2,TT=045320  43120   4240038396  4.9%    9.4%

数据模型1结论:采用SX固件,更密集发送方广播模式,另一方单播模式,丢包率最低。

数据模型2
数据模型:双向100Bytes/100ms对发,双向50ms对发测试

SX固件
SX固件双向100B/100ms测试

固件类别版本号波特率A模块配置  B模块配置A发   B收B发A收A2B丢包率  B2A丢包率
XBP9X-DM9004BD=115.1K,BR=110k广播,MT=3   广播,MT=3253100  233252   253200235899  7.8%    6.8%
XBP9X-DM9004BD=115.1K,BR=110k单播,RR=4   广播,MT=3251100  246600   250800247947  1.8%    1.14%
XBP9X-DM9004BD=115.1K,BR=110k单播,RR=4   单播,RR=4256300  256200   256400256200    0% 0%

SX固件双向100B/50ms测试

固件类别版本号波特率A模块配置  B模块配置A发   B收B发A收A2B丢包率  B2A丢包率
XBP9X-DM9004BD=115.1K,BR=110k广播,MT=3   广播,MT=3252400  205541   252700200712  18.6%    20.6%
XBP9X-DM9004BD=115.1K,BR=110k单播,RR=4   广播,MT=3285700  261887   285200227515  8.3%    20.2%
XBP9X-DM9004BD=115.1K,BR=110k单播,RR=4   单播,RR=4253600  199594   253500192847  21.3%   23.9%
XBP9X-DM9004BD=115.1K,BR=250k单播,RR=4   单播,RR=4239200  239100   239100239100  0%   0%
XBP9X-DM9004BD=230.4K,BR=110k单播,RR=4   单播,RR=4210000  48585    21010050094  76.9%  76.0%

从上面看到BD增大并没有对丢包率有提升,但双向都很密集时,需提升空中波特率,以在信号足够的情况下不丢包,不过需注意的是,增大BR,本身会导致通信距离下降。 建议根据自己的数据模型来做类似测试,以达到优化效果。

XTC固件
XTC 双向100B/50ms优化测试

固件类别版本号波特率A模块配置  B模块配置A发   B收B发A收A2B丢包率  B2A丢包率
XBP9XT2004BD=115.2K,BR=250k,TT=600B,RN=3单播,RR=4   单播,RR=4132200  88444   13230088464  33.1%  33.1%
XBP9XT2004BD=115.2K,BR=110k,TT=600B,RN=3单播,RR=4   广播,MT=3131700  98296   13170010116425.4%  23.2%

从上面可以看出,新版SX的固件完全可以替代XTC,不仅配置简单,而且实现更远的距离和更少的丢包论。实验室内上述各种条件下,均有零丢包率的配置。注意Digi XBee PRO SX模块和XBee XTC模块硬件完全相同,您可以订购出厂对应固件的模块,也可以自行用XCTU切换固件。