博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
ble原理(6) BLE5.0广播包
阅读量:1859 次
发布时间:2019-04-26

本文共 1683 字,大约阅读时间需要 5 分钟。

1 概述

《1》参考文献:

《2》网友网址:
《3》

根据不同 BLE 的版本,ADV 分为两类:

Legacy ADV:BLE 4.2 版本的 ADV

Extend ADV: BLE 5.x 版本的 ADV

在 BLE 4.2 时代,所有的 ADV 都在 37、38、39上进行发送和接收交互,这里我们称 37、38、39 为 Primary Advertising Physical Channel 并且呢,ADV 携带的数据最大是 31 个字节。

到了 BLE 5.0 时代,SIG 说,ADV ,SIG 对 ADV 进行了扩展,Core Spec 管这些新来的 ADV 大爷叫做 Extended ADV,也就是扩展广播(名字简单粗暴吧)。扩展广播是怎么个扩展法子呢?就是在 Primary Advertising Physical Channel 上,还是会发一个叫 EXT_ADV 的包,这个包呢,携带了一些信息,信息中包含了下一个和他关联的包的所在地(Secondary Advertising Physical Channel),这个所在地,就不是 37、38、39了,而是其他的 37 个通道中的一个,具体是哪个,由这个 EXT_ADV 的包来决定。

1.1.1、ADV PDU Header PDU Type

Alright,下图表示了 PDU Type 不同,所对应的包的不同,以及他们的 Physical Channel,甚至于支持的 PHYs:

在这里插入图片描述

在这里插入图片描述

1.1.2、ADV_EXT_IND

他发送在 Primary Advertising Physical Channel 上,目的是为了引出后续的 Secondary Advertising Physical Channel 数据包。这个的解释是,绝大多数的扩展广播包,都是以 ADV_EXT_IND(Primary) + AUX_ADV_IND(Secondary) 的形式来组织的,扫描端想要知道这个扩展广播的含义,则,必须要收到 ADV_EXT_IND 后,接着去收 AUX_ADV_IND,然后完成数据解析,才知道这个到底是个啥。

广播分为可连接,可扫描,不可连接,不可扫描的组合,以及是否带数据,依据这个的话,BLE Core Spec 将 ADV_EXT_IND 的组成分为了几类:

1.1.3 数据包的展示

在这里插入图片描述

•ADV_EXT_IND[Extended adv]

–扩展广播,只能使用coded和1M PHY,数据广播在37,38,39信道,携带AUX_ADV_IND所在信道以及所使用的PHY。
•AUX_ADV_IND[Auxiliary adv]
-扩展广播数据,可以发生在任何PHY,字节最大为255字节,数据广播在非37,38,39信道上。

广播数据

Connectable LE Coded -> 2M on aux

由图指引可以看到该广播包为扩展广播包,分为4包,1,2,3为广播包分别在37,38,39通道上,广播PHY为coded PHY(S=8),4为数据包,由右图所示的,处于2418通道(8通道),广播PHY为2M PHY。

对,你没有看错,广播PDU Type ADV_EXT_IND是可以在CODED PYH上广播,而实际广播数据可以直接切换到2M PHY上!在ADV_EXT_IND广播中有携带AUX_ADV_IND广播PHY类型以及所处信道,如下下图右下所示。

在这里插入图片描述
总结:
1:相当于使用Extended adv pack时,1,2,3为广播包分别在37,38,39通道上,先广播出来PDU Type以及相应信息,然后在继续广播广播数据包(4),广播PHY为coded PHY(S=8),4为数据包,由右图所示的,处于2418通道(8通道)

2:Secondary phy2M需要在 Primary phy1M和code基础上才可以成功,在*ADV_EXT_IND类型下

NRF 商家

在这里插入图片描述

可以加入QQ群:687360507

与大伙沟通交流,技术在于分享而进步

转载地址:http://ktgyf.baihongyu.com/

你可能感兴趣的文章
使用urdf_tutorial快速可视化urdf文件
查看>>
SQl 数据完整性(随堂博客)
查看>>
左连接、右连接、内连接
查看>>
MySQL DQL语句基础(随堂博客)
查看>>
MySQL基础练习
查看>>
利用MySQL进行数据复杂查询(1)
查看>>
利用MySQL进行数据复杂查询(2)
查看>>
MySQL 表与表之间的关系
查看>>
Python数据处理
查看>>
Java练习题(面向对象)
查看>>
Python 利用os和shutil复制系统文件
查看>>
Python 循环输出菱形字符串
查看>>
MySQL常见错误总结
查看>>
pymysql 的基础应用
查看>>
Html+Css实现 启橙装饰网 项目
查看>>
JavaScript 实现哥德巴赫猜想
查看>>
JavaScript DOM
查看>>
Python 管理程序改进——连接MYSQL
查看>>
Python 爬虫
查看>>
Python 爬虫-百度风云榜的电影top50
查看>>