蓝牙协议简介

发布时间:2023年12月22日

在这里插入图片描述


前言

? ? 所谓蓝牙(Bluetooth)技术,实际上是一种短距离无线电技术,利用"蓝牙"技术,能够有效地简化掌上电脑、笔记本电脑和移动电话手机等移动通信终端设备之间的通信,也能够成功地简化以上这些设备与因特网Internet之间的通信,从而使这些现代通信设备与因特网之间的数据传输变得更加迅速高效,为无线通信拓宽道路。蓝牙采用分散式网络结构以及快跳频和短包技术,支持点对点及点对多点通信,工作在全球通用的2.4GHz ISM(即工业、科学、医学)频段。其数据速率为1Mbps。采用时分双工传输方案实现全双工传输。

? ? 截止到目前,蓝牙共发布了 9 个版本:V1.1/1.2/2.0/2.1/3.0/4.0/4.1/4.2/5.0,以蓝牙的发射功率可再分为 Class A/Class B。

? ? Class A 用在大功率/远距离的蓝牙产品上,但因成本高和耗电量大,不适合用作个人通信产品(手机/蓝牙耳机/蓝牙Dongle 等),故多用在某些商业特殊用途上,通信距离大约为 80~100m。

? ? Class B 是目前最流行的制式,通信距离大约为 8~30m,视产品的设计而定,多用于手机/蓝
牙耳机/蓝牙 Dongle(适配器)等个人通信产品上,耗电量较少和封装较小,便于对结构空间要求
苛刻的系统的集成。


一、蓝牙版本介绍

第一代蓝牙(1999~2003 年)共包括三个版本。

  • 蓝牙1.0版本 为最早期版本,传输率约在748~810kb/s,因是早期设计,容易受到同频率之产品所干扰下影响通讯质量。
  • 蓝牙1.1版本 正式列入IEEE 802.15.1标准,作为早期版本,还存在容易受到同频率之间产品干扰的问题。
  • 蓝牙1.2版本 解决1.0版本暴露出的安全性问题,同时引入了适应性跳频技术(AFH,Adaptive Frequency Hopping)、延伸同步连结导向信道技(eSCO,Extended Synchronous Connection-Oriented links)等技术来提高通信质量。

第二代蓝牙(2004~2007年)共包括两个版本。

  • 蓝牙2.0版本 版本 2.0 是 1.2 的改良提升版,传输率约在 1.8M/s~2.1M/s,可以有(双工)的工作方式。即一面作语音通讯,同时亦可以传输档案/高质素图片。
  • 蓝牙2.1版本 主要新增Sniff Subrating省电功能,通过将设备相互确认的讯号发送时间间隔从0.1s延长到0.5s,从而让蓝牙芯片的工作负载大幅降低。另外还引入了SSP 简易安全配对功能,使蓝牙设备配对更加方便快捷。

第三代蓝牙(2009年)主要引入了几个关键技术。

  • 可选技术High Speed,可实现高达24Mbps的传输速率。
  • AMP(Generic Alternate MAC/PHY),一种全新的交替射频技术,允许蓝牙协议栈针对任一任务动态地选择正确射频。
  • EPC 增强电源控制技术,降低空闲功耗;
  • UCD 单向广播无连接数据技术,提高蓝牙设备的相应能力。

? ? 蓝牙 3.0 引入高速传输,加大带宽,客观上挤占 WiFi 的位置,增加了功耗和成本;

第四代蓝牙(2010到2014年)共包括三个版本。

? ? 蓝牙 4.0(2010 年)重新找准定位,引入 BLE 概念,即 Bluetooth Low Energy 低功耗蓝牙;

  • 蓝牙4.0版本 是第一个蓝牙综合协议规范,提出了低功耗蓝牙(BLE,Bluetooth Low Energy)、传统蓝牙和高速蓝牙三种模式。高速蓝牙主攻数据交换与传输,传统蓝牙以信息沟通、设备连接为重点,低功耗蓝牙以不需要占用太多带宽的设备连接为主,功耗较老版本降低了90%。蓝牙4.0还将芯片模式分为了单栈模式(Single Mode)和双栈模式(Dual Mode),单栈模式只能与蓝牙4.0互相传输数据,无法实现向下的兼容,双栈模式则可以向下兼容。在低功耗模式下,蓝牙4.0还把传输距离提升到100米以上。
  • 蓝牙4.1版本 主要是针对物联网设备,提出了几个关键技术:1. 支持与LTE无缝写作,通过自动协调两者的传输信息,以确保协同传输,降低相互干扰。2. 允许开发人员或开发商自定义重新连接间隔,提供更高的灵活性和掌控度。3. 加入专用的IPv6通道,允许蓝牙设备通过联网的设备使用IPv6协议上网,满足物联网的应用需求。
  • 蓝牙4.2版本 传输速率相对上一代提高了2.5倍,同时改善了传输速率和隐私保护程度,并支持6LoWPAN低速无线个域网标准,这样大部分智能家居产品可以抛弃相对复杂的WiFi 连接,改用蓝牙传输,实现更加快捷的互联互通。

第五代蓝牙(2016年至今)

? ? 蓝牙 5.0 版本主要针对 IoT 物联网做了更多优化,包括提升了低功耗模式下的传输速率以及传输距离,支持室内导航,支持 Mesh 网状网络。Mesh 网络可以将蓝牙设备作为信号中继站,从而实现更大物理区域的信号传输。蓝牙 5.1 版本加了测向功能和厘米级的定位服务,这项功能的加入使得室内的定位会变得更加精准。蓝牙 5.2 版本主要是增强 ATT 协议,同时优化连接速度和抗干扰能力。

? ? 性能方面,蓝牙 5.0 标准 LE 传输速度是之前蓝牙 4.2 LE 版本的两倍,有效距离则是上一版本的 4 倍,即蓝牙发射和接收设备之间的理论有效工作距离增至 300 米。

? ? 另外,蓝牙 5.0 还允许无需配对就能接受信标的数据,比如广告、Beacon、位置信息等,传输率提高了 8 倍。同时,蓝牙 5.0 标准还针对 IoT 物联网进行底层优化,更快更省电,力求以更低的功耗和更高的性能为智能家居服务。

? ? 蓝牙 5.0 标准的新特性如下。

  • 2 倍 BLE 带宽提升: 在 BLE4.2 的 1Mbit/s 的 PHY 增加可选的 LE Coded 调制解调方式,支持 125Kbit/s 和 500Kbit/s,同时增加一个可选的 2Mbit/s 的 PHY。

  • 4 倍通信距离提升:通过上述降低带宽、提升通信距离,同时保持功耗不变,且允许的最大输出功率从之前的 10 毫瓦提升至 100 毫瓦。

  • 8 倍广播数据容量提升: 从 BLE4.2 的 31 字节提升至 255 字节,并且可以将原有的 3 个广播信道扩展到 37 个广播通道。增加通道选择算法#2。

  • BR/EDR 时间槽可用掩码:检测可用的发送接收的时间槽并通知其他蓝牙设备。

二、核心系统

? ? 4.0 之前的蓝牙通常被称为经典蓝牙(Classic Bluetooth),包括1.0提出的BR(Basic Rate,基础速率)以及2.0提出的EDR(Enhanced Data Rate,增强数据速率),BR/EDR用于表示与低功耗蓝牙BLE相对的传统蓝牙。

? ? 从使用场景来看,BR/EDR主要侧重于点对点的通信,连接性和传输速率是考虑的重点,而BLE侧重于低功耗的设计,在射频层和基带层上优化了多播和广播的支持。传统上Controller芯片只支持一种射频模式,但越来越多设备中也同时支持两种系统,以覆盖尽量多的使用场景。

在这里插入图片描述

? ? 蓝牙的核心系统架构包含一个 Host 和一个或多个 ControllerHost 可以理解为主核或者主板,运行主流的操作系统,例如 Linux、Windows、Macos;而 Controller 可以看做是蓝牙芯片,运行的是裸机程序或者 RTOS ,主要功能是对射频信号进行编解码。HostController 之间通过标准的 HCI 接口(Host Controller Interface)进行通信,具体实现上可通过 UART、USB 等物理接口进行传输。核心系统中包含的组件和之间的关系如下图所示:

在这里插入图片描述

在这里插入图片描述

Host

? ? 其中 Host 部分主要是基于 L2CAP (Logical Link Control and Adaptation Protocol)(逻辑链路控制和适配协议) 抽象出的逻辑信道实现应用层的协议和功能,涉及的关键组件和协议有:

  • Channel Manager(信道管理器):信道管理器负责创建、管理和结束用于服务协议和应用数据流传输的 L2CAP 信道。信道管理器通过 L2CAP 与远程(对等)设备上的信道管理器交互,以创建这些 L2CAP 信道并将它们的端点连接到对应的实体。信道管理器与本地链路管理器交互来创建新的逻辑链路(如有此需要)和配置这些链路,以提供被传输数据类型要求的质量服务(Quality of Service,QoS)。

  • L2CAP Resource Manager(L2CAP 资源管理器):L2CAP 资源管理器负责管理发送至基带的协议数据单元(Protocol Data Unit,PDU)片段的提交顺序以及信道间的相关调度,以确保不会因为 Bluetooth 控制器资源耗尽而导致带有 QoS 承
    诺的 L2CAP 信道对物理信道的访问被拒绝。这是必须的,因为架构模型不会假设 Bluetooth 控制器拥有无限大缓冲,也不会假设 HCI 是具有无限大带宽的管道。

    ? ? L2CAP 资源管理器也可以执行通信量符合性管制功能,以确保这些应用在它们协商好的 QoS 设置的限制范围内提交 L2CAP 服务数据单元(Service Data Unit,SDU)。一般的 Bluetooth 数据传输模型会假设每项应用都符合相关要求,而不会定义某项具体实施应如何处理此类问题。

  • SMP:Security Manager Protocol(安全管理协议),实现 BLE 系统中的点对点安全认证功能,包括秘钥生成和认证等;BR/EDR系统的对应功能则在Controller的Link Manager中实现。

  • ATT:Atrribute Protocol(属性协议),应用层 attribute client 和 server 之间的协议。

  • GATT:Generic Attribute Profile(通用属性配置文件),表示 ATT server 或者 client 的功能,profile 描述了服务和属性的层级结构,主要用于 LE profile 服务发现中。

  • GAP:Generic Access Profile(通用访问配置文件),表示所有蓝牙设备通用的基础功能,比如传输层、协议、应用所使用的模式或流程等。GAP 服务包括设备和服务发现、连接模式、安全认证和关联模型等。

  • SDP:Service Discovery Protocol,即服务发现协议,是蓝牙协议体系中的核心协议,是蓝牙系统重要组成部分,是所有用户模式的基础。通过这个协议,客户端程序可以发现哪些服务可用以及服务的特性是什么。

Controller

? ? Controller 部分中更多是逻辑链路和物理链路的管理,包括:

  • Device Manager:设备管理器是基带(baseband)的功能块,用于控制启用 Bluetooth 的设备的一般行为。它负责 Bluetooth 系统所有与数据传输无直接关系的操作,例如查询附近是否有其他启用 Bluetooth 的设备,连接到其他启用 Bluetooth 的设备,或使本地启用 Bluetooth 的设备可被其他设备发现或连接(discoverable/connectable)。

    ? ? 设备管理器请求从基带资源控制器访问传输媒体,以执行它的功能。

    ? ? 设备管理器还控制多个 HCI 命令指示的本地设备行为,例如管理设备本地名称、任何已存储的链路密钥和其他功能。

  • Link Manager:链路管理器负责创建、修改和释放逻辑链路(logical links)以及与这些链路关联的逻辑传输(logical transports)(如有需要),还可以更新与设备之间的物理链路(physical links)有关的参数。在 BR/EDR 系统中,与对端的 Link Manager 通过 LMP 协议(Link Manager Protocol)进行通信;在 BLE 系统中则使用的是 LL 协议(Link Layer Protocol)。

  • Baseband Resource Manager(基带资源管理器):负责管理所有到射频媒介的访问。在链路层中,有两种类型的 “连接” :

    • SCO:Synchronous Connection Orientated,实时窄带数据传输,如电话音频等,无重传
    • ACL:Asynchronous Connection-Less,异步无连接,用以其他所有数据的传输
  • Link Controller:链路控制器负责对指定物理信道(逻辑链路和逻辑传输)的蓝牙数据进行编解码。

    ? ? 链路控制器发出链路控制协议信令(与资源管理器的调度功能紧密结合),用于传达流控制及确认和重新传输请求信号。对这些信号进行翻译是与基带数据包相关联的逻辑传输的特征。链路控制信令的翻译和控制通常与资源管理器的调度程序相关联。

三、协议栈

1、传统蓝牙BR/EDR协议栈

蓝牙协议安全(上)

2、低功耗蓝牙BLE协议栈

? ? 低功耗蓝牙 BLE 协议栈与 OSI 七层模型的对应关系如下图所示:

在这里插入图片描述

  • Bluetooth LE PHY 物理层与 OSI 物理层直接对应
  • LL(Link Layer) 链路层与 L2CAP 层与 OSI 数据数据链路层对应
  • BLE 更高层提供应用层服务、设备模型、连接管理和安全控制功能,与 OSI 网络层及以上层的混合层对应

? ? BLE 相对于 BR/EDR 要简单许多,可以分为三层。最下层控制层包括 Bluetooth LE PHY、LL 以及 Controller 端的 HCI 接口。Host 层包括 Host 端 HCI 接口、L2CAPATT(attribute protocol)、GATT(generic attribute profile)、SMP(security manager protocol)、GAP(generic access profile)。

在这里插入图片描述

? ?

文章来源:https://blog.csdn.net/Liuqz2009/article/details/135154152
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。