ble原理(1)蓝牙ble协议知识
发布日期:2021-06-29 05:35:07 浏览次数:2 分类:技术文章

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

1

2:

1:协议体系结构图

在这里插入图片描述

2:协议部分说明

控制器:基本是一个物理设备,能发射和接收无线电信号,且如何能将这些信号翻译成携带信息数据包

主机: 是一个软件栈,管理两台以上 的设备间如何进行通信,以及如何利用无线电同时提供几种服务
应用程序:则使用软件栈,进而是控制器,来实现用户实例功能

3:物理层介绍------无线电波产生 0-1

原理:采用2.4GHZ无线电波。本质上,只是传输和接收电磁辐射,采用

高斯频移键控调制(GFSK)
频段:2402MHz-2480MHz,各信道宽度
2MHz
信道:40个RF信道,
广播信道3个:37、38、39
数据信道37,动态自适应数据信道
物理层比特率为1Mbit/s,每个符号1比特, 2m
发射功率规定最大发射功率为+10dBm,最小发射功率不能低于 -20dBm
GFSK是把调制前数据经高斯低通滤波器滤波后,再进行FSK调制的调制方式。它具有恒幅包络、功率谱集中、频谱较窄等优点。协议同时规定,数字1将会被调制成正频率偏移,而数据0将会被调制成负频率偏移

3.1 广播通道

在这里插入图片描述

在这里插入图片描述

4 链路层----数据详细定义

作用:链路层定义了两个设备如何利用无线电传输信息,包含了报文、

广播、数据通道的详细定义,也规定了发现其他设备的流程、
广播的数据、连接建立、连接管理以及连接中的数据传输
信道:广播信道和数据信道
报文格式:广播报文和数据报文。带有标签数据,定义了由谁发出该谁接收

在这里插入图片描述

4.1 链路层的状态

Master role:主设备,在通信建立的过程中起主导作用发起连

接建立
Slave role: 从设备,在通信建立的过程中发送广播消息设
备会作为从设备。

链路层的状态有如下几种:

(1) Standby:在此状态下链路层不收发任何数据包,任何其它
状态都可以转换为该状态。(就绪态)
(2) Advertising:链路层在此状态下将会发送广播消息,或者处于侦听
广播响应消息。
(3) Scanning:在这种状态下,链路层会扫描是否有广播消息。
(4) Initiating:链路层在这种状态会侦听广播信道消息,也会
响应广播消息从而启动连接建立。
(5) Connection:设备建立连接之后就进入connection状态

5 主机控制器接口-----------两层之间接口层

定义主机和控制器 如何进行信息数据交互。它允许主机将命令和数据发送给控制器,控制器将事件和数据发送到主机

HCI 就是一个接口,这个接口是连接主机和控制器的,既然是连接两个东西的接口,那么必定是控制器有部分 HCI 的程序,主机也有部分 HCI 的程序
有两个独立的部组成:逻辑接口和物理

1:逻辑接口定义了命令和事件以及相关的行为。

(1). HCI信道:会提供一个连接后的句柄,用来标识信道和数据

(2). 命令数据包:向控制器传命令数据包,来执行命令

:2:而物理接口则是具体的通过硬件实现具体传输的接口。

常见的物理接口包括USB/SDIO/UART ,但是对于低功耗而言,
由于usb需要大量硬件,而且不属于低功耗的接口,所以一般ble不用usb

5.1主机发起连接----控制器

在这里插入图片描述

6 逻辑链路控制和适配协议--------数据疏导员

L2CAP 相当于一个交通疏导员,控制器的数据来到了主机层,相当于一辆车来到了一个十字路口,

驾驶员决定自己是直行还是左右拐弯(控制层的数据头中包含了数据是什么数据即包含了流向),
车往哪走需要看交通灯(数据到了 L2CAP 层后就由 L2CAP 层进行疏导,根据头部信息判断流向,再进行数据传输)。
信道独立的。该层只用固定信道:一个用于信令信道,一个用于安全管理
在这里插入图片描述

7安全管理器协议-----安全管理员

作用:实现简单配对和秘钥分发协议。配对用认证方式实现的,是一个获取对方设备信任的过程。

之后就是链路的加密和加密和秘钥分发。
从设备将秘钥共享给主设备,当这两个设备在重新连接时,就可以很快认证彼此身份。

8 属性协议(ATT)------定义数据结构

ATT(Attribute Protocol)属性层是GATT和GAP的基础,它定义了BLE协议栈上层的数据结构和组织方式

ATT层定义了属性的内容,规定了访问属性的方法和权限
属性是一个数据结构,它包括了数据类型 和 数据值
属性包括三种类型:服务项、特征值和描述符。服务项包含一个或多个特征值,特征值包含一个或多个描述符,
多个服务项组织在一起,构成属性规范(Attribute Profile)

8.1 属性数据结构

属性数据结构包含:句柄、类型、属性值、权限

在这里插入图片描述

句柄:数据地址,某个属性值查询的地址

类型:用以区分当前属性是服务项或是特征值等,它用UUID来表示
属性值:是存放数据的地方
权限: 只读、只写、可读写。加密、不加密 ,需要认证、无需认证
需要授权、无需授权

9 通用属性规范(GATT)-----服务器数据(profile)

定义如何去被发现与使用服务、特性与描述符的方法,如何发现首要服务,

所有次要服务,次服务下的所有特征值。定义服务器和客户端如何相互发送符合标准的消息进行通信

在这里插入图片描述

10 通用访问规范(GAP)----定义访问设备

作用:它在用来控制设备连接和广播。GAP 使你的设备被其他设备可见,并决定了你的设备是否可以或者怎样与合同设备进行交互。例如 Beacon 设备就只是向外广播,不支持连接,小米手环就等设备就可以与中心设备连接

定义四类角色;
1: 广播者:广播报文设备
2:观察者:扫描设备
3:外围设备:可以利用可连接广播报文进行广播的设备,
一旦连接就成为从设备
4:中央设备:向外围设备发起连接设备连接后变成主设备

11用户应用层

应用层规约定义了三种类型:特性、服务和规范。这些规约构建在通用属性规范上,

通用属性规范为特性和服务定义了属性分组,应用程序为使用这些属性组定义了规约,
就是我们用户怎么去自己定义去使用ble的属性表。

可以加入QQ群:687360507

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

转载地址:https://blog.csdn.net/zhi_Alanwu/article/details/102871718 如侵犯您的版权,请留言回复原文章的地址,我们会给您删除此文章,给您带来不便请您谅解!

上一篇:NRF52832笔记(2) ble_app_uart整体代码架构
下一篇:NRF52832笔记(1) ADC使用

发表评论

最新留言

网站不错 人气很旺了 加油
[***.192.178.218]2024年04月29日 00时21分35秒

关于作者

    喝酒易醉,品茶养心,人生如梦,品茶悟道,何以解忧?唯有杜康!
-- 愿君每日到此一游!

推荐文章