ble 广播包详解概要1.docxVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
ble 广播包详解概要1

 在使用EN-Dongle捕获和解析广播包之前,我们先了解一下BLE报文的结构,之后,再对捕获的广播包进行分析。在学习BLE的时候,下面两个文档是极其重要的,这是SIG发布的蓝牙的核心协议和核心协议增补。核心协议Core_v4.2。核心协议增补CSS v6。  虽然这两个文档是蓝牙技术的根本,但是遗憾的是:通过这两个文档学习蓝牙并不是那么容易的,阅读和理解起来很费力。尤其是初学者在阅读这两个文档的时候,感觉无从下口。所以,本文在分析报文的过程中,会明确指出协议文档在什么地方定义了他们,让我们有目的的去查阅协议文档,做到知其然也知其所以然,这样,学习起来就会轻松很多。1. BLE报文结构  BLE报文结构如下,他由下图所示的各个域组成。因为有的域的长度超过了一个字节,所以在传输的过程中就涉及到多字节域中哪个字节先传输的问题,BLE报文传输时的字节序和比特序如下:?字节序:大多数多字节域是从低字节开始传输的。注意,并不是所有的多字节域都是从低字节开始传输的。比特序:各个字节传输时,每个字节都是从低位开始。? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?图1:BLE报文结构1.1 前导  前导是一个8比特的交替序列。他不取决于接入地址的第一个比特。若接入地址的第一个比特为0接入地址的第一个比特为1 接收机可以根据前导的无线信号强度来配置自动增益控制。1.2?接入地址  接入地址有两种类型:广播接入地址和数据接入地址。广播接入地址:固定为0x8E89BED6,在广播、扫描、发起连接时使用。数据接入地址:随机值,不同的连接有不同的值。在连接建立之后的两个设备间使用。  对于数据信道,数据接入地址是一个随机值,但需要满足下面几点要求:? ? ?1) ?数据接入地址不能超过6个连续的“0”或“1”。? ? ?2) ?数据接入地址的值不能与广播接入地址相同。? ? ?3) ?数据接入地址的4个字节的值必须互补相同。? ? ?4) ?数据接入地址不能有超24次的比特翻转(比特0到1或1到0,称为1次比特翻转)。? ? ?5) ?数据接入地址的最后6个比特需要至少两次的比特翻转。? ? ?6) ?符合上面条件的有效随机数据接入地址大概有231个。1.3?报头1.3.1 广播报文报头  报头的内容取决于该报文是广播报文还是数据报文。广播报文的报头如下图所示:? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? 图2:广播报文报头  广播报文的报头包含4bit广播报文类型、2bit保留位、1bit发送地址类型和1bit接收地址类型。? ? 1)?广播报文类型  Core_v4.2的2583页描述了广播报文类型,共有7种类型,如下图所示。? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?图3:广播报文类型  每种广播报文类型都具有不同的数据格式及行为。Core_v4.2的2584页的2.3.1节详细的描述了各个广播报文类型,大家可以阅读此章节进一步了解。? ? ?2)?发送地址类型和接收地址类型  发送地址类型和接收地址类型指示了设备使用公共地址(Public Address)还是随机地址(Random Address)。公共地址和随机地址的长度一样,都包含6个字节共48位。BLE设备至少要拥有这两种地址类型中的一种,当然也可以同时拥有这两种地址类型。公共地址(Public Address)  公共地址由两部分组成,如下图。公共地址由制造商从IEEE申请,由IEEE注册机构为该制造商分配的机构唯一标识符OUI(Organizationally Unique Identifier)。这个地址是独一无二,不能修改的。Core_v4.2 P2576的1.3.1节描述了公共地址。? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? 图4:公共地址结构随机地址  随机地址有包含两种:静态地址(Static Device Address)和私有地址(PrivateDevice Address)。Core_v4.2 P2577的节描述了静态地址。? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? 图5:静态地址格式  静态地址有如下要求:? ? ?a) 静态地址的最高2位有效位必须是1。? ? ?b)?静态地

文档评论(0)

yaocen + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档