首页 > 其他分享 >结合HCI和空口理解BLE AUDIO CIS

结合HCI和空口理解BLE AUDIO CIS

时间:2024-10-11 09:48:53浏览次数:3  
标签:CIG Max Peripheral CIS ISO ms BLE HCI

背景

CIS ,coordinate isochronos stream,是BLE AUDIO单播形式的数据流,在前面文章https://blog.csdn.net/Jzj1234555/article/details/142416588?spm=1001.2014.3001.5502 我们了解了BLE AUDIO从连接到建立CIS的大概流程,但CIS到底是什么样的形式,如何在空中传播,里面的细节我们还是以手机和耳机为例,结合HCI LOG和AIR LOG来分析里面的细节。

HCI

CIS的建立是central设备发起的,首先需要建立一个CIG,就是建一个群,里面有相同类型的设备,比如左右耳机就是同一个CIG里面两个同类型设备,分别为两个设备建立不同的CIS连接。
hci层会涉及三个命令:

  • HCI LE Set CIG Parameters
  • HCI LE Setup ISO Data Path
  • HCI LE Create CIS

HCI LE Set CIG Parameters

在这里插入图片描述
先看一下红色框里面的参数:

参数详解
CIG ID0x00group ID为0
SDU Interval M TO S10.000 ms一个CIG ISO的发包周期,从手机到耳机发包的间隔为10ms
SDU Interval S TO M10.000 ms一个CIG的发包周期,从机(耳机)到主机(手机)发包的间隔为10ms
PackingInterleavedCIG里面的两个CIS数据包是交替传输:CIS0->CIS1->CIS0->CIS1
FramingUnframedISO数据数据不分包
Max Transport Latency C To P100 ms中心设备(手机)到外围设备(耳机)的最大传输延迟为100ms
Max Transport Latency P To C100 ms外围设备到中心设备传输的最大延迟为100ms
CIS Count2当前CIG这个group里面有两个CIS连接

看一下绿色框框里面的参数:

参数详解
CIS ID0x00CIS的ID为0
Max SDU Size M TO S155从手机到耳机传输数据包的最大size为155个字节
Max SDU Size S TO M0从耳机到手机的传输数据包的最大size为0
PHY Type C To PLE 2M中心设备到外围设备的PHY是2M
PHY Type P To CLE 2M外围设备到中心设备的PHY是2M
RTN C To P13数据包可以重传13次
RTN P To C13数据包可以重传13次

看看command complete event:在这里插入图片描述
因为有两条CIS,建立了两个ACL连接,返回两个connection handle。

HCI LE Setup ISO Data Path

这个命令主要设置ISO流的方向和选用的CODEC,每个CIS都需要单独设置:
在这里插入图片描述
方向是从手机流向耳机,codec ID为6代表选用的是LC3 codec。

HCI LE Create CIS

在这里插入图片描述
红色和绿色框框分别代表不同的CIS handle和ACL handle。
这条命令设下去之后,手机和耳机的蓝牙芯片就会做LLCP协商建立CIS连接。

空口:

在这里插入图片描述
LL层也是通过三个命令协议CIS建立的参数:
LLCP CIS Request
LLCP CIS Response
LLCP CIS Indication

LLCP CIS Request

在这里插入图片描述
先看一下绿色框框的参数:

参数详解
Central to Peripheral Max SDU Size155中心设备到外围设备最大传输数据size
FramedUnframed不分包传输
Peripheral to Central Max SDU Size0无数据从外围设备传输到中心设备
Central to Peripheral Max SDU Interval10.000 ms一个CIG ISO interval从中心设备到外围设备传输时间
Peripheral to Central Max SDU Interval10.000 ms一个CIG ISO interval从外围设备到中心设备传输时间

再看一下红色框框的参数:

参数详解
Central to Peripheral Max PDU Size155传输最大数据包的size
Number of SubEvents7意思是说在ISO interval (20ms)内,一个CIS流有7次输出数据的机会。至于要不要传输7次,就要看下面的BN和有没有重传
Sub Interval2.048 ms可以理解为在一个ISO interval里,同一个CIS,手机发第一个包和第二个包的间隔为2.048ms
Central to Peripheral Burst Number2BN值,可以理解为一个ISO interval里,手机可以发给耳机2个有效数据包,重传的不算。
Central to Peripheral Flush Timeout4FT值,可以理解为一个数据包最多可以在4个ISO interval里重传(20x4=80ms)。
ISO Interval20 ms一个CIG发包的周期为20ms,其实就是上面 Central to Peripheral Max SDU Interval和Peripheral to Central Max SDU Interval相加之和
CIS Offset Min11.250 ms从当前ACL connEventcounter时间到第一个CIS锚点的时间最小偏移
CIS Offset Max11.250 ms从当前ACL connEventcounter时间到第一个CIS锚点的最大时间偏移

LLCP CIS Response

在这里插入图片描述

LLCP CIS Indication

在这里插入图片描述
这里有三个重要参数是CIS offset ,CIG Sync delay和CIS Sync delay,参考一下core spec可以理解为从CIG第一个锚点到传输数据的时间偏移:
在这里插入图片描述

标签:CIG,Max,Peripheral,CIS,ISO,ms,BLE,HCI
From: https://blog.csdn.net/Jzj1234555/article/details/142819992

相关文章

  • el-table 纵向展示
    <divclass="table-box"><el-tablestyle="width:100%":data="getValues"><el-table-column......
  • Cisco IS-IS ATT-Bit 详解 | ATT 位过滤
    注:机翻,未校。IS-ISAttachedBitIS-IS附加位PostedonNovember22,2016Overview概述AswehavegonethroughbasicIS-ISconfigurationandverification,let’sdiscoveranotherIS-ISinformationregardingIS-ISattachedbit.WhenweuseIS-ISasaro......
  • Problem Set 1 Installing MikTex
    ProblemSet1XXXDue:10/10/2024IntroductionThisdocumentwasproducedbyRusingRMarkdown.Tocompletethisweeksassignment,wewillaskyoutocompleteaseriesofanalyticalandcodingexercises.TheAnalyticalExercisesrequirenocoding,whereasth......
  • 散列表(Hash table哈希表)应用案例
    文章目录散列表基础内容散列表的基本操作包括:散列表的关键组成部分:散列表的优点:散列表的缺点:实现散列表的方法1.散列函数的设计2.冲突解决策略3.重新哈希实现示例具体案例展示步骤:Python实现:输出结果:扩展功能:Python实现:输出结果:新增功能解释:进一步扩展:散列表......
  • JavaScript Number研究03_实例方法_toExponential_toFixed_toPrecision_toString_valu
    JavaScriptNumber研究03:实例方法——toExponential、toFixed、toPrecision、toString、valueOf、toLocaleString在JavaScript中,Number对象不仅包含了许多有用的静态属性,还提供了一系列实例方法,帮助我们在不同场景下处理和转换数值。这些方法包括:toExponential()toFixed()......
  • 基于 iptables 的防火墙方案
    基于iptables的防火墙方案假设两台主机A(172.29.100.100)和B(10.100.100.100),iptables规则应用于A机器上.允许两台主机互通-AINPUT-s10.100.100.100-jACCEPT-AINPUT-s0.0.0.0/0-jDROP允许A访问B,反向禁止-AINPUT-mstate--stateESTABLISHE......
  • 通过AI绘画工具(stable diffusion)来赚钱,真是太爽了!
    在当今数字化时代,人工智能(AI)的应用已经无所不在。最新的AI绘画生成工具称为StableDifusion,它能够根据用户输入的文本描述生成相应的图像。这一技术的出现为社交媒体内容创作者、插画师、平面设计师等带来了无限的可能性,同时也开启了新的赚钱机会。在抖音等社交平台上,许多灵......
  • 普通人如何利用Stable Diffusion赚钱,普通人的AI绘图赚钱神器
    在当今快速发展的人工智能技术中,Stable-Diffusion凭借其卓越的图像生成能力已经成为内容创作领域的佼佼者。它不仅显著降低了艺术创作的门槛,让更多人能够享受创作的乐趣,更为创作者们打开了新的赚钱方式。下面我们一起探讨如何利用Stable-Diffusion实现艺术与商业的共赢。......
  • JAVA基础:FutureTasck 和 Callable、Timer定时任务
    1FutureTasck和Callable是JDK1.5之后,在JUC工具包提供了一个多线程工具类在多线程应用中,a线程可以通过FutureTask和Callable了解b线程是否执行完毕以及b线程执行的结果。可以实现两个线程之间的通信。自定义线程类,实现Callable接口,重写call方法,该方法执行的功能就是......
  • PAT甲级-1150 Travelling Salesman Problem
    题目 题目大意旅行商问题是NP-hard问题,即没有多项式时间内的解法,但是可以验证答案是否正确。给定一个无向图,判断简单环,复杂环和非环。对应“TSsimplecycle”、“TScycle”、“NotaTScycle”。还要求出环的最小路径权值和,及对应的索引。思路主要思路在于如何区分简......