当前位置:首页 > 公众号精选 > 嵌入式艺术
[导读]我们前面主要去学习了蓝牙开发所具备的基础知识、常用的仿真手法,那么如何去分析我们抓到的蓝牙通信包呢?不去学习蓝牙通信协议,只能把抓到的Log信息,交给能看懂的人,你也最终只能当一个测试工程师了。



前言

我们前面主要去学习了蓝牙开发所具备的基础知识、常用的仿真手法,那么如何去分析我们抓到的蓝牙通信包呢?

不去学习蓝牙通信协议,只能把抓到的Log信息,交给能看懂的人,你也最终只能当一个测试工程师了。

蓝牙协议及其复杂,并非一文能够道尽,本文主要在于对蓝牙整体的协议架构进行梳理,文末官方协议附下载链接



1蓝牙芯片架构

蓝牙的核心系统,由一个Host和一个或多个Controller组成。

  • BT Host:一个逻辑实体,在HCI(Host Controller Interface)的上层。

  • BT Controller:一个逻辑实体,在HCI(Host Controller Interface)的下层。


Bluetooth的主控制器,可能是以下几种:

  • BR/EDR Controller:内部包含Radio,Baseband,Link Manager,可选的HCI。

  • LE Controller:内部包含LE PHY,Link Layer,可选的HCI

  • BR/EDR & LE Controller:BR/EDR与LE的组合的控制器

  • MAC/PHY (AMP) Controller:二级控制器,可替代的,内部包含802.11 PAL (Protocol Adaptation Layer),802.11 MAC,PHY,可选的HCI。


根据Host与Controller的组成关系,常见的蓝牙芯片也分为以下几种:

  • 单模蓝牙芯片:单一传统蓝牙的芯片,单一低功耗蓝牙的芯片。即(1个Host结合1个Controller)

  • 双模蓝牙芯片:同时支持传统蓝牙和低功耗蓝牙的芯片。即(1个Host结合多个Controller)


因此,蓝牙芯片就会有以下几种架构:



2蓝牙协议架构——视角1

上图为官方协议中所提及的图片,由全局到局部来看


2.1全局分析

由下到上分析

Controller

  • BR/EDR Controller:由Link Manager、Link Controller、BR/EDR Radio组成

  • LE Controller:由Link Manager、Link Controller、LE Radio组成

  • AMP Controller:由AMP PAL,AMP MAC,AMP PHY组成

Host

  • BR/EDR Host:由L2CAP、SDP、GAP组成

  • LE Host:由L2CAP、SMP、GAP、Attribute protocol、GATT组成


2.2局部分析

由上到下分析

Host层

  • Channel Manager:通道管理,主要用于创建、管理、关闭L2CAP通道,用于服务协议和应用数据的传输。

  • L2CAP Resource Manage:L2CAP资源管理,主要负责管理分片的PDU的正确提交。

  • Security Manager Protocol:SMP安全管理协议,主要负责生成加密密钥和身份密钥。

  • Attribute Protocol:ATT,属性协议,主要负责服务端与客户端点到点的数据传输。

  • AMP Manager Protocol:直接使用L2CAP与远程设备通信。

  • Generic Attribute Profile:GATT,提供更多的功能,概要文件描述了属性服务器中使用的服务层次结构、特征和属性,用于LE设备

  • Generic Access Profile:GAP,标识了基础的蓝牙设备的通用功能

Controller层

  • Device Manager:控制蓝牙设备的通用行为,负责与蓝牙通信过程中,所有的与数据无关的操作,如查询设备,连接设备

  • Link Manager:链路管理,主要负责创建,修改,释放逻辑链路。

  • Baseband Resource Manager:基带资源管理,主要负责所有的访问无线电媒体

  • Link Controller:链路控制,主要负责从编码和解码蓝牙数据包

  • PHY:物理层,主要负责发送,接收物理通道的信息包

以上为官方手册提供的视图,Host通过HCI(Host Controll Interface)接口,来控制Controller执行相应的动作。



3蓝牙协议架构——视角2

下面是参考网上的一位博主的文章,写的较为详细,遂分享出来。


以上架构图,将蓝牙协议分为了HW层,Transport层,Host层。


3.1HW层——蓝牙芯片层

HW层,指的是蓝牙芯片层,也就是我们上面说的Controller,包括以下几个部分:

  • RF(RADIO):射频层,本地蓝牙数据通过射频发送给远端设备,并且通过射频接收来自远端蓝牙设备的数据。

  • BB(BASEBAND):基带层,进行射频信号与数字或语音信号的相互转化,实现基带协议和其它的底层连接规程。

  • LMP(LINK MANAGER PROTOCOL):链路管理层,负责管理蓝牙设备之间的通信,实现链路的建立、验证、链路配置等操作

  • HCI(HOST CONTROLLER INTERFACE):主机控制器接口层,HCI层在芯片以及协议栈都有,芯片层面的HCI负责把协议栈的数据做处理,转换为芯片内部动作,并且接收到远端的数据,通过HCI上报给协议栈。

  • BLE PHY:BLE的物理层

  • BLE LL:BLE的链路层


3.2Transport——数据传输层

Transport层,主机控制层接口,通过硬件接口UART/USB/SDIO把HOST协议层的数据发送给Controller层,并且接收Controller层的数据。

该部分有几个协议

  • H2:基于USB的传输

  • H4:基于UART的传输,最简单的传输方式,只在HCI raw data前面加上一个type

  • H5:  基于UART的传输

  • BCSP: 基于UART的传输

  • SDIO :基于SDIO的传输

H4需要蓝牙芯片的UART_TX/UART_RX/UART_CTS/UART_RTS/VCC/GND接到MCU;而H5只需要蓝牙芯片的UART_TX/UART_RX/VCC/GND接到MCU就可以通信。


3.3HOST——协议层

HOST层,此部分就是蓝牙协议栈,该部分包括多个协议:

  • L2CAP(Logical Link Control and Adaptation Protocol):逻辑链路控制与适配协议,将ACL数据分组,对高层应用的数据进行分组,并提供协议复用和服务质量交换等功能。通过协议多路复用、分段重组操作和组概念,向高层提供面向连接的和无连接的数据服务

  • SDP(SERVICE DISCOVERY PROTOCOL):服务发现协议,为应用程序提供发现可用服务,并确定服务特征的方法。

  • RFCOMM(Serial Port Emulation):串口仿真协议,上层协议蓝牙电话,蓝牙透传SPP等协议都是直接走的RFCOMM

  • OBEX:对象交换协议,蓝牙电话本,蓝牙短信,文件传输等协议都是走的OBEX

  • HFP(Hands-Free):蓝牙免提协议

  • HSP:蓝牙耳机协议,最开始的蓝牙耳机协议,目前已经没有产品在用这个了吧,至少我没有看到了。算是一个简化版的HFP。

  • SPP(SERIAL PORT PROFILE):蓝牙串口协议

  • IAP:苹果的特有协议,分为IAP1/IAP2,一般做Carplay或者iPod功能的人肯定接触过这块,有需要这块的私下联系我

  • PBAP(Phone Book Access):蓝牙电话本访问协议

  • MAP(MESSAGE ACCESS PROFILE):蓝牙短信访问协议

  • HID(HUMAN INTERFACE DEVICE):人机接口协议,HID还是有很多广泛的用途的,比如蓝牙鼠标,蓝牙键盘,蓝牙自拍杆,蓝牙手柄等。

  • A2DP(Advanced Audio Distribution): 蓝牙音乐协议

  • SM: 蓝牙BLE安全管理协议

  • GAP(GENERIC ACCESS PROFILE):它定义了蓝牙设备的基本要求。

    它联系了所有的不同的层之间的交互,也描述了设备发现、建立连接、安全、认证、关联模型和发现服务的行为和方法。

    • 对于BR/EDR,它定义了一个蓝牙设备,包括无线电、基带、链路管理器、L2CAP和服务发现协议功能。

    • 对于LE,它定义一个物理层,链路层,L2CAP,安全管理器,属性协议和通用属性配置文件。

  • ATT(Attribute Protocol):蓝牙属性协议,用于发现、读、写对端设备的协议(针对BLE设备),ATT允许设备作为服务端提供拥有关联值的属性集 ,让作为客户端的设备来发现、读、写这些属性;同时服务端能主动通知客户端。

  • GATT(Generic Attribute Profile):蓝牙通用属性协议,描述了一种使用ATT的服务框架 ,该框架定义了数据交换的格式。



4总结

蓝牙芯片的架构:根据Host与Controller的结合关系,可以分为单模芯片和双模芯片。

蓝牙协议的架构:蓝牙协议分为三层,即:Host层,Transport层,Controller层。每一层又由多种不同的协议组成。



本站声明: 本文章由作者或相关机构授权发布,目的在于传递更多信息,并不代表本站赞同其观点,本站亦不保证或承诺内容真实性等。需要转载请联系该专栏作者,如若文章内容侵犯您的权益,请及时联系本站删除。
换一批
延伸阅读

9月2日消息,不造车的华为或将催生出更大的独角兽公司,随着阿维塔和赛力斯的入局,华为引望愈发显得引人瞩目。

关键字: 阿维塔 塞力斯 华为

加利福尼亚州圣克拉拉县2024年8月30日 /美通社/ -- 数字化转型技术解决方案公司Trianz今天宣布,该公司与Amazon Web Services (AWS)签订了...

关键字: AWS AN BSP 数字化

伦敦2024年8月29日 /美通社/ -- 英国汽车技术公司SODA.Auto推出其旗舰产品SODA V,这是全球首款涵盖汽车工程师从创意到认证的所有需求的工具,可用于创建软件定义汽车。 SODA V工具的开发耗时1.5...

关键字: 汽车 人工智能 智能驱动 BSP

北京2024年8月28日 /美通社/ -- 越来越多用户希望企业业务能7×24不间断运行,同时企业却面临越来越多业务中断的风险,如企业系统复杂性的增加,频繁的功能更新和发布等。如何确保业务连续性,提升韧性,成...

关键字: 亚马逊 解密 控制平面 BSP

8月30日消息,据媒体报道,腾讯和网易近期正在缩减他们对日本游戏市场的投资。

关键字: 腾讯 编码器 CPU

8月28日消息,今天上午,2024中国国际大数据产业博览会开幕式在贵阳举行,华为董事、质量流程IT总裁陶景文发表了演讲。

关键字: 华为 12nm EDA 半导体

8月28日消息,在2024中国国际大数据产业博览会上,华为常务董事、华为云CEO张平安发表演讲称,数字世界的话语权最终是由生态的繁荣决定的。

关键字: 华为 12nm 手机 卫星通信

要点: 有效应对环境变化,经营业绩稳中有升 落实提质增效举措,毛利润率延续升势 战略布局成效显著,战新业务引领增长 以科技创新为引领,提升企业核心竞争力 坚持高质量发展策略,塑强核心竞争优势...

关键字: 通信 BSP 电信运营商 数字经济

北京2024年8月27日 /美通社/ -- 8月21日,由中央广播电视总台与中国电影电视技术学会联合牵头组建的NVI技术创新联盟在BIRTV2024超高清全产业链发展研讨会上宣布正式成立。 活动现场 NVI技术创新联...

关键字: VI 传输协议 音频 BSP

北京2024年8月27日 /美通社/ -- 在8月23日举办的2024年长三角生态绿色一体化发展示范区联合招商会上,软通动力信息技术(集团)股份有限公司(以下简称"软通动力")与长三角投资(上海)有限...

关键字: BSP 信息技术
关闭