BLE 协议之链路层介绍
链路层是低功耗蓝牙体系里面最复杂的部分,它负责广播、扫描、建立和维护连接、以及确保数据包按照正确的方式组织、正确的计算校验值以及加密序列等。
链路层包含三个基本概念;信道、报文、过程
首先来说信道,信道包含广播信道和数据信道。
未建立连接的设备使用广播信道发送数据,如外设通过广播信道进行广播,通告自身为可连接或可发现的,并且执行扫描或者发起连接。
连接后的设备则通过数据信道来进行数据传输。
在这两个信道上的数据发送均为小数据包,封装了发送者给接受者的少量数据,无论是广播信道还是数据信道,基本的数据包的格式相同,所不同的就是内容而已。每一个数据包包含有最少80比特的地址、报头和校验信息。
报文结构如下:
报文内容解析如下:
前导部分为01010101或者10101010 序列,取决于第一个bit是0还是1,用于接收者同步比特计时和设置自动增益控制。
32bit 接入地址在广播信道中为固定值:0x8e8dbed6, 而在数据信道数据包是完全随机的私有值。
8bit的包头字段描述数据包中的内容。
另一个8bit的长度的字段描述载荷的长度。要注意的是长度最大不超过37,所以8bit可以完全满足长度描述
数据部分就位变长的有效数据部分,包含了双方相互数据传输的有用信息。
可以发送的最短报文是空报文,时长为80us,满载时的最长报文时长376us。(因为物理层1us传输1个bit),大部分广播报文只有128us,而大部分数据报文时长为144us
时间: 2024-12-10 05:37:50