HDMI协议介绍(五)--Audio

news2024/11/18 18:22:53

基础知识

I2S(inter-IC sound bus)飞利浦公司制定的标准,既规定了硬件接口规范,也规定了数字音频数据格式。

硬件接口规范

        I2S接口有3个主要信号:

时钟信号 Serial Clock

        串行时钟SCK,也叫位时钟(BCLK),对应数字音频的每一位数据。SCLK的频率=2×采样频率×采样位数 

左右声道选择信号 Word Select

        WS信号有时也称帧时钟LRCK,用于切换左右声道的数据。WS是声道选择信号,表明数据发送端所选择的声道。当:WS=0,表示选择声道 ,WS=1,表示选择声道。LRCK的频率等于采样频率

数据信号 Serial Data

        串行数据SD在WS变化后的第一个SCK脉冲,先传输最高位MSB。

有时为了使系统间能够更好地同步,还需要另外传输一个信号MCLK,称为主时钟,是采样频率的256倍或384倍(具体倍数由codec决定)。

I2S 总线上同一时刻只能存在一个Master设备,提供时钟的设备是Master设备。

I2S接口模式

I2S硬件接口分为三种工作模式:

  • I2S Phillips Standard I2S模式
  • Left Justified Standard 左对齐模式
  • Right Justified Standard 右对齐模式

左对齐模式:左声道数据MSB在WCLK上升沿之后BCLK的第一个上升沿有效;右声道数据MSB在WCLK下降沿之后SBCLK第一个上升沿有效。

右对齐模式:左声道数据LSB在WCLK下降沿前一个BCLK上升沿有效,右声道数据LSB在WCLK上升沿前一个BCLK上升沿有效。

左右对齐模式LRCK/WS高电平对应左声道,低电平对应右声道;而I2S模式低电平对应左声道,高电平对应右声道。

PCM

PCM (Pulse Code Modulation) 一种用数字表示采样模拟信号的方法。

Sampling(采样)

Sampling(采样)表示处理,实际上就是让采样数据能够完全表示原始信号,且采样数据能够通过重构还原成原始信号的过程。

  • 蓝色曲线:表示音频原始信号。
  • 黑色垂直线段:表示当前时间点对原始信号的一次采样
  • 黑色点:表示采样获取的一系列离散样本。

采样率表示每秒采样的数量(单位:HZ),根据场景的不同,采样率也有所不同,采样率越高,声音的还原程度越高,质量就越好,同时占用空间会变大。

Quantization(量化)

原始信号采样后,需要通过量化来描述采样数据的大小。

量化处理过程,就是将时间连续的信号,处理成时间离散的信号,并用实数表示。这些实数将被转换为二进制数用于模拟信号的存储和传输。

上面的图片的例子是16bit位深量化过程。bit-depth(位深):用来描述存储数字信号值的bit数,较常用的模拟信号位深如下:

  • 8-bit:2^8 = 256 levels,有256个等级可以用于衡量真实的模拟信号。
  • 16-bit:2^16 = 65,536 levels,有65,536个等级可以用于衡量真实的模拟信号。
  • 24-bit:2^24 = 16,666,216 levels,有16,666,216个等级可以用于衡量真实的模拟信号。

可以看到,位深越大,对模拟信号的描述将越真实,对声音的描述更加准确。

TDM

TDM(Time Division Multiplexing)时分复用,PCM接口支持同时传输多达N个声道的数据。
Mode A:数据在FSYNC有效后,BCLK的第2个上升沿有效

Mode B:数据在FSYNC有效后,BCLK的第1个上升沿有效

PCM vs I2S

PCM硬件接口上传输的是PCM编码的数据,I2S上传输的也是PCM编码的数据,I2S不过是PCM接口的特例。

应用PCM音频接口传输单声道数据(如麦克风)时,其接口名称为PCM;双声道经常使用I2S;而TDM则表示传输两个及以上声道的数据,同时区别于I2S特定的格式。

HDMI Audio

audio info frame

ACR

Audio Clock Regeneration 音频时钟重生成,Audio data是在HDMI Data Island周期以packet形式发送的,Data Island并没有发送Audio Clock,根据HDMI Spec规定,需要ACR来恢复Audio Clock

TMDS Clock和Audio参考时钟(128倍采样率)的关系:

        128 · f S = f TMDS_clock · N / CTS

N值需要发送给sink端,sink端根据公式恢复Audio Clock。

N值与Audio 采样率以及video mode有关,有寄存器需要配置,CTS值可以手动配置也可以自动计算。

某款HDMI Controller支持的I2S接口,I2S属于PCM的一个特例,延迟一个clock。MSB高位对齐。

I2S的bitmapping

不同位宽的对齐方式

Audio调的不多,写得简单。

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

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

相关文章

autohotkey 记录

https://www.autohotkey.com/ 记录 https://www.autohotkey.com/docs/v2/ https://www.autohotkey.com/docs/v2/lib/Send.htm https://www.autohotkey.com/boards/ #z::Run "https://www.autohotkey.com" ; WinZ #n::Run "mspaint" ; Winn^!n:: ; C…

【香橙派-OpenCV-Torch-dlib】TF损坏变成RAW格式解决方案及python环境配置

前言 本文将介绍在香橙派(Orange Pi)开发板上进行软件配置和环境搭建的详细步骤,以便运行Python应用程序。这涵盖了以下主要内容: 获取所需软件:提供了香橙派操作系统和balenaEtcher工具的下载链接,以确保…

Lumos-az/MiniSQL阅读笔记

文章目录 处理SQL创建创建表RecordManager部分CatalogManager部分 创建索引IndexManager::createIndex部分API::createNewIndex部分CatalogManager::createIndex部分 插入删除删除表删除记录? 查询B树gif演示B树增删:插入:删除: 项目源码&am…

Python字典全解析:从基础到高级应用

更多资料获取 📚 个人网站:涛哥聊Python 字典是一种强大而多才多艺的数据类型,它以键-值对的形式储存信息,让我们能够以惊人的效率处理和管理数据。 字典能够将键和值关联在一起,使得数据的存储和检索变得非常高效。…

信息系统项目管理师第四版学习笔记——项目整合管理

管理基础 项目整合管理由项目经理负责,项目经理负责整合所有其他知识领域的成果,并掌握项目总体情况。项目整合管理的责任不能被授权或转移,项目经理必须对整个项目承担最终责任。 项目管理过程中,会使用并产生两大类文件&#…

git常用命令和开发常用场景

git命令 git init 创建一个空的git仓库或者重新初始化已有仓库 git clone [url] 将存储库克隆到新目录 git add 添加内容到索引 git status 显示工作树状态 git commit -m "" 记录仓库的修改 git reset 重置当前HEAD到指定的状态 git reset –-soft:…

vmware虚拟机启动、使用ubuntu问题

安装Ubuntu时,无法连接虚拟设备sata0:1,因为主机上没有相应的设备 安装Ubuntu时,无法连接虚拟设备sata0:1,因为主机上没有相应的设备_无法连接虚拟设备 sata0:1,因为主机上没有相应的设备-CSDN博客 无法连接虚拟设备 sata0:1,因…

AI视频监控平台EasyCVR接入海康SDK出现异常,该如何解决?

安防监控系统/视频集中存储/云存储/视频监控管理平台EasyCVR能在复杂的网络环境中,将分散的各类视频资源进行统一汇聚、整合、集中管理,实现视频资源的鉴权管理、按需调阅、全网分发、智能分析等。 有用户反馈,在使用视频监控系统EasyCVR接入…

Android NFC开发详解:NFC读卡实例解析及总结

文章目录 前言一、什么是NFC?二、基础知识1.什么是NDEF?2.NFC技术的操作模式3.标签的技术类型4.实现方式的分类5.流程三、获取标签内容1.检查环境2.获取NFC标签2.1 Manifest中注册的方式获取Tag2.1 前台Activity捕获的方式获取Tag四、解析标签数据1. M1…

笔记37:全卷积网络FCN结构详解

本地笔记:D:\work_file\DeepLearning_Learning\03_个人笔记\FCN学习 a a a a a a a a a a a a a a a a a a a a a a a

五眼联盟指的是什么?台湾社会中的“特助”指的是什么?计算机组成原理人工智能

目录 五眼联盟指的是什么? 台湾社会中的“特助”指的是什么? 计算机组成原理 人工智能 落土八分命 「一部悲劇用喜劇呈現,那才是真正的悲劇。」 那个声音到底是什么呢? 被困在了大佛中 五眼联盟指的是什么? 五…

该选择什么行情时做上证50ETF期权?

期权交易概述 上证50ETF期权是基于上海证券交易所上证50ETF基金而衍生的金融衍生品,作为金融市场的重要工具,为投资者提供了丰富多样的交易机会,下文介绍该选择什么行情时做上证50ETF期权?本文来自:期权酱 随着全球经济的不断发展和资本市场的…

2024年研究生网上报名各类问题类似参考解答系列之—社保类疑问

研究生网上报名的流程看似简单,但由于考生众多,情况各异,也会出现各类在政策中并不能直接找到答案的问题。杭州达立易考教育通过2023届研究生网报过程中考生所反映的一些问题以及官方给予的参考答案和解决思路,帮助大家做个梳理&a…

css 写带三角形的对话框,空心的三角形边框

首先,我们要会先实现一个小三角形; 思路:利用元素的 border 属性,将其三个方向的 border-color 值设为透明色(或者和其父元素的背景色一致,形成视觉差,俗称障眼法),剩下…

C400/A8/1/1/1/00 MAX-4/11/03/128/99/1/0/00

C400/A8/1/1/1/00 MAX-4/11/03/128/99/1/0/00 MakerBot CloudPrint简化了3D打印工作流程,提高了生产率,同时减少了项目之间的打印机停机时间。主要特性包括: 打印准备:用户可以直接从浏览器切片和准备3D打印。全新的全功能打印准备视图允许轻松定位和预…

vue js 实现页面在浏览器全屏切换

需求&#xff1a; 在浏览器中点击按钮实现页面的全屏与非全屏的切换。 如图&#xff1a; 全屏前&#xff1a; 全屏后&#xff1a; 具体实现代码如下&#xff1a; html&#xff1a; <template><div class"development-history" id"echarts-wrap&quo…

vscode 调试使用 make 编译的项目

1、首先点击运行 --> 启动调试&#xff1a; 2、选择g或gcc生成和调试活动文件&#xff1a; 3、出现下面提示是正常的&#xff0c;点击仍要调试&#xff1a; 点击打开“launch.json”&#xff1a; 4、此时会在项目工作目录下生成tsak.josn和launch.json文件&#xff1a; 如…

支持多种格式照片处理软件Lightroom Classic 2022 mac中文功能特点

Lightroom Classic 2022 mac是一款专业级数字图像处理软件&#xff0c;主要用于数字照片的后期处理和管理。它提供了丰富的工具和功能&#xff0c;可以帮助用户对照片进行调整、修饰、管理和分享。 Lightroom Classic 2022 mac软件功能和特点 RAW格式支持&#xff1a;Lightroo…

网络安全(骇客)—技术学习

1.网络安全是什么 网络安全可以基于攻击和防御视角来分类&#xff0c;我们经常听到的 “红队”、“渗透测试” 等就是研究攻击技术&#xff0c;而“蓝队”、“安全运营”、“安全运维”则研究防御技术。 2.网络安全市场 一、是市场需求量高&#xff1b; 二、则是发展相对成熟入…

JavaScript进阶(二十三):立即执行函数(匿名函数)( ( ) { } ( ) )含义解析

文章目录 一、前言二、立即执行函数2.1 立即执行函数使用的场景 三、拓展阅读 一、前言 前端项目改造过程中&#xff0c;引入的工具类实现如下&#xff1a; var tensquared(function(x) {return x*x; }(10)); 拆解以上语句如下&#xff1a; var tensquared xx; 这是赋值语句…