ZHCSXB4 October 2024 TAA3040
ADVANCE INFORMATION
数字音频数据通过数字音频串行接口 (ASI) 或音频总线,在主机处理器和 TAA3040 之间流动。这个高度灵活的 ASI 总线包含用于多通道运行的 TDM 模式、I2S 或左对齐协议格式支、可编程数据长度选项、各总线时钟线的主从灵活配置,以及直接与系统中多个器件进行通信的能力。
总线协议 TDM、I2S 或左平衡 (LJ) 格式可以通过使用 ASI_FORMAT[1:0]、P0_R7_D[7:6] 寄存器位进行选择。如表 6-2 和表 6-3 所示,这些模式都是最高有效字节 (MSB) 优先的脉冲编码调制 (PCM) 数据格式,输出通道数据字长可以通过配置 ASI_WLEN[1:0]、P0_R7_D[5:4] 寄存器位编程为 16、20、24 或 32 位。
P0_R7_D[7:6]:ASI_FORMAT[1:0] | 音频串行接口格式 |
---|---|
00(默认值) | 时分多路复用 (TDM) 模式 |
01 | IC 间音频 (I2S) 模式 |
10 | 左对齐 (LJ) 模式 |
11 | 保留(不使用此设置) |
P0_R7_D[5:4]:ASI_WLEN[1:0] | 音频输出通道数据字长 |
---|---|
00 | 输出通道数据字长设置为 16 位 |
01 | 输出通道数据字长设置为 20 位 |
10 | 输出通道数据字长设置为 24 位 |
11(默认值) | 输出通道数据字长设置为 32 位 |
帧同步引脚 FSYNC 在该音频总线协议中用于定义帧的起始,并具有与输出数据采样速率相同的频率。位时钟引脚 BCLK 用于通过串行总线在时钟沿输出数字音频数据。一个帧中的位时钟周期数必须能够容纳具有编程数据字长的多个器件活动输出通道。
一个帧包含多个时分通道时隙(最多 64 个),以允许一个 TAA3040 器件或共享同一音频总线的多个该器件在音频总线上完成所有输出通道音频数据传输。该器件支持多达 8 个输出通道,这些通道可配置为将其音频数据放在总线时隙 0 至时隙 63 上。表 6-4 列出了输出通道时隙配置设置。在 I2S 和 LJ 模式下,时隙分为两组,即左通道时隙和右通道时隙,如 节 6.3.1.2.2 和节 6.3.1.2.3 一节所述。
P0_R11_D[5:0]:CH1_SLOT[5:0] | 输出通道 1 时隙分配 |
---|---|
00 0000 = 0d(默认值) | 时隙 0 用于 TDM,或左侧时隙 0 用于 I2S、LJ。 |
00 0001 = 1d | 时隙 1 用于 TDM,或左侧时隙 1 用于 I2S、LJ。 |
… | … |
01 1111 = 31d | 时隙 31 用于 TDM,或左侧时隙 31 用于 I2S、LJ。 |
10 0000 = 32d | 时隙 32 用于 TDM,或右侧时隙 0 用于 I2S、LJ。 |
… | … |
11 1110 = 62d | 时隙 62 用于 TDM,或右侧时隙 30 用于 I2S、LJ。 |
11 1111 = 63d | 时隙 63 用于 TDM,或右侧时隙 31 用于 I2S、LJ。 |
同样,可以分别使用 CH2_SLOT (P0_R12) 至 CH8_SLOT (P0_R18) 寄存器来完成输出通道 2 至通道 8 的时隙分配设置。
时隙字长与为器件设置的输出通道数据字长相同。如果所有 TAA3040 器件在系统中共用同一 ASI 总线,则必须将所有器件的输出通道数据字长设置为相同的值。系统中 ASI 总线可能的最大时隙数受限于可用总线带宽,该带宽取决于 BCLK 频率、使用的输出数据采样速率以及配置的通道数据字长。
该器件还包括一项功能,可将时隙数据传输开始相对于帧同步偏移多达 31 个位时钟周期。表 6-5 列出了可编程的偏移配置设置。
P0_R8_D[4:0]:TX_OFFSET[4:0] | 时隙数据传输开始的可编程偏移设置 |
---|---|
0 0000 = 0d(默认值) | 该器件遵循标准协议时序,没有任何偏移。 |
0 0001 = 1d | 与标准协议时序相比,时隙开始会偏移一个 BCLK 周期。 对于 I2S 或 LJ,与标准协议时序相比,左侧和右侧时隙开始会偏移一个 BCLK 周期。 |
...... | ...... |
1 1110 = 30d | 与标准协议时序相比,时隙开始会偏移 30 个 BCLK 周期。 对于 I2S 或 LJ,与标准协议时序相比,左侧和右侧时隙开始会偏移 30 个 BCLK 周期。 |
1 1111 = 31d | 与标准协议时序相比,时隙开始会偏移 31 个 BCLK 周期。 对于 I2S 或 LJ,与标准协议时序相比,左侧和右侧时隙开始会偏移 31 个 BCLK 周期。 |
与标准协议时序中使用的默认 FSYNC 极性相比,该器件还能够反转帧同步引脚 FSYNC 的极性,用于传输音频数据。该功能可以使用 FSYNC_POL、P0_R7_D3 寄存器位来设置。同样,该器件可以反转位时钟引脚 BCLK 的极性,而这可以使用 BCLK_POL、P0_R7_D2 寄存器位来设置。