蓝牙基础(三):蓝牙协议栈总体认知

蓝牙基础(三):蓝牙协议栈总体认知

0 前言

初入门经典蓝牙学习,网上资料参差不齐,本博客旨在整理自己的一些总结内容,建立整体功能认识,以便后续深入学习。

1 蓝牙整体架构

蓝牙的整体核心架构如下图
在这里插入图片描述

1.1 蓝牙构成
  • 蓝牙的构成可分为主机(Host)和控制器(Controller),控制器由可分为主控制器和辅助控制器。
  • 主机是非核心配置文件下方和主机控制器接口(HCI)上方的所有层,控制器是HCI层以下的所有层。
  • 从图中可以看出,整个蓝牙框架中有三种控制器,分别是BR/EDR Controller、LE Controller和AMP Controller。这里主要关注前两种,经典蓝牙控制器和低功耗蓝牙控制器

注意主机定义中的非核心文件配置Profile

1.2 蓝牙核心系统

蓝牙核心系统,也就是最小系统,这里分BT和BLE进行讨论。

对于BT,网上也有BR/EDR的叫法,这里暂称为BT,代表经典蓝牙,与BLE低功耗蓝牙相区分

还是以上面的整体框架图为准,不管是BT还是BLE,其最小系统都可分为

  • 底层硬件模块/底层协议
  • 中间协议层/核心协议层

(1)底层硬件模块 / 底层协议

这一部分对应着图中的控制器Controller部分

BT Controller:链路管理器(Link Manager)、基带与链路控制器(BaseBand&Link Controller)以及射频(BT Radio)

BLE Controller:链路层(Link Layer)和物理层(PHY)

(2)中间协议层 / 核心协议层

BT:逻辑链路控制和适配层协议(L2CAP)、服务发现协议(SDP)、通用访问协议(GAP)

BLE:逻辑链路控制和适配层协议(L2CAP)、安全管理器(SM)、属性协议(ATT)、通用属性协议(GATT)和通用访问协议(GAP)

此外,还有主机控制器接口(HCI)。

上述也可以从主机Host 和 控制器Controller 的角度理解
对于BT:
	最小主机:L2CAP、SDP、GAP
	控制器:LM、BB&LC、RF

对于BLE:
	最小主机:L2CAP、ATT、GATT、SM、GAP
	控制器:LL、PHY
1.3 蓝牙协议分层

软件上总是分层设计,比如之前在嵌入式系统提到的硬件层—硬件驱动层—操作系统层—应用层等。
在蓝牙协议栈中也是分层设计的,但不同的人有不同的理解,分层也有所不同,这里所述的分层,有资料总结的结论,也有博主自己的理解。

蓝牙协议栈分层结构如下

  • 应用层
  • 高层协议
  • 核心协议
  • 底层协议

有资料将“高层协议”和“核心协议”统称为中间协议层

这里博主将下图中的高层协议分拆为了高层协议和核心协议,为什么这么分呢?

核心协议层是上面提到的L2CAP、SDP、GAP等基础协议,这些协议是蓝牙系统不可缺少的基本构成协议。也就是说不管开发过程中如何裁剪蓝牙协议栈,这些协议都是包含在内的

高层协议则可以提供更多的服务与功能,比如通话使用的HFP、音频播放使用的A2DP、AVRCP、串口透传SPP协议等

在这里插入图片描述

1.5 蓝牙架构脑图

在这里插入图片描述

  • 1
    点赞
  • 22
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 3
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

la_fe_

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值