怎样让cc2541不遗漏地监听所有广播包?
时间:10-02
整理:3721RD
点击:
如题,我有个应用场景,需要所有的cc2541节点(>100个)同时收到某个特定广播(时间误差<50ms)
我这样测试:
1.一个cc2541作为广播者,每20ms广播一次,算上10ms内的随机延时,广播周期在20~30ms
2.2个cc2541作为观察者,测试了每16、20、40ms扫描一次(扫描结束后立即重启扫描),TGAP_GEN_DISC_SCAN_INT和TGAP_GEN_DISC_SCAN_WIND都设为扫描周期。
结果是,观察者收到广播的时间很不固定,有时甚至超过100ms才能收到一次。
如下图所示,每收到一次,令IO翻转一次,可见收到的时间误差很大,有很多包遗漏:
但是,使用pkt sniffer捕捉,却是能收到所有的包的,时间间隔是正常的20~30ms。
请问,怎样扫描才能捕捉到所有的广播包?
sniffer和观察者不一样的,sniffer仅仅是接收帧,然后发送到PC上,不用做太多处理
观察者估计需要做一些额外数据处理的工作
Note:仅仅是猜测,供参考
你看看是不是一样的问题,做observer不能收全。
http://e2e.ti.com/support/wireless_connectivity/f/538/t/398976
有解决吗?