Link Layer(LL)
:两个蓝牙装置在做资料的连结,规范了数据传输,定义了资料的连结。
频道用法(Channel Usage):
-
广播频道用法(Advertising Channel Usage)
- 发现设备(Device Discovery) - 建立连接(Connection Establishment) - 广播传播资料(Broadcast Transmission)
-
数据频道用法(Data ChannelUsage)
- 连接设备间的双向交流(Bidirectional communication between connected devices) - 用于后续连接事件的自适应跳频(跳频防止干扰) (Adaptive frequency hopping used for subsequent connection events)
Link Layer(LL) 工作
- 资料的传输与接收(Bit stream transmission and reception)
- 状态机与状态转换(State machine & state transition)
- 数据和广播的数据包格式(Data & advertisement packet formatting)
- 定义Link layer 操作(Link layer operations)
- 连接,数据包计时,重新传输(Connection, packet timings,retransmission)
- Link layer安全(Link layer level security)
Simple Link layer
the Link layer is a simple one:
- 一个数据包格式
-两种协议数据单元类型:广播和数据
- 7个广播协议数据单元类型
- 7个Link layer控制程序
Link layer 的4种状态:
- 扫描--聆听广播(scanning)
-广播(advertising)
-初始化--回应广播来请求连接(initiating)
- 连接(connection)
Link layer state machine(Link layer状态机)
1、中间为Standby待机状态,往上为Scanning状态,进行扫描,尝试进行设备联通,角色为Scanner,当不做Scanning状态,往下变成Standby待机状态。
2、左边为Advertising状态,当Standby想要和设备进行联通或者进行数据传输,进入Advertising状态,角色为Advertiser
3、当Advertising状态结束时可能会会回到Standby待机状态,也可能会回到Connection状态想和别的设备联通,
4、右边为Initiating状态,要进行数据传输和进行设备联通,角色为Initiator,当Initiating状态成立后,Initiating状态转为Connection状态。
5、当Advertising到Connection状态,角色为Slave。
6、当Initiating到Connection状态,角色为Master。
1、Broadcaster角色
一开始是Standby状态,想要广播,进入到Advertising
2、Peripheral角色
从Standby状态到Advertising,进行广播,连接后,再到Connection状态。
1、Observer角色
从Standby状态到Scanning状态,搜索扫描,接收资料
2、Central角色
从Standby状态到Initiating状态,再到Connection,主动要资料
在37、38、39频道进行广播
在37、38、39频道搜索对方
外围设备(Peripheral)在37频道广播 ADV_IND,主设备(Central)没有回复。
在38频道Peripheral广播ADV_IND,central回复SCAN_REQ,Peripheral再回复SCAN_RSP,连接成功。
在39频道Peripheral在37频道广播 ADV_IND,Central没有回复。
1、Peripheral与Central建立连结(广播频道,advertising channel)
Peripheral广播ADV_IND,Central回复CONNECTC_REQ.建立连接,接下来传输数据。
2、数据频道(Data channel)
Master发送ACK到Slave,Slave发送数据到Master。当完成后,Slave回复LL End,Master回复ACK,结束。
BLE数据包格式
BLE广播数据包格式 (Advertising PDU)
广播PDU的Header–16bits
广播PDU的Payload
BLE连接数据包格式-LL数据频道 (PDU structure of a BLE connection packet -LL data channel)
跳频机制
Link layer summary(总结)
学习链接
https://www.bilibili.com/video/BV1Mb4y1n7Jg/?spm_id_from=333.788.recommend_more_video.-1