一、TAS6424 Serial Audio Port
串行音频端口(SAP)接收I2S、左对齐、右对齐或TDM格式的音频。端口的设置在SAP控制寄存器中编程(地址= 0x03)[默认值= 0x04]。
下图展示了8通道系统的I2S和TDM8模式的数字音频数据连接。
1. I2S模式
I2S时序使用FSYNC引脚来定义何时将数据传输到左通道,何时将数据传输到右通道。FSYNC引脚低为左通道,高为右通道。SCLK运行在32fs或64fs并用于同步数据。从FSYNC信号改变状态到数据线上的第一个数据位有效有1个位时钟延迟。数据以MSB形式传输,该数据在位时钟的上升沿有效。
2. Left-Justified模式
左对齐(LJ)时序也使用FSYNC引脚来定义何时将数据传输到左通道,何时将数据传输到右通道。FSYNC引脚高为左通道,低为右通道。SCLK运行在32fs或64fs并用于同步数据。第一个数据位在FSYNC切换的同时出现在数据线上。数据以MSB优先,在SCLK的上升沿有效。数据字可以是16bit或24bit宽,并在左右(L/R)帧中用0填充任何未使用的尾随数据位。
3. Right-Justified模式
右对齐(RJ)时序也使用FSYNC引脚来定义何时将数据传输到左通道,何时将数据传输到右通道。FSYNC引脚高为左通道,低为右通道。SCLK运行在32fs或64fs并用于同步数据。在FSYNC引脚切换后,第一个数据位出现在数据8位时钟周期上(对于24位数据)。在RJ模式下,数据的LSB总是由FSYNC引脚转换前的最后一位时钟进行时钟处理。数据以MSB优先,在SCLK上升沿有效。设备用零填充L/R帧中未使用的前导数据位位置。
4. TDM模式
TDM模式支持4或8通道,当TDM时钟存在时自动选择TDM模式,支持16bit、24bit和32bit输入数据长度。
在TDM模式下,SCLK必须是128fs或256fs,取决于TDM slot大小。SCLK和MCLK可以连接在一起,如果SCLK和MCLK连接在一起或者SCLK的频率和MCLK相等,FSYNC应该至少有2个MCLK脉冲长度。
在TDM模式下,SDIN1用来传输数字音频数据。TI建议连接未使用的SDIN2接地。下表列出了TDM通道选择的寄存器设置。
其中:
0x03 bit5—0:前4个TDM slots 1:后4个TDM slots
0x03 bit3—0:Normal 1:Swapped
5. 支持的时钟速率
支持MCLK速率为128fs、256fs或512fs。
支持SCLK速率为:在I2S/LJ/RJ格式下32fs或64fs,在TDM模式下128fs或256fs。
支持FSYNC速率为:44.1k、48k或96k。
最大时钟速率是25MHz。因此,对于96k的FSYNC,最大的MCLK速率为256fs。
对于128xFSYNC需要50%的占空比,对于256x和512x不需要50%的占空比。
二、TAS6584 Serial Audio Port
串行音频端口(SAP)接收I2S、左对齐或DSP格式的音频。另外,可以实现TDM以支持高达TDM16的多通道操作。
引脚SDIN1和SDOUT1可用于数据传输。如果需要,任何GPIO引脚都可以分配为SDIN2和SDOUT2。
1. I2S模式
I2S时序使用FSYNC引脚来定义何时将数据传输到左通道,何时将数据传输到右通道。在I2S模式下,左通道的MSB在FSYNC下降沿之后的SCLK的第二个上升沿有效。同样,右通道的MSB在FSYNC上升沿之后的SCLK的第二个上升沿有效。可以配置通道偏移量,并且在所有通道上都是相同的。
要配置I2S模式,在ASI_CTRL1 Register (0x21)的bit2-3设置数据格式为I2S模式,在ASI_CTRL3 Register (0x23)的bit2-3设置通道1和2,bit0-1设置通道3和4的数据长度,在ASI_CTRL7 Register (0x27)的bit6-7和 ASI_CTRL8 Register (0x28)配置可选的10bit偏移量。
2. Left-Justified模式
左对齐(LJ)时序使用FSYNC引脚来定义何时将数据传输到左通道,何时将数据传输到右通道。左通道的MSB在FSYNC上升沿之后的SCLK上升沿有效。同样,右通道的MSB在FSYNC下降沿之后的SCLK时钟上升沿有效。可以配置通道偏移量,并且在所有通道上都是相同的。
要配置LJ模式,在ASI_CTRL1 Register (0x21)的bit2-3设置数据格式为LTJ模式,在ASI_CTRL3 Register (0x23)的bit2-3设置通道1和2,bit0-1设置通道3和4的数据长度,在ASI_CTRL7 Register (0x27)的bit6-7和 ASI_CTRL8 Register (0x28)配置可选的10bit偏移量。
3. DSP模式
DSP模式使用FSYNC引脚来定义音频数据的开始,但不区分通道。FSYNC的上升沿首先开始传输左通道数据,紧接着是右通道数据。每个数据位在SCLK的上升沿有效。可以配置10位通道偏移量,并且在所有通道上都是相同的。
要配置DSP模式:
(1) 在ASI_CTRL1 Register (0x21)的bit2-3设置数据格式为DSP格式;
(2) 在ASI_CTRL3 Register (0x23)的bit2-3设置通道1和2,bit0-1设置通道3和4的数据长度;
(3) 在ASI_CTRL7 Register (0x27)的bit6-7和 ASI_CTRL8 Register (0x28)配置可选的10bit偏移量;
(4)如果FSYNC脉冲小于8×SCLK,设置ASI_CTRL1 Register (0x21) [Reset = 0x00] bit0-1为“01”。
4. TDM模式
TDM模式支持4、8或16路音频数据传输。数据可以通过单个引脚接收,也可以跨SDIN1和SDIN2分割。数据格式遵循DSP模式。TDM模式除了用于传输通道1-4的音频之外,还包括Low Latency通道1-4(默认未使能)。可以通过ASI_CTRL18 Register (0x32)使能。
要配置TDM模式:
(1) 在ASI_CTRL1 Register (0x21)的bit4使能TDM模式;
(2) 在ASI_CTRL1 Register (0x21)的bit2-3设置数据格式为DSP格式;
(3) 在ASI_CTRL3 Register (0x23)的bit7(Audio通道)和bit6(Low latency通道)为每个适用的通道组设置SDIN1和SDIN2;
(4) 在ASI_CTRL3 Register (0x23)的bit2-3设置audio通道,bit0-1设置Low latency通道的数据长度;
(5) 为每个适用的通道组添加一个10位偏移量,以确定时序并避免数据重叠。偏移量可以设置在:
Audio Ch1-4:ASI_CTRL7 Register (0x27) (MSB) 的bit6-7和 ASI_CTRL8 Register (0x28) (LSB)。The default offset is 0。
Low Latency Ch1-4:ASI_CTRL7 Register (0x27) (MSB) 的bit4-5和 ASI_CTRL9 Register (0x29) (LSB)。The default offset is 96。
(6) 某些TDM控制器可以在FSYNC和通道数据的第一位之间使用一个默认的SCLK周期偏移,这个将导致通道数据超过FSYNC/SCLK比率(如图8-11)。此时ASI_CTRL19 Register (Address = 0xA4)的TDM shift bit6-7必须被设置。如果audio通道数据使用帧slot超过帧length设置为"01";如果low latency通道数据使用帧slot超过帧length设置为"10"。如果FSYNC/SCLK比率之外的数据位数超过1,则设备将忽略任何后续位。
(7) 如果FSYNC脉冲小于8×SCLK,设置ASI_CTRL1 Register (0x21) [Reset = 0x00] bit0-1为“01”。
给定通道组中的slots是连续的。对于BTL配置中的音频数据,这意味着通道1数据将在该通道组的第一个slot中;通道2数据在第二个slot;通道3数据在第三个slot;通道4数据在第四个slot。