0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

Rockchip平台数字音频接口(DAI)全维度解析与调试指南

jf_44130326 来源:Linux1024 作者:Linux1024 2026-05-28 07:09 次阅读
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

数字音频接口(DAI)是Rockchip系列SoC实现音频数据传输、编解码与交互的核心组件,其配置与调试直接决定了音频设备的音质、兼容性与稳定性。本文档聚焦Rockchip平台主流的DAI接口技术体系,从时序图解读方法入手,系统剖析I2S、I2S-TDM、PDM、DCODEC、VAD、SPDIF等核心接口的协议原理、时钟计算、时序特征、DTS配置及调试技巧,旨在为音频开发工程师提供从理论到实战的全维度参考,解决调试过程中常见的时序不匹配、时钟异常、多通道复用等关键问题。

1.1如何看懂时序图

在深入各个DAI接口之前,先统一讲解如何看懂时序图。这是阅读芯片手册和调试音频问题时最重要的技能。

1.1.1时序图的基本元素

时序图本质上是一组信号随时间变化的波形图,核心元素包括:

元素 含义 怎么看
水平轴 时间轴,从左到右时间递增 越靠右的事件越晚发生
高低电平 每个信号线只有0(低电平)和1(高电平)两种状态 高= 1,低= 0
信号线 每个信号单独一行,水平排列 从上到下阅读每条信号线
时钟边沿 上升沿(0→1)和下降沿(1→0) 上升沿用/表示,下降沿用表示
位周期 一个bit持续的时间 = 1 / BCLK频率
帧(Frame) 一个完整的采样周期(包含所有声道) 以LRCK/FSYNC的一个完整周期为单位

1.1.2读时序图的步骤

第一步:找到时钟信号

在时序图中先找到BCLK(位时钟)和LRCK(帧时钟/声道时钟)这两条线。它们是"标尺",所有数据信号都参照时钟来解读。

wKgZO2oXecqAYFiXAACE161-xPE021.png

图:I2S Normal Mode时序图—注意LRCK跳变后延迟1个BCLK数据才开始(MSB从第2个BCLK开始)

第二步:确认数据在哪个时钟边沿被采样

数据发送方(Tx)在某个时钟边沿改变数据,接收方(Rx)在另一个时钟边沿读取数据。通常:

•Tx在BCLK的下降沿发送数据

•Rx在BCLK的上升沿采样数据

这样保证了数据在采样时是稳定的。

第三步:数出帧结构和数据对齐

以LRCK为基准,看一个帧内有多少个BCLK周期,数据从第几个BCLK开始对齐。不同格式的对齐方式不同,见下方各格式的时序图。

第四步:对照格式标准验证

将观察到的特征对照标准定义:

格式 LRCK高电平声道 LRCK低电平声道 数据开始位置 典型位延迟
I2S 左声道 右声道 第2个BCLK 1 BCLK
Left Justified 左声道 右声道 第1个BCLK 0 BCLK
Right Justified 左声道 右声道 从LSB反推 取决于位深
PCM-A(DSP-A) 左声道(BCLK上升沿) 右声道 第2个BCLK 1 BCLK
PCM-B(DSP-B) 左声道(BCLK上升沿) 右声道 第1个BCLK 0 BCLK

1.1.3用示波器实测时序图的方法

在板子上调试时,用示波器(或逻辑分析仪)可以抓取真实时序:

 示波器探头连接: CH1 ──► BCLK (位时钟) CH2 ──► LRCK (帧时钟/声道时钟) CH3 ──► SDO  (数据输出) CH4 ──► MCLK (主时钟,可选) 示波器设置: - 触发源:CH1 (BCLK) - 触发模式:Normal - 时间基准:根据 BCLK 频率调整 - 通道耦合:DC

实测时序图vs手册时序图的对照方法

1.用示波器抓取4条信号的波形

2.将示波器截图与芯片手册中的时序图并排对比

3.关键检查点:

○LRCK高低电平宽度是否相等(I2S模式下)

○SDO数据是否在LRCK跳变后1个BCLK才开始(I2S标准)

○数据位数是否和配置一致(16/24/32 bit)

○BCLK频率=采样率×位深×声道数

1.2 I2S接口详解

1.2.1 I2S协议原理

I2S(Inter-IC Sound)是由Philips于1986年定义的数字音频数据传输标准,是目前最通用的数字音频接口协议。

I2S只有3根信号线(不含MCLK):

信号线 全称 功能 方向
BCLK Bit Clock 位时钟,每个bit传输一个周期 发送方或接收方提供
LRCK / WS Word Select / Left Right Clock 帧时钟,区分左声道和右声道 与BCLK同源
SDI / SDO Serial Data In / Out 串行数据线,传输音频采样值 双向各一条

外加一条MCLK(Master Clock),不是I2S协议要求的,但绝大多数CODEC需要它来驱动内部PLL/ADC/DAC

1.2.2 I2S时钟频率计算

这是调试中最容易出错的地方,务必理解清楚:

BCLK频率 = 采样率 × 采样位深 × 声道数LRCK频率 = 采样率MCLK频率 = 采样率 × mclk-fs(通常256或512)

举例:48kHz采样率,16 bit,立体声(2声道)

BCLK=48000×16×2=1,536,000Hz =1.536MHzLRCK=48,000Hz =48kHzMCLK=48000×256=12,288,000Hz =12.288MHz(假设 mclk-fs =256)

验证方法LinuxAndroid通用):

cat/sys/kernel/debug/clk/clk_summary | grep -E'i2s|bclk|lrck|mclk'

1.2.3 I2S标准格式

I2S协议定义了3种标准格式,区别在于数据在帧中的对齐位置

I2S标准格式(I2S Format)

数据延迟1个BCLK才开始,LRCK在BCLK边沿同时变化:

wKgZO2oXecqAdX0sAACE161-xPE696.png

图:I2S Normal Mode时序图— LRCK跳变后延迟1个BCLK,数据MSB从第2个BCLK开始

I2S格式的核心特征

•LRCK高电平=左声道,LRCK低电平=右声道

•LRCK与BCLK边沿同时变化(无延迟)

•SDO数据在LRCK跳变后延迟1个BCLK才开始

•每个声道传输N个bit(N =采样位深),不足填充0

为什么延迟1个BCLK?

因为LRCK和BCLK同时变化,如果数据也在LRCK跳变时立即变化,接收方无法判断数据是新的还是旧的。延迟1个BCLK后,接收方先在LRCK跳变的上升沿确认声道切换,再在下一个BCLK上升沿采样第一个数据位。

Left Justified格式(左对齐)

数据不延迟,从第1个BCLK就开始:

wKgZO2oXecqAX4e9AADlYEVwRXo218.png

图:I2S Left Justified Mode时序图— LRCK跳变后数据立即从MSB开始,无延迟

Left Justified的核心特征

•LRCK高电平=左声道,LRCK低电平=右声道

•SDO数据在LRCK跳变后立即开始,无延迟

•高位先传(MSB first)

•如果数据位深< BCLK 位数,低位填充 0

I2S与Left Justified的区别

特征 I2S Left Justified
数据开始位置 第2个BCLK 第1个BCLK
LRCK与数据的关系 延迟1 BCLK 同步
常见用途 标准音频传输 一些DAC内部连接

Right Justified格式(右对齐)

数据的LSB对齐帧的末尾,数据在帧中靠后放置:

wKgZO2oXecuAbNpjAADOcMnyELY918.png

Right Justified的核心特征

•LRCK高电平=左声道,LRCK低电平=右声道

•数据的LSB对齐帧末尾

•如果数据位深< BCLK 位数,高位填充 0(与 Left Justified 相反)

•不常用,主要用于特定的DAC芯片

1.2.4 PCM格式

PCM(Pulse Code Modulation)格式是I2S的变种,主要用于电话语音和蓝牙音频。与I2S的区别在于LRCK的脉冲特性

PCM-A(DSP-A,Delayed)

LRCK产生一个1 BCLK宽的脉冲,数据延迟1个BCLK开始:

wKgZO2oXecuAAjZuAAB5YWwM910308.png

图:PCM-A (DSP-A) Mode时序图— FS脉冲1 SCLK宽,数据延迟1 SCLK后开始

PCM-B(DSP-B,No Delay)

LRCK产生一个1 BCLK宽的脉冲,数据立即开始:

wKgZO2oXecuAO2NIAAB2L3AZHSU786.png

图:PCM-B (DSP-B) Mode时序图— FS脉冲后数据立即开始,无延迟

I2S与PCM的区别

特征 I2S PCM-A PCM-B
LRCK形状 50%占空比方波 1 BCLK宽脉冲 1 BCLK宽脉冲
LRCK高电平宽度 半个帧(半个声道) 1个BCLK 1个BCLK
数据开始延迟 1 BCLK 1 BCLK 0 BCLK
典型应用 高保真音频 蓝牙(HFP/HSP) 蓝牙/电话

1.2.5 Master / Slave模式

Master(主)和Slave(从)决定了谁产生时钟信号

模式 BCLK提供方 LRCK提供方 场景
Master(CPU为主) CPU DAI CPU DAI 外部CODEC不产生时钟,CPU驱动一切
Slave(CODEC为主) External CODEC External CODEC CODEC自带PLL生成精确时钟

Rockchip DTS配置

/* CPU DAI 为 Master */simple-audio-card,bitclock-master = <&cpu_dai>;simple-audio-card,frame-master = <&cpu_dai>;/* CODEC 为 Master */simple-audio-card,bitclock-master = <&codec_dai>;simple-audio-card,frame-master = <&codec_dai>;

用示波器判断主从

•断开CODEC,如果BCLK和LRCK还有信号→ CPU是Master

•断开CODEC,BCLK和LRCK消失→ CODEC是Master

1.2.6 MCLK的重要性

MCLK(Master Clock)不是I2S协议的一部分,但几乎所有CODEC都需要它:

wKgZO2oXecuAS27DAAGhXymOZBA703.png

MCLK频率与采样率的关系

MCLK= 采样率 × mclk-fs常见 mclk-fs 值:256:最常见,适用于8k~ 96kHz512:高采样率(192kHz)或高精度 CODEC128:低采样率或低功耗场景384:特殊 CODEC

MCLK校准

Rockchip提供rockchip,mclk-calibrateDTS属性,开启后会自动根据LRCK频率反推MCLK需要的频率:

&i2s0 {  rockchip,mclk-calibrate; /* 开启 MCLK 自动校准 */};

MCLK时钟源选择(以RK3588为例):

时钟源 精度 适用场景
clk_i2s_src PLL整数分频 普通应用
clk_i2s_frac PLL分数分频 高精度音频,44.1kHz系列
i2s_mclkin 外部时钟 需要精确同步的外部时钟源
xin_osc0_half 晶振直接分频 低延迟、低抖动场景

1.2.7 I2S BCLK-FS属性

rockchip,bclk-fs用于强制指定每个采样的BCLK位数:

&i2s0 {  rockchip,bclk-fs = <64>; /* 每采样 64 个 BCLK */};

何时需要设置bclk-fs?

当实际传输的位深小于BCLK位数时:

•16 bit音频,但BCLK周期为32 → bclk-fs = 32

•24 bit音频,但BCLK周期为32 → bclk-fs = 32

如果不设置,驱动会根据位深自动计算,但某些CODEC要求特定的BCLK位数。

1.2.8 I2S数据路由

Rockchip的I2S支持将发送/接收数据路由到不同的物理引脚:

&i2s0 { /* TX 路由:SDO3 → SDO2 → SDO1 → SDO0 */  rockchip,i2s-tx-route = <3 2 1 0>; /* RX 路由:SDI3 → SDI2 → SDI1 → SDI0 */  rockchip,i2s-rx-route = <3 2 1 0>;};

这个属性在PCB布线与默认路由不匹配时特别有用。

1.3 I2S-TDM接口详解

1.3.1什么是TDM?

TDM(Time Division Multiplexing,时分复用)是在单条数据线上分时传输多个独立声道数据的技术。

I2S vs TDM的本质区别

wKgZO2oXecuALhmEAAF_K5V3GTg487.png

为什么需要TDM?

•一个I2S接口传输8通道音频(8路麦克风阵列)

•多个CODEC共享一个I2S接口

•节省PCB引脚和走线

1.3.2 TDM帧结构

wKgZO2oXecuAYD7UAAEHmrRyOE8776.png

1.3.3 TDM关键参数

Slot数量:一帧中有多少个时隙,最多8个

dai-tdm-slot-num= <8>;  /* 8 个 Slot */

Slot宽度:每个Slot占用多少个BCLK

dai-tdm-slot-width= <32>; /* 每个 Slot 32 个 BCLK */

有效数据位宽:每个Slot中实际传输的音频数据位数(≤ Slot宽度)

Slot宽度 =32bits有效数据 =24bits填充   =8bits(在 LSB 端或 MSB 端补0)

TDM移位模式(Rockchip特有):

模式 描述 适用场景
Normal Slot0紧跟FSYNC 标准TDM
Left Shift 1/2 cycle Slot向左偏移1/2个BCLK 匹配特定CODEC的时序要求
Left Shift 1 cycle Slot向左偏移1个BCLK 匹配特定CODEC的时序要求
Left Shift 2 cycle Slot向左偏移2个BCLK 匹配特定CODEC的时序要求
Right Shift Slot向右偏移 匹配特定CODEC的时序要求

1.3.4 TDM的FSYNC特性

TDM使用FSYNC(Frame Sync)信号代替I2S的LRCK:

模式 FSYNC形状 描述
Half Frame 占帧的50% 高电平半帧+低电平半帧,类似I2S的LRCK
Whole Frame 1 BCLK宽脉冲 类似PCM的脉冲模式
1~7 BCLK宽 自定义脉冲宽度 灵活适配各种CODEC

&i2s0 {  rockchip,tdm-fsync-half-frame; /* 使用 half-frame 模式 */};

1.3.5 I2S-TDM的TX/RX时钟模式

rockchip,clk-trcm控制TDM模式下TX和RX的时钟共享方式:

TX时钟 RX时钟 说明
0 独立 独立 TX和RX各有独立的BCLK/LRCK,全双工
1 共享 共享 TX和RX共享BCLK/LRCK,节省引脚
2 TX提供 RX共享TX TX产生时钟,RX用TX的时钟
Plaintext
&i2s0 {
rockchip,clk-trcm = <1>;/* TX/RX 共享时钟 */
};

1.3.6 TDM时序图解读

wKgZO2oXecuAFQixAACnhS01_eU407.png

图:TDM Mode时序图— 8个Slot,每个32 bit,FSYNC半帧模式,一帧= 256 BCLK

用示波器验证TDM时序

关键检查点:1.FSYNC 频率 = 采样率(与 I2S 的 LRCK 相同)2.一帧内的 BCLK 数量 = Slot 数量 × Slot 宽度 例:8 Slot × 32 bit = 256 BCLK / 帧3.BCLK 频率 = 采样率 × Slot 数量 × Slot 宽度 例:48kHz × 8 × 32 = 12.288 MHz4.每个 Slot 内的数据 MSB 是否在正确位置开始

1.4 PDM接口详解

1.4.1 PDM协议原理

PDM(Pulse Density Modulation,脉冲密度调制)是一种1-bit数字音频编码方式,主要用于连接MEMS数字麦克风。

PDM与I2S的本质区别

特性 I2S PDM
数据线位宽 多bit(16/24/32) 1 bit
数据编码 PCM采样值 脉冲密度(Σ-Δ调制)
时钟线 BCLK + LRCK PDM_CLK
麦克风类型 模拟MIC +外部ADC 数字MEMS MIC
传输方向 双向(TX + RX) 仅RX(麦克风只发送)

PDM只有2根信号线

信号线 功能 方向
PDM_CLK PDM时钟,由SoC提供给麦克风 SoC → MIC
PDM_DATA 1-bit数据流,由麦克风发送给SoC MIC → SoC

1.4.2 PDM工作原理

MEMS麦克风内部包含:

声波 ──► 振膜 ──► 模拟电信号 ──► Σ-Δ 调制器 ──► 1-bit PDM 数据流 ──► PDM_DATA 引脚

Σ-Δ(Sigma-Delta)调制器的作用是将模拟信号转换为1-bit数字流:

•信号幅度大→ 1的密度高(脉冲密集)

•信号幅度小→ 0的密度高(脉冲稀疏)

•静音→ 0和1各占50%

wKgZO2oXecuAFPghAAGcSXsH2uI764.png

图:PDM 工作原理 — MEMS 麦克风内部 Σ-Δ 调制器将模拟信号转换为 1-bit 脉冲密度调制数据流

SoC收到1-bit PDM数据流后,通过抽取滤波器(Decimation Filter)将其转换为多bit PCM数据:

PDM1-bit 流 ──► 抽取滤波器 ──► 下采样 ──► 多 bit PCM 数据 (1-bit, 高频)          (16/24-bit, 低频)

1.4.3 PDM通道与数据路径

Rockchip PDM控制器最多支持8个麦克风通道,通过4条SDI数据路径接收:

wKgZO2oXecyAOoMIAAGLVfG5G4E739.png

数据路径映射

SDI路径 通道 说明
SDI0 CH0 + CH1 第1、2个麦克风
SDI1 CH2 + CH3 第3、4个麦克风
SDI2 CH4 + CH5 第5、6个麦克风
SDI3 CH6 + CH7 第7、8个麦克风

PDM时钟与采样率的关系

PDM_CLK 支持的采样率
1.024 MHz 8k, 16k, 32k, 64k
1.4112 MHz 11.025k, 22.05k, 44.1k, 88.2k
1.536 MHz 12k, 24k, 48k, 96k
2.048 MHz 8k, 16k, 32k, 64k, 128k
2.8224 MHz 11.025k, 22.05k, 44.1k, 88.2k, 176.4k
3.072 MHz 12k, 24k, 48k, 96k, 192k
4.096 MHz 8k, 16k, 32k, 64k, 128k(高频,高SNR)
5.6448 MHz 11.025k ~ 176.4k(高频,高SNR)
6.144 MHz 12k ~ 192k(高频,高SNR)

高频时钟的好处:更高的PDM_CLK意味着更低的时钟抖动影响和更高的信噪比(SNR)。V3版本PDM控制器新增了对4.096/5.644/6.144 MHz高频时钟的支持。

1.4.4 PDM Path Map

rockchip,path-map用于映射SDI路径到内部通道:

&pdm_8ch { /* SDI3 → CH0, SDI2 → CH1, SDI1 → CH2, SDI0 → CH3 */  rockchip,path-map= <3 2 1 0>;};

当PCB上MIC引脚与SoC的SDI引脚连接顺序不一致时,通过path-map调整。

1.4.5 PDM时序图解读

wKgZO2oXecyADAhkAACO3DwQ88k712.png

图:PDM接口时序—上方PDM_CLK为持续方波,下方PDM_DATA为Sigma-Delta调制的1-bit流,脉冲密度高=音量大,脉冲密度低=音量小

用示波器验证PDM时序

 关键检查点: 1. PDM_CLK 频率是否在预期值(如 3.072 MHz) 2. PDM_DATA 在 PDM_CLK 的哪个边沿变化 3. 静音时 PDM_DATA 的 0/1 比例是否接近 50% 4. 大音量时 1 的密度是否明显增加

1.4.6 PDM时钟抖动对SNR的影响

PDM时钟抖动(Jitter)会直接影响信噪比(SNR):

PDM_CLK抖动 SNR损失
< 1 ns 可忽略
1 ~ 2 ns 1~2 dB
3.8 ns 4~6 dB
> 5 ns > 6 dB,严重影响

降低抖动的方法

•使用分数PLL(clk_i2s_frac)而非整数PLL

•选择更高频率的PDM_CLK(6.144MHz比3.072MHz抗抖动更强)

•PCB上PDM_CLK走线尽量短,远离高速信号

1.4.7 PDM vs I2S DMIC

除了PDM接口,Rockchip也支持通过I2S接口连接DMIC(Digital MIC):

I2SDMIC 方案: DMIC ──► I2S 接口 ──► 内部 decimation ──► PCM 数据     (BCLK/LRCK/SDO) PDM 方案: PDM MIC ──► PDM 接口 ──► 内部 decimation ──► PCM 数据      (PDM_CLK/PDM_DATA) 区别: - I2S DMIC 使用标准 I2S 协议,兼容性更好 - PDM 使用1-bit 协议,节省引脚,适合多麦克风阵列

1.5 DCODEC(Digital Codec)详解

1.5.1 DCODEC是什么

DCODEC是Rockchip SoC内部集成的数字音频编解码器,包含:

DCODEC 内部结构: ADC (3路) ──► 混音器 ──► DAC (2路) ──► 扬声器/耳机  │              │ MICIN(3ch)        LINEOUT(2ch)                 │               DSM 输出(可选)                 │               Class-D PA

DCODEC的特点

•无需外部CODEC芯片,SoC内置,节省BOM成本

•3路ADC(可接3个模拟MIC)+ 2路DAC(可接扬声器/耳机)

•支持PGA(可编程增益)和ALC(自动电平控制)

•可外接DSM(数字sigma-delta调制器)直接驱动Class-D功放

1.5.2 DCODEC时钟同步模式

rockchip,clk-sync-mode用于配置ADC/DAC的时钟同步方式:

&dig_acodec {  rockchip,clk-sync-mode; /* ADC 与 DAC 共享时钟 */};

开启后:ADC和DAC使用相同的时钟源,确保录播同步。
关闭时:ADC和DAC可独立设置时钟,适用于不同采样率的录播场景。

1.5.3 DSM PWM输出模式

DSM(Digital Sigma-Delta Modulator)可以将DAC输出直接通过PWM驱动Class-D功放,无需外接DAC芯片:

&dig_acodec {  rockchip,pwm-output-mode; /* 开启 DSM PWM 输出 */  pinctrl-names ="default";  pinctrl-0= <&audiopwmoutdiff_pins>;};

DSM PWM输出链路

wKgZO2oXecyAWot2AAGB0lJSL6o927.png

这种方式适合低成本的便携设备,但音质低于外接CODEC方案。

1.6 VAD(Voice Activity Detection)详解

1.6.1 VAD是什么

VAD(语音活动检测)是一种硬件加速的语音唤醒方案,核心功能是:

MIC音频 ──► VAD 硬件模块         │         ├──► 持续监听语音幅度         ├──► 检测到语音 → 触发中断唤醒 CPU         └──► 未检测到语音 → CPU 保持休眠

VAD与传统软件方案的区别

特性 软件VAD 硬件VAD
CPU功耗 需持续运行,耗电 CPU可休眠,VAD硬件独立工作
响应延迟 取决于CPU调度 硬件实时检测,延迟低
实现复杂度 需要ASR算法 硬件内置,配置即可

1.6.2 VAD数据流

PDM/I2S MIC ──► DAI FIFO ──► VAD 模块 ──► SRAM/DDR缓冲区                  │                  ├──►语音检测                  │  │                  │  ├──►有语音──►中断──►CPU唤醒                  │  └──►无语音──►继续监听                  │                  └──►唤醒后数据可用

1.6.3 VAD工作模式

rockchip,mode控制VAD的工作模式:

模式 描述
0 关闭 VAD不工作
1 SRAM模式 数据存到SRAM,唤醒后再搬运到DDR(低功耗)
2 DDR模式 数据直接存到DDR(DMA模式)

&vad {  rockchip,mode = <1>; /* SRAM 低功耗模式 */};

1.6.4 VAD DTS配置详解

&vad {  status ="okay";  rockchip,audio-src = <&pdm_8ch>;  /* VAD 的数据源 */  rockchip,det-channel = <2>;    /* 检测第 2 个通道 */  rockchip,mode = <1>;        /* SRAM 模式 */  rockchip,buffer-time-ms = <100>;  /* 缓存 100ms 数据 */};

各参数详解

•audio-src:指定VAD监听哪个DAI(PDM / I2S),VAD不直接连MIC,而是从DAI的FIFO中取数据

•det-channel:指定检测哪个声道(0 =所有通道,2 =第2通道)

•buffer-time-ms:预缓存时间,单位毫秒。例如100ms @ 16kHz / 16bit / 8ch = 204800 bytes

1.7 SPDIF接口详解

1.7.1 SPDIF协议原理

SPDIF(Sony/Philips Digital Interface Format)是一种数字音频传输协议,用于设备间的数字音频传输,无需DAC/ADC转换。

SPDIF的特点

•仅1根信号线(同轴电缆或光纤)

•传输的是编码后的数字音频帧(不是原始PCM)

•支持2声道LPCM(16/20/24 bit)

•支持压缩音频(Dolby Digital, DTS)

•使用BMC(Biphase Mark Code)编码:每个bit用2个时钟周期表示

1.7.2 SPDIF TX vs SPDIF RX

特性 SPDIF TX SPDIF RX
方向 SoC发送→外部设备 外部设备→ SoC接收
用途 连接功放/AV接收器/光纤输出 接收电视/机顶盒的光纤输入
Rockchip支持 多数芯片 RK3308, RK3576, RK3588

1.7.3 SPDIF帧结构

wKgZO2oXecyAfaN-AAJssHNbEN8335.png

1.7.4 SPDIF时序解读

wKgZO2oXecyAXrzHAAGKDxlB5ug631.png

1.7.5 SPDIF传输格式

格式 描述 位深
LPCM 线性PCM(未压缩立体声) 16/20/24 bits
Non-linear PCM 非压缩多声道(IEC61937) 16/24 bits
DD Dolby Digital(5.1声道) 压缩
DD+ Dolby Digital Plus 压缩

1.7.6 SPDIF调试

# 检查 SPDIF 时钟cat/sys/kernel/debug/clk/clk_summary | grep spdif# 检查 SPDIF 寄存器cat/sys/kernel/debug/regmap/0xfe4b0000/registers # RK3588 SPDIF_TX0# 测试播放(输出到光纤/同轴)aplay -D hw:0,1 -f S16_LE -r 48000 -c 2 test.wav

1.8各DAI接口对比总结

特性 I2S I2S-TDM PDM DCODEC VAD SPDIF
信号线数 3+MCLK 3+MCLK 2 内置 1
最大通道数 2 8 8 3ADC+2DAC 8 2
位深 16-32 bit 16-32 bit 16-24 bit 16 bit 16-24 bit 16-24 bit
采样率 8k-192k 8k-192k 8k-192k 8k-48k 8k-48k 32k-192k
传输方向 TX+RX TX+RX RX only TX+RX RX only TX/RX
典型应用 通用音频 多通道音频 MIC阵列 低成本音频 语音唤醒 数字音频传输
芯片支持 全部 大部分 大部分 部分 RK3308/RK3588 大部分

1.9小结

本部分详细讲解了Rockchip平台支持的6种DAI接口:

I2S:最通用的2声道音频接口,支持I2S/Left Justified/Right Justified三种格式和PCM-A/PCM-B两种PCM格式

I2S-TDM:I2S的扩展,通过时分复用支持最多8通道,关键在于Slot数量和FSYNC配置

PDM:专为数字麦克风设计的1-bit接口,关键是PDM时钟频率选择和时钟抖动控制

DCODEC:SoC内置数字编解码器,适合低成本方案,支持DSM PWM直接驱动PA

VAD:硬件语音活动检测,关键是SRAM低功耗模式和预缓存配置

SPDIF:数字音频传输协议,支持LPCM和压缩音频,关键是BMC编码理解

阅读时序图的核心方法:先找时钟信号(BCLK/LRCK)作为标尺,确认数据采样边沿,数出帧结构和数据对齐位置,最后对照标准格式验证。

审核编辑 黄宇

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 音频接口
    +关注

    关注

    1

    文章

    108

    浏览量

    65216
  • Rockchip
    +关注

    关注

    0

    文章

    95

    浏览量

    19701
收藏 人收藏
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

    评论

    相关推荐
    热点推荐

    从模拟耳机插孔升级为数字音频接口的应用设计

    从模拟耳机插孔升级为数字音频接口的设计过程 前言:随着制造商逐步淘汰模拟耳机插孔,数字音频接口变得越来越普及
    的头像 发表于 09-18 06:23 8407次阅读
    从模拟耳机插孔升级为<b class='flag-5'>数字音频接口</b>的应用设计

    音频信号和数字音频信号链的区别

    数字音频接口DAI,即Digital Audio Interfaces,顾名思义,DAI表示在板级或板间传输数字音频信号的方式。相比于模拟接口
    发表于 10-17 09:16 3593次阅读

    I2S,、PCM和PDM等数字音频接口介绍

    数字音频接口DAI,即Digital Audio Interfaces,顾名思义,DAI表示在板级或板间传输数字音频信号的方式。相比于模拟接口
    的头像 发表于 11-03 14:23 1.9w次阅读

    还有哪些你没见过?数字音频接口入门

    还有哪些你没见过?数字音频接口入门  前言:  上一篇接口介绍文章我们已经整理出来呈现给大家了(《你有几个不认识?模拟音频接口详解》),今天我们为大家介绍常见的数字信号
    发表于 02-27 16:37

    具有数字音频接口4通道Delta-Sigma DAC的评估板

    AKD4414-SA,用于支持DVD音频的AK4414 32位,4通道DAC评估板。 AKD4414-SA具有数字音频接口,可通过光纤或同轴连接器与数字音频系统连接
    发表于 07-28 10:31

    数字音频接口的优势是什么

    数字音频接口的优势模拟耳机插孔的其他选择使用USB的数字音频
    发表于 03-09 07:35

    STM32F2技术培训_数字音频接口_I2S

    STM32F2技术培训_数字音频接口_I2S
    发表于 12-03 17:35 0次下载

    数字音频接口有哪些类型

    数字音频接口方面,我们其实讲的更多的是传输协议或标准。在接口的物理外观上看,你很难看出它是哪类型的接口
    发表于 06-08 14:47 1.9w次阅读

    基于LPC2138的AES3数字音频接口设计

    电子发烧友网站提供《基于LPC2138的AES3数字音频接口设计.pdf》资料免费下载
    发表于 10-24 10:05 1次下载
    基于LPC2138的AES3<b class='flag-5'>数字音频接口</b>设计

    DIX4192-Q1:高度集成的数字音频接口芯片解析

    DIX4192-Q1:高度集成的数字音频接口芯片解析数字音频领域,高度集成的芯片解决方案能够显著简化设计流程、提高系统性能。DIX4192-Q1就是这样一款值得关注的芯片,它集成了数字音频
    的头像 发表于 01-29 15:40 418次阅读

    PCM9211:216 - kHz数字音频接口收发器的深度解析

    PCM9211:216 - kHz数字音频接口收发器的深度解析 在当今数字音频飞速发展的时代,音频处理设备对于音质、功能和集成度的要求越来
    的头像 发表于 02-02 09:15 871次阅读

    德州仪器DIR9001-Q1:高性能数字音频接口接收器解析

    德州仪器DIR9001-Q1:高性能数字音频接口接收器解析 在当今数字音频技术飞速发展的时代,数字音频接口接收器作为
    的头像 发表于 02-02 17:40 1368次阅读

    探索DIR9001:高性能数字音频接口接收器的深度剖析

    探索DIR9001:高性能数字音频接口接收器的深度剖析 在数字音频领域,一款优秀的数字音频接口接收器对于保障音频质量和系统稳定性至关重要。今天,我们就来深入了解一下德州仪器(TI)推出
    的头像 发表于 02-03 09:15 805次阅读

    DIX4192:高度集成的数字音频接口芯片的深度剖析

    DIX4192:高度集成的数字音频接口芯片的深度剖析 在数字音频系统的设计领域,一款优秀的音频接口芯片能显著提升系统性能和设计灵活性。DIX4192就是这样一款高度集成的CMOS设备,专门为专业
    的头像 发表于 02-03 10:05 354次阅读

    深入解析LC89091JA数字音频接口接收器

    深入解析LC89091JA数字音频接口接收器 在当今数字音频飞速发展的时代,数字音频接口接收器扮演着至关重要的角色。今天我们要详细探讨的是
    的头像 发表于 02-11 16:20 605次阅读