深入浅出蓝牙低功耗音频BLE Audio--4-3 CIS

这篇具有很好参考价值的文章主要介绍了深入浅出蓝牙低功耗音频BLE Audio--4-3 CIS。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

        为了掌握核心规范中ISO新特性,先介绍单播且可连接的ISO流,即CIS,CIS的结构框架相当复杂,但是其建立在一些非常的原则之上。本节首先描述CIS如何被设计,解释组成模块如何配合工作,然后学习广播模式的不同之处,为学习蓝牙低功耗音频方案奠定基础。

        当设计数字音频程序时,通常受到一些限制:以什么样标准和速率对音频进行采样。一旦传入的音频被采样和编码后,会被发送到蓝牙芯片发送给音频接收设备。系统是重复的,音频数据是有时间限制的,传输需要一定时间间隔,该间隔成为ISO_inteval。CIS中每个ISO间隔开始的时间点成为锚点。如图5。一个传输的开始通常是发起者发送一个数据包给接受者,当接收者成功接收该数据后,回复一个确认包,这样的过程会定期重复。图5中,第三个数据包没有被确认,所以发起者认为第三个包没有被收到。

深入浅出蓝牙低功耗音频BLE Audio--4-3 CIS 

图5 

         现在普遍的编解码器都可以按照10毫秒帧率运行,即采样率一次需要10毫秒,这样在音频质量和延迟之间得到折中。这也是LC3编解码器首选的配置参数,蓝牙低功耗音频方案强制选择LC3编解码器。后续文章中,除了特殊说明,采样间隔都是10毫秒,或者10毫秒的整倍数。

        ISO数据包

          设备之间传输的协议数据包结构非常简单,协议数据包的结构如图6所示。

深入浅出蓝牙低功耗音频BLE Audio--4-3 CIS

 图6

        编码后的ISO数据包以前导码和访问地址开始,以CRC结尾。通过1MPHY传输数据时,会增加10个或14个字节,换成2MPHY传输数据时,会增加11个或15个字节。

         对于CIS的数据包结构如图7所示。

深入浅出蓝牙低功耗音频BLE Audio--4-3 CIS

 图7

        CIS数据头后面跟着251字节的有效数据。如果音频数据被加密,在数据包结尾会增加MIC字段作为结尾。对于CIS数据头,包含5个属性字段:

        LLID:标识数据包是帧编码和无帧编码。

        NESN和SN:下一次期望的包序列号和序列号,通常用于数据包确认机制和流控。

        CIE:标识结束本轮ISO事件传输。

        NPI:空包指示位,表明该数据包的有效数据位空,通常指示本端设备没有数据发送。

         ISO子事件和重传

        下面图8主要介绍ISO数据头的控制位,因为这样可以更好地解释CIS链路如何工作的。开始之前,需要整体回忆CIS链路的结构组成,前面已经讨论过ISO事件间隔,即两个连续的成功CIS锚点之间的时间间隔,锚点是发起者发送第一个CIS数据包的时间点,同样也是每个成功ISO事件的开始点。对于CIS链路,因为实际链路需要可以选择重复传输某一个CIS数据包,因为CIS的结构设计支持多个子事件。每个子事件都是一发起者传输数据包开始,以接受者回复一个期望数据包结束。一个CIS事件由多个子事件组成,从CIS的锚点开始,到接收者回复最后一位数据结束。

深入浅出蓝牙低功耗音频BLE Audio--4-3 CIS

 图8

        两个成功连续的子事件的间隔称为子时间间隔,它是子事件的最大持续时间,加上150微秒的数据包间隔,并且由CIS链路配置参数决定,整理CIS链路生命周期中不会更改。

备注:资料参考来源:Bluetooth® Technology Website – The official website for the Bluetooth wireless technology. Get up to date specifications, news, and development info.https://www.bluetooth.com/文章来源地址https://www.toymoban.com/news/detail-413386.html

到了这里,关于深入浅出蓝牙低功耗音频BLE Audio--4-3 CIS的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • windows+python+bleak+BLE低功耗蓝牙通讯连接

    1.为什么选bleak   参考这篇知乎:https://zhuanlan.zhihu.com/p/577687336   windows端使用python连接常规的BLE设备(蓝牙4.0),仅考虑bleak模块(排除pybluez、pybluez2、pygatt)。 2.本文主要参考   本文主要参考bleak的官方文档:https://github.com/hbldh/bleak 3.本文所用设备   应事先学习蓝

    2024年02月02日
    浏览(40)
  • 微信小程序低功耗蓝牙BLE快速开发js

    目的: 1、为了能三分钟快速开发BLE模块,特此做一个笔记,按照笔记的顺序开发,能够简单、快速、规范。 2、如果以后觉得有必要改动的地方就在这里更改。 3、主要是记录BLE连接的步骤。 https://note.youdao.com/ynoteshare/index.html?id=d662c9c1c58121ec28901d78d9aa5e80 比较完整的微信小程

    2024年02月10日
    浏览(67)
  • Qt笔记---使用Qt开发低功耗蓝牙BLE(Bluetooth low energy)程序

    在Qt项目中开发BLE通信程序,即低功耗蓝牙设备通信,关于蓝牙设备的通信分为普通蓝牙设备和低功耗蓝牙设备,此文只介绍低功耗蓝牙设备的连接通信方式。 开发环境: 系统:win10 Qt:5.15.2 MSVC:2019 注:使用此版本之前使用过其他低版本的Qt和MSVC,会出现搜索不到设备以及

    2024年04月16日
    浏览(106)
  • 【STM32备忘录】【STM32WB系列的BLE低功耗蓝牙】一、测试广播配置搜不到信号的注意事项

    WB系列是双核单片机,用户写M4,无线协议栈使用M0 新买到手的单片机,需要自己刷入使用的无线协议栈 刷入无线协议栈的途径是通过一个叫FUS的东东,类似于bootloader,这个FUS新买的芯片通常已经刷好,但版本不一定是最新的(如果没有需要自己刷入) 刷入FUS和无线协议栈需要

    2024年03月16日
    浏览(54)
  • 深入浅出线程池

    线程 (thread)是操作系统能够进行运算调度的最小单位。它被包含在进程之中,是进程中的实际 运作单位。一条线程指的是进程中一个单一顺序的控制流,一个进程中可以并发多个线程,每条线 程并行执行不同的任务。 既然我们创建了线程,那为何我们直接调用方法和我们调

    2024年02月08日
    浏览(45)
  • Llama深入浅出

    前方干货预警:这可能是你能够找到的 最容易懂 的 最具实操性 的 学习开源LLM模型源码 的教程。 本例从零开始基于transformers库 逐模块搭建和解读Llama模型源码 (中文可以翻译成羊驼)。 并且训练它来实现一个有趣的实例:两数之和。 输入输出类似如下: 输入:\\\"12345+54321=\\\"

    2024年02月09日
    浏览(57)
  • 深入浅出 Typescript

    TypeScript 是 JavaScript 的一个超集,支持 ECMAScript 6 标准(ES6 教程)。 TypeScript 由微软开发的自由和开源的编程语言。 TypeScript 设计目标是开发大型应用,它可以编译成纯 JavaScript,编译出来的 JavaScript 可以运行在任何浏览器上。 TypeScript JavaScript JavaScript 的超集,用于解决大型

    2024年02月14日
    浏览(49)
  • 深度学习深入浅出

    目录 一 基本原理 二 深度学习的优点 三 深度学习的缺点 四 深度学习应用 手写数字识别 深度学习是机器学习的一个分支,其核心思想是利用深层神经网络对数据进行建模和学习,从而实现识别、分类、预测等任务。在过去几年中,深度学习技术取得了许多突破性的成果,如

    2023年04月09日
    浏览(52)
  • 深入浅出CenterFusion

    自动驾驶汽车的感知系统一般由多种传感器组成,如lidar、carmera、radar等等。除了特斯拉基于纯视觉方案来进行感知之外,大多数研究还是利用多种传感器融合来建立系统,其中lidar和camera的融合研究比较多。 CenterFusion这篇文章基于nuscenes数据集研究camera和radar的特征层融合,

    2024年02月09日
    浏览(46)
  • 深入浅出Kafka

    这个主题 武哥漫谈IT ,作者骆俊武 讲得更好 首先我们得去官网看看是怎么介绍Kafka的: https://kafka.apache.org/intro Apache Kafka is an open-source distributed event streaming platform. 翻译成中文就是:Apache Kafka 是一个开源的分布式流处理平台。 Kafka 不是一个消息系统吗?为什么被称为分布式

    2023年04月11日
    浏览(68)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包