设为首页收藏本站

技术子

 找回密码
 速度加入

QQ登录

只需一步,快速开始

扫一扫,访问微社区

搜索
热搜: 活动 交友 discuz
查看: 12210|回复: 24

BLE4.0 低功耗蓝牙协议介绍(1)

[复制链接]

61

主题

106

帖子

1万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
13843
发表于 2016-6-19 14:20:38 | 显示全部楼层 |阅读模式
协议组成
图片1.png
§物理层
§LL(链路控制层)
§HCI(主机和控制接口)
§L2CAP(逻辑链路控制和适配层)
§GATT(通用属性规范)
§ATT(属性传输协议)
§SMP(安全管理)
§GAP(通用访问规范)
nPHY/物理层
Ø频段
BLE使用2.4GHz工业、科学及医疗(ISM)频段。
这个频段有两个特别之处:
它是一个无需授权的频段
它是唯一一个在任何国家都通用的频段,即对于2.4GHz的频段,从2400MHz~2483.5MHz83.5MHz的频谱资源在任何地方都可以使用。
Ø调制
BLE采用的GFSK调制方式(髙斯频移键控),物理层的比特率为1Mbit/s(1Mbps)。
Ø射频信道
图片2.png
§PHY(物理层)
§链路控制层
§HCI(主机和控制接口)
§L2CAP(逻辑链路控制和适配层)
§GATT(通用属性规范)
§ATT(属性传输协议)
§SMP(安全管理)
§GAP(通用访问规范)
LL/链路层
Ø描述:
链路层定义了两个设备如何利用无线电传输信息,包含了报文、广播、数据通道的详细定义,也规定了发现其他设备的流程、广播的数据、连接建立、连接管理以及连接中的数据传输
Ø链路层状态机
就绪态(Standby)
广播态(Advertising)
扫描态(Scanning)
发起态(Initiating)
连接态(Connection)
图片3.png
Ø空中数据包结构
l前导码:1字节
l访问地址:4字节
l数据包单元:29字节
lCRC校验:3字节
QQ截图20160619140302.png
Ø基本概念
Bit
    在4.0协议中规定数据都是以小端模式存放
在内存中,并且发送到空中的数据都是以低
字节的最低bit位进行发送。当然也有例外,
CRC是先发送的高字节的最低bit位。[url=]例[/url]
图片4.png
数据白化
    数据白化的目的是避免长0长1。
Ø三种“地址”区分
前导码Preamble1字节
     前导码的作用是:频率同步和增益控制。只有两个值: 0xAA和0x55
接入地址Access Address4字节
      广播包固定---- 0x8e89bed6
      数据包变化----每一次连接都不同
芯片物理地址:6字节
       它分为:公共地址和随机地址。随机地址分为:静态地址和私有地址。私有地址分为:不可解析和可解析地址。
图片5.png

图片6.png
Ø报文结构详细组成
图片7.png

8.png
Ø广播通道PDU结构
图片8.png
ADV_IND——通用广播
ADV_DIRECT_IND——定向连接广
ADV_NONCONN_IND——不可连接广播
ADV_SCAN_IND——可扫描广播
SCAN_REQ——主动扫描请求
SCAN_RSP——主动扫描应答
CONNECT_REQ——连接请求
图片9.png    图片10.png

9.png

Ø广播包空中传输交互规范
10.png
11.png
Ø同一广播事件中3个信道之间的时间间隔----ADV-IND为例
图片11.png

图片12.png

图片13.png

图片14.png

Ø连接请求CONNECT_REQ
   图片15.png
图片16.png

图片17.png

图片18.png

图片19.png

图片20.png

图片21.png
Sniffer采集到的连接请求包
图片22.png

Ø数据通道PDU结构
图片23.png

12.png

Ø连接事件
和广播事件一样,每隔一定的时间连接事件由主机从数据信道发送一个数据包,从机接到数据如果有数据发送需要在150±2 µs做成应答。也就是说每一个连接事件中至少包含主机发送的一个包,从机可以不发送包。
l连接事件的时间由两个参数决定:connection event interval (connInterval), and slave latency (connSlaveLatency).即连接间隔和从机潜伏期。
lanchor point
连接事件开始的点叫做锚点(The start of aconnection event is called an anchor point)。主机在锚点开始连接事件,从机需要在锚点前进入侦听状态。
lconnEventCounter
主机和从机都有一个16位的连接事件计数器,这个值是为了这两个设备之间的同步。这个值只要是连接事件参数就会加1,当然第一个连接事件时这个值为0而不是1。无论从机潜伏期的值是多少,只有从机接收到主机的连接事件这个值在从机里面就要加1。当这个值到了0xFFFF时,会翻转到0x0000,重新开始计算。
Ø连接事件传输窗口
在上面讲到了CONNECT_REQ包,这个包中包含了传输窗口,并且窗口偏移(WinOffset)只有是从广播态进入连接态时使用,或者在参数更新时使用,而WinSize时间是每个连接事件都必须使用的。

图片24.png

图片25.png
Ø连接间隔时间的起点有两个位置:
当从机接收报文成功,连接间隔时间起点,就是接收到报文的那个时刻,当然对于nrf51822来说,就是RadioEND事件产生的时候了。
当从机接收报文失败,连接间隔时间起点,就是扫描窗口的开始时刻。
Ø数据包确认、重传和更多数据发送控制
图片26.png
1.png

图片27.png
Ø连接事件关闭
13.png
§PHY(物理层)
§LL(链路控制层)
§主机和控制接口
§L2CAP(逻辑链路控制和适配层)
§GATT(通用属性规范)
§ATT(属性传输协议)
§SMP(安全管理)
§GAP(通用访问规范)
ØHCI Commands and Events
14.png
§PHY(物理层)
§LL(链路控制层)
§HCI(主机和控制接口)
§逻辑链路控制和适配层
§GATT(通用属性规范)
§ATT(属性传输协议)
§SMP(安全管理)
§GAP(通用访问规范)
ØL2CAP逻辑链路控制和适配层
这个层的目的是将上层的数据进行简单包装,使得对于LL层来说,非常方便地进行再次包装后进行发送。
图片29.png
ØL2CAP包结构以及信道标识
15.png

======================================================================
建立这个论坛和群的目的是,就是想一起写个笔记,这个笔记是开放的!
因为我总认为你想得到帮助就必须先付出
我写笔记告诉别人我的经验,目的也是为了能得到别人的经验

欢迎 关注 低功耗蓝牙论坛          bbs.codertown.cn
欢迎加入蓝牙BLE4.0协议研究         177341833    一起学习和讨论
======================================================================

本帖被以下淘专辑推荐:

回复

使用道具 举报

0

主题

1

帖子

248

积分

中级会员

Rank: 3Rank: 3

积分
248
发表于 2016-6-19 18:16:02 | 显示全部楼层
牛, 支持
回复

使用道具 举报

61

主题

106

帖子

1万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
13843
 楼主| 发表于 2016-6-19 18:49:10 | 显示全部楼层
感谢    啊!   不然很难坚持
回复 支持 反对

使用道具 举报

0

主题

3

帖子

246

积分

中级会员

Rank: 3Rank: 3

积分
246
发表于 2016-6-22 09:38:50 | 显示全部楼层
顶贴,哈哈
回复

使用道具 举报

0

主题

3

帖子

210

积分

中级会员

Rank: 3Rank: 3

积分
210
发表于 2016-6-23 10:26:16 | 显示全部楼层
感谢分享
回复

使用道具 举报

0

主题

1

帖子

206

积分

中级会员

Rank: 3Rank: 3

积分
206
发表于 2016-6-23 17:49:38 | 显示全部楼层
很好啊。。。但有没有关于程序的介绍?
回复 支持 反对

使用道具 举报

0

主题

1

帖子

206

积分

中级会员

Rank: 3Rank: 3

积分
206
发表于 2016-6-23 17:59:35 | 显示全部楼层
很好的分享 ~ 支持~
回复 支持 反对

使用道具 举报

0

主题

5

帖子

270

积分

版主

Rank: 7Rank: 7Rank: 7

积分
270
发表于 2016-6-28 17:40:40 | 显示全部楼层
学习了,加油更新。
回复 支持 反对

使用道具 举报

0

主题

25

帖子

66

积分

注册会员

Rank: 2

积分
66
发表于 2016-7-5 14:39:11 | 显示全部楼层
非常 感谢!!!!
回复

使用道具 举报

0

主题

13

帖子

74

积分

注册会员

Rank: 2

积分
74
发表于 2016-7-7 08:58:27 | 显示全部楼层
很好的平台,一起学习   公婆BLE协议栈
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 速度加入

本版积分规则

Archiver|手机版|小黑屋|技术子 ( 粤ICP备14028582号  

GMT+8, 2020-11-28 14:10 , Processed in 0.122659 second(s), 32 queries .

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表