深圳市组创微电子有限公司
销售部:15338833908采购部:0755-8299 4126行政部:0755-8299 4126
咨询电话
0755-8299 4141

蓝牙技术

蓝牙无线通信技术


一、蓝牙技术简介

蓝牙技术是物联网的重要组成部分。蓝牙的目的是通过无线连接方式进行数据交换,从而替代有线连接。最初的蓝牙版本使用的是比特率/增强数据速率(BR/EDR)技术,也被成为经典蓝牙。该版本能以节能方式发送稳定的高质量数据流,常用于无线音频上。蓝牙在4.0版本推出了蓝牙低功耗(BLE),使用BLE技术的传感器使用纽扣电池便可以运行数月甚至数年时间。

BR/EDR与BLE不同,BR/EDR能建立连续、短程的连接,有一些非常适用的场景,例如从智能手机到耳机的音频流;而BLE技术功耗低且支持短时间的远程无线连接,适用于对能耗敏感的物联网应用。BR/EDR型蓝牙只能以点对点的形式创建一对一通信,而BLE型则支持点对点(一对一)、广播(一对多)和网状(多对多)等多种网络拓扑结构。此外,蓝牙低能耗技术建立在使用通用属性配置文件(GATT)的全新开发框架之上,使得蓝牙应用的开发更加快速、简单。蓝牙设备可以是双模式——同时支持经典蓝牙和蓝牙低功耗技术;也可以是单模式——仅支持蓝牙低功耗技术或经典蓝牙。

除了超低功耗且能与智能手机、PC和平板电脑等直接连接外,蓝牙低功耗技术的其他优势还包括:(1)低成本;(2)可靠稳定:使用自适应跳频(AFH)、重传和24位循环冗余校验(CRC);(3)安全:配对、绑定、隐私、中间人(MITM)的保护和AES-128加密;(4)支持快速开发:标准化配置文件;(5)广泛平台支持:支持Windows、OSX、iOS、Android和Linux等主流操作系统。

二、蓝牙低功耗协议栈

完整的单模式蓝牙低功耗协议栈如图3-5所示,主要包括应用(Application)、主机(Host)和控制器(Controller)等三个部分。

图 3-5 蓝牙低功耗协议栈

其中,应用层为最高层,负责与实现应用程序的实际用例相关的逻辑、用户界面和数据处理。应用程序的整个体系结构高度依赖于每层特定模块的实现。主机包括通用访问配置文件(GAP)、通用属性配置文件(GATT)、逻辑链路控制和适配协议(L2CAP)、属性协议(ATT)、安全管理器协议(SM)和主机控制器接口(HCI),控制器包括链路层(LL)与物理层(PHY)。下面将简要介绍各个模块的功能。

2.1物理层

物理层是包含实际模拟通信电路的部分,能够调制和解调信号并能实现模拟信号与数字信号之间的转换。在物理层无线电使用2.4GHz工业、科学和医疗(ISM)频段并将该频段划分为从2.4GHz到2.4835GHz的40个信道。如图3-6所示,其中37个信道可用于附加广播数据(传输次级广播)信道或数据信道,有三个信道(37,38和39)专门用作广播信道,用于建立连接和发送广播数据。

图 3-6 蓝牙通信信道图

BLE使用跳频扩频技术,即在连接时跳跃使用不同的信道以最小化信道上同频率无线电的干扰,尤其是同频段常见的Wi-Fi和经典蓝牙。与经典蓝牙使用的调制方式一样,BLE在所有物理信道上都使用高斯频移键控调制,调制速率固定为1Mbit/s。

2.2链路层

链路层直接与物理层连接,负责遵守规范定义的所有时序要求,是整个协议栈中唯一的硬件实时约束层。计算量大、易于自动化的功能通常在该层以硬件实现以减少运行堆栈的中央处理器(CPU)的负担。链路层与协议栈较高层被主机控制器接口隔离,该接口隐藏了对较高层实时性的要求,降低了较高层的复杂性。在链路层实现的功能通常包括:前导码、访问地址、空中协议框架、AES加密、随机数生成以及CRC生成和验证等。

链路层定义了四种角色:广播者,发送广播包的设备;扫描者,扫描广播包的设备;主设备,启用连接并在之后管理连接的设备;从设备,接受主设备的连接请求并遵从主设备时序的设备。相应地,这些角色在逻辑上分为两对:连接中的主设备和从设备,广播中的广播者和扫描者。

2.3主机控制器接口

主机控制器接口是一种标准协议,允许主机和控制器之间通过串行接口进行通信。控制器是唯一具有硬件实时要求且包含物理层的模块,主机通常使用CPU实现更复杂且时序要求更严格的上层协议栈。蓝牙协议栈支持将主机与控制器分离,使用多个芯片完成协议栈配置:其中主机和应用在主CPU中运行,而控制器位于通过UART或USB连接的单独硬件芯片中。

蓝牙规范将HCI定义为主机和控制器交互的一组命令和事件,定义了用于流控制和其他过程的数据包格式和传输方式,可支持UART、USB等特定的物理传输方式。

2.4逻辑链路控制和适配协议

逻辑链路控制和适配协议主要提供两个功能:首先,它作为协议多路复用器,将上层多种协议的数据包封装成标准的BLE格式传输到下层或将下层标准BLE格式数据包解析到上层相应的协议;它还负责分段和重组操作,分段是将从上层获取的大数据包划分为适合发送的最大有效载荷为27字节的块,重组是将已分成多个块的接收数据拼接成单个数据包并发送到上层主机中的相应模块。

在BLE协议栈中,L2CAP主要管理和路由两个协议:属性协议和安全管理器协议。从蓝牙4.1开始,L2CAP可创建自定义通道用于高吞吐量数据传输。该功能最初设计用于文件传输,称为低功耗信用流控制模式,可以通过BLE连接为应用程序建立低延迟、大容量的数据通道。当使用默认数据包时,L2CAP数据包头部占用四个字节,用户有效载荷长度为23字节。

2.5属性协议

属性协议是一种简单的无状态客户端/服务器协议,建立在设备的属性上。在BLE中,无论是主设备还是从设备,每个设备都是客户端或服务器。客户端从服务器请求数据,而服务器将数据发送到客户端。该过程在时序方面是严格的:如果数据请求尚未解决(未收到回复信息),则不再发送任何请求。在两个对等设备同时充当客户端和服务器的情况下,这适用于传输的两个方向上。

每个服务器都包含以属性形式组织的数据,每个属性都分配有16位属性句柄、通用唯一标识符(UUID)、一组权限和一个末尾值。属性句柄是用于访问属性值的标识符,UUID指定了数据末尾值包含的数据类型和属性。当客户端想要从服务器读取或写入属性值时,它会使用句柄向服务器发出读取或写入请求,服务器将相应地回复属性值或确认收到。在读取请求时,客户端根据UUID理解数据类型和解析值;在写入请求时,客户端需提供与属性类型一致的数据,如果不一致,服务器可以拒绝写入操作。

2.6安全管理器协议

安全管理器协议是一系列安全算法,旨在为蓝牙协议栈提供生成和交换安全密钥的功能,使对等设备能通过加密链路安全地通信,如果需要还可以隐藏公共蓝牙地址以避免对等方恶意跟踪特定设备。

SMP定义了两种角色:发起者,对应于链路层主设备;响应者,对应于链路层从设备。始终由发起者启动安全过程,但响应者可以异步请求启动。响应者无法保证发起者一定会响应请求,所以会在失败时重新发送请求。安全管理器为以下三个过程提供支持:(1)配对:生成临时公共安全加密密钥以便能够切换到安全加密链接的过程。此临时密钥不会被存储,因此在后续连接中不可重复使用。

(2)绑定:两设备在生成和交换永久性安全密钥后进行配对,并将安全密钥存储在非易失性存储器中,从而在它们之间创建永久绑定。两设备在以后的连接中可快速建立安全链接,而无需再次执行绑定过程。

(3)重建加密:若两设备之前建立过绑定且存储了密钥,则在后续的连接中可以使用重建加密,无需再次进行配对和绑定过程。

因此,配对创建的是一次连接期内的安全链接,而绑定是以共享安全密钥的形式创建永久关联,密钥可以在以后的连接中继续使用,直到任何一方决定删除为止。

2.7通用属性配置文件

通用属性配置文件建立在属性协议之上,定义了应用程序之间数据组织和交换的方式,是BLE数据传输的主干。

GATT定义了可由各种应用程序配置文件(基于GATT)使用的通用数据对象。它具有和ATT类似的客户端/服务器架构,数据被封装在由一个或多个特征组成的服务中,每个特征都是一条用户数据与元数据(关于该特征的描述性信息,例如属性、名称、单位等)的组合。GATT是一个上层实体,充当BLE协议栈的主要接口。

2.8通用访问配置文件

通用访问配置文件是支撑蓝牙低功耗设备相互通信的基石。它设定了一个任何BLE实现都必须遵循的框架,以支持设备以标准的、互相理解的方式执行发现设备、广播数据、建立安全连接等基本操作。

GAP建立框架以规范化和标准化设备的低级别操作:(1)角色和角色之间的互动;(2)操作模式和模式之间的过渡;(3)一致、可互操作的通信流程;(4)安全方面,包括安全模式和安全过程;(5)使用非协议数据的其他数据格式。

三、蓝牙低功耗通信方式

蓝牙低功耗设备之间有两种通信方式:广播和连接。每种方式都有各自的局限性和优势,它们都通过通用访问配置文件进行管理。

3.1广播和观察模式

使用无线广播可以将数据发送到任何在接收范围内的扫描设备或接收器,如图3-7所示,这种机制允许设备将数据单向发送给任何能够获取该传输数据的设备。

图 3-7 蓝牙广播拓扑结构图

在广播中有两种角色:广播者和观察者。广播者定期向周围愿意接收数据的所有设备发送无法连接的广播数据包,观察者在预设频率持续扫描以接收当前正在广播的无法连接的广播数据包。广播非常重要,因为它是设备将数据传输到多个对等端的唯一方式。标准广播数据包具有31字节的有效载荷,包含描述广播及其功能的信息,也可以包含其他自定义信息。如果31字节的有效载荷大小不够用,BLE还支持可选的辅助广播数据包,允许接收设备请求额外一个广播数据包。

广播快速、易于使用,适合按固定时间表或向多个设备推送少量数据。但与连接相比,广播的主要缺点是没有安全和隐私保护,任何观察者设备都能够接收正在广播的数据,因此它不适合传输敏感数据。

3.2连接模式

如果需要双向传输数据,或者传输数据多于两个广播有效载荷,则需要使用连接。连接是两个设备之间永久、定期的数据通信,本质上它是私有的(数据只在连接的两个设备间传输)。在连接中设备有两种不同的角色:中央设备(主设备)和外围设备(从属设备)。中央设备在预设频率重复扫描以获得可连接的广播数据包,在合适的时间启动连接。建立连接后,中央设备管理时序并定期启动数据交换。外围设备定期发送可连接广播数据包并接受启动连接的设备,一旦处于连接通信状态,外围设备将遵从中央设备的时序并定期与其交换数据。

为了发起连接,中央设备从外围设备处获取可连接的广播数据包,之后向外围设备发送请求以在两个设备之间建立专用连接。建立连接后,外围设备停止广播,两个设备可以互相通信,如图3-8所示。尽管中央设备是管理连接建立的设备,但是在每次连接期间,任意设备都可以独立地发送数据,不存在优先级或数据吞吐量的限制。总而言之,连接是两个对等设备之间周期性的数据交换。

图 3-8 蓝牙连接拓扑结构图

早期的蓝牙版本将外围设备限制为只能与单个中央设备连接,限制了可能的角色组合。蓝牙4.1版本解除了对角色组合的限制,以下组合都是可行的:设备同时作为中央设备和外围设备;中央设备与多个外围设备连接;外围设备与多个中央设备连接。与广播相比,连接的最大优势是可以通过GATT对数据中的每个字段或属性进行更精细地控制。在连接中可以同时存在多种服务和特征,每个服务可以包含多个特征,每个特征都有自己的访问权限和描述性元数据。连接的其他优势还有更高的吞吐量、更加安全(可以建立安全加密链路)。同时,连接支持更丰富的网络拓扑结构,还比广播更省电:连接可以直接传输大块数据而不必分成多次,连接的两个设备按照时序建立连接,不需要像广播那样一直以特定频率发送数据而不知道接收者和接收时间。

3.3混合模式

广播和连接模式还可以在更大范围的蓝牙网络中自由组合。如图3-9所示,网络中拥有更高级的双模式和单模式设备,这些设备能将多个角色进行组合,允许设备在参与多个连接的同时还可以使用广播模式来广播数据,例如BR/EDR设备可通过BR/EDR/LE设备与BLE设备通信。网络中的角色组合和参与的设备数量仅受每个设备自身无线电和协议栈的约束。

图 3-9 蓝牙混合拓扑结构图

以上就是我们深圳市组创微电子有限公司为您介绍的蓝牙无线通信技术详情。如果您有蓝牙产品设计开发需求,可以放心交给我们,我们有丰富的智能电子产品定制开发经验,可以尽快评估开发周期与IC价格,也可以核算PCBA报价。我们是多家国内外芯片代理商:松翰、应广、杰理、安凯、全志、realtek,有MCU、语音IC、BLE蓝牙IC、双模蓝牙模块、wifi模块。我们的拥有硬件设计与软件开发能力。涵盖了电路设计、PCB设计、单片机开发、软件定制开发、APP定制开发、微信公众号开发、语音识别技术、蓝牙开发、wifi技术等。还可以承接智能电子产品研发、家用电器方案设计、美容仪器开发、物联网应用开发、智能家居方案设计、TWS耳机开发、蓝牙耳机音箱开发、儿童玩具方案开发、电子教育产品研发。

注:部分图片内容来源于网络,如有侵权,请联系删除。

使用该技术的解决方案

  • 返回顶部