传统蓝牙L2CAP的连接流程(以被连接为例)

原创 专注于无线通信的蓬勃 2020-08-14 08:08

一. 声明

本专栏文章我们会以连载的方式持续更新,本专栏计划更新内容如下:

第一篇:蓝牙综合介绍 ,主要介绍蓝牙的一些概念,产生背景,发展轨迹,市面蓝牙介绍,以及蓝牙开发板介绍。

第二篇:Transport层介绍,主要介绍蓝牙协议栈跟蓝牙芯片之前的硬件传输协议,比如基于UART的H4,H5,BCSP,基于USB的H2等

第三篇:传统蓝牙controller介绍,主要介绍传统蓝牙芯片的介绍,包括射频层(RF),基带层(baseband),链路管理层(LMP)等

第四篇:传统蓝牙host介绍,主要介绍传统蓝牙的协议栈,比如HCI,L2CAP,SDP,RFCOMM,HFP,SPP,HID,AVDTP,AVCTP,A2DP,AVRCP,OBEX,PBAP,MAP等等一系列的协议吧。

第五篇:低功耗蓝牙controller介绍,主要介绍低功耗蓝牙芯片,包括物理层(PHY),链路层(LL)

第六篇:低功耗蓝牙host介绍,低功耗蓝牙协议栈的介绍,包括HCI,L2CAP,ATT,GATT,SM等

第七篇:蓝牙芯片介绍,主要介绍一些蓝牙芯片的初始化流程,基于HCI vendor command的扩展

第八篇:附录,主要介绍以上常用名词的介绍以及一些特殊流程的介绍等。

另外,开发板如下所示,对于想学习蓝牙协议栈的最好人手一套。以便更好的学习蓝牙协议栈,相信我,学完这一套视频你将拥有修改任何协议栈的能力(比如Linux下的bluez,Android下的bluedroid)。

------------------------------------------------------------------------------------------------------------------------------------------

CSDN学院链接(进入选择你想要学习的课程):

蓝牙交流扣扣群:970324688

Github代码:

入手开发板:

蓝牙学习目录

------------------------------------------------------------------------------------------------------------------------------------------

二. L2CAP的连接流程(以主动连接RFCOMM为例)

整个过程连接流程如下:

其中红色就是SIGNALING command,也就是C-frame,绿框是SDU(解释见截图),也就是B-frame

整理流程如下:

步骤整理如下:

步骤1)我们发送L2CAP Connection Request with RFCOMM PSM,对方回复L2CAP Connection Response

步骤2)我们发送L2CAP Configure Request配置请求 with MTU,对方回复L2CAP Configure Response

步骤3)当MTU不符合要求的时候,对方发送L2CAP Configure Request配置请求with MTU,我们会送L2CAP Configure Response

步骤4)后续的SDU的交互。

我们就结合前面的知识来分析下raw data,加深我们上面的理解:

步骤1)我们发送L2CAP Connection Request with RFCOMM PSM,对方回复L2CAP Connection Response

① 我们L2CAP Connection Request with RFCOMM PSM

在这里我们还是重复下C-frame的封包格式,上面已经介绍,下面用到C-frame的时候格式我们就不再介绍。

其中Information Payload格式为

那么本步骤connection request以及connection response用到的information payload如下:

Raw data分析

08 00 01 00 02 04 04 00 03 00 41 00(hex data)

08 00 -> payload len,也就02 01 04 00 01 00 40 00

01 00->Signaling channel

 

02 -> Code,L2CAP_CONNECTION_REQ (CODE 0x02)

04->Identifier

04 00 -> data的长度,也就是01 00 40 00

03 00->PSM,0x0003就是RFCOMM

40 00->0x0040,Source cid

② 对方回复L2CAP Connection Response

L2CAP raw data为:0C 00 01 00 03 04 08 00 42 00 41 00 00 00 00 00

0c 00 -> 整个L2CAP payload长度,也就是 03 04 08 00 42 00 41 00 00 00 00 00

01 00-> Signaling channel

03 -> L2CAP_CONNECTION_RSP (CODE 0x03)

04 ->Identifier,可以看到跟connect req是一样的

08 00->data长度,也就是42 00 41 00 00 00 00 00长度

42 00 -> Destination CID

41 00->Source CID

00 00->Result connection successful

00 00->Status

步骤2)我们发送L2CAP Configure Request配置请求 with MTU,对方回复L2CAP Configure Response

用到的C-frame information payload格式如下:

①我们发送L2CAP Configure Request配置请求 with MTU‘

L2CAP raw data为0C 00 01 00 04 05 08 00 42 00 00 00 01 02 8E 04

0c 00 -> 后续payload长度,也就是04 05 08 00 42 00 00 00 01 02 8E 04的长度

01 00-> Signaling channel

04 ->L2CAP_CONFIGURATION_REQ (CODE 0x04)

05 ->Identifier

08 00-> 后续的data长度

42 00 -> Destination CID,在connection response的回复的

00 00->Flags (2 octets),no continye

01 02 8e 04是config opt,整个配置选项格式如下:

那MTU的格式如下:

01 -> MTU的type

02 -> length

8e 04 -> 0x48e = 1166byte

②对方回复L2CAP Configure Response

0A 00 01 00 05 05 06 00 41 00 00 00 00 00

0A 00-> 后续payload长度,也就是 05 05 06 00 41 00 00 00 00 00长度

01 00-> Signaling channel

05 ->L2CAP_CONFIGURATION_RSP (CODE 0x05)

05 -> Identifier

06 00 -> 后续的data长度

41 00-> Source CID

00 00->flag no continue

00 00->Result

步骤3)当MTU不符合要求的时候,对方发送L2CAP Configure Request配置请求with MTU,我们会送L2CAP Configure Response

这个交互跟2)基本一样,所以不再重复说明

步骤4)后续的SDU的交互

SDU的我们走的basic mode,格式如下:

Raw data为:04 00 42 00 03 3F 01 1C

04 00 -> payload length是4

42 00 -> CID

03 3F 01 1C -> 数据,也就是rfcomm数据

 

OK,本章结束

专注于无线通信的蓬勃 朝气蓬勃——不积跬步 无以至千里, 不积小流 无以成江海
评论
  • ALINX 正式发布 AMD Virtex UltraScale+ 系列 FPGA PCIe 3.0 综合开发平台 AXVU13P!这款搭载 AMD 16nm 工艺 XCVU13P 芯片的高性能开发验证平台,凭借卓越的计算能力和灵活的扩展性,专为应对复杂应用场景和高带宽需求而设计,助力技术开发者加速产品创新与部署。随着 5G、人工智能和高性能计算等领域的迅猛发展,各行业对计算能力、灵活性和高速数据传输的需求持续攀升。FPGA 凭借其高度可编程性和实时并行处理能力,已成为解决行业痛点的关
    ALINX 2024-12-20 17:44 211浏览
  • Supernode与艾迈斯欧司朗携手,通过Belago红外LED实现精准扫地机器人避障;得益于Belago出色的红外补光功能,使扫地机器人能够大大提升其识别物体的能力,实现精准避障;Belago点阵照明器采用迷你封装,兼容标准无铅回流工艺,适用于各种3D传感平台,包括移动设备、物联网设备和机器人。全球领先的光学解决方案供应商艾迈斯欧司朗(瑞士证券交易所股票代码:AMS)近日宣布,与国内领先的多行业三维视觉方案提供商超节点创新科技(Supernode)双方联合推出采用艾迈斯欧司朗先进Belago红
    艾迈斯欧司朗 2024-12-20 18:55 202浏览
  • 光耦固态继电器(SSR)作为现代电子控制系统中不可或缺的关键组件,正逐步取代传统机械继电器。通过利用光耦合技术,SSR不仅能够提供更高的可靠性,还能适应更加复杂和严苛的应用环境。在本文中,我们将深入探讨光耦固态继电器的工作原理、优势、挑战以及未来发展趋势。光耦固态继电器:如何工作并打破传统继电器的局限?光耦固态继电器通过光电隔离技术,实现输入信号与负载之间的电气隔离。其工作原理包括三个关键步骤:光激活:LED接收输入电流并发出与其成比例的光信号。光传输:光电传感器(如光电二极管或光电晶体管)接收
    腾恩科技-彭工 2024-12-20 16:30 159浏览
  • 百佳泰特为您整理2024年12月各大Logo的最新规格信息。——————————USB▶ 百佳泰获授权进行 USB Active Cable 认证。▶ 所有符合 USB PD 3.2 标准的产品都有资格获得USB-IF 认证——————————Bluetooth®▶ Remote UPF Testing针对所有低功耗音频(LE Audio)和网格(Mesh)规范的远程互操作性测试已开放,蓝牙会员可使用该测试,这是随时测试产品的又一绝佳途径。——————————PCI Express▶ 2025年
    百佳泰测试实验室 2024-12-20 10:33 196浏览
  • //```c #include "..\..\comm\AI8051U.h"  // 包含头文件,定义了硬件寄存器和常量 #include "stdio.h"              // 标准输入输出库 #include "intrins.h"         &n
    丙丁先生 2024-12-20 10:18 134浏览
  • 耳机虽看似一个简单的设备,但不仅只是听音乐功能,它已经成为日常生活和专业领域中不可或缺的一部分。从个人娱乐到专业录音,再到公共和私人通讯,耳机的使用无处不在。使用高质量的耳机不仅可以提供优良的声音体验,还能在长时间使用中保护使用者听力健康。耳机产品的质量,除了验证产品是否符合法规标准,也能透过全面性的测试和认证过程,确保耳机在各方面:从音质到耐用性,再到用户舒适度,都能达到或超越行业标准。这不仅保护了消费者的投资,也提升了该公司在整个行业的产品质量和信誉!客户面临到的各种困难一家耳机制造商想要透
    百佳泰测试实验室 2024-12-20 10:37 274浏览
  • 随着工业自动化和智能化的发展,电机控制系统正向更高精度、更快响应和更高稳定性的方向发展。高速光耦作为一种电气隔离与信号传输的核心器件,在现代电机控制中扮演着至关重要的角色。本文将详细介绍高速光耦在电机控制中的应用优势及其在实际工控系统中的重要性。高速光耦的基本原理及优势高速光耦是一种光电耦合器件,通过光信号传递电信号,实现输入输出端的电气隔离。这种隔离可以有效保护电路免受高压、电流浪涌等干扰。相比传统的光耦,高速光耦具备更快的响应速度,通常可以达到几百纳秒到几微秒级别的传输延迟。电气隔离:高速光
    晶台光耦 2024-12-20 10:18 223浏览
  • 光耦合器,也称为光隔离器,是用于电气隔离和信号传输的多功能组件。其应用之一是测量电路中的电压。本文介绍了如何利用光耦合器进行电压测量,阐明了其操作和实际用途。使用光耦合器进行电压测量的工作原理使用光耦合器进行电压测量依赖于其在通过光传输信号的同时隔离输入和输出电路的能力。该过程包括:连接到电压源光耦合器连接在电压源上。输入电压施加到光耦合器的LED,LED发出的光与施加的电压成比例。光电二极管响应LED发出的光由输出侧的光电二极管或光电晶体管检测。随着LED亮度的变化,光电二极管的电阻相应减小,
    腾恩科技-彭工 2024-12-20 16:31 214浏览
  •                                                窗        外       年底将近,空气变得格外寒冷,估计这会儿北方已经是千里
    广州铁金刚 2024-12-23 11:49 169浏览
  • 国产数字隔离器已成为现代电子产品中的关键部件,以增强的性能和可靠性取代了传统的光耦合器。这些隔离器广泛应用于医疗设备、汽车电子、工业自动化和其他需要强大信号隔离的领域。准确测试这些设备是确保其质量和性能的基本步骤。如何测试数字隔离器测试数字隔离器需要精度和正确的工具集来评估其在各种条件下的功能和性能。以下设备对于这项任务至关重要:示波器:用于可视化信号波形并测量时序特性,如传播延迟、上升时间和下降时间。允许验证输入输出信号的完整性。频谱分析仪:测量电磁干扰(EMI)和其他频域特性。有助于识别信号
    克里雅半导体科技 2024-12-20 16:35 191浏览
  • 汽车行业的变革正愈演愈烈,由交通工具到“第三生活空间”。业内逐渐凝聚共识:汽车的下半场在于智能化。而智能化的核心在于集成先进的传感器,以实现高等级的智能驾驶乃至自动驾驶,以及更个性、舒适、交互体验更优的智能座舱。毕马威中国《聚焦电动化下半场 智能座舱白皮书》数据指出,2026年中国智能座舱市场规模将达到2127亿元,5年复合增长率超过17%。2022年到2026年,智能座舱渗透率将从59%上升至82%。近日,在SENSOR CHINA与琻捷电子联合举办的“汽车传感系列交流会-智能传感专场”上,艾
    艾迈斯欧司朗 2024-12-20 19:45 304浏览
我要评论
0
点击右上角,分享到朋友圈 我知道啦
请使用浏览器分享功能 我知道啦