BLE-3の蓝牙4.0协议栈のLL层 Scaning 和 initiating状态的区别
PDU类型
3.4 Scanning状态
3.4.1 scanWindow和scanInterval
Scanning状态扫描、接收广播数据的状态,该状态的扫描行为是由scanWindow和scanInterval两个参数觉得的。scanWindow指示一次扫描的时间(即可以理解为RF RX打开的时间),scanInterval指示两次扫描之间的间隔。如果这两个参数的值相同,表示连续不停地扫描。
BLE协议规定,scanWindow和scanInterval最大不能超过10.24s,并且scanWindow不能大于scanInterval。
3.4.2 Passive Scanning和Active Scanning
Passive Scanning之所以称作消极的(Passive),是因为这种扫描模式下,BLE设备只听不问,也就是说,只接收ADV_DIRECT_IND、ADV_IND、ADV_SCAN_IND、ADV_NONCONN_IND等类型的PDU,并不发送SCAN_REQ。
而Active Scanning,不只认真听讲,还勤于发问(SCAN_REQ),并接收后续的 SCAN_RSP。
这两种Scanning的最终结果,就是把接收到的数据(包括Advertiser地址、Advertiser数据等),反馈给Host。
Initiating状态
3.5 Initiating状态
Initiating状态和Scanning状态类似,只不过它的关注点不一样:它不关心广播数据,只关心ADV_DIRECT_IND和ADV_IND两类消息,并在符合条件的时候,发出CONNECT_REQ,请求建立连接。
转载:
蜗窝科技,www.wowotech.net
蓝牙协议分析(5)_BLE广播通信相关的技术分析