传统蓝牙L2CAP概念介绍

一. 声明

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

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

第二篇: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学院链接(进入选择你想要学习的课程):https://edu.csdn.net/lecturer/5352?spm=1002.2001.3001.4144

蓝牙交流扣扣群:970324688

Github代码:https://github.com/sj15712795029/bluetooth_stack

入手开发板:https://item.taobao.com/item.htm?spm=a1z10.1-c-s.w4004-22329603896.18.5aeb41f973iStr&id=622836061708

蓝牙学习目录:https://blog.csdn.net/XiaoXiaoPengBo/article/details/107727900

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

二.L2CAP概念

逻辑连接控制和适配协议( the Logical Link Control and Adaptation Layer Protoco),缩写为 L2CAP。通过协议多路复用、分段重组操作和组概念,向高层提供面向连接的和无连接的数据服务,L2CAP还屏蔽了低层传输协议中的很多特性,使得高层协议应用开发人员可以不必了解基层协议而进行开发。

在整个蓝牙中的架构如红框所示:

传统蓝牙L2CAP概念介绍_第1张图片

可以看到L2CAP是架在HCI跟上层协议中间。那看完了L2CAP在整个协议栈中的位置,我们就来看下L2CAP内部的架构,如图:

传统蓝牙L2CAP概念介绍_第2张图片

L2CAP图示一共有几个特性:Resource Manager有分包/组包,重传/流控,封装/调度,Channel Manager有连接/断开/交互频道参数等。

三. L2CAP术语介绍

在彻底介绍L2CAP前,我们来说明几个术语,否则到了L2CAP mode部分你会很懵逼。

传统蓝牙L2CAP概念介绍_第3张图片

传统蓝牙L2CAP概念介绍_第4张图片

传统蓝牙L2CAP概念介绍_第5张图片

传统蓝牙L2CAP概念介绍_第6张图片

传统蓝牙L2CAP概念介绍_第7张图片

传统蓝牙L2CAP概念介绍_第8张图片

传统蓝牙L2CAP概念介绍_第9张图片

四.信道标识符

不同蓝牙设备的 L2CAP 层之间的通信时建立载逻辑链路的基础上的,这些逻辑链路被称为信道(channel)每条信道的每个端点都被赋予了一个信道标识符(Channel Identifier,CID)。CID 是表示逻辑信道本地端设备的名字。

传统蓝牙用到的CID有:

传统蓝牙L2CAP概念介绍_第10张图片

传统蓝牙L2CAP概念介绍_第11张图片

BLE蓝牙用到的CID有:

传统蓝牙L2CAP概念介绍_第12张图片

五. 操作模式

L2CAP一共有记下几个操作模式

• Basic L2CAP Mode((equivalent to L2CAP specification in Bluetooth v1.1) 默认模式,在未选择其他模式的情况下,用此模式。

• Flow Control Mode,此模式下不会进行重传,但是丢失的数据能够被检测到,并报告丢失。

• Retransmission Mode,此模式确保数据包都能成功的传输给对端设备。

• Enhanced Retransmission Mode,此模式和重传模式类似,加入了Poll-bit等提高恢复效率。

• Streaming Mode,此模式是为了真实的实时传输,数据包被编号但是不需要ACK确认。设定一个超时定时器,一旦定时器超时就将超时数据冲掉。

• LE Credit Based Flow Control Mode,被用于LE设备通讯。

• Enhanced Credit BasedFlow Control Mode

你可能感兴趣的:(蓝牙协议剖析,蓝牙协议栈精讲,蓝牙L2CAP,L2CAP概念)