SLOS660C January 2010 – October 2015 TPA2028D1
PRODUCTION DATA.
The TPA2028D1 device is a mono, filter-free Class-D audio power amplifier with volume control, dynamic range compression (DRC) and automatic gain control (AGC). The DRC/AGC function is programmable via a digital I2C interface.
The gain can be selected from -28 dB to +30 dB in 1-dB steps. The device is able to do hardware and software shutdown and also provides thermal and short-circuit protection.
The Automatic Gain Control (AGC) feature provides continuous automatic gain adjustment to the amplifier through an internal PGA. This feature enhances the perceived audio loudness and at the same time prevents speaker damage from occurring (Limiter function).
The AGC function attempts to maintain the audio signal gain as selected by the user through the Fixed Gain, Limiter Level, and Compression Ratio variables. Other advanced features included are Maximum Gain and Noise Gate Threshold. Table 1 describes the function of each variable in the AGC function.
VARIABLE | DESCRIPTION |
---|---|
Maximum Gain | The gain at the lower end of the compression region. |
Fixed Gain | The normal gain of the device when the AGC is inactive. |
The fixed gain is also the initial gain when the device comes out of shutdown mode or when the AGC is disabled. | |
Limiter Level | The value that sets the maximum allowed output amplitude. |
Compression Ratio | The relation between input and output voltage. |
Noise Gate Threshold | Below this value, the AGC holds the gain to prevent breathing effects. |
Attack Time | The minimum time between two gain decrements. |
Release Time | The minimum time between two gain increments. |
Hold Time | The time it takes for the very first gain increment after the input signal amplitude decreases. |
The AGC works by detecting the audio input envelope. The gain changes depending on the amplitude, the limiter level, the compression ratio, and the attack and release time. The gain changes constantly as the audio signal increases and/or decreases to create the compression effect. The gain step size for the AGC is 0.5 dB. If the audio signal has near-constant amplitude, the gain does not change. Figure 30 shows how the AGC works.
Since the number of gain steps is limited the compression region is limited as well. The following figure shows how the gain changes versus the input signal amplitude in the compression region.
Thus the AGC performs a mapping of the input signal versus the output signal amplitude. This mapping can be modified according to the variables from Table 1.
The following graphs and explanations show the effect of each variable to the AGC independently and which considerations should be taken when choosing values.
Fixed Gain: The fixed gain determines the initial gain of the AGC. Set the gain using the following variables:
Figure 32 shows how the fixed gain influences the input signal amplitude versus the output signal amplitude state diagram. The dotted 1:1 line is displayed for reference. The 1:1 line means that for a 1dB increase in the input signal, the output increases by 1dB.
If the Compression function is enabled, the Fixed Gain is adjustable from –28dB to 30dB. If the Compression function is disabled, the Fixed gain is adjustable from 0dB to 30dB.
Limiter Level: The Limiter level sets the maximum amplitude allowed at the output of the amplifier. The limiter should be set with the following constraints in mind:
Figure 33 shows how the limiter level influences the input signal amplitude versus the output signal amplitude state diagram.
The limiter level and the fixed gain influence each other. If the fixed gain is set high, the AGC has a large limiter range. The fixed gain is set low, the AGC has a short limiter range. Figure 34 illustrates the two examples:
Compression Ratio: The compression ratio sets the relation between input and output signal outside the limiter level region. The compression ratio compresses the dynamic range of the audio. For example if the audio source has a dynamic range of 60dB and compression ratio of 2:1 is selected, then the output has a dynamic range of 30dB. Most small form factor speakers have small dynamic range. Compression ratio allows audio with large dynamic range to fit into a speaker with small dynamic range.
The compression ratio also increases the loudness of the audio without increasing the peak voltage. The higher the compression ratio, the louder the perceived audio.
For example:
When the input signal decreases to –32dBV, the amplifier increases the gain to 24dB in order to achieve an output of –8dBV. The output signal amplitude equation is:
In this example:
The gain change equation is:
Consider the following when setting the compression ratio:
Figure 35 shows different settings for dynamic range and different fixed gain selected but no limiter level.
The rotation point is always at Vin = 10dBV. The rotation point is not located at the intersection of the limiter region and the compression region. By changing the fixed gain the rotation point will move in the y-axis direction only, as shown in the previous graph.
Interaction between compression ratio and limiter range: The compression ratio can be limited by the limiter range. Note that the limiter range is selected by the limiter level and the fixed gain.
For a setting with large limiter range, the amount of gain steps in the AGC remaining to perform compression are limited. Figure 36 shows two examples, where the fixed gain was changed.
Noise Gate Threshold: The noise gate threshold prevents the AGC from changing the gain when there is no audio at the input of the amplifier. The noise gate threshold stops gain changes until the input signal is above the noise gate threshold. Select the noise gate threshold to be above the noise but below the minimum audio at the input of the amplifier signal. A filter is needed between delta-sigma CODEC/DAC and TPA2028D1 for effectiveness of the noise gate function. The filter eliminates the out-of-band noise from delta-sigma modulation and keeps the CODEC/DAC output noise lower than the noise gate threshold.
Maximum Gain: This variable limits the number of gain steps in the AGC. This feature is useful in order to accomplish a more advanced output signal versus input signal transfer characteristic.
For example, to prevent the gain from going above a certain value, reduce the maximum gain.
However, this variable will affect the limiter range and the compression region. If the maximum gain is decreased, the limiter range and/or compression region is reduced. Figure 38 illustrates the effects.
A particular application requiring maximum gain of 22dB, for example. Thus, set the maximum gain at 22dB. The amplifier gain will never have a gain higher than 22dB; however, this will reduce the limiter range.
Attack, Release, and Hold time:
Successive gain decreases are never faster than the attack time. Successive gain increases are never faster than the release time.
All time variables (attack, release and hold) start counting after each gain change performed by the AGC. The AGC is allowed to decrease the gain (attack) only after the attack time finishes. The AGC is allowed to increase the gain (release) only after the release time finishes counting. However, if the preceding gain change was an attack (gain increase) and the hold time is enabled and longer than the release time, then the gain is only increased after the hold time.
The hold time is only enabled after a gain decrease (attack). The hold time replaces the release time after a gain decrease (attack). If the gain needs to be increased further, then the release time is used. The release time is used instead of the hold time if the hold time is disabled.
The attack time should be at least 100 times shorter than the release and hold time. The hold time should be the same or greater than the release time. It is important to select reasonable values for those variables in order to prevent the gain from changing too often or too slow.
Figure 39 illustrates the relationship between the three time variables.
Figure 40 shows a state diagram of the input signal amplitude versus the output signal amplitude and a summary of how the variables from table 1 described in the preceding pages affect them.
In using Class-D amplifiers with CODECs and DACs, sometimes there is an increase in the output noise floor from the audio amplifier. This occurs when output frequencies of the CODEC/DAC mix with the Class-D switching frequency and create sum/difference components in the audio band. The noise increase can be solved by placing an RC low-pass filter between the CODEC/DAC and audio amplifier. The filter reduces high frequencies that cause the problem and allows proper performance.
TPA2028D1 includes an integrated low-pass filter for this purpose. It is still possible that Class-D output noise will be affected in extreme cases. In such a case, the RC filter may still be needed.
A ferrite bead filter can often be used if the design is failing radiated emissions without an LC filter and the frequency sensitive circuit is greater than 1 MHz. This filter functions well for circuits that just have to pass FCC and CE because FCC and CE only test radiated emissions greater than 30 MHz. When choosing a ferrite bead, choose one with high impedance at high frequencies, and low impedance at low frequencies. In addition, select a ferrite bead with adequate current rating to prevent distortion of the output signal.
Use an LC output filter if there are low frequency (< 1 MHz) EMI sensitive circuits and/or there are long leads from amplifier to speaker. Figure 41 shows typical ferrite bead and LC output filters.
Figure 42 shows the EMC performance of TPA2028D1 under FCC Class-B. The test circuit configuration is shown in Figure 41. The worst-case quasi peak margin is 29.8 dB at 30.5 MHz.
PARAMETER | VALUE | UNIT | |
---|---|---|---|
VDD | Supply voltage | 4.2 | V |
AV | Gain | 6 | dB |
fAUD | Input signal frequency | 1 | kHz |
VI | Input signal amplitude | 1 | VRMS |
VO | Output signal amplitude | 2 | VRMS |
RL | Load impedance | 8 | Ω |
Output cable length | 100 | mm |
Spacer
The I2C bus employs two signals, SDA (data) and SCL (clock), to communicate between integrated circuits in a system. The bus transfers data serially one bit at a time. The address and data 8-bit bytes are transferred most significant bit (MSB) first. In addition, each byte transferred on the bus is acknowledged by the receiving device with an acknowledge bit. Each transfer operation begins with the master device driving a start condition on the bus and ends with the master device driving a stop condition on the bus. The bus uses transitions on the data terminal (SDA) while the clock is at logic high to indicate start and stop conditions. A high-to-low transition on SDA indicates a start and a low-to-high transition indicates a stop. Normal data-bit transitions must occur within the low time of the clock period. Figure 43 shows a typical sequence. The master generates the 7-bit slave address and the read/write (R/W) bit to open communication with another device, and then waits for an acknowledge condition. The TPA2028D1 holds SDA low during the acknowledge clock period to indicate acknowledgment. When this acknowledgment occurs, the master transmits the next byte of the sequence. Each device is addressed by a unique 7-bit slave address plus R/W bit (1 byte). All compatible devices share the same signals via a bidirectional bus using a wired-AND connection.
An external pull-up resistor must be used for the SDA and SCL signals to set the logic high level for the bus.
There is no limit on the number of bytes that can be transmitted between start and stop conditions. When the last word transfers, the master generates a stop condition to release the bus. A generic data transfer sequence is shown in Figure 43.
The serial control interface supports both single-byte and multi-byte read/write operations for all registers.
During multiple-byte read operations, the TPA2028D1 responds with data, one byte at a time, starting at the register assigned, as long as the master device continues to respond with acknowledgments.
The TPA2028D1 supports sequential I2C addressing. For write transactions, if a register is issued followed by data for that register and all the remaining registers that follow, a sequential I2C write transaction has occurred. For I2C sequential write transactions, the register issued then serves as the starting point, and the amount of data subsequently transmitted, before a stop or start is transmitted, determines the number of registers written.
As Figure 44 shows, a single-byte data write transfer begins with the master device transmitting a start condition followed by the I2C device address and the read/write bit. The read/write bit determines the direction of the data transfer. For a write data transfer, the read/write bit must be set to '0'. After receiving the correct I2C device address and the read/write bit, the TPA2028D1 responds with an acknowledge bit. Next, the master transmits the register byte corresponding to the TPA2028D1 internal memory address being accessed. After receiving the register byte, the TPA2028D1 again responds with an acknowledge bit. Next, the master device transmits the data byte to be written to the memory address being accessed. After receiving the register byte, the TPA2028D1 again responds with an acknowledge bit. Finally, the master device transmits a stop condition to complete the single-byte data write transfer.
A multiple-byte data write transfer is identical to a single-byte data write transfer except that multiple data bytes are transmitted by the master device to the TPA2028D1 as shown in Figure 45. After receiving each data byte, the TPA2028D1 responds with an acknowledge bit.
As Figure 46 shows, a single-byte data read transfer begins with the master device transmitting a start condition followed by the I2C device address and the read/write bit. For the data read transfer, both a write followed by a read are actually executed. Initially, a write is executed to transfer the address byte of the internal memory address to be read. As a result, the read/write bit is set to a '0'.
After receiving the TPA2028D1 address and the read/write bit, the TPA2028D1 responds with an acknowledge bit. The master then sends the internal memory address byte, after which the TPA2028D1 issues an acknowledge bit. The master device transmits another start condition followed by the TPA2028D1 address and the read/write bit again. This time the read/write bit is set to '1', indicating a read transfer. Next, the TPA2028D1 transmits the data byte from the memory address being read. After receiving the data byte, the master device transmits a not-acknowledge followed by a stop condition to complete the single-byte data read transfer.
A multiple-byte data read transfer is identical to a single-byte data read transfer except that multiple data bytes are transmitted by the TPA2028D1 to the master device as shown in Figure 47. With the exception of the last data byte, the master device responds with an acknowledge bit after receiving each data byte.
The amplifier is enabled by pulling EN high and disabled by pulling EN low.
It is necessary to wait 10ms after EN is pulled high and before the first I2C transaction. It is also required to wait 1ms after the last I2C transaction completes before pulling EN low otherwise it is not guaranteed that the I2C transaction was successful.
If the amplifier is disabled by pulling EN low, it is required to wait at least 5ms before re-enabling the amplifier by pulling EN high again.
The TPA2028D1 is controlled by the I2C interface. The correct start-up sequence is:
NOTE
Do not interrupt the start-up sequence after changing EN from VIL to VIH.
Do not interrupt the start-up sequence after changing SWS from 1 to 0.
The amplifier gain at start-up depends on the following conditions:
The default conditions of TPA2028D1 allows audio playback without I2C control. Refer to Table 5 for entire default conditions.
There are several options to disable the amplifier:
NOTE
Do not interrupt the shutdown sequence after changing EN from VIH to VIL.
Do not interrupt the shutdown sequence after changing SWS from 0 to 1.
When a short circuit event happens, the TPA2028D1 goes to low duty cycle mode and tries to reactivate itself every 110 µs. This auto-recovery will continue until the short circuit event stops. This feature can protect the device without affecting the device's long term reliability. FAULT bit (register 1, bit 3) still requires a write to clear.
AUDIO SOURCE |
COMPRESSION RATIO |
ATTACK TIME (ms/6 dB) |
RELEASE TIME (ms/6 dB) |
HOLD TIME (ms) |
FIXED GAIN (dB) |
LIMITER LEVEL (dBV) |
---|---|---|---|---|---|---|
Pop Music | 4:1 | 1.28 to 3.84 | 986 to 1640 | 137 | 6 | 7.5 |
Classical | 2:1 | 2.56 | 1150 | 137 | 6 | 8 |
Jazz | 2:1 | 5.12 to 10.2 | 3288 | — | 6 | 8 |
Rap / Hip Hop | 4:1 | 1.28 to 3.84 | 1640 | — | 6 | 7.5 |
Rock | 2:1 | 3.84 | 4110 | — | 6 | 8 |
Voice / News | 4:1 | 2.56 | 1640 | — | 6 | 8.5 |
The default register map values are given in Table 5.
Register | 0x01 | 0x02 | 0x03 | 0x04 | 0x05 | 0x06 | 0x07 |
---|---|---|---|---|---|---|---|
Default | C3h | 05h | 0Bh | 00h | 06h | 3Ah | C2h |
Any register above address 0x08 is reserved for testing and should not be written to because it may change the function of the device. If read, these bits may assume any value.
Some of the default values can be reprogrammed through the I2C interface and written to the EEPROM. This function is useful to speed up the turn-on time of the device and minimizes the number of I2C writes. If this is required, contact your local TI representative.
The TPA2028D1 I2C address is 0xB0 (binary 10110000) for writing and 0xB1 (binary 10110001) for reading. If a different I2C address is required, please contact your local TI representative. See the General I2C operation section for more detail.
The following tables show the details of the registers, the default values, and the values that can be programmed through the I2C interface.
REGISTER ADDRESS | I2C BIT | LABEL | DEFAULT | DESCRIPTION |
---|---|---|---|---|
01 (01H) – IC Function Control | 7 | Unused | 1 | |
6 | EN | 1 (enabled) | Enables amplifier | |
5 | SWS | 0 (enabled) | Shutdown IC when bit = 1 | |
4 | Unused | 0 | ||
3 | FAULT | 0 | Changes to a 1 when there is a short at the output. Reset by writing a 0 | |
2 | Thermal | 0 | Changes to a 1 when die temperature is above 150°C | |
1 | Unused | 1 | ||
0 | NG_EN | 1 (enabled) | Enables Noise Gate function |
EN: | Enable bit for the audio amplifier channel. Amplifier is active when bit is high. This function is gated by thermal and returns once the IC is below the threshold temperature |
SWS: | Software shutdown control. The device is in software shutdown when the bit is '1' (control, bias and oscillator are inactive). When the bit is '0' the control, bias and oscillator are enabled. |
Fault: | This bit indicates that an over-current event has occurred on the channel with a '1'. This bit is cleared by writing a '0' to it. |
Thermal: | This bit indicates a thermal shutdown that was initiated by the hardware with a '1'. This bit is deglitched and latched, and can be cleared by writing a '0' to it. |
NG_EN: | Enable bit for the Noise Gate function. This function is enabled when this bit is high. This function can only be enabled when the Compression ratio is not 1:1. |
REGISTER ADDRESS | I2C BIT | LABEL | DEFAULT | DESCRIPTION | |||
---|---|---|---|---|---|---|---|
02 (02H) – AGC Attack Control | 7:6 | Unused | 00 | ||||
5:0 | ATK_time | 000101 (6.4 ms/6 dB) |
AGC Attack time (gain ramp down) | ||||
Per Step | Per 6 dB | 90% Range | |||||
000001 | 0.1067 ms | 1.28 ms | 5.76 ms | ||||
000010 | 0.2134 ms | 2.56 ms | 11.52 ms | ||||
000011 | 0.3201 ms | 3.84 ms | 17.19 ms | ||||
000100 | 0.4268 ms | 5.12 ms | 23.04 ms | ||||
(time increases by 0.1067 ms with every step) | |||||||
111111 | 6.722 ms | 80.66 ms | 362.99 ms |
ATK_time | These bits set the attack time for the AGC function. The attack time is the minimum time between gain decreases. |
REGISTER ADDRESS | I2C BIT | LABEL | DEFAULT | DESCRIPTION | |||
---|---|---|---|---|---|---|---|
03 (03H) – AGC Release Control | 7:6 | Unused | 00 | ||||
5:0 | REL_time | 001011 (1.81 sec/6 dB) |
AGC Release time (gain ramp down) | ||||
Per Step | Per 6 dB | 90% Range | |||||
000001 | 0.0137 s | 0.1644 s | 0.7398 s | ||||
000010 | 0.0274 s | 0.3288 s | 1.4796 s | ||||
000011 | 0.0411 s | 0.4932 s | 2.2194 s | ||||
000100 | 0.0548 s | 0.6576 s | 2.9592 s | ||||
(time increases by 0.0137 s with every step) | |||||||
111111 | 0.8631 s | 10.36 s | 46.6 s |
REL_time | These bits set the release time for the AGC function. The release time is the minimum time between gain increases. |
REGISTER ADDRESS | I2C BIT | LABEL | DEFAULT | DESCRIPTION | |||
---|---|---|---|---|---|---|---|
04 (04H) – AGC Hold Time Control | 7:6 | Unused | 00 | ||||
5:0 | Hold_time | 000000 (Disabled) | AGC Hold time | ||||
Per Step | |||||||
000000 | Hold Time Disable | ||||||
000001 | 0.0137 s | ||||||
000010 | 0.0274 s | ||||||
000011 | 0.0411 s | ||||||
000100 | 0.0548 s | ||||||
(time increases by 0.0137 s with every step) | |||||||
111111 | 0.8631 s |
Hold_time | These bits set the hold time for the AGC function. The hold time is the minimum time between a gain decrease (attack) and a gain increase (release). The hold time can be deactivated. |
REGISTER ADDRESS | I2C BIT | LABEL | DEFAULT | DESCRIPTION | |||
---|---|---|---|---|---|---|---|
05 (05H) – AGC Fixed Gain Control | 7:6 | Unused | 00 | ||||
5:0 | Fixed Gain | 00110 (6dB) | Sets the fixed gain of the amplifier: two's complement | ||||
Gain | |||||||
100100 | –28 dB | ||||||
100101 | –27 dB | ||||||
100110 | –26 dB | ||||||
(gain increases by 1 dB with every step) | |||||||
111101 | –3 dB | ||||||
111110 | –2 dB | ||||||
111111 | –1 dB | ||||||
000000 | 0 dB | ||||||
000001 | 1 dB | ||||||
000010 | 2 dB | ||||||
000011 | 3 dB | ||||||
(gain increases by 1dB with every step) | |||||||
011100 | 28 dB | ||||||
011101 | 29 dB | ||||||
011110 | 30 dB |
Fixed Gain | These bits are used to select the fixed gain of the amplifier. If the Compression is enabled, fixed gain is adjustable from –28dB to 30dB. If the Compression is disabled, fixed gain is adjustable from 0dB to 30dB. |
REGISTER ADDRESS | I2C BIT | LABEL | DEFAULT | DESCRIPTION | |||
---|---|---|---|---|---|---|---|
06 (06H) – AGC Control | 7 | Output Limiter Disable | 0 (enable) | Disables the output limiter function. Can only be disabled when the AGC compression ratio is 1:1 (off) | |||
6:5 | NoiseGate Threshold | 01 (4 mVrms) | Select the threshold of the noise gate | ||||
Threshold | |||||||
00 | 1 mVrms | ||||||
01 | 4 mVrms | ||||||
10 | 10 mVrms | ||||||
11 | 20 mVrms | ||||||
4:0 | Output Limiter Level | 11010 (6.5dBV) | Selects the output limiter level | ||||
Output Power (Wrms) | Peak Output Voltage (Vp) | dBV | |||||
00000 | 0.03 | 0.67 | –6.5 | ||||
00001 | 0.03 | 0.71 | –6 | ||||
00010 | 0.04 | 0.75 | –5.5 | ||||
(Limiter level increases by 0.5dB with every step) | |||||||
11101 | 0.79 | 3.55 | 8 | ||||
11110 | 0.88 | 3.76 | 8.5 | ||||
11111 | 0.99 | 3.99 | 9 |
Output Limiter Disable | This bit disables the output limiter function when set to 1. Can only be disabled when the AGC compression ratio is 1:1 |
NoiseGate Threshold | These bits set the threshold level of the noise gate. NoiseGate Threshold is only functional when the compression ratio is not 1:1 |
Output Limiter Level | These bits select the output limiter level. Output Power numbers are for 8Ω load. |
REGISTER ADDRESS | I2C BIT | LABEL | DEFAULT | DESCRIPTION | |||
---|---|---|---|---|---|---|---|
07 (07H) – AGC Control | 7:4 | Max Gain | 1100 (30 dB) | Selects the maximum gain the AGC can achieve | |||
Gain | |||||||
0000 | 18 dB | ||||||
0001 | 19 dB | ||||||
0010 | 20 dB | ||||||
(gain increases by 1 dB with every step) | |||||||
1100 | 30 dB | ||||||
3:2 | UNUSED | 00 | |||||
1:0 | Compression Ratio | 10 (4:1) | Selects the compression ratio of the AGC | ||||
Ratio | |||||||
00 | 1:1 (off) | ||||||
01 | 2:1 | ||||||
10 | 4:1 | ||||||
11 | 8:1 |
Compression Ratio | These bits select the compression ratio. Output Limiter is enabled by default when the compression ratio is not 1:1. |
Max Gain | These bits select the maximum gain of the amplifier. In order to maximize the use of the AGC, set the Max Gain to 30dB |