微波EDA网,见证研发工程师的成长!
首页 > 研发问答 > 无线和射频 > TI蓝牙设计交流 > Observer接收广播

Observer接收广播

时间:10-02 整理:3721RD 点击:

现在有个项目,需要一个同时控制很多个,我用 broadcast做控制端,采用广播通信,速度慢了可以实现。但是现在有个问题:

Observer 怎么能快速的获得同一个设备的不同广播信息(广播变化很快)?(距离不考虑)

您现在的广播间隔是多少?

在协议栈内广播间隔的取值范围是在 20ms ~ 10.24s 之间

广播间隔50ms,500ms更换一次广播内容,observe端应该怎么处理呢?

我意思是,observe端应该怎么获得广播内容的快速变化?

请问您observer也是用的CC2541吗?有多少个broadcaster一起工作呢?

建议您可以修改#define DEFAULT_MAX_SCAN_RES                  8 这个值大一些

我现在broadcast就1个,但是会快速的改变广播内容(就是同一个广播设备,广播内容快速变化 (500ms变更一次广播内容,广播间隔是100ms) )。

但是observe有好几个,现在需要observe能快速的获得广播内容。就是说,observe怎么获取同一个设备快速变化的广播内容?

建议把#define DEFAULT_MAX_SCAN_RES                  8 这个值改大 因为广播方发送数据很快

然后可以把 #define DEFAULT_SCAN_DURATION                 4000改短 快速返回数据

 

同一个设备,广播不同,observe端就认为是不同的设备是吗?所以要把 #define DEFAULT_MAX_SCAN_RES  修改大?

还有就是  把#define DEFAULT_SCAN_DURATION 这个修改太短,会出现得不到广播信息。

我一开始是这样操作的:

1.  observe 端 搜索设备,搜到设备后,提取广播内容,关闭scan,如果在搜索结束后没搜到设备,重新打开搜索继续搜索。

2.这样,广播间隔小,造成scan快速的重复关断,时间长了,貌似RF内核挂掉了

3.我做了进一步修改,搜到设备后,提取广播内容,关闭scan,然后延时500ms,重新打开搜素,这次时间工作时间比较长,但是过久以后,RF内核好像还是挂掉了

基于以上,我想问,我怎么做进一步修改?求解答?

DEFAULT_MAX_SCAN_RES应该是收到多少条广播信息的最大数 因为广播频率快 所以如果是1秒钟的扫描周期的话 这个buffer应该很快就满了 可能导致新的广播数据接收不到

 DEFAULT_SCAN_DURATION是搜索的时间长度 我测试了一下 如果有广播包在空中 然后500ms的周期 返回时间快 搜索到的几率也高

RF没有回应的可能感觉是频繁的中断scan和打开scan造成的

WBJ, 

对应observer来讲,扫描有没有间隔时间? 一次扫描结束后,多久才进行下一次的扫描?

扫描到的信息限制在BUFFER吗?  满了就无法接收新信息了? 有两种情况,一直就是上面说的,广播的节点不多,但广播的频率很快;还有一种就是广播的节点很多,单位时间内扫描到的节点很多,这样是不是很多节点就扫描不到了?  这个问题如何解决,CC2451单位时间内能扫描到多少节点?

楼主,你好:

   我目前也遇到和你一样的问题,频繁的起停扫描发现RF不工作了,请问你是怎么解决的。谢谢。

Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top