BLE 协议

协议组成

协议由 HOST 层和 CONTROLLER 层组成

== CONTROLLER==

  1. PHY:基带物理层
  2. LL:链路层
  3. HCI: 主机控制接口

==HOST ==

  1. L2CAP:逻辑链路控制和适配器
  2. ATT:属性协议
  3. GATT:属性协议配置规范
  4. SM:安全管理
  5. GAP:通用访问规范

CONTROLLER

PHY:基带物理层

  1. 频段
  2. 调制
  3. 射频信道
  4. 发射功率

LL:链路层

链路层定义了两个设备如何利用无线电传输信息,包含了报文、广播、数据通道的详细定义,也规定了发现其他设备的流程、广播的数据、连接建立、连接管理以及连接中的数据传输。

  1. 链路层的状态机
  • 就绪态(Standby)
  • 广播态(Advertising)
  • 扫描态(Scanning)
  • 发起态(Initiating)
  • 连接态(Connection
  1. bit 数据流格式

PDU :Protocol Data Unit 协议数据单元,在一个传输单元中的有效传输数据

  • Little Endian format(小端模式)
  • 数据包中的 Cyclic Redundancy Check (CRC) 循环冗余码校验和 Message Integrity Check (MIC)信息完整性检查->先发送数据的高字节
  1. Preamble 前导码
  • 硬件实现

All Link Layer packets have an eight bit preamble. The preamble is used in the receiver to perform frequency synchronization, symbol timing estimation, and Automatic Gain Control (AGC) training.

  1. Access Address 接入地址

接入地址是紧跟前导码的 32 个 bit, 它分为两种类型:
广播接入地址
数据接入地址

  1. Cyclic Redundancy Check (CRC) 循环冗余码校验
  2. DATA WHITENING 数据白化
  3. 链路层报文结构
    [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-Zm0Ti7Jb-1618151865625)(https://github.com/zhangyuhu/MarkdownPhotos/blob/master/BLE/%E9%93%BE%E8%B7%AF%E5%B1%82%E5%8C%85%E6%A0%BC%E5%BC%8F_2.png)]
  4. 广播通道的 PDU
  5. 数据通道的 PDU
  6. 非连接状态
  • 就绪态

就绪状态是一个默认的状态,在这个状态是不能进行数据收发的,
它可以进入广播状态、扫描状态和发起状态。

  • 广播态

在广播状态下,链路层在广播事件中发送广播 PDU

  • 非定向可连接事件(ADV_IND)
  • 定向可连接事件(ADV_DIRECT_IND)
  • 非定向不可连接事件(ADV_NONCONN_IND)
  • 非定向扫描事件(ADV_DISCOVER_IND/ADV_SCAN_IND)
  • 扫描态

扫描窗口和扫描间隔。 扫描窗口(scanWindow) 是链路层侦听广播通道时持续的时间;扫描间隔(scanInterval) 是两个连续的扫描窗口开始之间的时间。
在协议中规定: The scanWindow and scanInterval parameters shall be less than or equal to 10.24 s.也就是他们的最大值是 10.24s。 而且扫描窗口必须小于等于扫描间隔, 当扫描窗口等于扫描间隔时,相当于连续扫描。

  • 发起态

发起态进入连接后成为主机设备。它做的工作是在扫描态的事情之后发送连接请求。当接收到了扫描应答后,发送连接请求事件,从而跳出发起态并进入连接状态成为主机。

  1. 非连接状态
  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

002237

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值