Ble链路层的状态机

一 .链路层状态
链路层的运行可以根据状态机来描述,分为以下五种状态
• Standby State
• Advertising State
• Scanning State
• Initiating State
• Connection State
1.1 链路层状态机同一时间只允许一种状态。
1.2 链路成处于Standby状态下不能发送或接受任何的包。Standby状态能转换成任意的其 他状态。
1.3 链路层处于Advertising状态可以发送广播通道数据和接收回应信息,一个设备在广播状态,那么这就是一个广播者。广播状态可以进入Standy状态。
1.4 链路成处于Sanning状态可以监听广播通道的数据,一个设备处于广播状态,那么这 就是一个监听者。扫描状态可以进入Standy状态
1.5 链路层处于Initating状态时可以监听来自一个或多个特殊设备的广播通道的数据,然后回复数据包以初始化一个连接过程。Initating状态可以进入Standy状态
1.6 Initiat状态和Advertising状态可以进入Connection状态。
进入Connection态的设备分成两个角色:
Master Role
Slave Role
从Initiating态进入的称为Master Role, 从Advertising进入的称为Slave Role

Ble链路层的状态机

一个链路层可以支持多个状态机,如果支持多状态机,则应遵循下面的规定
1.在Connection状态中不能同时存在Master Role和Slave Role.
2.在Connection状态中处于slave Role时,只能有一个连接
3.在Connection状态中处于Master Role时,可以有多个连接
4.如果链路层正以Slave Role的角色运行在Connection State状态时,链路层不能运行在 Initating态
5.如果链路层正在Connection或Initiating态时,链路层不能以一种可以进入Connection态Slave Role角色的广播方式运行在以广播状态。
Ble链路层的状态机