BLE4.0低功耗蓝牙连接状态详解:从广播到连接

需积分: 46 14 下载量 185 浏览量 更新于2024-08-07 收藏 8.74MB PDF 举报
"这篇文档是关于BLE 4.0低功耗蓝牙协议的总结,主要涵盖了协议的结构、控制器的功能、链路层的细节以及在非连接和连接状态下的操作。作者强调了在蓝牙设备之间的通信过程中,如何从广播状态过渡到连接状态,并详细描述了这一过程中的软件流程。" 在蓝牙低功耗(BLE)4.0的协议中,它由HOST层和CONTROLLER层组成。CONTROLLER层主要负责物理层(PHY)和链路层(LL)的操作,而HOST层则处理应用层协议。在控制器部分,PHY层负责频率分配、调制方式、射频信道和发射功率等基本无线传输功能。链路层则管理设备之间的连接和通信,包括状态机、数据流格式、报文结构、设备过滤以及特定的链路层报文格式,如PDU的报头、长度、广播和数据通道的PDU结构。 BLE协议中的链路层状态机包含了多个状态,如就绪、广播、扫描和发起状态。在广播状态中,设备可以选择广播通道并设定广播间隔,可以发送非定向可连接广播事件(ADV_IND)、定向可连接广播事件(ADV_DIRECT_IND)、非定向不可连接事件(ADV_NONCONN_IND)和可发现不可连接事件(ADV_DISCOVER_IND/ADV_SCAN_IND)。当设备接收到CONNECT_REQ报文时,会进行报文解析,然后进入连接状态。 进入连接状态意味着一个设备作为主机,另一个作为从机,双方开始进行连接事件。这一过程涉及到了Radio的转换,从发送状态到接收状态,接收广播报文、SCAN_REQ报文或CONNECT_REQ报文。一旦接收到CONNECT_REQ,设备将进入连接状态,开始进行数据交换。 NRF51822是一款常用的蓝牙控制器,它支持EasyDMA、包结构、设备地址白名单管理,以及复杂的Radio状态机和时间参数配置。Radio的状态机包括了发射、接收以及状态转换的过程,这对于理解BLE设备如何在广播和连接状态间切换至关重要。 BLE 4.0协议的核心在于其低功耗特性,通过精心设计的链路层和状态管理,使得设备可以在广播和连接模式下灵活切换,满足了不同应用场景的需求,如传感器网络、物联网设备和移动设备间的短距离通信。在Android、MCU等平台上,理解和实现这些协议细节对于开发BLE应用至关重要。