ble低功耗蓝牙(1)

ble低功耗蓝牙

在物联网技术发展发展迅猛的今天,小型设备对功耗和成本的要求越来越高,低功耗蓝牙技术就得到快速发展,我学习低功耗蓝牙权威指南顺做下简单记录和总结,本文先简单解释下ble框架结构。
低功耗蓝牙结构分为三层
控制器层,主机层,应用层
在这里插入图片描述

一.控制器

#物理层:主要完成数据的收发工作,一方面可将无线电磁波转换为数据包,另一方面,可将设备数据包转换为无锡电磁波辐射到大气中。

#链路层:广播,扫描,连接的建立与维护,数据的加密校验等。
因此,链路层中就出现下面几个概念
1.数据传输通道-信道
信道分为广播信道和数据信道,蓝牙存在40个信道,至于两种信道的划分,广播信道3个,数据信道37个
在这里插入图片描述
关于广播信道的选择已经尽量避免2.4g wifi常用信道可能带来的干扰,下图为2.4g wifi信道及其频段
在这里插入图片描述
2.数据传输格式–报文(数据包的格式)
报文内容太多,现在简单说明,后面具体介绍。报文是链路层的基石,简单点说就是带标签的数据,由一个设备发送,一个或多个设备接收,标签指明了数据是由谁发送的,以及由哪些数据接收,报文分为广播报文和数据报文,广播报文传输在广播信道,数据报文传输在数据信道。
链路层数据包结构在这里插入图片描述
前导:一个字节,构成01010101或者01010101,取决于接入地址的第一个数值接入地址
0;前导:01010101接入地址
1:前导:10101010
资料说调节自动增益控制,没整明白哈哈,关于前导个人觉得可能还有种告诉控制器后面之后的数据是不是有效数据包,从而达到过滤噪声的目的。
接入地址:存在两种,广播接入地址,数据接入地址。
广播信道固定地址:0X8E89BED6
数据信道地址:一个随机值,此值也是有一定的要求,如下
1.不能超过6个连‘0’,或连’1‘
2.与广播信道地址至少有一个比特的不同
3.8位组必须互不相同
4.’0‘,’1‘翻转不能超过24次
5.最后6比特至少有两次比特翻转
报头:广播报头与数据报头是存在基本区别的,后面报文在详细介绍
长度:广播报文,长度域6比特,数据报文,长度域5比特
数据:传输的真实数据
crc校验对数据进行校验

#主机控制接口:连接了主机与控制器—HCI
1.发送命令给控制器接收来自控制器的事件
2.发送和接收来自对端的数据

主机接口即使两个设备的物理上的接口,也是逻辑接口
逻辑接口:定义了命令,事件,数据封包
物理接口:主机控制器之间传递数据包

物理接口主要存在四种
通用异步收发器(uart),3线uart,usb,安全数字输入输出(sdio)

二.报文

对广播信道,数据信道报文做简单介绍
蓝牙帧结构
在这里插入图片描述
1.广播报文(pdu)
在这里插入图片描述
header部分
在这里插入图片描述
广播帧类型pdu type:
a.通用广播指示—ADV_IND
在这里插入图片描述
b.定向连接报文–ADV_DIRECT_IND
在这里插入图片描述
c.不可连接广播–ADV_NONCONN_IND
在这里插入图片描述
d.可扫描广播–ADV_SCAN_IND
在这里插入图片描述
e.主动请求指示–SCAN_RSP
在这里插入图片描述
txadd,rxadd表示帧结构地址标志位,公共地址和随即地址
0:公共地址 1:随机地址

今天先写到这里,后面接着介绍链路层的状态机,数据报文结构及主机的信息。

猜你喜欢

转载自blog.csdn.net/ZhongGuoRenMei/article/details/109038962