Part Number:CC2652ROther Parts Discussed in Thread:SYSCONFIG, ENERGYTRACE
您好,
1.我创建了自己的10ms task任务,通过如下接口使能双广播,控制两个广播使能间隔为30ms,但通过抓包工具查看,两个广播间隔是在变化的,能否通过这样自己控制广播使能间隔,若不能,是否有控制两个广播使能间隔的API,
static void AdSwitch (uint8* pflag ) { static uint8 cnt =0;if (* pflag ==0) {GapAdv _ enable ( advHandlegacy , GAP _ ADV _ ENABLE _ OPTIONS _ USE MAX ,0);cnt =1; * pflag =1; } if ( cnt >=4) { GapAdv _ enable ( advHandle , GAP _ ADV _ ENABLE _ OPTIONS _ USE _ MAX ,0); cnt =0; } else if ( cnt >=1) { cnt ++; } }
2.双广播模式下我开启扫描,如果不自己控制广播和扫描开启时间,在扫描和广播之间有没有冲突,如果有,有没有相对应的API接口控制这个间隔?
3.睡眠模式下双广播和扫描是否能够正常工作,此时功耗是多少?
Katherine Wang:
已为您联系TI资深工程师,一旦得到回复会立刻回复给您
,
Katherine Wang:
1-您能解释一下您想要实现的目标吗?蓝牙堆栈可以自行处理广告集,这意味着应用程序无需每 10 毫秒尝试使能一次广告。请参考 https://dev.ti.com/tirex/content/simplelink_academy_cc13xx_cc26xxsdk_6_40_00_00/modules/ble5stack/ble_scan_adv_basic/ble_scan_adv_basic.html
另请注意,广播集可以通过 SysConfig 进行设置。
2-无线电可以在给定时间接收或发送。但是,蓝牙堆栈中包含的调度程序用于处理从广播到扫描操作的转换。我建议您启用 RF observables,这样您就可以看到设备何时正在接收/传输。 (参见https://www.ti2k.com/wp-content/uploads/ti2k/DeyiSupport_Bluetooth_debugging-index.html
3- 电源驱动程序确保设备设置为最优化的电源模式,它确保设备在需要时被唤醒。您可以使用 EnergyTrace 估算运行时的功耗 https://software-dl.ti.com/simplelink/esd/simplelink_cc13xx_cc26xx_sdk/6.40.00.13/exports/docs/ble5stack/ble_user_guide/html/energy-trace/energy-trace.html
,
??? ?:
HI,您好,
针对第一个问题,我不是每10ms使能一次,我是两个广播使能间隔为30ms,只使能一次。其次,我这样使能后通过抓包发现两个广播之间的间隔是变化的,而不是预想的会一直保持30ms,每个广播的周期是100ms不变,我查看了你给的链接,但这样使能之后两个广播之间的切换间隔也是在变化的,应该如何处理。
实现的工况:0时刻使能广播1,30ms后使能广播2,只需使能1次;只有当连接断连后再次使能,仍保持这种模式,希望通过抓包可以看到两个广播之间的间隔为30ms,单个关播周期100ms不变。通过定时器能否实现这种方案,如果不能,应如何控制。
,
??? ?:
因为我看到每个广播的单个周期不是很严格的100MS,那么这个广播的周期偏差范围是多少,如果不设定固定间隔,双广播切换时硬件资源分配能够满足吗,会不会一段时间后只剩一个广播的情况,谢谢
,
Katherine Wang:
感谢您提供的详细信息。
您不能为两个广告集之间选取确切的持续时间,原因至少有两个:
– 堆栈设置每个广告的锚点,考虑了很多参数,以避免产生冲突和空闲时间。
– 根据规范,伪随机延迟(0-10 毫秒)被添加到广告间隔(参见BLUETOOTH CORE SPECIFICATION Version 5.3 | Vol 6, Part B, §4.4.2.2.1)
希望对您有所帮助。
,
??? ?:
非常感谢,该问题已解决。
那么既有广播又有扫描,扫描和广播同时开启会不会有异常情况呢,如果有,应该如何处理。
,
Katherine Wang:
调度程序将处理此问题并在必须发送广告时中断扫描。
所以在这里不会出现问题
,
??? ?:
OK,非常感谢您的耐心解答
,
Katherine Wang:
不客气,感谢您的提问
,
??? ?:
HI,您好,我在multi_role_lin这个工程中,当作为主从一体使用时,开启扫描后产生的MR_EVT_ADV_REPORT事件后,无法找到自动发起连接的函数接口,在该工程中是否有对扫描的演示,谢谢
,
Katherine Wang:
请您为这个问题发一个新帖,感谢理解。