音频——I2S TDM 模式(六)

news2024/11/16 9:37:07
  • I2S 基本概念
  • 飞利浦(I2S)标准模式
  • 左(MSB)对齐标准模式
  • 右(LSB)对齐标准模式
  • DSP 模式
  • TDM 模式

    文章目录

    • TDM format
      • TDM format A
      • TDM format B
      • TDM format C
      • 总结

TDM format

TDM 分为两种常用操作模式:TDM A mode 和 TDM B mode, 统称为TDM mode

基于 TDM mode,可以配置支持 TDM(Time Division Multiplexing)数据传输。可以支持传输多个声道的数据,允许多个设备同时使用总线。由于没有统一的标准,不同厂商在 TDM 实现的时序上略有差异。

  • 在 TDM 模式中 LRCLK 的高低不再代表不同通道的数据,它是一个比特宽的脉冲,标志着一帧的开始
  • TDM 只有⼀个起始信号,并且对数据进行对齐,使左通道数据紧跟着右通道数据。为剩余的位进行零填充
  • 数据和帧时钟可以配置为在 BCLK 的上升沿或下降沿有效

TDM 和 I2S 的区别于数据相对于帧时钟(FSYNC/WS)的位置、时钟的极性和帧的长度。其实,I2S 上传输的也是 TDM 类型的数据,因此可以说 I2S 是 TDM 的特例。

相比于 I2S ,TDM 应用更加灵活。通过时分复用(TDM, Time Division Multiplexing)方式,TDM 支持同时传输多达 N 个(N>8)声道的数据,减少了管脚数目

TDM 不像 I2S 有统一的标准,不同的 IC 厂商在应用 TDM 时可能略有差异,这些差异表现在时钟的极性、声道配置的触发条件和对闲置声道的处理等

TDM format A

  • TDM A:FSYNC 有效后,数据在 BCLK 的第 2 个上升沿(下降沿)有效(one bit clock delay)
    在这里插入图片描述
  • TDM mode
  • MSB first
  • 32位位宽 word width,16位位深 bit depth
  • 4 通道
    时序如下
    在这里插入图片描述

TDM format B

  • TDM B: FSYNC 有效后,数据在 BCLK 的第 1 个上升沿(下降沿)有效(no delay)
    在这里插入图片描述
  • TDM mode
  • MSB first
  • 32位位宽 word width,16位位深 bit depth
  • 4 通道
    时序如下
    在这里插入图片描述

在DSP B 模式内,数据延迟一个bit clock 周期有效就是 DSP A 模式。可见 A 是 B 的特例

TDM format C

待补充。。。

总结

不同厂商对 A/B/C 定义可能有所差别,TDM 帧同步模式大致可以分为两种

  • 长帧模式 - long frame sync
    • FSYNC 脉冲宽度等于 1 个 slot 的长度,slot 在 TDM 中表示的是传输单个声道所占用的位数。注意,slot 的位数并不一定等于音频的量化深度。比如 slot 可能为 32 bit,其中包括 24 bit 有效数据位(Audio Word) + 8 bit 零填充(Zero Padding)

在这里插入图片描述

  • 短帧模式 - short frame sync
    • FSYNC 脉冲宽度等于 1 个 BCLK 周期长度

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/963658.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

Docker 容器逃逸漏洞 (CVE-2020-15257)复现

漏洞概述 containerd是行业标准的容器运行时,可作为Linux和Windows的守护程序使用。在版本1.3.9和1.4.3之前的容器中,容器填充的API不正确地暴露给主机网络容器。填充程序的API套接字的访问控制验证了连接过程的有效UID为0,但没有以其他方式…

7.2 项目2 学生通讯录管理:文本文件增删改查(C 版本)(自顶向下设计+断点调试) (A)

C自学精简教程 目录(必读) 该作业是 作业 学生通讯录管理:文本文件增删改查(C版本) 的C 语言版本。 具体的作业题目描述,要求,可以参考 学生通讯录管理:文本文件增删改查(C版本)。…

性能测试有哪些常见的测试指标?

一、什么是性能测试 先看下百度百科对它的定义 <font size"3">性能测试是通过自动化的测试工具模拟多种正常、峰值以及异常负载条件来对系统的各项性能指标进行测试。</font> 我们可以认为性能测试是&#xff1a;通过在测试环境下对系统或构件的性能进…

【数据结构】栈---C语言版(详解!!!)

文章目录 &#x1f438;一、栈的概念及结构&#x1f344;1、栈的概念定义&#x1f344;2、动图演示&#x1f332;入栈&#x1f332;出栈&#x1f332;整体过程 &#x1f438;二、栈的实现&#x1f438;三、数组结构栈详解&#x1f34e;创建栈的结构⭕接口1&#xff1a;定义结构…

2023开学礼《乡村振兴战略下传统村落文化旅游设计》许少辉师大图书馆

2023开学礼《乡村振兴战略下传统村落文化旅游设计》许少辉师大图书馆

配置keil生成asm汇编文件

简介&#xff1a;ASM是汇编语言源程序的扩展名&#xff1b;程序在编译的过程中&#xff0c;会将源代码编译会汇编代码&#xff0c;一步步生成可执行文件&#xff1b; 1&#xff1a;keil中options的配置 这个语法应该是根据工程工程哪里的配置名称来的&#xff0c;也可以使用固…

历史库存储成本节约至少 50% ,OceanBase数据压缩核心技术解读

“数据是二十一世纪的石油”&#xff0c;这个观点正在逐渐成为现实&#xff0c;现在我们有各种各样的 IT 系统不断地生产着数据&#xff0c;这些数据累积起来为我们的生产生活带来了很多便利。但在挖掘这些数据价值的同时&#xff0c;大量数据的存储与计算也带来了巨大的成本&a…

TCP和UDP通信

1.通信过程 UDP 服务器sever绑定IP地址&#xff0c;关闭套接字 TCP socket套接字&#xff08;网络通信&#xff09;

站在大数据行业山顶看风景

大家好&#xff0c;我是你们的朋友王知无。 从2022年开始应很多小伙伴的邀请和咨询&#xff0c;我以个人的名义开了自己的《面向国内Top企业的大数据训练营》。最初这个过程我的内心非常忐忑&#xff0c;从备课、直播、答疑、1对1指导&#xff0c;再到同学们找工作的过程中Offe…

制造费用分摊可参考本量利分析模型!(ODOO16/15演示)

本量利分析法&#xff08;CVP&#xff09;是管理会计的一项基本管理工具&#xff0c;能比较准确地揭示成本、业务量和利润之间的数量关系​。简单理解就是把产品&#xff08;或业务&#xff09;成本分为变动成本和固定成本&#xff0c;例如&#xff1a;生产一件衣服&#xff0c…

Langchain使用介绍之outparser 和memory

上一篇博客中对Langchain中prompt进行了详细的介绍&#xff0c;此篇博客将介绍Langchain中的outparser和memory。当调用大模型生成内容时&#xff0c;返回的内容默认是string类型&#xff0c;这对于我们获取response中的某些内容信息可能会带来障碍&#xff0c;例如返回的内容本…

YOLOv8目标检测实战:TensorRT加速部署(视频教程)

课程链接&#xff1a;https://edu.csdn.net/course/detail/38956 PyTorch版的YOLOv8是先进的高性能实时目标检测方法。 TensorRT是针对英伟达GPU的加速工具。 本课程讲述如何使用TensorRT对YOLOv8目标检测进行加速和部署。 •采用改进后的tensorrtx/yolov8的代码&#xff0c;…

阻塞/非阻塞、同步/异步(网络IO)

1.阻塞/非阻塞、同步/异步(网络IO) 【思考】典型的一次 IO 的两个阶段是什么&#xff1f; 数据就绪 和 数据读写 数据就绪 &#xff1a;根据系统 IO 操作的就绪状态 阻塞 非阻塞 数据读写 &#xff1a;根据应用程序和内核的交互方式 同步 异步 陈硕&#xff1a;在处理 IO …

3D点云处理:获取最高层范围内的点(附源码)

文章目录 0. 测试效果1. 基本内容2. 代码实现文章目录:3D视觉个人学习目录微信: dhlddxB站: Non-Stop_目标:仅获取最高层范围内的点云用于后续处理0. 测试效果 红色为提取的最高层范围内的点云 1. 基本内容 要获取点云中特定高度范围内的点云,可以使用高度条件过滤的原理。…

超越编辑器的边界:掌握 Vs Code + Vim 最强操作技巧

看完这篇文章&#xff0c;从此刻开始你将成为一名真正的 “键盘侠” 作为程序员我们知道&#xff0c;当我们编写代码的时候频繁的操作鼠标是一件非常费劲的一件事&#xff0c;我们的很多时间都会浪费到去使用鼠标定位光标选中文本等等&#xff0c;要知道使用快捷键肯定是比我们…

力扣:83. 删除排序链表中的重复元素(Python3)

题目&#xff1a; 给定一个已排序的链表的头 head &#xff0c; 删除所有重复的元素&#xff0c;使每个元素只出现一次 。返回 已排序的链表 。 来源&#xff1a;力扣&#xff08;LeetCode&#xff09; 链接&#xff1a;力扣&#xff08;LeetCode&#xff09;官网 - 全球极客挚…

Jenkins自动构建(Gitee)

Gitee简介安装JenkinsCLI https://blog.csdn.net/tongxin_tongmeng/article/details/132632743 安装Gitee jenkins-cli install-plugin gitee:1.2.7 # https://plugins.jenkins.io/gitee/releases获取安装命令(稍作变更) JenkinsURL Dashboard-->配置-->Jenkins Locatio…

【LLM】chatglm-6B模型训练和推理

本篇文章记录下 chatglm-6B 训练和推理过程 环境&#xff1a;Ubuntu 20.04 1.13.0cu116 chatglm-6B 源代码仓库&#xff1a;链接 chatglm-6B 模型权重&#xff1a;链接 源代码及模型 clone 到本地 这里使用的是 THUDM 在 hugging face 开源的模型。 因为模型比较大&#xff…

软考高级架构师——6、软件架构设计

像学写文章一样&#xff0c;在学会字、词、句之后&#xff0c;就应上升到段落&#xff0c;就应追求文章的“布局谋 篇”&#xff0c;这就是架构。通俗地讲&#xff0c;软件架构设计就是软件系统的“布局谋篇”。 人们在软件工程实践中&#xff0c;逐步认识到了软件架构的重要性…

英码深元“三位一体”AI场景化解决方案,助力多地化工园区快速实现智慧化转型!

我国是世界公认的化工大国&#xff0c;同时也是崛起中的化工强国。近年来多起重大爆炸事故暴露出我国化工园区安全问题突出&#xff0c;特别是在安全风险管控数字化转型、智能化升级方面存在明显短板和不足&#xff0c;尤其突出的痛点&#xff1a;化工园区的日常管理方式较为粗…