1、蓝牙
一种利用低功率无线电,支持设备短距离通信的无线电技术,它工作在全球通用的2.4GHz ISM(Industrial(工业),Scientific(科学), Medical(医学)) 频段,使用IEEE802.11协议。为了对抗工作在2.4GHz频段的WIFI、ZigBee等设备干扰,蓝牙设备采用调频机制。
2、蓝牙协议(两种协议,二者不互通,一般需要厂商支持二者协议,统称双模)
①、BR:basic rate
BR是经典蓝牙,包括可选的EDR技术、交替射频的MAC层和PHY层扩展(简称AMP);
其中BR与EDR可以同时存在,但是BR/ERP和AMP仅可二选一。
②、LE:low energy
低功耗蓝牙LE与经典蓝牙BR虽然使用2.4GHz无线电频率技术,但是技术相差很大,
BLE主要使用在IOT产品领域
③、BLE的协议层架构
- 物理层(Physical layer, PHY): 物理层规定工作频段,40个RF Channel,其中3个广播信道,37个数据信道,GFSK调制方式,接收机灵敏,发射功率等。通信双工模式,TDD模式。物理层性能对硬件设备起决定性作用,特别是功耗,误码率,差分误差向量等。
BLE工作在ISM频段的2400-24835MHz,占用40个射频信道,信道间隔2MHz,中心频率为2402+k*2 MHz。k=0,1,…,39。其中包括3个广播信道(37,38,39)和37个数据信道(如下图)。
- 链路层(link layer, LL):链路层是BLE协议栈的核心。工作包括自适应跳频地图,频点的选择。数据发送slot,以及接收数据确认。但并不负责数据的解析工作。解析工作由上层负责。下图是链路层抽象出的5种状态:
- 接口层(Host Controller Interface, HCI):HCI用于规范Host与Hostcontroller之间的通信协议和通信命令。HCI层屏蔽了控制层,为协议层的上层提供了进入基带的统一方式。HCI通过包的方式来传送数据、命令和事件,所有在主机和主机控制器之间的通信都以包的形式进行。包括每个命令的返回参数都通过特定的事件包来传输。HCI有数据、命令和事件三种包,其中数据包是双向的,命令包只能从Host发往Host controller,而事件包始终是Host controller发向Host。
- 通用访问协议(Generic access profile,GAP):负责处理设备访问模式,包括:被发现、建立连接、终止连接、初始化安全管理和设备配置
GAP层可以扮演四种角色之一:
Broadcaster 广播者----不可以连接,一直发送广播
Observer 观察者----可以扫描广播,但是不能发起建立连接的设备
Peripheral 外设----可以被连接,在单个链路层连接中作为Server
Central 中央设备----可以扫描广播并发起连接,在单个或多个链路层中作为Client
- 逻辑链路控制和适配协议(Logical Link Control and Adaptation Protocol, L2CAP): 该层定义两个基本概念L2CAP 信道和L2CAP 信令,L2CAP信道是一个双向数据通道,通向对端设备上的某一特定的协议或规范。支持数据的分割和重组,使得较大的报文可以在底层无线电中进行传输
- 安全管理层(Security Manager,SM):定义BLE通信两端设备的配对方法和密钥分发的工作模式,提供了加密、认证等安全保障。对数据进行加密,BLE使用AES加密算法,通过复杂的认证过程,保证该加密算法的密钥能够被安全的传递到通信链路两端的设备中
- 属性协议层(Attribute protocol,ATT):在ATT层协议框架内,拥有一组属性的设备称为服务端(Server),读写该属性值的设备称为客户端(Client),Server和Client通过ATT PDU进行交互。
-
通用属性配置文件层(Generic Attribute profile, GATT):GATT用来规范attribute中的数据内容,并运用group(分组)的概念对attribute进行分类管理。BLE 连接都是建立在 GATT (Generic Attribute Profile)协议之上。
3、蓝牙架构
1.1 、 SOC蓝牙单芯片方案
半导体厂商半开源协议栈,把开发的蓝牙协议栈直接烧写到蓝牙芯片中(CSRBC4/5, CSR8675 ,TI CC2540, NRF51xxx, NRF52xxx, ESP32xx等),此类芯片一般作为MCU使用,用于消费类电子,集成度高,可直接调整参数使用。
1.2、SOC蓝牙+MCU方案
在集成好蓝牙芯片的基础上,通过特定的接口(UART居多),发送自定义的command来实现功能。比如市面上的蓝牙串口模块。
1.3、蓝牙host+controller分开方案
这种方案应用在蓝牙多场景,多蓝牙协议设计中,比如蓝牙电话(HFP)、蓝牙音频(A2DP)、蓝牙音乐控制(AVRCP)、蓝牙电话本(PBAP)、蓝牙短信(MAP)等。
标签:协议,01,蓝牙,Host,基础知识,信道,BLE,设备 From: https://www.cnblogs.com/zblblog/p/18384024