小白学习蓝牙第二章——蓝牙的系统构成

重要名词介绍

1)BT Controller:此部分指的就是蓝牙芯片,包括BR/EDR芯片(蓝牙2.1芯片),AMP芯片(蓝牙3.0芯片),LE芯片(蓝牙4.0芯片),后续我们将4.0以下的统称为传统蓝牙,4.0以上的统称为低功耗蓝牙,在芯片层面存在两种模式:

  • 单模蓝牙芯片:单一传统的蓝牙芯片,单一低功耗蓝牙芯片。
  • 双模蓝牙芯片:同时支持传统蓝牙和低功耗蓝牙的芯片。

2)BT Host:蓝牙协议栈(重点关注内容)

简单架构

image

详细架构

image

层级 释义
HW层 蓝牙芯片层
Transport层 此部分在硬件接口(UART、USB、SDIO)实现HOST与CONTROLLER的交互
HOST层 蓝牙协议栈,重点内容。

HW层主要包括以下内容:

英文名 全称 中文名 释义
RF RADIO 射频层 本地蓝牙数据通过射频发送给远端设备,并且通过射频接受来自远端蓝牙设备的数据。
BB BASEBAND 基带层 进行射频信号与数字或者语音信号的相互转化,实现基带协议和其它底层连接规程。
LMP LINK MANAGER PROTOCOL 链路管理层 负责管理蓝牙设备之间的通信,实现链路的建立、验证、链路配置等操作。
HCI HOST CONTROLLER INTERFACE 主机控制器接口层 HCI层在芯片以及协议栈都有,芯片层面的HCI负责把协议栈的数据做处理,转换为芯片内部动作,并且接收远端的数据,通过HCI报告给协议栈。
BLE PHY BLE的物理层
BLE LL BLED的链路层

TRANSPORT层主要包括:

协议 释义
H2 USB的transport
H4 UART的transport
H5 UART的transport
BCSP UART的transport
SDIO 暂时未知

其中H4,H5,BCSP的主要差别在于H4需要BT CHIP UART_TX/UART_RX/UART_CTS/UART_RTS/VCC/GND接到MCU,而H5,BCSP只需要BT CHIP的UART_TX/UART_RX/VCC/GND接到MCU就可以通信。

HOST层的协议主要包括有:

协议简称 中文名 介绍
HCI 主机控制层接口 主要负责透过transport把协议栈的数据发送给蓝牙芯片,并且接受来自蓝牙芯片的数据
L2CAP 逻辑链路控制与适配协议 将ACL数据分组交换为便于高层应用的数据分组格式,并提供协议复用和服务质量交换等功能。
SDP 服务发现协议 为应用程序提供了一种方法来发现哪些服务可用,并确定这些可用服务的特征
RFCOMM 串口仿真协议 上层协议蓝牙电话,蓝牙透传SPP等协议都是直接走的RFCOMM
OBEX 对象交换协议 蓝牙电话本,蓝牙短信,文件传输等协议都是走的OBEX
HFP 蓝牙免提协议
HSP 蓝牙耳机协议 最开始的蓝牙耳机协议,目前已经没有产品在用这个了吧,至少我没有看到了。算是一个简化版的HFP。
SPP 蓝牙串口协议
IAP 苹果的特有协议,分为IAP1/IAP2,一般做Carplay或者iPod功能的人肯定接触过这块
PBAP 蓝牙电话本访问协议
MAP 蓝牙短信访问协议
OPP 对象推送协议
AVCTP 音视频控制传输协议
AVDTP 音视频分布传输协议 是A2DP的底层
HID 人机接口协议 HID还是有很多广泛的用途的,比如蓝牙鼠标,蓝牙键盘,蓝牙自拍杆,蓝牙手柄等
A2DP 蓝牙音乐协议
AVRCP 蓝牙音乐控制协议
ATT 蓝牙属性协议
GATT 蓝牙通用属性协议
SM 蓝牙BLE安全管理协议
posted @ 2021-08-13 14:29  zink623  阅读(1734)  评论(0编辑  收藏  举报