蓝牙发展史
1. 蓝牙应用的领域
2. 发展史
蓝牙技术联盟成立于1998年,非盈利行业协会,负责发展Bluetooth蓝牙技术
2.1 蓝牙1.x版本
1999年发布1.0版本
服务发现SDP,电话控制TCS
2001年发布1.1版本
物理层PHY和媒体访问控制MAC规范
传输速率0.7Mbps
2003年发布1.2版本
屏蔽硬件地址
适应性调频(AFH)
扩展同步数据连接(eSCO)
快速连接
蓝牙2.x版本
2004年发布2.0版本
EDR:扩展数据率 3Mbps
多任务多设备同时运行双工模式
2007年发布2.1版本
省电功能发送间隔延长
SSP:安全简单配对
蓝牙3.x版本
2009年发布3.0版本
AMP:交替射频技术
Hight Speed 传输速率24Mbps
EPC: 增强电源控制降低空闲功耗
UCD: 单向广播无连接数据技术,提高响应能力
蓝牙4.x版本
2010年发布4.0版本
BLE:低功耗 响应快 安全加密
出现低功耗分为双模和单模
2013年发布4.1版本
支持云同步
设备互联(不通过pc,手机)
2014年发布4.2版本
传输速度和隐私保护提升
支持IPv6的低功耗无线个域网
蓝牙5.x版本
2016年发布5.0版本
BLE:更快更远 速度上限2Mbps
理论距离300米 包容量是4.2的8倍
2018年发布5.1版本
AoA到达角和AoD发射角定位
2020年发布5.2版本
低功耗音频
更快更稳定抗干扰性好
2021年发布5.3版本
删除AMP
增加广播类型和广播信道已经长度
3. 蓝牙协议
3.1 蓝牙协议栈结构
3.2 蓝牙控制器
PHY物理层:负责在物理信道上收发蓝牙数据包
LC链路控制:根据当前物理通道,逻辑通道以及逻辑传输的参数将数据有效载荷组装成蓝牙包,实现流控,应答,重传等机制
BRM基带资源管理器:管理射频资源
DM设备管理:控制蓝牙设备的通用行为:
搜索和连接到其他的蓝牙设备
控制本地的蓝牙设备的连接发现模式(可连接,可发现)
控制本地的蓝牙设备属性(例如本地蓝牙设备的名字,连接秘钥等)
LM链路管理:负责创建,修改,释放蓝牙逻辑连接,维护蓝牙设备之间物理连接的参数。它的功能主要是通过链路管理协议(LMP)和链路层协议(LL)完成。
HCI主机接口控制: 控制器和主机之间的桥。它们之间通过HCI接口以HCI协议进行通信。支持硬件通讯协议有USB,UART,SDIO。
3.3 蓝牙主机
蓝牙主机是软件实现,运行在cpu上
L2CAP逻辑链路管理与适配:
通道管理:负责创建,管理,释放通道
资源管理器:负责统一管理,调度通道上传递的PDU(分组数据单元),来提高服务质量(QoS)对HCI层进行传输流控制,重传等机制。
SDP服务发现:
点对点的协议,发现其他蓝牙设备提供的profile以及profile特性
对自己感兴趣的蓝牙profile发起连接动作
SMP安全管理;
点对点的协议
仅在BLE控制器下有
基于专用的L2CAP通道
用于生成加密和识别用的秘钥
而它的上一层就是GAP层
ATT属性:
属性句柄(属性表下标索引),属性类型(由UUID定义),属性值以及访问权限组成。
ATT其实就相当于设备的数据库。
GATT通用属性:
专用的L2CAP通道:
定义了两个角色:服务器(GATTS)和客户端(GATTC)
独立于GAP角色。服务器提供数据,客户端访问数据。
在应用中,外围设备称为服务器,中央设备作为客户端。注意:一个设备可以同时作为服务端和客户端。交换配置,发现对方设备上的服务和特性读写特征值,特征值的通知和指示。
GAP:通用访问功能,包括设备发现,连接模式,安全性,身份验证,关联模型和服务发现