完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
经常会发生蓝牙堆栈需要同时运行多个使用无线电的任务的情况。例如,您可以同时发送广告和扫描新设备。您可以同时保持多个连接处于活动状态。您可以在扫描新设备的同时启动新连接。实际上,您甚至可以在扫描新设备,进行广告宣传以及建立已建立的连接时保持新连接。
实际上,堆栈一次只能执行一项任务(即使这些任务似乎同时运行)。在任何给定时间,只能将无线电配置为执行以下操作之一:
默认优先级蓝牙堆栈可区分4种无线电任务:
广告: 广告是指反复发送广告包。广告也不是优先事项。由于广告的确切时间并不重要,因此可以延迟广告包,以使无线电设备可以处理更高优先级的任务。 连接初始化: 连接初始化包含两个步骤:扫描以查找要连接的设备的广告,并在广告之后立即在连接请求窗口中发送连接请求。连接启动具有高优先级,因为
此处列出了不同任务的默认优先级。请注意,每个任务首先获得最小优先级,然后可以逐渐增加到最大优先级。下一节将对此进行说明。 最低优先级为255,最高优先级为0。 任务类型分钟优先最高优先扫描191143广告175127连接初始化5515连接1350 动态优先级蓝牙堆栈使用动态优先级,这意味着每个无线电任务都以较低的优先级开始,并且每次任务调度失败时,其优先级都会增加。这样可以确保同时执行任务。如您在上一节的表格中所见,所有四种无线电任务类型都有最低和最高优先级。默认情况下,将特定于任务的最小优先级分配给任务,可以将其增加到特定于任务的最大优先级。例如,连接比广告具有更高的优先级。但是,如果由于连接维护而未发送许多广告包,则它们的优先级可能会高于最小连接优先级,实际上,短时间内广告可能会具有更高的优先级。 另一个示例是当多个连接打开并且它们的发送/接收窗口重叠时。在这种情况下,将为优先级最高的连接提供服务。服务的连接的优先级降低到最小优先级,其他冲突连接的优先级增加。因此,所有连接均在合理的时间内得到服务。优先级始终以这样的速率增加,即它在监视超时之前达到0(最高)优先级。例如,如果您有两个连接分别具有100ms和10s的监视超时,则第一个连接的优先级会迅速增加,而第二个连接的优先级会缓慢地增长。这样可以确保在监督超时之前为所有连接提供服务。 改变重点选择默认优先级是为了可以在大多数用例中很好地使用它们。但是,您可能有一个用例,其中默认优先级不能提供最佳解决方案。例如,如果在您的应用程序中快速连接并不重要,但是通过已建立的连接在每个连接间隔中发送数据非常重要,那么您可以降低连接启动过程的优先级。 分钟 和最大 可以在gecko_bluetooth_ll_priorities 结构中定义每种任务类型的优先级 。如果您在结构中引用此结构 gecko_configuration_t ,则默认优先级将被这些值覆盖。(注意:默认优先级在下定义 GECKO_BLUETOOTH_PRIORITIES_DEFAULT) gecko_bluetooth_ll_priorities priorities = { 191, 143, //scan_min, scan_max 175, 127, //adv_min, adv_max 135, 0, //conn_min, conn_max 55, 15, //init_min, init_max 175, //threshold_coex 16, 16 }; //rail_mapping_offset, rail_mapping_range// Gecko configuration parameters (see gecko_configuration.h)static const gecko_configuration_t config = { //... .bluetooth.linklayer_priorities = &priorities,}; 这里不讨论threshold_coex。 下一节 将讨论rail_mapping_offset 和 rail_mapping_range。 蓝牙+ RAIL DMP应用程序中的优先级在Bluetooth + RAIL DMP应用程序中,您的专有协议还需要使用无线电优先级。在这种情况下,蓝牙优先级会映射到较小的RAIL优先级范围,因此您可以定义优先级高于最高蓝牙优先级且优先级低于最低蓝牙优先级的无线电任务。默认情况下,蓝牙优先级映射到16..32 RAIL优先级范围-意味着0蓝牙优先级对应于RAIL优先级16,而255蓝牙优先级对应于RAIL优先级32。这也可以在gecko配置结构中更改为linklayer_priorities的最后两个参数。所述 偏移 限定所述最高优先RAIL(即对应于0蓝牙优先级)和 范围 定义最低和最高优先级之间的差异(默认情况下为32-16 = 16)。 (上述文章阐述归伦茨科技公司所有,转载请注明出处,更多相关信息欢迎关注微信公众号:lenze_tech或微信号:lenzetech,点击http://www.lenzetech.com/) |
|
相关推荐
|
|
高通的蓝牙QCC308x和51xx芯片开发工具和文档必须高通审核才能下载和使用吗?
2184 浏览 0 评论
1586 浏览 0 评论
会员风采!华秋电子——致力于“为电子产业增效降本”的数字化智造平台
1035 浏览 0 评论
【应用笔记】BlueNRG-LP、BlueNRG-LPS+省电模式
8091 浏览 1 评论
11299 浏览 0 评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-12-23 22:37 , Processed in 0.449999 second(s), Total 64, Slave 46 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号