SLAAER9 May   2025 TAC5212

 

  1.   1
  2.   Abstract
  3.   Trademarks
  4. 1Introduction
  5. 2Recording Path Mixers
    1. 2.1 Main ASI Mixer
      1. 2.1.1 Q-31 Formatting for Mixer Coefficients
      2. 2.1.2 Recording Path Main ASI Mixer: Example
    2. 2.2 Auxiliary ASI Mixer
      1. 2.2.1 Recording Path Auxiliary ASI Mixer - Example
    3. 2.3 ADC-to-DAC Loopback Mixer
    4. 2.4 TDM Transmission on DOUT
  6. 3Playback Path Mixers
    1. 3.1 Main ASI Mixer
      1. 3.1.1 Q-16 Formatting for Mixer Coefficients
      2. 3.1.2 Playback Path Main ASI Mixer - Example
    2. 3.2 Auxiliary ASI Mixer
      1. 3.2.1 Playback Path Auxiliary ASI Mixer - Example
    3. 3.3 Playback Path Side-Chain Mixer
      1. 3.3.1 Playback Path Side-Chain - Example
  7. 4Application: ADC Channel Summation to Improve TAC5212 Dynamic Range
  8. 5Application: Analog Input to Analog Output Signal Flow in TAC5412-Q1
  9. 6Summary
  10. 7References

Main ASI Mixer

As shown in Figure 2-1, the main ASI mixer mixes the four ADC/PDM signals from the ADC block in the recording path signal chain. and provides an output based on the mixer coefficients.

While the inputs 3 and 4 to the recording path channels are sourced from the PDM microphone path, the inputs 1 and 2 can be selected to be sourced from either the ADC or the PDM microphone, by configuring the PDM_CH1_SEL/PDM_CH2_SEL fields in the INTF_CFG4 register (B0_P0_R29).


 Recording Path Main ASI
                    Mixer

Figure 2-1 Recording Path Main ASI Mixer

The output of the main ASI mixer is then sent to the digital biquad filters in each signal path of the channel.

The mixer mixes the four digital inputs per Equation 1

Equation 1. I n p u t   f o r   C H x   B i q u a d   =   a x ×   ( A D C / P D M   C H 1 )   +     b x ×   ( A D C / P D M   C H 2 )   +   c x ×   ( P D M   C H 3 )   +   d x ×   ( P D M   C H 4 )

The coefficients [ax, bx, cx, dx] are programmed as 32-bit signed values in 1.31 format into the Page 10 registers which are described in Table 3-4.

Table 2-1 Page 10 Registers for Main ASI Mixer
Register Address Register Register Description Reset Value Coefficient
0x08 ADC_MIX1_CH1_BYT1[7:0] Digital mixer 1, ADC channel 1 coefficient byte[31:24] 0x7F a1
0x09 ADC_MIX1_CH1_BYT2[7:0] Digital mixer 1, ADC channel 1 coefficient byte[23:16] 0xFF
0x0A ADC_MIX1_CH1_BYT3[7:0] Digital mixer 1, ADC channel 1 coefficient byte[15:8] 0xFF
0x0B ADC_MIX1_CH1_BYT4[7:0] Digital mixer 1, ADC channel 1 coefficient byte[7:0] 0xFF
0x0C ADC_MIX1_CH2_BYT1[7:0] Digital mixer 1, ADC channel 2 coefficient byte[31:24] 0x00 b1
0x0D ADC_MIX1_CH2_BYT2[7:0] Digital mixer 1, ADC channel 2 coefficient byte[23:16] 0x00
0x0E ADC_MIX1_CH2_BYT3[7:0] Digital mixer 1, ADC channel 2 coefficient byte[15:8] 0x00
0x0F ADC_MIX1_CH2_BYT4[7:0] Digital mixer 1, ADC channel 2 coefficient byte[7:0] 0x00
0x10 ADC_MIX1_CH3_BYT1[7:0] Digital mixer 1, ADC channel 3 coefficient byte[31:24] 0x00 c1
0x11 ADC_MIX1_CH3_BYT2[7:0] Digital mixer 1, ADC channel 3 coefficient byte[23:16] 0x00
0x12 ADC_MIX1_CH3_BYT3[7:0] Digital mixer 1, ADC channel 3 coefficient byte[15:8] 0x00
0x13 ADC_MIX1_CH3_BYT4[7:0] Digital mixer 1, ADC channel 3 coefficient byte[7:0] 0x00
0x14 ADC_MIX1_CH4_BYT1[7:0] Digital mixer 1, ADC channel 4 coefficient byte[31:24] 0x00 d1
0x15 ADC_MIX1_CH4_BYT2[7:0] Digital mixer 1, ADC channel 4 coefficient byte[23:16] 0x00
0x16 ADC_MIX1_CH4_BYT3[7:0] Digital mixer 1, ADC channel 4 coefficient byte[15:8] 0x00
0x17 ADC_MIX1_CH4_BYT4[7:0] Digital mixer 1, ADC channel 4 coefficient byte[7:0] 0x00
0x18 ADC_MIX2_CH1_BYT1[7:0] Digital mixer 2, ADC channel 1 coefficient byte[31:24] 0x00 a2
0x19 ADC_MIX2_CH1_BYT2[7:0] Digital mixer 2, ADC channel 1 coefficient byte[23:16] 0x00
0x1A ADC_MIX2_CH1_BYT3[7:0] Digital mixer 2, ADC channel 1 coefficient byte[15:8] 0x00
0x1B ADC_MIX2_CH1_BYT4[7:0] Digital mixer 2, ADC channel 1 coefficient byte[7:0] 0x00
0x1C ADC_MIX2_CH2_BYT1[7:0] Digital mixer 2, ADC channel 2 coefficient byte[31:24] 0x7F b2
0x1D ADC_MIX2_CH2_BYT2[7:0] Digital mixer 2, ADC channel 2 coefficient byte[23:16] 0xFF
0x1E ADC_MIX2_CH2_BYT3[7:0] Digital mixer 2, ADC channel 2 coefficient byte[15:8] 0xFF
0x1F ADC_MIX2_CH2_BYT4[7:0] Digital mixer 2, ADC channel 2 coefficient byte[7:0] 0xFF
0x20 ADC_MIX2_CH3_BYT1[7:0] Digital mixer 2, ADC channel 3 coefficient byte[31:24] 0x00 c2
0x21 ADC_MIX2_CH3_BYT2[7:0] Digital mixer 2, ADC channel 3 coefficient byte[23:16] 0x00
0x22 ADC_MIX2_CH3_BYT3[7:0] Digital mixer 2, ADC channel 3 coefficient byte[15:8] 0x00
0x23 ADC_MIX2_CH3_BYT4[7:0] Digital mixer 2, ADC channel 3 coefficient byte[7:0] 0x00
0x24 ADC_MIX2_CH4_BYT1[7:0] Digital mixer 2, ADC channel 4 coefficient byte[31:24] 0x00 d2
0x25 ADC_MIX2_CH4_BYT2[7:0] Digital mixer 2, ADC channel 4 coefficient byte[23:16] 0x00
0x26 ADC_MIX2_CH4_BYT3[7:0] Digital mixer 2, ADC channel 4 coefficient byte[15:8] 0x00
0x27 ADC_MIX2_CH4_BYT4[7:0] Digital mixer 2, ADC channel 4 coefficient byte[7:0] 0x00
0x28 ADC_MIX3_CH1_BYT1[7:0] Digital mixer 3, ADC channel 1 coefficient byte[31:24] 0x00 a3
0x29 ADC_MIX3_CH1_BYT2[7:0] Digital mixer 3, ADC channel 1 coefficient byte[23:16] 0x00
0x2A ADC_MIX3_CH1_BYT3[7:0] Digital mixer 3, ADC channel 1 coefficient byte[15:8] 0x00
0x2B ADC_MIX3_CH1_BYT4[7:0] Digital mixer 3, ADC channel 1 coefficient byte[7:0] 0x00
0x2C ADC_MIX3_CH2_BYT1[7:0] Digital mixer 3, ADC channel 2 coefficient byte[31:24] 0x00 b2
0x2D ADC_MIX3_CH2_BYT2[7:0] Digital mixer 3, ADC channel 2 coefficient byte[23:16] 0x00
0x2E ADC_MIX3_CH2_BYT3[7:0] Digital mixer 3, ADC channel 2 coefficient byte[15:8] 0x00
0x2F ADC_MIX3_CH2_BYT4[7:0] Digital mixer 3, ADC channel 2 coefficient byte[7:0] 0x00
0x30 ADC_MIX3_CH3_BYT1[7:0] Digital mixer 3, ADC channel 3 coefficient byte[31:24] 0x7F c3
0x31 ADC_MIX3_CH3_BYT2[7:0] Digital mixer 3, ADC channel 3 coefficient byte[23:16] 0xFF
0x32 ADC_MIX3_CH3_BYT3[7:0] Digital mixer 3, ADC channel 3 coefficient byte[15:8] 0xFF
0x33 ADC_MIX3_CH3_BYT4[7:0] Digital mixer 3, ADC channel 3 coefficient byte[7:0] 0xFF
0x34 ADC_MIX3_CH4_BYT1[7:0] Digital mixer 3, ADC channel 4 coefficient byte[31:24] 0x00 d3
0x35 ADC_MIX3_CH4_BYT2[7:0] Digital mixer 3, ADC channel 4 coefficient byte[23:16] 0x00
0x36 ADC_MIX3_CH4_BYT3[7:0] Digital mixer 3, ADC channel 4 coefficient byte[15:8] 0x00
0x37 ADC_MIX3_CH4_BYT4[7:0] Digital mixer 3, ADC channel 4 coefficient byte[7:0] 0x00
0x38 ADC_MIX4_CH1_BYT1[7:0] Digital mixer 4, ADC channel 1 coefficient byte[31:24] 0x00 a4
0x39 ADC_MIX4_CH1_BYT2[7:0] Digital mixer 4, ADC channel 1 coefficient byte[23:16] 0x00
0x3A ADC_MIX4_CH1_BYT3[7:0] Digital mixer 4, ADC channel 1 coefficient byte[15:8] 0x00
0x3B ADC_MIX4_CH1_BYT4[7:0] Digital mixer 4, ADC channel 1 coefficient byte[7:0] 0x00
0x3C ADC_MIX4_CH2_BYT1[7:0] Digital mixer 4, ADC channel 2 coefficient byte[31:24] 0x00 b4
0x3D ADC_MIX4_CH2_BYT2[7:0] Digital mixer 4, ADC channel 2 coefficient byte[23:16] 0x00
0x3E ADC_MIX4_CH2_BYT3[7:0] Digital mixer 4, ADC channel 2 coefficient byte[15:8] 0x00
0x3F ADC_MIX4_CH2_BYT4[7:0] Digital mixer 4, ADC channel 2 coefficient byte[7:0] 0x00
0x40 ADC_MIX4_CH3_BYT1[7:0] Digital mixer 4, ADC channel 3 coefficient byte[31:24] 0x00 c4
0x41 ADC_MIX4_CH3_BYT2[7:0] Digital mixer 4, ADC channel 3 coefficient byte[23:16] 0x00
0x42 ADC_MIX4_CH3_BYT3[7:0] Digital mixer 4, ADC channel 3 coefficient byte[15:8] 0x00
0x43 ADC_MIX4_CH3_BYT4[7:0] Digital mixer 4, ADC channel 3 coefficient byte[7:0] 0x00
0x44 ADC_MIX4_CH4_BYT1[7:0] Digital mixer 4, ADC channel 4 coefficient byte[31:24] 0x7F d4
0x45 ADC_MIX4_CH4_BYT2[7:0] Digital mixer 4, ADC channel 4 coefficient byte[23:16] 0xFF
0x46 ADC_MIX4_CH4_BYT3[7:0] Digital mixer 4, ADC channel 4 coefficient byte[15:8] 0xFF
0x47 ADC_MIX4_CH4_BYT4[7:0] Digital mixer 4, ADC channel 4 coefficient byte[7:0] 0xFF