首页 > 其他分享 >蓝牙协议简介

蓝牙协议简介

时间:2023-12-28 14:37:18浏览次数:29  
标签:协议 简介 蓝牙 Bluetooth 版本 链路 设备


蓝牙协议简介_协议栈


文章目录

  • 前言
  • 一、蓝牙版本介绍
  • 第一代蓝牙(1999~2003 年)共包括三个版本。
  • 第二代蓝牙(2004~2007年)共包括两个版本。
  • 第三代蓝牙(2009年)主要引入了几个关键技术。
  • 第四代蓝牙(2010到2014年)共包括三个版本。
  • 第五代蓝牙(2016年至今)
  • 二、核心系统
  • Host
  • Controller
  • 三、协议栈
  • 1、传统蓝牙BR/EDR协议栈
  • 2、低功耗蓝牙BLE协议栈



前言

    所谓蓝牙(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芯片只支持一种射频模式,但越来越多设备中也同时支持两种系统,以覆盖尽量多的使用场景。

蓝牙协议简介_协议栈_02

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

蓝牙协议简介_低功耗蓝牙_03

蓝牙协议简介_低功耗蓝牙_04

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 七层模型的对应关系如下图所示:

蓝牙协议简介_蓝牙_05

  • 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)。

蓝牙协议简介_协议栈_06

   


标签:协议,简介,蓝牙,Bluetooth,版本,链路,设备
From: https://blog.51cto.com/u_15930680/9014702

相关文章

  • TI 专访 Merlin Protocol:构建在比特币网络上的资产适配协议
    近期BTC生态上铭文的热度和流量为市场带起了一波小的高潮。越来越多的用户开始关注BRC-20赛道。但作为铭文,BRC-20稀缺的应用场景和价值也一直为人们所诟病。MerlinProtocol,一个构建在比特币网络上的资产适配协议,提出了自己独特的解决方案。今天,我们邀请到了MerlinProtocol......
  • 【其他】数字孪生简介
    数字孪生简介一、数字孪生的概念二、数字孪生的起源三、使用方式一、数字孪生的概念数字孪生是充分利用物理模型、传感器更新、运行历史等数据,集成多学科、多物理量、多尺度、多概率的仿真过程,在虚拟空间中完成映射,从而反映相对应的实体装备的全生命周期过程。数字孪生是一种超越......
  • 蓝牙和GPS技术结合,实现车载定位器室内外定位
    目前市面上常见的车载定位器主要是基于GPS和北斗定位方式。在理想的室外环境开阔无遮挡的情况下,定位效果非常良好;而在室内场景、或者比较密集的区域就会出现信号被遮挡的情况,导致GPS定位器上的表现就是迟迟无法接收到GPS定位信号而无法定位。通过蓝牙和GPS技术结合,可以实现室内外定......
  • 【PXIE301-208】基于PXIE总线架构的Serial RapidIO总线通讯协议仿真卡
    板卡概述PXIE301-208是一款基于3UPXIE总线架构的SerialRapidIO总线通讯协议仿真卡。该板卡采用Xilinx的高性能Kintex系列FPGA作为主处理器,实现各个接口之间的数据互联、处理以及实时信号处理。板卡支持4路SFP+光纤接口,支持一个PCIex8主机接口,板载1组独立的64位DDR3SDRAM大容......
  • IM通讯协议专题学习(十):初识 Thrift 序列化协议
    本文由字节跳动技术团队杨晨曦分享,本文有修订和改动。1、引言本文将带你一起初步认识Thrift的序列化协议,包括Binary协议、Compact协议(类似于Protobuf)、JSON协议,希望能为你的通信协议格式选型带来参考。  技术交流:-移动端IM开发入门文章:《新手入门一篇就够:......
  • 日志框架简介-Slf4j+Logback入门实践 | 京东云技术团队
    前言随着互联网和大数据的迅猛发展,分布式日志系统和日志分析系统已广泛应用,几乎所有应用程序都使用各种日志框架记录程序运行信息。因此,作为工程师,了解主流的日志记录框架非常重要。虽然应用程序的运行结果不受日志的有无影响,但没有日志的应用程序是不完整的,甚至可以说是有缺陷的......
  • 高级计算机网络课程结课论文——《5G AKA协议安全性分析综述》
    在安全性分析的章节中,本文详细剖析了认证响应消息铭文传递和SUCI请求认证向量两个关键环节存在的安全缺陷。借助认证响应消息明文传递的安全缺陷,攻\击者可以根据用户终端响应消息来确定目标用户是否在特定小区;借助协议中用户利用SUCI请求认证向量的安全缺陷,攻\击者可以跟踪用户......
  • 01修改器简介
    修改   修改组修改器是类似于形变修改器(见下文),不过不会直接影响物体形状,但会影响物体的一些其他数据,比如顶点组。生成   这些是建设性/破坏性的工具,能够影响整个网格的拓扑。它们可以改变对象的整体外观,或添加新的几何图形到对象。形变   与上面的生成不同,它......
  • virtualenv简介和使用
    1、virtualenv简介在python项目开发的时候,不同的项目会使用不同版本的依赖,不同版本的第三方库等。而virtualenv的出现就是为每个项目创建一个虚拟化的python运行环境,将项目所有的依赖都安装到这个虚拟环境中,不同项目之间互补干扰。2、virtualenv的安装pipinstallvirtualev......
  • DHCP协议分析
    1、客户端win10,关机情况下设置其网卡和DHCP服务器的网卡为同一网卡并 设置win10的ip获取模式为自动获取。  2、第一个包分析,win10刚开机默认是没有分配ip的所以为0.0.0.0,于是客户机会发送广播报文,寻找网段的DHCP服务器。 3、第二个包分析,DHCP服务器响应说,我可提供......