[蓝牙] 蓝牙核心技术概述(三): 蓝牙协议规范

[复制链接]
364|42
 楼主 | 2019-12-8 11:34 | 显示全部楼层 ||阅读模式
蓝牙核心技术概述(三): 蓝牙协议规范(射频、基带链路控制、链路管理)
关键词:蓝牙核心技术协议射频基带链路控制链路管理
作者:xubin341719(欢迎转载,请注明作者,请尊重版权,谢谢!)
欢迎指正错误,共同学习、共同进步!!
下载链接:Bluetooth PROFILE SPECIFICATIONS (基本涵盖所有蓝牙协议)、buletooth core 2.1-4.0 SPECIFICATION(三蓝牙版本的核心协议v2.1\v3.0\v4.0)、蓝牙核心技术与应用 马建仓 版(蓝牙协议相关初学者必读,开发者参考)
————————————————
版权声明:本文为CSDN博主「xubin341719」的原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/xubin341719/article/details/38303881

使用特权

评论回复
 楼主 | 2019-12-8 11:35 | 显示全部楼层
蓝牙协议是蓝牙设备间交换信息所应该遵守的规则。与开放系统互联(OSI)模型一样,蓝牙技术的协议体系也采用了分层结构,从底层到高层形成了蓝牙协议栈,各层协议定义了所完成的功能和使用数据分组格式,以保证蓝牙产品间的互操作性。
949605dec6f634ce3c.png

————————————————
版权声明:本文为CSDN博主「xubin341719」的原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/xubin341719/article/details/38303881

使用特权

评论回复
 楼主 | 2019-12-8 11:36 | 显示全部楼层
一、射频协议
射频位置如上图红色部分。
1、工作频率
蓝牙工作在2.4GHz ISM频段上,蓝牙采用跳频扩谱技术主动的避免工作频段受干扰(微波炉的工作频率也是2.4GHz)。

142145dec6f9550de7.png

752455dec6fb1b07d5.png
我国的蓝牙频率在2.402GHz~2.483GHz,蓝牙每个频道的宽度为1MHz,为了减少带外辐射的干扰,保留上、下保护为3.5MHz和2MHz,79个跳频点中至少75个伪随机码跳动,30S内任何一个频点使用时长不能超过0.4S。       
————————————————
版权声明:本文为CSDN博主「xubin341719」的原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/xubin341719/article/details/38303881

使用特权

评论回复
 楼主 | 2019-12-8 11:36 | 显示全部楼层
2、跳频技术、发射功率、时隙
(1)、发射功率:蓝牙发射功率分三级:一级功率100mW(20dBm);二级功率2.5mW(4dBm);三级功率1mW(0dBm);
(2)、物理信道:蓝牙物理信道有伪随机序列控制的79个跳频点构成,不同跳频序列代表不同的信道。
762585dec6fcf00c5a.png
(3)、时隙:蓝牙跳频速率为1600次/s,每个时间为625uS(1S/1600)称为一个时隙;
408615dec6fd4a1f32.png

————————————————
版权声明:本文为CSDN博主「xubin341719」的原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/xubin341719/article/details/38303881

使用特权

评论回复
 楼主 | 2019-12-8 11:37 | 显示全部楼层
二、基带与链路控制协议
363015dec6feb2400a.png

蓝牙发送数据时,基带部分将来自高层的数据进行信道编码,向下发给射频进行发送;接收数据时,将解调恢复空中数据并上传给基带,基带进行信道编码传送给上层。

作用:跳频选择、蓝牙编址、链路类型、信道编码、收发规则、信道控制、音频规范、安全设置。

————————————————
版权声明:本文为CSDN博主「xubin341719」的原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/xubin341719/article/details/38303881

使用特权

评论回复
 楼主 | 2019-12-8 11:37 | 显示全部楼层
1、蓝牙分组编码为小端模式;

2、蓝牙地址

BD_ADDR:BluetoothDevice Address;

LAP:LowerAddress Part 低地址部分;

UAP: UpperAddress Part 高地址部分;

NAP: Non-significantAddress Part 无效地址部分。
897615dec700c8c32a.png
————————————————
版权声明:本文为CSDN博主「xubin341719」的原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/xubin341719/article/details/38303881

使用特权

评论回复
 楼主 | 2019-12-8 11:38 | 显示全部楼层
3、蓝牙时钟
每个蓝牙设备都有一个独立运行的内部系统时钟,称为本地时钟(Local Clock),决定定时器的收发跳频。为了与其他设备同步,本地时钟要加一个偏移量(offset),提供给其他设备同步。
蓝牙基带四个关键周期:312.5uS、625uS、1.25mS、1.28S。

981835dec70231d6da.png
CLKN:本地时钟:
CLKE:预计时钟,扫描寻呼过程中用到;
CLK:设备实际运行的时钟频率。
CLKE、CLK由CLKN加上一个偏移量得到的。
265875dec702963987.png
————————————————
版权声明:本文为CSDN博主「xubin341719」的原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/xubin341719/article/details/38303881

使用特权

评论回复
 楼主 | 2019-12-8 11:38 | 显示全部楼层
4、蓝牙物理链路:
通信设备间物理层的数据连接通道就是物理链路。
ACL(Asynchronous Connectionless)异步无连接链路;对时间要求不敏感的数据通信,如文件数据、控制信令等。
SCO(Synochronous Connection Oriented)同步面向连接链路;对时间比较敏感的通信,如:语音;最多只支持3条SCO链路,不支持重传。
ACL用于数据传输;
————————————————
版权声明:本文为CSDN博主「xubin341719」的原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/xubin341719/article/details/38303881

使用特权

评论回复
 楼主 | 2019-12-8 11:40 | 显示全部楼层
5、蓝牙基带分组:
基带分组至少包括:接入码、分组头、有效载荷;
411565dec70540e649.png

(1)、接入码用于同步、直流、载频泄漏偏置补偿标识;
(2)、分组头包含链路信息,确保纠正较多的错误。
分组类型如下:
720805dec70720a730.png
724725dec70827b59f.png
ACL分组形式为:D(M|H)(1|3|5),D代表数据分组,M代表用2/3比例的FEC的中等速率分组;H代表不使用纠错码的高速率分组;1、3、5分别代表分组所占用的时隙数目;
DM1、DM3、DM5、DH1、DH3、DH5
SCO分组形式为:HV(1|2|3)。HV代表高质量语言分组,1、2、3有效载荷所采用的纠错码方法。1为1/3比例FEC,设备2个时隙发送一个单时隙分组;2为2/3比例FEC,设备4个时隙发送一个单时隙分组;3为不使用纠错码,设备6个时隙发送一个单时隙分组
HV1、HV2、HV3
————————————————
版权声明:本文为CSDN博主「xubin341719」的原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/xubin341719/article/details/38303881

使用特权

评论回复
 楼主 | 2019-12-8 11:41 | 显示全部楼层
ALC 分组:
368995dec70b61fbc8.png
SCO分组:
963765dec70c86110f.png
注释:D 只对数据段有用,DV分组包含数据段,也包含语言段。

————————————————
版权声明:本文为CSDN博主「xubin341719」的原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/xubin341719/article/details/38303881

使用特权

评论回复
 楼主 | 2019-12-8 11:41 | 显示全部楼层
(3)、有效载荷
分语言有效载荷、数据有效载荷。

————————————————
版权声明:本文为CSDN博主「xubin341719」的原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/xubin341719/article/details/38303881

使用特权

评论回复
| 2019-12-8 11:43 | 显示全部楼层
6、蓝牙的逻辑信道
链路控制信道:LinkControl  LC
链路管理信道:Link Manage LM
用户异步数据信道:User AsynchronizationUA
用户同步数据信道:UserSynchronization US
用户等时数据信道:UserIsochronous UI  UI
————————————————
版权声明:本文为CSDN博主「xubin341719」的原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/xubin341719/article/details/38303881

使用特权

评论回复
| 2019-12-8 11:43 | 显示全部楼层
7、蓝牙的收发规则

590955dec715f3f8ab.png
上图为RX缓存。

286325dec7165d5109.png

上图为TX缓存。
新分组到达时,ACL链路的RX缓存器要流量控制,SCO数据不需要流量控制;
————————————————
版权声明:本文为CSDN博主「xubin341719」的原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/xubin341719/article/details/38303881

使用特权

评论回复
| 2019-12-8 11:44 | 显示全部楼层
8、蓝牙基带信道和网络控制
1)、链路控制器状态:
待机、连接
寻呼page、寻呼扫描pagescan、查询inquiry、查询扫描inquiry scan、主设备相应Master Response、从设备相应Slave Response、查询相应inquiry response
2) 、连接状态
激活模式active、呼吸模式sniff、保持模式hold、休眠模式park。
3)、待机状态
         待机状态是蓝牙设备缺省低功耗状态,此状态下本地时钟以低精度运行。蓝牙从待机转入寻呼扫描状态,对其他寻呼进行响应成为从设备;也可以从待机状态进入查询扫描状态,完成一个完整的寻呼,成为主设备。
————————————————
版权声明:本文为CSDN博主「xubin341719」的原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/xubin341719/article/details/38303881

使用特权

评论回复
| 2019-12-8 11:44 | 显示全部楼层
9、接入过程
注释:
IAC Inquiry AccessCode 查询接入码;
GIAC:通用查询接入码 DIAC:专用查询接入码;
DAC:DeviceAccess Code 设备接入码;
LAP:
         建立连接,必须使用查询、寻呼;查询过程使用IAC,发现覆盖区域内的设备、设备的地址及其时钟;连接过程使用DAC,建立连接的设备处理寻呼过程,成为主设备。、(1)、查询过程
蓝牙设备通过查询来发现通信范围内的其他蓝牙设备。查询信息分为GIAC、DIAC两种。查询发起设备收集所有相应设备的地址、时钟信息。
一设备进入查询状态去发现其他设备,查询状态下连续不断的在不同频点发送查询消息。查询的跳频序列有GIAC的LAP导出。
一设备想被其他设备发现,就要周期性进入 查询扫描状态,以便相应查询消息。如:我们选择设备多长时间可见,其实就是  进入查询扫描状态。
————————————————
版权声明:本文为CSDN博主「xubin341719」的原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/xubin341719/article/details/38303881

使用特权

评论回复
| 2019-12-8 11:45 | 显示全部楼层
A、查询扫描
查询扫描状态下,接收设备扫描接入码的时间长度,足以完成对16个频率的扫描。扫描区间长度Twindow inquiry scan。扫描在同一个频率上进行,查询过程用32跳专用查询跳频序列,此序列有通用查询的地址决定,相位有本地时钟决定,每隔1.28S变化一次。
B、查询
与寻呼类似,TX用查询跳频序列、RX用查询相应跳频序列。
C、查询相应
从设备响应查询操作。每个设备都有自己的时钟,使用查询序列相位相同的几率比较小。为了避免多个设备在同一查询跳频信道同时激活,从设备查询响应规定:从设备收到查询消息,产生0-1023只觉得额一个随机数,锁定当时相位输入值进行跳频选择,从设备此后的RAND时隙中返回到连接或者待机状态。
————————————————
版权声明:本文为CSDN博主「xubin341719」的原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/xubin341719/article/details/38303881

使用特权

评论回复
| 2019-12-8 11:45 | 显示全部楼层
(2)、寻呼扫描
DAC:DeviceAccess Code 设备接入码
寻呼扫描状态下的设备扫描窗口Twindowpage scan内监听自己的DAC。监听只在一个跳频点进行。Twindow page scan足够覆盖16个寻呼扫描频点。
寻呼扫描状态,扫描在同一个频率上进行,持续1.28S,在选择另一个不同频率。
261465dec71ec0e7fb.png
————————————————
版权声明:本文为CSDN博主「xubin341719」的原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/xubin341719/article/details/38303881

使用特权

评论回复
| 2019-12-8 11:46 | 显示全部楼层
(3)、寻呼
主设备使用寻呼发起一个主—从设备连接,通过在不同的跳频点上重复发送从设备DAC来扑捉从设备,从设备在寻呼扫描状态被唤醒,接收寻呼。
(4)、寻呼相应过程

————————————————
版权声明:本文为CSDN博主「xubin341719」的原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/xubin341719/article/details/38303881

使用特权

评论回复
| 2019-12-8 11:46 | 显示全部楼层
三、链路管理器
740555dec721bba885.png

如上图红色部分,负责完成设备:功率管理、链路质量管理、链路控制管理、数据分组管理、链路安全管理。

————————————————
版权声明:本文为CSDN博主「xubin341719」的原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/xubin341719/article/details/38303881

使用特权

评论回复
| 2019-12-8 11:47 | 显示全部楼层
1、链路管理协议数据单元
         蓝牙链路管理器接收到高层的控制信息后,不是向自身的基带部分分发控制信息,就是与另一台设备的链路管理器进行协商管理。这些控制信息封装在链路管理协议数据单元LMP_PDU中,由ACL分组的有效载荷携带。

————————————————
版权声明:本文为CSDN博主「xubin341719」的原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/xubin341719/article/details/38303881

使用特权

评论回复
扫描二维码,随时随地手机跟帖
您需要登录后才可以回帖 登录 | 注册

本版积分规则

我要发帖 投诉建议 创建版块 申请版主

快速回复

您需要登录后才可以回帖
登录 | 注册
高级模式

论坛热帖

在线客服 快速回复 返回顶部 返回列表