无线收发芯片esp32蓝牙模组蓝牙名字由来以及相关术语,什么是蓝牙,蓝牙是一种支持设备短距离通信的无线通信技术,早由爱立信公司于 1994 年发明。蓝牙目标是使各类移动设备、嵌入式设备、计算机外设和家用电器等众多设备之间在没有电绩接的情况下能够在短距离范围内实现信息的自由传输与分享。相较于其他无线通信技术,蓝牙具有安全性高、易于连接等优势。
蓝牙名字的由来,蓝牙(Bluetooth) 一词取自于10 世纪丹麦国王哈拉尔的名字--Harald Bluetooth。哈拉尔国王由于统一斯堪的纳维亚半岛而闻名于世。传说哈拉尔国王特别喜欢吃蓝莓,吃得使牙齿都变成蓝色了,因而人们把这位国王的牙齿称为蓝牙(Bluetooth)。1996 年,英特尔诺基亚、爱立信成立了特别兴趣小组 (SIG)。特别兴趣小组 (SIG) 的名称就叫蓝牙(Bluetooth)。蓝牙这个名字很快流行起来,成为了短距离无线通信技术的代名词。
无线收发芯片esp32蓝牙模组蓝牙采用分散式网络结构以及快跳频和短包技术,支持点对点及点对多点的通信,工作在全球通用的 2.4 GHZISM(即工业、科学、医学)频段。蓝牙可分为经典蓝牙和低功耗蓝牙:
(1)经典蓝牙。无线收发芯片esp32蓝牙模组经典蓝牙 (BR/EDR)泛指支持蓝牙协议在4.0版本以下的模块,一般用于如语音、音乐等大数据量的传输。经典蓝牙的协议包含了个人局域网的各种规范 (Profile),不同同的规范对应于不同的应用场景,比较常用的有:适用于音频的 Advanced Audio DistributioProfile (A2DP)、适用于免提设备的 Hands-Free Profile/Head-Set Profile (HFP/HSP)、适于文本串口透传的 Serial Port Profile (SPP)、适用于无线输入/输出设备的 Human InterfacDevice (HID) 。
(2)低功耗蓝牙。无线收发芯片esp32蓝牙模组低功耗蓝牙(Bluetooth Low Energy,Bluetooth LE) 是一种新型的超低功无线通信技术,主要针对低成本、低复杂度的无线体域网和无线个域网设计,主要的优点之一是可以用纽扣电池为低功耗蓝牙芯片供电,结合微型传感器构建出各种嵌入式传感器或可穿戴式传感器与传感器网络应用。
总体来看,蓝牙协议版本有两个分支,分别是经典蓝牙和低功耗蓝牙。其中,蓝牙 1.1、2.0、2.1、3.0 版本属于经典蓝牙,4.0 版本的蓝牙包括经典蓝和低功耗蓝牙,4.0 版本以的蓝牙添加了低功耗蓝牙。
蓝牙相关术语,本文将介绍蓝牙涉及的无线网络技术,包括核心体系结构和蓝牙规范中的组件。
蓝牙的核心系统主要由主机 (Host)、控制器 (Controller)、主机控制接口 (Host ControllerInterface,HCI)构成:Host 主要用于实现各种业务场景需求,大部分的开发工作都是在 Host上进行的;Controller 主要用于蓝牙报文的收发,以及蓝牙物理连接的管理等基本功能,由专门的蓝牙芯片厂商负责实现。
Host 和 Controller 初的设计理念是将这两个模块单独运行在两颗不同的芯片甚至系统上,两者之间通过主机控制接口进行通信,以方便替换和升级。虽然现在有不少芯片把 Host 和Controller 都放在一颗芯片上,但基本还遵循这样的层次结构,只是将 HCI协议从硬件通信端口换成了软件端口。
无线收发芯片esp32蓝牙模组低功耗蓝牙协议栈包含物理层(Physical Layer,PHY)、链路层(Link Layer,LL)、逻辑链路控制和适配协议(Logical Link Control and Adaptation Protocol,L2CAP)、属性协议(AttributeProtocol,ATT)、安全管理器协议(Security Manager Protocol,SMP)通用属性配置文件(GenericAttribute Profile,GATT)、通用访问配置文件(Generic Access Profile,GAP)等。
1、PHY 用来指定低功耗蓝牙所用的无线频段、调制解调方式等。PHY 做得好不好,将直接决定整个低功耗蓝牙芯片的功耗,灵敏度以及 selectivity 等射频指标的好坏。
2、LL 只负责把数据发送出去或者接收回来,对数据进行怎样的解析则交给上面的 GAP 或者ATT 处理。LL 要处理的事情非常多,如选择什么程度的射频通道进行通信、怎么识别空中数据包、具体在哪个时间点将数据包发送出去、如何保证数据的完整性、如何对链路进行管理和控制、ACK 如何接收、重传等,是整个低功耗蓝牙协议栈的核心。
3、HCI是Hos 和Conmolrer之间的通信接口。HCI 可以是物理形式的,如 UART、USB常见于双芯片架构:也可以直接通过APT实现,常见于单芯片架构。
4、L2CAP 向上层协议(协议复用、分、重组作)提供连接导向和无连接的数服并按通道进行流量控制和重传。
5、ATT 主要用来定义用户命今以及命今操作的数据,如读取或者写入。无线收发芯片esp32蓝牙模组低功耗蓝牙协议格入广Atrbue概。用于精法一条条的数据。无线收发芯片esp32蓝牙模组ATT 除了定义数据,同时也定义该数据可用的 ATT 命令,是读者接触多的部分。
6、SMP 负责管理低耗蓝牙连接的加密和安全,既保证连接的安全性,同时又不影响使用的体验。
7、GATT用来规范Atribute 中的数据内容,并运用分组(Group)的概念对Attribute 进行类管理。当然,没有 GATT,也能跑低功耗蓝牙协议栈,只是会在互联互通上出问题。正因为有了GATT 和各种各样的应用 Profile,Bluetooth LE 才摆脱了 ZigBee 等无线协议的兼性困境。
8、GAP对 LL 的有效数据包进行了一些规范和定义,是解析 LL负载数据简单的一种方式因此 GAP 能实现的功能极其有限,主要用来进行广播、扫描和发起连接等。