BLE的Link层,应当是了解BLE需要首先熟悉的一部分,BLE的Controller部分主要都在围绕这一部分实现的。Link层的内容规定了BLE底层是怎么实现蓝牙设备之间的控制,数据传输等等的。Link层使用了状态机,即通过不同的事件的发生来切换BLE的不同状态,这样使整个蓝牙通信的实现显得更加清晰。
链路层定义设备处于状态机中五种状态的一种:
(1)就绪态;
上电后,链路层进入并保持就绪态,直到接到主机的命令。从就绪态可进入广播态、扫描态或发起态,如图2所示。从其他任意状态也可以进入就绪态。就绪态是链路层状态机的中心状态。
(2)广播态;
处于广播态的链路层可以发送广播报文,也可以发送扫描响应,用以回应主动扫描设备。可被发现或者可被连接的设备需要处于广播态。想向一定区域内其他设备广播数据的设备也需要处于广播态。
广播态的设备停止广播后可进入就绪态。在收到发起者的连接请求之后,广播态的设备也可以进入连接态。
(3)扫描态&#x