泰凌微电子蓝牙低功耗扩展广播方案介绍

描述

1

前言

 

 

Legacy advertising,只在37(2402)、38(2426)、39(2480)三个channels上发送,且只能使用1M PHY,最大携带的有效数据为31 bytes。

 

Core 5.0引入了扩展广播,可以携带更多的广播数据,应用层可以设置多达1650bytes的广播数据。在37/38/39 channels上携带较少的数据,在0~36 channels上发送大量的数据,减少了广播冲突概率。并且还可以使用不同的PHY进行发送,满足速率(2M)和距离(S2/S8)的不同需求。广播集的引入,可以在同一时间发送不同interval和不同广播数据的多个广播。新增了周期广播功能。扩展广播特性总结:

 

  • 每一包有效数据最多可达254 bytes,应用层可以设置最大1650 bytes的数据。

  • 可以在40 channels上发送广播,减少广播冲突概率,增加广播的可靠性。

  • 可以使用不同PHY发送,满足速率和距离等不同需求。

  • 广播集,允许多个广播配置的广播同时工作。

  • 固定interval的广播:周期广播。

 

2

关于扩展广播

 

 

扩展广播包格式

 

蓝牙

 

重点关注 AuxPtr和SyncInfo:

 

蓝牙

 

蓝牙

 

名词介绍

 

  • primary channel:37(2402)、38(2426)、39(2480)

  • secondary channel:0~36

 

命名规则

 

  • primary channel:   ADV_EXT_IND

  • secondary channel:都以AUX_开头,包括AUX_ADV_IND、AUX_SYNC_IND、AUX_CHAIN_IND。(core 5.4增加了AUX_SYNC_SUBEVENT_IND、AUX_SYNC_SUBEVENT_RSP)

 

3

扩展广播实现

 

 

蓝牙

 

  1. 在primary channel上发送ADV_EXT_IND,携带AuxPtr字段。(AuxPtr包含了同步所需要的全部信息:Timing、Channel、PHY。有了这三个信息,扫描设备按照AuxPtr指定的时间、channel和PHY进行扫描,即可扫描到对应的广播包)

  2. 根据AuxPtr描述的信息,在相应的secondary channel上发送AUX_ADV_IND。

  3. 如果AdvData较大,AUX_ADV_IND发不完,可以通过AuxPtr引出相应的chain packet(AUX_CHAIN_IND)来发送剩余的AdvData。AUX_CHAIN_IND也可以通过AuxPtr再次引出对应的AUX_CHAIN_IND,以此类推,直到所有的AdvData发送完成。注意:上层设置的AdvData最多为1650 bytes,所以chain packet不是无限制的引导。

 

蓝牙

 

注:

  • ADV_EXT_IND只在primary channel上发送,只能使用1M/S2/S8,不能使用2M PHY。Core 5.4之前只是指定coded PHY,并没有指定是用S2/S8。在core 5.4增添了advertising coding selection,指定是用S2还是S8。因为S2和S8的传输距离不同,在某些应用场景中需要具体指定是S2还是S8。

  • AUX_ADV_IND及其引导的AUX_CHAIN_IND,以及后面引导的所有AUX_CHAIN_IND,这些包的长度不一定是最大长度,可以是其他长度值,如下图的198 bytes。

 

蓝牙

 

4

周期广播实现

 

 

Core 5.0提供了一种固定interval的一种广播形式:周期广播。Core 5.0之前的广播,每个interval都是要有0~10ms的随机delay。周期广播是扩展广播的一部分。

 

  • 广播端:发送周期广播的设备;

  • 同步端:同步周期广播的设备。

 

蓝牙

 

  1. 首先广播端在primary channel发送ADV_EXT_IND,携带AuxPtr,指向AUX_ADV_IND。

  2. 然后广播端按照AuxPtr描述的信息,在相应的secondary channel上发送AUX_ADV_IND。

  3. AUX_ADV_IND携带了SyncInfo字段,该字段包含了周期广播的所有信息,比如:时序信息、interval、access code、channel map等。根据SyncInfo字段的信息,同步端就可以和对应的周期广播(AUX_SYNC_IND)同步上。

 

蓝牙

 

注:

  • 广播端在引出周期广播后,ADV_EXT_IND和对应的AUX_ADV_IND可以继续发送,这样其他没有同步上的设备可以继续同步对应的周期广播。对于同步端设备,同步上之后可以不用再继续扫描ADV_EXT_IND和AUX_ADV_IND,以节省功耗。

  • AUX_SYNC_IND及其引导的AUX_CHAIN_IND,以及后面引导的所有AUX_CHAIN_IND,这些包的长度不一定是最大长度,可以是其他长度值,如下图196 bytes。

 

蓝牙

 

5

Legacy advertising 和

Extended advertising 对比

 

 

蓝牙

 

蓝牙

 

参考文档访问链接:

 

Bluetooth Core Specification v5.4:

https://www.bluetooth.com/specifications/specs/

 

Bluetooth Core Specification Version 5.0 Feature Overview:

https://www.bluetooth.com/bluetooth-resources/bluetooth-5-go-faster-go-further/

 

 

关 于 泰 凌

泰凌微电子致力于为客户提供一站式的低功耗高性能无线连接SoC芯片解决方案,包括经典蓝牙,蓝牙低功耗,蓝牙Mesh,Zigbee,Thread,Matter,Apple HomeKit,Apple“查找(Find My)”,和私有协议等低功耗2.4GHz多协议无线连接系统级芯片和丰富的固件协议栈。公司产品广泛应用于智能照明,智能家居/楼宇,智能遥控,无线外设,智能零售,穿戴设备,无线音频,智能玩具,物流追踪,智慧城市等各类消费和商业应用场景中。


打开APP阅读更多精彩内容
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉

全部0条评论

快来发表一下你的评论吧 !

×
20
完善资料,
赚取积分