SBAA383C January   2020  – January 2024 TLV320ADC3120 , TLV320ADC3140 , TLV320ADC5120 , TLV320ADC5140 , TLV320ADC6120 , TLV320ADC6140

 

  1.   1
  2.   Multiple TLV320ADCx140/PCMx140-Q1 PCM6xx0 Devices With Shared TDM and I2C Bus
  3.   Trademarks
  4. 1Introduction
  5. 2Sharing the Control Bus
  6. 3Sharing the Audio Bus
    1. 3.1 ASI Configuration for Shared TDM
    2. 3.2 ASI Configuration for Daisy Chain TDM
  7. 4Configuring PurePath Console for Multiple TLV320ADCx140/PCMx140-Q1 EVMs
    1. 4.1 Changing the Default I2C Address of the TLV320ADCx140/PCMx140-Q1
    2. 4.2 Launching PurePath Console with Multiple Devices
  8. 5PurePath Console I2C Scripts
    1. 5.1 TLV320ADCx140/PCMx140-Q1 I2C Scripts for Shared TDM
    2. 5.2 TLV320ADCx140/PCMx140-Q1 I2C Scripts for Daisy Chain TDM
  9. 6Revision History

ASI Configuration for Daisy Chain TDM

To simplify board routing and TDM bus timing requirements, or to avoid high SDOUT line load capacitance, TLV320ADCx140/PCMx140-Q1 devices offer a daisy-chain mode that routes data output (SDOUT) of one device as input to the GPI1 pin (GPIO1) of another device. Each device internally combines the data into the appropriate slot in the TDM bus and passes it to the next device.

GUID-FF6BC484-A1CC-4FC4-8160-900AA6AB6B31-low.pngFigure 3-12 TLV320ADCx140/PCMx140-Q1 Daisy Chain TDM Connection Diagram

Setting the ASI_DAISY bit field of the ASI_CFG2 Register shown in Table 3-8 configures the devices for daisy chain configuration.

Figure 3-13 ASI_CFG2 Register
7 6 5 4 3 2 1 0
ASI_DAISY Reserved ASI_ERR ASI_ERR_
RCOV
Reserved
R/W-0h R-0h R/W-0h R/W-0h R-0h
Table 3-8 ASI_CFG2 Register Field Descriptions
BitFieldTypeResetDescription
7ASI_DAISYR/W0hASI daisy-chain connection
0d = All devices are connected in the common ASI bus
1d = All devices are daisy-chained for the ASI bus
6ReservedR0hReserved
5ASI_ERRR/W0hASI bus error detection
0d = Enable bus error detection
1d = Disable bus error detection
4ASI_ERR_RCOVR/W0hASI bus error auto resume
0d = Enable auto resume after bus error recovery
1d = Disable auto resume after bus error recovery and remains powered down until the host configures the device
3-0ReservedR0hReserved

For all the devices that take the SDOUT as input from another device into the GPIO1 pin, the bit filed GPIO1_CFG of the GPIO_CFG0 register must be set to ASI Input for daisy chain (SDIN), as shown in Table 3-9.

Figure 3-14 GPIO_CFG0 Register
7 6 5 4 3 2 1 0
GPIO1_CFG[3:0] Reserved GPIO1_DRV[2:0]
R/W-2h R-0h R/W-2h
Table 3-9 GPIO_CFG0 Register Field Descriptions
BitFieldTypeResetDescription
7-4GPIO1_CFG[3:0]R/W2hGPIO1 configuration
0d = GPIO1 is disabled
1d = GPIO1 is configured as a general-purpose output (GPO)
2d = GPIO1 is configured as a device interrupt output (IRQ)
3d = GPIO1 is configured as a secondary ASI output (SDOUT2)
4d = GPIO1 is configured as a PDM clock output (PDMCLK)
5d to 7d = Reserved

8d = GPIO1 is configured as an input to control when MICBIAS turns on or off (MICBIAS_EN)
9d = GPIO1 is configured as a general-purpose input (GPI)
10d = GPIO1 is configured as a master clock input (MCLK)
11d = GPIO1 is configured as an ASI input for daisy-chain (SDIN)
12d = GPIO1 is configured as a PDM data input for channel 1 and channel 2 (PDMDIN1)

13d = GPIO1 is configured as a PDM data input for channel 3 and channel 4 (PDMDIN2)

14d = GPIO1 is configured as a PDM data input for channel 5 and channel 6 (PDMDIN3)

15d = GPIO1 is configured as a PDM data input for channel 7 and channel 8 (PDMDIN4)
3ReservedR0hReserved
2-0GPIO1_DRV[2:0]R/W2hGPIO1 output drive configuration (not used when GPIO1 is configured as SDOUT2)
0d = Hi-Z output
1d = Drive active low and active high
2d = Drive active low and weak high
3d = Drive active low and Hi-Z
4d = Drive weak low and active high
5d = Drive Hi-Z and active high
6d to 7d = Reserved

For the example of Figure 3-12, the following I2C script configures U1, U2, and U3 for daisy chain, taking input from the next device in the SDOUT through GPIO1 of the chain. Note that channels of each device are mapped to slots 0-3. However, the SDOUT of U1 has slots 0-3 with the U1 channels, slots 4-7 with the U2 channels, slots 8-11 with the U3 channels, and slots 12-15 with the U4 channels. Note that the last device in the daisy chain does not need to be configured for daisy chain mode since it is not taking input on GPIO1 from another device.

w 98 0B 00  # Set U1 Ch1 mapped to slot 0 of SDOUT
w 98 0C 01  # Set U1 Ch2 mapped to slot 1 of SDOUT
w 98 0D 02  # Set U1 Ch3 mapped to slot 2 of SDOUT
w 98 0E 03  # Set U1 Ch4 mapped to slot 3 of SDOUT
w 9A 0B 00  # Set U2 Ch1 mapped to slot 0 of SDOUT
w 9A 0C 01  # Set U2 Ch2 mapped to slot 1 of SDOUT
w 9A 0D 02  # Set U2 Ch3 mapped to slot 2 of SDOUT
w 9A 0E 03  # Set U2 Ch4 mapped to slot 3 of SDOUT
w 9C 0B 00  # Set U3 Ch1 mapped to slot 0 of SDOUT
w 9C 0C 01  # Set U3 Ch2 mapped to slot 1 of SDOUT
w 9C 0D 02  # Set U3 Ch3 mapped to slot 2 of SDOUT
w 9C 0E 03  # Set U3 Ch4 mapped to slot 3 of SDOUT
w 9E 0B 00  # Set U4 Ch1 mapped to slot 0 of SDOUT
w 9E 0C 01  # Set U4 Ch1 mapped to slot 1 of SDOUT
w 9E 0D 02  # Set U4 Ch1 mapped to slot 2 of SDOUT
w 9E 0E 03  # Set U4 Ch1 mapped to slot 3 of SDOUT
w 98 09 80  # Set U1's ASI to daisy chain
w 98 21 B0  # Set U1's GPIO1 input as ASI input for daisy chain
w 9A 09 80  # Set U2's ASI to daisy chain
w 9A 21 B0  # Set U2's GPIO1 input as ASI input for daisy chain
w 9C 09 80  # Set U3's ASI to daisy chain
w 9C 21 B0  # Set U3's GPIO1 input as ASI input for daisy chain