ble低功耗蓝牙(3)

ble低功耗蓝牙

链路层不同的信道是在不同状态下使用的,也就意味着不同报文使用在不同状态之下,链路层状态机存在5个状态。
就绪态,广播态,扫描态,发起态,连接态。

各个状态之间转换图
在这里插入图片描述
1.就绪态
设备上电,蓝牙相关程序初始化成功,即可进入就绪态,由上图可知,扫描态,广播态,发起态均由就绪态转变而来,而其他任意状态也可以直接转变成就绪态。因此,就绪态是链路层状态机的中心状态。

2.广播态
广播态下的链路层可以发送广播报文,可以发送扫描响应,可被发现,可被连接。
广播态需要硬件支持:发射机和接收机
状态变化:
发送广播的设备停止广播,广播态–》就绪态
发送广播后被请求连接,并且连接成功,广播态–》连接态(从)

3.扫描态
接收广播信道报文,监听设备广播。
扫描态只能通过停止广播,将扫描态–》连接态

扫描态:主动扫描,被动扫描
主动扫描与被动扫描的区别:
主动扫描:扫描这从广播者请求更多数据信息,获得额外的静态数据
被动扫描:扫描者仅仅监听广播报文,不发送请求,链路层收到广播数据包后交给主机

4.发起态
设备想要和其他设备发起连接,先将链路层置于发起态,进入发起态,设备接收机侦听自己试图发起的连接的设备,如果收到来自该设备的广播报文,链路层就会发起连接请求。发起者不在发起连接,也位变成连接态,也可转回就绪态。

5.连接态
连接态:主,从
主连接态:由发起态进入连接态 ----------主设备,主设备需要定期向从设备发送报文
从连接态:由广播态进入连接态 ----------从设备,从设备只能通过回复主设备发送信息(从设备不能主动发送报文信息)

关于信道问题,只有处于连接态的设备才会走数据信道,其他均使用广播信道。

关于ble 框架控制器部分大部分内容已经有所涉及到了,主机部分还有待研究,主要有以下内容。
主机中的协议
L2CAP(逻辑链路适配与控制协议)帧格式—复用层,多信道,

安全管理协议
设备配对,密钥分发相关

属性协议:
定义访问对端设备数据的一组规则
属性协议中的数据信息类型

扫描二维码关注公众号,回复: 9525476 查看本文章
  • 从客户端发送至服务器的请求
  • 服务器发送至客户端的回复请求响应
  • 从客户端发送至服务器的无需响应命令
  • 从服务器发送客户端的无需确认通知
  • 从服务器发送客户端的指示
  • 从客户端发送至服务器的回复指示确认

通用属性规范(GATT)
定义属性的类型及其使用方法

通用访问规范(GAP)
定义了设备如何发现。连接,为用户提供有用信息,设备之间如何建立长久连接(绑定)

发布了73 篇原创文章 · 获赞 6 · 访问量 1万+

猜你喜欢

转载自blog.csdn.net/qq_38240926/article/details/100560212