ble 广播包详解Word下载.docx

上传人:b****1 文档编号:15220018 上传时间:2022-10-28 格式:DOCX 页数:12 大小:462KB
下载 相关 举报
ble 广播包详解Word下载.docx_第1页
第1页 / 共12页
ble 广播包详解Word下载.docx_第2页
第2页 / 共12页
ble 广播包详解Word下载.docx_第3页
第3页 / 共12页
ble 广播包详解Word下载.docx_第4页
第4页 / 共12页
ble 广播包详解Word下载.docx_第5页
第5页 / 共12页
点击查看更多>>
下载资源
资源描述

ble 广播包详解Word下载.docx

《ble 广播包详解Word下载.docx》由会员分享,可在线阅读,更多相关《ble 广播包详解Word下载.docx(12页珍藏版)》请在冰豆网上搜索。

ble 广播包详解Word下载.docx

注意,并不是所有的多字节域都是从低字节开始传输的。

∙比特序:

各个字节传输时,每个字节都是从低位开始。

 

 

图1:

BLE报文结构

1.1前导

  前导是一个8比特的交替序列。

他不是01010101就是10101010,取决于接入地址的第一个比特。

∙若接入地址的第一个比特为0:

01010101

∙若接入地址的第一个比特为1:

10101010

  接收机可以根据前导的无线信号强度来配置自动增益控制。

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) 

发送地址类型和接收地址类型

  发送地址类型和接收地址类型指示了设备使用公共地址(PublicAddress)还是随机地址(RandomAddress)。

公共地址和随机地址的长度一样,都包含6个字节共48位。

BLE设备至少要拥有这两种地址类型中的一种,当然也可以同时拥有这两种地址类型。

∙公共地址(PublicAddress)

  公共地址由两部分组成,如下图。

公共地址由制造商从IEEE申请,由IEEE注册机构为该制造商分配的机构唯一标识符OUI(OrganizationallyUniqueIdentifier)。

这个地址是独一无二,不能修改的。

Core_v4.2P2576的1.3.1节描述了公共地址。

图4:

公共地址结构

∙随机地址

  随机地址有包含两种:

静态地址(StaticDeviceAddress)和私有地址(PrivateDeviceAddress)。

Core_v4.2P2577的1.3.2.1节描述了静态地址。

图5:

静态地址格式

  静态地址有如下要求:

a)静态地址的最高2位有效位必须是1。

b) 

静态地址最高2位有效位之外的其余部分不能全为0。

c) 

静态地址最高2位有效位之外的其余部分不能全为1。

  在私有地址的定义当中,又包含了两个子类:

不可解析私有地址(Non-resolvablePrivateAddress)和可解析私有地址(ResolvablePrivateAddress,RPA)。

nRF51822使用的是静态地址,芯片在出厂时已经设置好了48位地址,我们可以从下面两个寄存器读出地址类型和地址。

a) 

DEVICEADDRTYPE寄存器。

DEVICEADDR[n]寄存器:

包含DEVICEADDR[0]和DEVICEADDR[1]两个寄存器。

图6:

地址类型寄存器

图7:

地址寄存器

1.4 

长度

∙广播报文:

长度域包含6个比特,有效值的范围是6~37。

数据报文:

长度域包含5个比特,有效值的范围是0~31。

  广播报文和和数据报文的长度域有所不同,主要原因是:

广播报文除了最多31个字节的数据之外,还必须要包含6个字节的广播设备地址。

6+31=37,所以需要6比特的长度域。

  再次强调:

广播时必须要包含6个字节的广播设备地址。

1.5 

数据(AdvData)

  广播和扫面响应的数据格式如下图所示,由有效数据部分和无效数据部分组成。

图8:

广播和扫描响应的数据格式

  1) 

有效数据部分:

包含N个ADStructure,每个ADStructure由Length,ADType和ADData组成。

其中:

∙Length:

ADType和ADData的长度。

∙ADType:

指示ADData数据的含义。

  问题来了,我们怎么知道有哪些ADType?

他们又表示什么意义?

可以通过下面2种方式查看ADType和他们表示的意义。

∙从官网查询,但是需要是会员才可以查询。

  https:

//www.bluetooth.org/Technical/AssignedNumbers/generic_access_profile.htm

∙查看Nordic的SDK中的定义,ADtype的定义在程序的“ble_gap.h”头文件中。

定义如下:

1#defineBLE_GAP_AD_TYPE_FLAGS0x01/**<

Flagsfordiscoverability.*/2#defineBLE_GAP_AD_TYPE_16BIT_SERVICE_UUID_MORE_AVAILABLE0x02/**<

Partiallistof16bitserviceUUIDs.*/3#defineBLE_GAP_AD_TYPE_16BIT_SERVICE_UUID_COMPLETE0x03/**<

Completelistof16bitserviceUUIDs.*/4#defineBLE_GAP_AD_TYPE_32BIT_SERVICE_UUID_MORE_AVAILABLE0x04/**<

Partiallistof32bitserviceUUIDs.*/5#defineBLE_GAP_AD_TYPE_32BIT_SERVICE_UUID_COMPLETE0x05/**<

Completelistof32bitserviceUUIDs.*/6#defineBLE_GAP_AD_TYPE_128BIT_SERVICE_UUID_MORE_AVAILABLE0x06/**<

Partiallistof128bitserviceUUIDs.*/7#defineBLE_GAP_AD_TYPE_128BIT_SERVICE_UUID_COMPLETE0x07/**<

Completelistof128bitserviceUUIDs.*/8#defineBLE_GAP_AD_TYPE_SHORT_LOCAL_NAME0x08/**<

Shortlocaldevicename.*/9#defineBLE_GAP_AD_TYPE_COMPLETE_LOCAL_NAME0x09/**<

Completelocaldevicename.*/10#defineBLE_GAP_AD_TYPE_TX_POWER_LEVEL0x0A/**<

Transmitpowerlevel.*/11#defineBLE_GAP_AD_TYPE_CLASS_OF_DEVICE0x0D/**<

Classofdevice.*/12#defineBLE_GAP_AD_TYPE_SIMPLE_PAIRING_HASH_C0x0E/**<

SimplePairingHashC.*/13#defineBLE_GAP_AD_TYPE_SIMPLE_PAIRING_RANDOMIZER_R0x0F/**<

SimplePairingRandomizerR.*/14#defineBLE_GAP_AD_TYPE_SECURITY_MANAGER_TK_VALUE0x10/**<

SecurityManagerTKValue.*/15#defineBLE_GAP_AD_TYPE_SECURITY_MANAGER_OOB_FLAGS0x11/**<

SecurityManagerOutOfBandFlags.*/16#defineBLE_GAP_AD_TYPE_SLAVE_CONNECTION_INTERVAL_RANGE0x12/**<

SlaveConnectionIntervalRange.*/17#defineBLE_GAP_AD_TYPE_SOLICITED_SERVICE_UUIDS_16BIT0x14/**<

Listof16-bitServiceSolicitationUUIDs.*/18#defineBLE_GAP_AD_TYPE_SOLICITED_SERVICE_UUIDS_128BIT0x15/**<

Listof128-bitServiceSolicitationUUIDs.*

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 表格模板 > 合同协议

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1