SLAS715C June   2010  – January 2023 TLV320AIC3104-Q1

PRODUCTION DATA  

  1. Features
  2. Applications
  3. Description
  4. Revision History
  5. Description (continued)
  6. Device Comparison
  7. Pin Configuration and Functions
  8. Specifications
    1. 8.1  Absolute Maximum Ratings
    2. 8.2  ESD Ratings
    3. 8.3  Recommended Operating Conditions
    4. 8.4  Thermal Information
    5. 8.5  Electrical Characteristics
    6. 8.6  Switching Characteristics I2S/LJF/RJF Timing in Master Mode
    7. 8.7  Switching Characteristics I2S/LJF/RJF Timing in Slave Mode
    8. 8.8  Switching Characteristics DSP Timing in Master Mode
    9. 8.9  Switching Characteristics DSP Timing in Slave Mode
    10. 8.10 Typical Characteristics
  9. Detailed Description
    1. 9.1 Overview
    2. 9.2 Functional Block Diagram
    3. 9.3 Feature Description
      1. 9.3.1  Audio Data Converters
      2. 9.3.2  Stereo Audio ADC
        1. 9.3.2.1 Stereo Audio ADC High-Pass Filter
      3. 9.3.3  Automatic Gain Control (AGC)
      4. 9.3.4  Stereo Audio DAC
      5. 9.3.5  Digital Audio Processing for Playback
      6. 9.3.6  Digital Interpolation Filter
      7. 9.3.7  Delta-Sigma Audio DAC
      8. 9.3.8  Audio DAC Digital Volume Control
      9. 9.3.9  Analog Output Common-mode Adjustment
      10. 9.3.10 Audio DAC Power Control
      11. 9.3.11 Audio Analog Inputs
      12. 9.3.12 Analog Input Bypass Path Functionality
      13. 9.3.13 ADC PGA Signal Bypass Path Functionality
      14. 9.3.14 Input Impedance and VCM Control
      15. 9.3.15 MICBIAS Generation
      16. 9.3.16 Analog Fully Differential Line Output Drivers
      17. 9.3.17 Analog High-Power Output Drivers
      18. 9.3.18 Short-Circuit Output Protection
      19. 9.3.19 Jack and Headset Detection
    4. 9.4 Device Functional Modes
      1. 9.4.1 Digital Audio Processing for Record Path
      2. 9.4.2 Increasing DAC Dynamic Range
      3. 9.4.3 Passive Analog Bypass During Power Down
      4. 9.4.4 Hardware Reset
    5. 9.5 Programming
      1. 9.5.1  Digital Control Serial Interface
      2. 9.5.2  I2C Control Interface
      3. 9.5.3  I2C Bus Debug in a Glitched System
      4. 9.5.4  Digital Audio Data Serial Interface
      5. 9.5.5  Right-Justified Mode
      6. 9.5.6  Left-Justified Mode
      7. 9.5.7  I2S Mode
      8. 9.5.8  DSP Mode
      9. 9.5.9  TDM Data Transfer
      10. 9.5.10 Audio Clock Generation
    6. 9.6 Register Maps
      1. 9.6.1 Output Stage Volume Controls
  10. 10Application and Implementation
    1. 10.1 Application Information
    2. 10.2 Typical Applications
      1. 10.2.1 External Speaker Driver in Infotainment and Cluster Applications
        1. 10.2.1.1 Design Requirements
        2. 10.2.1.2 Detailed Design Procedure
        3. 10.2.1.3 Application Curves
      2. 10.2.2 External Speaker Amplifier With Separate Line Outputs
        1. 10.2.2.1 Design Requirements
        2. 10.2.2.2 Detailed Design Procedure
  11. 11Power Supply Recommendations
  12. 12Layout
    1. 12.1 Layout Guidelines
    2. 12.2 Layout Example
  13. 13Device and Documentation Support
    1. 13.1 Device Support
      1. 13.1.1 Device Nomenclature
    2. 13.2 Documentation Support
      1. 13.2.1 Related Documentation
    3. 13.3 Receiving Notification of Documentation Updates
    4. 13.4 Community Resources
    5. 13.5 Trademarks
    6. 13.6 Electrostatic Discharge Caution
  14. 14Mechanical, Packaging, and Orderable Information

Package Options

Mechanical Data (Package|Pins)
Thermal pad, mechanical data (Package|Pins)
Orderable Information

I2C Control Interface

The TLV320AIC3104-Q1 supports the I 2C control protocol using 7-bit addressing and is capable of both standard and fast modes. For I 2C fast mode, note that the minimum timing for each of tHD-STA, tSU-STA, and tSU-STO is 0.9 μs, as seen in Figure 9-13. The TLV320AIC3104-Q1 responds to the I 2C address of 001 1000. I 2C is a two-wire, open\u0002drain interface supporting multiple devices and masters on a single bus. Devices on the I 2C bus only drive the bus lines LOW by connecting them to ground; they never drive the bus lines HIGH. Instead, the bus wires are pulled HIGH by pullup resistors, so the bus wires are HIGH when no device is driving them LOW. This way, two devices cannot conflict; if two devices drive the bus simultaneously, there is no driver contention.

GUID-487B7D42-3FE3-453A-B1A4-1B2C586D7493-low.gifFigure 9-13 I2C Interface Timing

Communication on the I2C bus always takes place between two devices, one acting as the master and the other acting as the slave. Both masters and slaves can read and write, but slaves can only do so under the direction of the master. Some I2C devices can act as masters or slaves, but the TLV320AIC3104-Q1 can only act as a slave device.

An I 2C bus consists of two lines, SDA and SCL. SDA carries data; SCL provides the clock. All data is transmitted across the I 2C bus in groups of eight bits. To send a bit on the I 2C bus, the SDA line is driven to the appropriate level while SCL is LOW (a LOW on SDA indicates the bit is zero; a HIGH indicates the bit is one). Once the SDA line has settled, the SCL line is brought HIGH, then LOW. This pulse on SCL clocks the SDA bit into the receiver shift register.

The I2C bus is bidirectional: the SDA line is used both for transmitting and receiving data. When a master reads from a slave, the slave drives the data line; when a master sends to a slave, the master drives the data line. Under normal circumstances the master drives the clock line.

Most of the time the bus is idle, no communication is taking place, and both lines are HIGH. When communication is taking place, the bus is active. Only master devices can start a communication. They do this by causing a START condition on the bus. Normally, the data line is only allowed to change state while the clock line is LOW. If the data line changes state while the clock line is HIGH, it is either a START condition or its counterpart, a STOP condition. A START condition is when the clock line is HIGH and the data line goes from HIGH to LOW. A STOP condition is when the clock line is HIGH and the data line goes from LOW to HIGH.

After the master issues a START condition, it sends a byte that indicates which slave device it wants to communicate with. This byte is called the address byte. Each device on an I 2C bus has a unique 7-bit address to which it responds. (Slaves can also have 10-bit addresses; see the I 2C specification for details.) The master sends an address in the address byte, together with a bit that indicates whether it wishes to read from or write to the slave device.

Every byte transmitted on the I2C bus, address or data, is acknowledged with an acknowledge bit. When a master finishes sending a byte (eight data bits) to a slave, the master stops driving SDA and waits for the slave to acknowledge the byte. The slave acknowledges the byte by pulling SDA low. The master then sends a clock pulse to clock the acknowledge bit. Similarly, when a master finishes reading a byte, the master pulls SDA low to acknowledge this operation to the slave. The master then sends a clock pulse to clock the bit.

A not-acknowledge is performed by simply leaving SDA HIGH during an acknowledge cycle. If a device is not present on the bus and the master attempts to address the device, the master receives a not-acknowledge because no device is present at that address to pull the line LOW.

When a master has finished communicating with a slave, it may issue a STOP condition. When a STOP condition is issued, the bus becomes idle again. A master may also issue another START condition. When a START condition is issued while the bus is active, it is called a repeated START condition.

The TLV320AIC3104-Q1 also responds to and acknowledges a general call, which consists of the master issuing a command with a slave-address byte of 00h.

GUID-630312E5-195C-400B-BD9E-28CD455A458B-low.gifFigure 9-14 I2C Write
GUID-E7E86C36-1A65-4BF2-A0A6-D21AD61DDA68-low.gifFigure 9-15 I2C Read

In the case of an I 2C register write, if the master does not issue a STOP condition, then the device enters auto\u0002increment mode. So in the next eight clocks, the data on SDA is treated as data for the next incremental register

Similarly, in the case of an I2C register read, after the device has sent out the 8-bit data from the addressed register, if the master issues an acknowledge, the slave takes over control of the SDA bus and transmits for the next 8 clocks the data of the next incremental register.