当前位置: 首页 > news >正文

微信网站页面设计建设网站商城后台系统

微信网站页面设计,建设网站商城后台系统,企业网站建设成本,有没有做网页的网站目录 引言 一、L2CAP主要功能 二、L2CAP帧格式及信道概念 2.1 逻辑链路是什么? 2.2 逻辑信道的作用 2.3 L2CAP帧格式介绍 三、L2CAP信令信道 3.1 信令信道帧格式说明 3.2 信令信道指令介绍 3.2.1 信令信道指令一览表 3.2.2 Credit流控规则 引言 在BLE协…

目录

引言

一、L2CAP主要功能

二、L2CAP帧格式及信道概念

2.1 逻辑链路是什么?

2.2 逻辑信道的作用

2.3 L2CAP帧格式介绍

三、L2CAP信令信道

3.1 信令信道帧格式说明

3.2 信令信道指令介绍

3.2.1 信令信道指令一览表

3.2.2 Credit流控规则


引言

在BLE协议栈中,逻辑链路控制和适配协议 (Logical Link Control and Adaptation Protocol, L2CAP)作为链路层(LL)与上层协议(ATT/GATT/SMP)之间的适配层,承担着协议复用、数据分段和流控的核心职责。通过逻辑信道机制,L2CAP实现了多协议并行传输的能力,同时通过信令信道(CID 0x0005)动态管理连接参数与资源分配。本文将系统解析L2CAP帧格式、逻辑信道划分规则,为BLE设备开发提供协议层实现参考。


一、L2CAP主要功能

BLE 的 L2CAP(Logical Link Control and Adaptation Protocol)在数据信道上主要承担三个功能:

1)信道管理

  • 负责逻辑信道的创建与关闭。

2)连接参数设置

  • 用于更新连接参数。

3)多包传输控制

  • 配合LL层分包机制实现对发送方的流控机制

注意:

LL层负责物理数据包(PDU)的分片与重组(基础分包),而L2CAP在Credit-Based模式下则负责管理逻辑信道上的L2CAP SDU传输流控。


    二、L2CAP帧格式及信道概念

      2.1 逻辑链路是什么?

      在介绍L2CAP帧格式之前我们先回顾下必要的背景知识。在前面的章节我们已知在蓝牙协议中,BR / EDR / LE 表示不同的物理规范,BR/EDR用于经典蓝牙,LE用于低功耗蓝牙:

      • BR(Basic Rate):经典蓝牙基础速率
      • EDR(Enhanced Data Rate):经典蓝牙高速率增强
      • LE(Low Energy):低功耗蓝牙

      而 ACL-U、APB-U、LE-U 是对应物理层的逻辑链路(Logical Transport),用于承载上层协议的数据:

      • ACL-U:BR/EDR 下的异步数据通道
      • APB-U:EDR 下的增强异步数据通道
      • LE-U:BLE 下的数据通道,主要承载L2CAP协议数据。L2CAP通过其逻辑信道(CID)向上层协议(如ATT/GATT、SMP)提供服务,或支持用户自定义协议。

      换句话说,ACL-U / APB-U / LE-U 是 物理链路到逻辑数据传输的桥梁。本系列文章只关注BLE,即我们只需要关注LE-U逻辑链路相关的内容,因为 BLE 的所有数据上行/下行都通过LE-U逻辑链路承载,它承载着多个逻辑信道(Logical Channels, 由CID标识)。


      2.2 逻辑信道的作用

      BLE的分包是由LL层实现的,但是LL层并没有显式说明当前传输的分包来源,即接收方无法确认此分包是来自于GATT还是SMP,在此基础上为了实现虚拟逻辑信道以实现通道划分,L2CAP定义了若干个逻辑信道,每个逻辑链路可包含若干个逻辑信道


      2.3 L2CAP帧格式介绍

      在介绍L2CAP帧格式之前,我们先来回顾下在第三篇学过了LL层数据信道报文格式点此回顾【BLE系列-第二篇】数据链路层(LL):基于1M PHY模式的报文详解):

      L2CAP作为LL层与上层的承接者,其负责的字段由以下几个部分组成:

      • L2CAP PDU len:标识Info段的长度,最大长度为65535(包长大于247则使用LL层进行多包传输)
      • L2CAP Channel ID(CID):逻辑信道 ID,用于标识逻辑信道
      • Info:L2CAP信息内容

      其中 CID 用于标识逻辑信道,LE-U 逻辑链路包含了若干个协议规定(固定CID)以及用户自定义的逻辑信道,如下图(此图来自官方协议文档):

      由图可知,BLE可使用的逻辑信道包含以下部分:

      CID说明
      0x0004GATT专用信道,L2CAP不做处理,只进行转发
      0x0005L2CAP信令信道
      0x0006SMP专用信道,L2CAP不做处理,只进行转发
      0x0020~0x003E仅限蓝牙SIG内部测试使用,不可用于公开产品或商用
      0x0040~0x007E用户自定义信道,使用L2CAP相关指令可以进行创建

      其中CID 0x0004和CID 0x0005仅用于给上册模块提供透传接口,因此不再赘述。下文我们重点讲解下CID 0x0005 L2CAP信令信道。


      三、L2CAP信令信道

      3.1 信令信道帧格式说明

      首先我们再来看一眼LL的帧格式:

      对照上图讲解,信令信道其实就是在将 Info(至多247字节) 字段拆分成了以下两个部分:

      • Code:1字节字段,用来标识不同的指令
      • Info:至多246字节字节,不同的Code对应的Info格式不一致,具体以协议规定为准。

      注意:

      L2CAP Channel ID在信令指令中固定为0x0005。


      3.2 信令信道指令介绍

      3.2.1 信令信道指令一览表

      由图可知BLE能使用的Code指令只有:0x01、0x06、0x07、0x12至0x1A。

      可以分为以下几个类别:

      1)错误与通用控制类

      •  0x01 Command Reject

      2)信道建立与管理类

      • 0x06 LE Credit Based Connection Request
      • 0x07 LE Credit Based Connection Response
      • 0x14 Disconnection Request
      • 0x15 Disconnection Response

      3)连接参数与更新类

      • 0x12 Connection Parameter Update Request
      • 0x13 Connection Parameter Update Response

      4)流控与数据管理类

      • 0x16 LE Flow Control Credit

      5)其他功能性控制类

      • 0x17 Credit Based Connection Request(BR/EDR 共用型,LE 可能保留)
      • 0x18 Credit Based Connection Response
      • 0x19 Local Busy Detected
      • 0x1A Local Busy Cleared

      由于Code的定义针对每个BLE协议版本都不完全一致,还请自行参考协议。以下根据Ver 6.0版本给出参考路径及协议参考章节:

      • 下载链接: 蓝牙 Core_v6.0
      • 参考章节:Vol 3: Host > Part A: CreditsLOGICAL LINK CONTROL AND ADAPTATION PROTOCOL SPECIFICATION > 4 SIGNALING PACKET FORMATS

      3.2.2 Credit流控规则

      1)发送方每发1个L2CAP报文Credit值减1

      2)接收方可以通过0x16指令刷新Credit值

      3)Credit值为0时,发送方必须暂停传输,等待Credits重新刷新

      注意:

      LE Credit Based Flow Control 机制仅适用于通过LE Credit Based Connection建立的用户自定义逻辑信道(CID 0x0040~0x007E)。固定信道(0x0004, 0x0005, 0x0006)不使用此流控机制。

      因为静态信道(CID x0004、0x0005、0x0006)都是固定用途、小数据量通信。应用自定义或大数据传输,必须使用流控进行通信通关。


      想了解更多嵌入式技术知识,请点击阅读我的其他文章

      烟花的文章链接集合-CSDN博客

      如果你觉得内容对您有帮助,别忘了点赞、收藏和分享支持下哦!

      http://www.dtcms.com/a/580092.html

      相关文章:

    • 做环评需要关注哪些网站陕西住房城乡建设厅网站
    • 简单网站制作教程怎么做网站数据分析
    • 石家庄哪里有做网站的南昌企业自助建站
    • 美食攻略网站建设课程设计注册免费的网站有吗
    • 安阳网站怎么优化威海网站定制
    • 建站行业有哪些桂林生活网招聘
    • 泉州网站排名优化教育行业手机wap网站
    • 彩票网站的建设网络推广外包公司干什么的
    • 企业网站 建设 流程温岭做鞋子的网站
    • 创意设计公司架构陕西seo排名
    • 机械设备网站源码学会网站制作要多久
    • 一流的企业网站建设wordpress 不能查看站点
    • 在建设局网站上怎么样总监解锁网页设计6种布局方式
    • 做网站多少钱 网络服务创业谷网站建设规划
    • 吉水县建设局网站网站规划应遵循的原则有哪些
    • 公司网站建设一般要多少钱asp源码下载
    • 江门微信网站建设东莞企业网站建设开发
    • 如何建立网站赚钱互联网创业项目
    • 重庆奉节网站建设公司哪家专业网站教程制作
    • 整站优化包年wordpress前台构架图
    • 公司网站开发费分录是h5网页制作方法
    • 黄埭网站建设网站图片放大特效怎么做
    • 百度站内搜索 wordpress中国十大erp公司
    • 合肥高端网站建设广州网站建设推广公司
    • 网站改版会影响排名吗蚌埠网站建设蚌埠
    • 网站正在建设中请稍后网页设计实验报告html
    • php就是做网站吗装修公司做自己网站
    • 如何在大网站做外链手机网站开发 教程
    • 免费商标查询官网网站优化建设兰州
    • 赣州网站seo传奇网页游戏制作