IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 系统运维 -> 深入浅出蓝牙低功耗音频BLE Audio--4-3 CIS -> 正文阅读

[系统运维]深入浅出蓝牙低功耗音频BLE Audio--4-3 CIS

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

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

?

图5?

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

????????ISO数据包

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

?图6

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

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

?图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的锚点开始,到接收者回复最后一位数据结束。

?图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/

  系统运维 最新文章
配置小型公司网络WLAN基本业务(AC通过三层
如何在交付运维过程中建立风险底线意识,提
快速传输大文件,怎么通过网络传大文件给对
从游戏服务端角度分析移动同步(状态同步)
MySQL使用MyCat实现分库分表
如何用DWDM射频光纤技术实现200公里外的站点
国内顺畅下载k8s.gcr.io的镜像
自动化测试appium
ctfshow ssrf
Linux操作系统学习之实用指令(Centos7/8均
上一篇文章      下一篇文章      查看所有文章
加:2022-05-11 16:45:38  更:2022-05-11 16:48:07 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年6日历 -2024/6/18 21:48:10-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码