The PCM3070 features two fully-programmable miniDSP cores that support application-specific algorithms
in the record and/or the playback path of the device. The miniDSP cores are fully software controlled.
Target algorithms, like speaker EQ, Crossovers, Dynamic Range Controls, Intelligent volume controls and
other post-processing algorithms are loaded into the device after power-up.
Extensive register-based control of input/output channel configuration, gains, effects, pin-multiplexing and
clocks is included, allowing the device to be precisely targeted to its application.
The record path of the PCM3070 covers operations from 8kHz mono to 192kHz stereo recording, and
contains programmable input channel configurations covering single-ended and differential setups, as well
as floating or mixed input signals.
The playback path offers signal-processing blocks for filtering and effects, and supports flexible mixing of
DAC and analog input signals as well as programmable volume controls. The playback path contains two
high-power output drivers as well as two fully-differential outputs. The high-power outputs can be
configured in multiple ways, including stereo and mono BTL.
The voltage supply range for the PCM3070 for analog is 1.5V–1.95V, and for digital it is 1.26V–1.95V. To
ease system-level design, LDOs are integrated to generate the appropriate analog or digital supply from
input voltages ranging from 1.8V to 3.6V. Digital I/O voltages are supported in the range of 1.5V–3.6V.
The required internal clock of the PCM3070 can be derived from multiple sources, including the MCLK pin,
the BCLK pin, the GPIO pin or the output of the internal PLL, where the input to the PLL again can be
derived from the MCLK pin, the BCLK or GPIO pins. The PLL is highly programmable and can accept
available input clocks in the range of 512kHz to 50MHz.
The device is available in the 5mm × 5mm, 32-pin QFN package.
Only a small number of digital pins are dedicated to a single function; whenever possible, the digital pins
have a default function, and also can be reprogrammed to cover alternative functions for various
applications.
The fixed-function pins are Reset and the SPI_Select pin, which are HW control pins. Depending on the
state of SPI_Select, the two control-bus pins SCL/SS and SDA/MOSI are configured for either I2C or SPI
protocol.
Other digital IO pins can be configured for various functions via register control. An overview of available
functionality is given in Section 2.1.3.
2.1.2 Analog Pins
Chapter 2
SLAU332–March 2011
PCM3070 Application
Analog functions can also be configured to a large degree. Analog blocks are powered down by default.
The blocks can be powered up with fine granularity according to the application needs.
2.1.3 Multifunction Pins
Table 2-1 shows the possible allocation of pins for specific functions. The PLL input, for example, can be
programmed to be any of 4 pins (MCLK, BCLK, DIN, GPIO).
: The MCLK pin can be used to drive the PLL and Codec Clock inputs simultaneously
(2)S(2)
: The BCLK pin can be used to drive the PLL and Codec Clock and audio interface bit clock inputs simultaneously
(3)S(3)
: The GPIO/MFP5 pin can be used to drive the PLL and Codec Clock inputs simultaneously
(4)
D: Default Function
(5)
E: The pin is exclusively used for this function, no other function can be implemented with the same pin (e.g. if GPIO/MFP5 has
been allocated for General Purpose Output, it cannot be used as the INT1 output at the same time)
To configure the settings seen in Table 2-1, please see the letter/number combination in Table 2-2 for the
appropriate registers to modify.
Please be aware that more settings may be necessary to obtain a full interface definition matching the
application requirement (e.g. register Page 0 / Register 25 to 33).
General Purpose Out I on Page 0 / Register 53, BitsSecondary I2S WCLK OUT Page 0 / Register 55, Bits
DOUT/MFP2D3-D1=010on MISO/MFP4D4-D1=1010
General Purpose Out IIPage 0 / Register 55, BitsSecondary I2S WCLK OUT Page 0 / Register 52, Bits
on MISO/MFP4D4-D1=0010on GPIO/MFP5D5-D2=1001
General Purpose Out IIIPage 0 / Register 52, Bits
on GPIO/MFP5D5-D2=0011
General Purpose In I onPage 0 / Register 54, BitsAux Clock Output onPage 0 / Register 53, Bits
DIN/MFP1D2-D1=10DOUT/MFP2D3-D1=011
General Purpose In II onPage 0 / Register 56, BitsAux Clock Output onPage 0 / Register 55, Bits
SCLK/MFP3D2-D1=10MISO/MFP4D4-D1=0011
General Purpose In III on Page 0 / Register 52, BitsAux Clock Output onPage 0 / Register 52, Bits
GPIO/MFP5D5-D2=0010GPIO/MFP5D5-D2=0100
Required Register
Setting
2.2Analog Audio I/O
The analog I/O path of the PCM3070 features a large set of options for signal conditioning as well as
signal routing:
•6 analog inputs which can be mixed and/or multiplexed in single-ended and/or differential configuration
•2 programmable gain amplifiers (PGA) with a range of 0 to +47.5dB
•2 mixer amplifiers for analog bypass
•2 low power analog bypass channels
•Mute function
•Automatic gain control (AGC)
•Channel-to-channel phase adjustment
•Fast charge of ac-coupling capacitors
•Anti thump
2.2.1 Analog Bypass
The PCM3070 offers two analog-bypass modes. In either of the modes, an analog input signal can be
routed from an analog input pin to an amplifier driving an analog output pin. Neither the ADC nor the DAC
resources are required for such operation.
In analog low-power bypass mode, line-level signals can be routed directly from the analog inputs INL to
the left headphone amplifier (HPL) and INR to HPR.
2.2.2 ADC Bypass Using Mixer Amplifiers
In addition to the analog bypass mode, there is a bypass mode that uses the programmable gain
amplifiers of the input stage in conjunction with a mixer amplifier. With this mode, low-level signals can be
amplified and routed to the line or headphone outputs, fully bypassing the ADC and DAC.
To enable this mode, the mixer amplifiers are powered on via software command.
In analog low-power bypass mode, line-level signals can be routed directly from the analog inputs IN1L to
the left headphone amplifier (HPL) and IN1R to HPR. This is configured on Page 1/ Register 12, Bit D2 for
the left channel and Page 1 / Register 13, Bit D2 for the right channel.
To use the mixer amplifiers, power them on via Page / Register 9, Bits D1-D0.
2.2.3 Headphone Output
The stereo headphone drivers on pins HPL and HPR can drive loads with impedances down to 16Ω in
single-ended AC-coupled headphone configurations, or loads down to 32Ω in differential mode, where a
speaker is connected between HPL and HPR. In single-ended drive configuration these drivers can drive
up to 15mW power into each headphone channel while operating from 1.8V analog supplies. While
running from the AVdd supply, the output common-mode of the headphone driver is set by the
common-mode setting of analog inputs in Page 1 / Register 10, Bit D6, to allow maximum utilization of the
analog supply range while simultaneously providing a higher output-voltage swing. In cases when higher
output-voltage swing is required, the headphone amplifiers can run directly from the higher supply voltage
on LDOIN input (up to 3.6V). To use the higher supply voltage for higher output signal swing, the output
common-mode can be adjusted to either 1.25V, 1.5V or 1.65V by configuring Page 1 / Register 10, Bits
D5-D4. When the common-mode voltage is configured at 1.65V and LDOIN supply is 3.3V, the
headphones can each deliver up to 40mW power into a 16Ω load.
The headphone drivers are capable of driving a mixed combination of DAC signal and bypass from analog
input INL and INR by configuring Page 1 / Register 12 and Page 1 / Register 13 respectively. The analog
input signals can be attenuated up to 72dB before routing by configuring Page 1 / Register 22 and 23. The
level of the DAC signal can be controlled using the digital volume control of the DAC in Page 0, Reg 65
and 66. To control the output-voltage swing of headphone drivers, the digital volume control provides a
range of –6.0dB to +29.0dB
(1)
in steps of 1dB. These can be configured by programming Page 1 / Register
16 and 17. These level controls are not meant to be used as dynamic volume control, but more to set
output levels during initial device configuration. Refer to for recommendations for using headphone volume
control for achieving 0dB gain through the DAC channel with various configurations.
2.2.4 Stereo Single Ended Configuration
Figure 2-2. Stereo Headphone Configuration
The left and right DAC channels are routed to the corresponding left and right headphone amplifier. This
configuration is also used to drive line-level loads.
Figure 2-3. Conceptual Circuit for Pop-Free Power-up
The value of R
(1)
If the device must be placed into 'mute' from the –6.0dB setting, set the device at a gain of –5.0dB first, then place the device into mute.
can be chosen by setting register Page 1, Register 20, Bits D1-D0).
pop
Table 2-3. R
Page 1, Register 20, Bits D1-D0)R
002kΩ
016kΩ
1025kΩ
pop
Values
pop
Value
According to the conceptual circuit in Figure 2-3, the voltage on PAD will exponentially settle to the output
common-mode voltage based on the value of R
power-up mode for time T, such that at the end of the slow power-on period, the voltage on V
close to the common-mode voltage. The PCM3070 allows the time T to be adjusted to allow for a wide
range of R
value of Ccis assumed to be 47μF. N=5 is expected to yield good results.
10
PCM3070 ApplicationSLAU332–March 2011
and Cc. Thus, the output drivers must be in slow
and Ccby programming Page 1, Register 20, Bits D5-D2). For the time adjustments, the
Page 1, Register 20, BitsSlow Charging Time=N*Time – Constants(for R
D5-D2)
0000N=0
0001N=0.5
0010N=0.625
0011N=0.75
0100N=0.875
0101N=1.0
0110N=2.0
0111N=3.0
1000N=4.0
1001N=5.0
1010N=6.0
1011N=7.0
1100N=8.0
1101N=16 (Not valid for R
1110N=24 (Not valid for R
1111N=32 (Not valid for R
Again, for example, for R
=25kΩ)
pop
=25kΩ)
pop
=25kΩ)
pop
=32Ω, Cc=47μF and common mode of 0.9V, the number of time constants
load
and 47μF)
pop
required for pop-free operation is 5 or 6. A higher or lower Ccvalue will require higher or lower value for N.
During the slow-charging period, no signal is routed to the output driver. Therefore, choosing a larger than
necessary value of N results in a delay from power-up to signal at output. At the same time, choosing N to
be smaller than the optimal value results in poor pop performance at power-up.
The signals being routed to headphone drivers (e.g. DAC, MAL , MAR and IN1) often have DC offsets due
to less-than-ideal processing. As a result, when these signals are routed to output drivers, the offset
voltage causes a pop. To improve the pop-performance in such situations, a feature is provided to
soft-step the DC-offset. At the beginning of the signal routing, a high-value attenuation can be applied
which can be progressively reduced in steps until the desired gain in the channel is reached. The time
interval between each of these gain changes can be controlled by programming Page 1, Register 20, Bits
D7-D6). This gain soft-stepping is applied only during the initial routing of the signal to the output driver
and not during subsequent gain changes.
Page 1, Register 20, Bits D7-D6 Soft-stepping Step Time During initial signal routing
000 ms (soft-stepping disabled)
0150ms
10100ms
11200ms
It is recommended to use the following sequence for achieving optimal pop performance at power-up:
1. Choose the value of R
, N (time constants) and soft-stepping step time for slow power-up.
pop
2. Choose the configuration for output drivers, including common modes and output stage power
connections
3. Select the signals to be routed to headphones.
4. Power-up the blocks driving signals into HPL and HPR, but keep it muted
5. Unmute HPL and HPR and set the desired gain setting.
6. Power-on the HPL and HPR drivers.
7. Unmute the block driving signals to HPL and HPR after the Driver PGA flags are set to indicate
completion of soft-stepping after power-up. These flags can be read from Page 1, Register 63, Bits
D7-D6).
It is important to configure the Headphone Output driver depop control registers before powering up the
headphone; these register contents should not be changed when the headphone drivers are powered up.
Before powering down the HPL and HPR drivers, it is recommended that user read back the flags in Page
1, Register 63. For example. before powering down the HPL driver, ensure that bit D(7) = 1 and bit D(3) =
1 if INL is routed to HPL and bit D(1) = 1 if the Left Mixer is routed to HPL. The output driver should be
powered down only after a steady-state power-up condition has been achieved. This steady state
power-up condition also must be satisfied for changing the HPL/R driver mute control in Page 1, Register
16 and 17, Bits D7), i.e. muting and unmuting should be done after the gain and volume controls
associated with routing to HPL/R finished soft-stepping.
In the differential configuration of HPL and HPR, when no coupling capacitor is used, the slow charging
method for pop-free performance need not be used. In the differential load configuration for HPL and
HPR, it is recommended to not use the output driver MUTE feature, because a pop may result.
During the power-down state, the headphone outputs are weakly pulled to ground using an approximately
50kΩ resistor to ground, to maintain the output voltage on HPL and HPR pins.
2.2.5 Mono Differential DAC to Mono Differential Headphone Output
www.ti.com
Figure 2-4. Low Power Mono DAC to Differential Headphone
This configuration supports the routing of the two differential outputs of the mono, left channel DAC to the
headphone amplifiers in differential mode (Page 1 / Register 12, D3 =1 and Page 1 / Register 13, D4 =1).
2.2.6 Headphone Amplifier Class-D Mode
By default the headphone amplifiers in the PCM3070 work in Class-AB mode. By writing to Page 1,
Register 3, Bits D7-D6) for the left headphone amplifier, and Page 1, Register 4, Bits D7-D6) with value
11, the headphone amplifiers enter a Class-D mode of operation.
In this mode a high frequency digital pulse-train representation of the DAC signal is fed to the load
connected to HPL and HPR outputs.
Because the output signal is a pulse train switching between Power Supply and Ground, the efficiency of
the amplifier is greatly improved. In this mode however, for good noise performance, care should be taken
to keep the analog power supply clean.
For using the Class-D mode of operation, the following clock-divider condition should be met:
MDAC = I × 4, where I = 1, 2, ..., 32
When a direct digital pulse train is driven out as a signal, high frequencies as a function of pulse train
frequency are also present which lead to power waste. To increase the efficiency and reduce power
dissipation in the load due to these high frequencies, an LC filter should be used in series with the output
and the load. The cutoff frequency of the LC filter should be adjusted to allow audio signals below 20kHz
to pass through, but highly attenuate the high-frequency signal content.
Figure 2-5. Configuration for Using Headphone Amplifier in Class-D Mode
For using the headphones in the Class-D mode of operation, the headphones should first be powered up
in default Class-AB mode to charge the AC-coupling capacitor to the set common mode voltage. Once the
headphone amplifiers have been so powered up, the DAC should be routed to headphones and unmuted
before they can be switched to the Class-D mode. After Class D mode has been turned on, the linear,
Class AB mode amplifier must be turned off. For powering down the headphone amplifiers, the DAC
should first be muted.
See Section 4.0.2 for an example setup script enabling Class-D mode.
2.2.7 Line Outputs
The stereo line level drivers on LOL and LOR pins can drive a wide range of line level resistive
impedances in the range of 600Ω to 10kΩ. The output common modes of line level drivers can be
configured to equal either the analog input common-mode setting or to 1.65V. With output common-mode
setting of 1.65V and DRVdd_HP supply at 3.3V the line-level drivers can drive up to 1Vrms output signal.
The line-level drivers can drive out a mixed combination of DAC signal and attenuated ADC PGA signal.
Signal mixing is register-programmable.
ADC
2.3ADC
The PCM3070 includes a stereo audio ADC, which uses a delta-sigma modulator with a programmable
oversampling ratio, followed by a digital decimation filter. The stereo recording path can be powered up
one channel at a time, to support the case where only mono record capability is required.
The ADC path of the PCM3070 features a large set of options for signal conditioning as well as signal
routing:
•2 ADCs
•6 analog inputs which can be mixed and/or multiplexed in single-ended and/or differential configuration
•2 programmable gain amplifiers (PGA) with a range of 0 to +47.5dB
•2 mixer amplifiers for analog bypass
•2 analog bypass channels
•Fine gain adjust of digital channels with 0.1 dB step size
•Digital volume control with a range of -12 to +20dB
•Mute function
•Automatic gain control (AGC)
In addition to the standard set of ADC features the PCM3070 also offers the following special functions:
•Channel-to-channel phase adjustment
•Fast charge of ac-coupling capacitors
•Anti thump
•Adaptive filter mode
Because of the oversampling nature of the audio ADC and the integrated digital decimation filtering,
requirements for analog anti-aliasing filtering are very relaxed. The PCM3070 integrates a second order
analog anti-aliasing filter with 28-dB attenuation at 6MHz. This filter, combined with the digital decimation
filter, provides sufficient anti-aliasing filtering without requiring additional external components.
As shown in Figure 2-1, the PCM3070 includes six analog inputs which can be configured as either 3
stereo single-ended pairs or 3 fully-differential pairs. These pins connect through series resistors and
switches to the virtual ground terminals of two fully-differential amplifiers (one per ADC/PGA channel). By
turning on only one set of switches per amplifier at a time, the inputs can be effectively multiplexed to
each ADC PGA channel. By turning on multiple sets of switches per amplifier at a time, audio sources can
be mixed. The PCM3070 supports the ability to mix up to four single-ended analog inputs or up to two
fully-differential analog inputs into each ADC PGA channel.
The PCM3070 allows the user the flexibility of choosing the input impedance from 10kΩ, 20kΩ and 40kΩ.
When multiple inputs are mixed together, by choosing different input impedances, level adjustment can be
achieved. For example, if one input is selected with 10kΩ input impedance and the second input is
selected with 20kΩ input impedance, then the second input is attenuated by half as compared to the first
input. Note that this input level control is not intended to be a volume control, but instead used
occasionally for level setting.
Mixing of multiple inputs can easily lead to PGA outputs that exceed the range of the internal amplifiers,
resulting in saturation and clipping of the mixed output signal. Whenever mixing is being implemented, the
system designer is advised to take adequate precautions to avoid such a saturation from occurring. In
general, the mixed signal should not exceed 0dB.
Typically, voice or audio signal inputs are capacitively coupled to the device. This allows the device to
independently set the common mode of the input signals to values chosen by register control of Page 1,
Register 10, D(6) to either 0.9V or 0.75V. The correct value maximizes the dynamic range across the
entire analog-supply range. Failure to capacitively connect the input to the device can cause high offset
due to mismatch in source common-mode and device common-mode setting. In extreme cases it could
also saturate the analog channel, causing distortion.
www.ti.com
2.3.2 ADC Gain Setting
When the gain of the ADC Channel is kept at 0dB and the common mode set to 0.75V, a single-ended
input of 0.375V
gain is kept at 0dB, and common mode is set to 0.9V, a single-ended input of 0.5V
full-scale digital signal at the output of the ADC channel. However various block functions control the gain
through the channel. The gain applied by the PGA is described in Table 2-4. Additionally, the digital
volume control adjusts the gain through the channel as described in Section 2.3.2.2. A finer level of gain is
controlled by fine gain control as described in Section 2.3.2.3. The decimation filters A, B and C along with
the delta-sigma modulator contribute to a DC gain of 1.0 through the channel.
2.3.2.1Analog Programmable Gain Amplifier (PGA)
The PCM3070 features a built-in low-noise PGA for boosting low-level signals to full-scale to achieve high
SNR. This PGA can provide a gain in the range of 0dB to 47.5dB for single-ended inputs or 6dB to 53.5dB
for fully-differential inputs (gain calculated w.r.t. input impedance setting of 10kΩ, 20kΩ input impedance
will result in 6dB lower and 40kΩ will result in 12dB lower gain). This gain can be user controlled by writing
to Page 1, Register 59 and Page 1, Register 60. In the AGC mode this gain can also be automatically
controlled by the built-in hardware AGC.
results in a full-scale digital signal at the output of ADC channel. Similarly, when the
The gain changes are implemented with an internal soft-stepping algorithm that only changes the actual
volume level by one 0.5dB step every one or two ADC output samples, depending on the register value
(see registers Page 0, Reg 81, D(1:0)). This soft-stepping ensures that volume control changes occur
smoothly with no audible artifacts. On reset, the PGA gain defaults to a mute condition, and at power
down, the PGA soft-steps the volume to mute before shutting down. A read-only flag Page 0, Reg 36, D(7)
and D(3) is set whenever the gain applied by the PGA equals the desired value set by the register. The
soft-stepping control can also be disabled by programming Page 0, Reg 81, D(1:0).
2.3.2.2Digital Volume Control
The PCM3070 also has a digital volume-control block with a range from -12dB to +20dB in steps of 0.5dB.
It is set by programming Page 0, Register 83 and 84 respectively for left and right channels.
During volume control changes, the soft-stepping feature is used to avoid audible artifacts. The
soft-stepping rate can be set to either 1 or 2 gain steps per sample. Soft-stepping can also be entirely
disabled. This soft-stepping is configured via Page 1, Register 81, D(1:0), and is common to soft-stepping
control for the analog PGA. During power-down of an ADC channel, this volume control soft-steps down to
-12.0dB before powering down. Due to the soft-stepping control, soon after changing the volume control
setting or powering down the ADC channel, the actual applied gain may be different from the one
programmed through the control register. The PCM3070 gives feedback to the user, through read-only
flags Page 1, Reg 36, D(7) for Left Channel and Page 1, Reg 36, D(3) for the right channel.
2.3.2.3Fine Digital Gain Adjustment
Additionally, the gains in each of the channels is finely adjustable in steps of 0.1dB. This is useful when
trying to match the gain between channels. By programming Page 0, Register 82 the gain can be adjusted
from 0dB to -0.4dB in steps of 0.1dB. This feature, in combination with the regular digital volume control
allows the gains through the left and right channels be matched in the range of -0.5dB to +0.5dB with a
resolution of 0.1dB.
The PCM3070 includes Automatic Gain Control (AGC) for ADC recording. AGC can be used to maintain a
nominally-constant output level. As opposed to manually setting the PGA gain, in the AGC mode, the
circuitry automatically adjusts the PGA gain as the input signal becomes overly loud or very weak. The
AGC algorithm has several programmable parameters, including target gain, attack and decay time
constants, noise threshold, and max PGA applicable, that allow the algorithm to be fine tuned for any
particular application. The algorithm uses the absolute average of the signal (which is the average of the
absolute value of the signal) as a measure of the nominal amplitude of the output signal. Since the gain
can be changed at the sample interval time, the AGC algorithm operates at the ADC sample rate.
1. Target Level represents the nominal output level at which the AGC attempts to hold the ADC output
signal level. The PCM3070 allows programming of eight different target levels, which can be
programmed from –5.5dB to –24dB relative to a full-scale signal. Since the PCM3070 reacts to the
signal absolute average and not to peak levels, it is recommended that the target level be set with
enough margin to avoid clipping at the occurrence of loud sounds.
2. Attack Time determines how quickly the AGC circuitry reduces the PGA gain when the output signal
level exceeds the target level due to increase in input signal level. Wide range of attack time
programmability is supported in terms of number of samples (i.e. number of ADC sample frequency
clock cycles).
3. Decay Time determines how quickly the PGA gain is increased when the output signal level falls
below the target level due to reduction in input signal level. Wide range of decay time programmability
is supported in terms of number of samples (i.e., number of ADC sample frequency clock cycles).
4. Gain Hysteresis is the hysteresis applied to the required gain calculated by the AGC function while
changing its mode of operation from attack to decay or vice-versa. For example, while attacking the
input signal, if the current applied gain by the AGC is xdB, and suddenly because of input level going
down, the new calculated required gain is ydB, then this gain is applied provided y is greater than x by
the value set in Gain Hysteresis. This feature avoids the condition when the AGC function can fluctuate
between a very narrow band of gains leading to audible artifacts. The Gain Hysteresis can be adjusted
or disabled by the user.
5. Noise threshold determines the level below which if the input signal level falls, the AGC considers it
as silence, and thus brings down the gain to 0dB in steps of 0.5dB every FS and sets the noise
threshold flag. The gain stays at 0dB unless the input speech signal average rises above the noise
threshold setting. This ensures that noise is not 'gained up' in the absence of speech. Noise threshold
level in the AGC algorithm is programmable from -30dB to -90dB of full-scale. When AGC Noise
Threshold is set to –70dB, –80db, or –90dB, the microphone input Max PGA applicable setting must
be greater than or equal to 11.5dB, 21.5dB, or 31.5dB respectively. This operation includes hysteresis
and debounce to avoid the AGC gain from cycling between high gain and 0dB when signals are near
the noise threshold level. The noise (or silence) detection feature can be entirely disabled by the user.
6. Max PGA applicable allows the designer to restrict the maximum gain applied by the AGC. This can
be used for limiting PGA gain in situations where environmental noise is greater than the programmed
noise threshold. Microphone input Max PGA can be programmed from 0dB to 58dB in steps of 0.5dB.
7. Hysteresis, as the name suggests, determines a window around the Noise Threshold which must be
exceeded to either detect that the recorded signal is indeed noise or signal. If initially the energy of the
recorded signal is greater than the Noise Threshold, then the AGC recognizes it as noise only when
the energy of the recorded signal falls below the Noise Threshold by a value given by Hysteresis.
Similarly, after the recorded signal is recognized as noise, for the AGC to recognize it as a signal, its
energy must exceed the Noise Threshold by a value given by the Hysteresis setting. In order to
prevent the AGC from jumping between noise and signal states, (which can happen when the energy
of recorded signal is very close to the Noise threshold) a non-zero hysteresis value should be chosen.
The Hysteresis feature can also be disabled.
8. Debounce Time (Noise and Signal) determines the hysteresis in time domain for noise detection.
The AGC continuously calculates the energy of the recorded signal. If the calculated energy is less
than the set Noise Threshold, then the AGC does not increase the input gain to achieve the Target
Level. However, to handle audible artifacts which can occur when the energy of the input signal is very
close to the Noise Threshold, the AGC checks if the energy of the recorded signal is less than the
Noise Threshold for a time greater than the Noise Debounce Time. Similarly the AGC starts increasing
the input-signal gain to reach the Target Level when the calculated energy of the input signal is greater
than the Noise Threshold. Again, to avoid audible artifacts when the input-signal energy is very close
to Noise Threshold, the energy of the input signal needs to continuously exceed the Noise Threshold
9. The AGC Noise Threshold Flag is a read-only flag indicating that the input signal has levels lower
10. Gain Applied by AGC is a ready-only register setting which gives a real-time feedback to the system
11. The AGC Saturation Flag is a read-only flag indicating that the ADC output signal has not reached its
12. The ADC Saturation Flag is a read-only flag indicating an overflow condition in the ADC channel. On
13. An AGC low-pass filter is used to help determine the average level of the input signal. This average
ADC
value for the Signal Debounce Time. If the debounce times are kept very small, then audible artifacts
can result by rapid enabling and disabling the AGC function. At the same time, if the Debounce time is
kept too large, then the AGC may take time to respond to changes in levels of input signals with
respect to Noise Threshold. Both noise and signal debounce time can be disabled.
than the Noise Threshold, and thus is detected as noise (or silence). In such a condition the AGC
applies a gain of 0dB.
on the gain applied by the AGC to the recorded signal. This, along with the Target Setting, can be
used to determine the input signal level. In a steady state situation
Target Level (dB ) = Gain Applied by AGC (dB) + Input Signal Level (dB)
When the AGC noise threshold flag is set, then the status of gain applied by AGC should be ignored.
Target Level. However, the AGC is unable to increase the gain further because the required gain is
higher than the Maximum Allowed PGA gain. Such a situation can happen when the input signal has
very low energy and the Noise Threshold is also set very low. When the AGC noise threshold flag is
set, the status of AGC saturation flag should be ignored.
overflow, the signal is clipped and distortion results. This typically happens when the AGC Target Level
is kept very high and the energy in the input signal increases faster than the Attack Time.
level is compared to the programmed detection levels in the AGC to provide the correct functionality.
This low pass filter is in the form of a first-order IIR filter. Three 8-bit registers are used to form the
24-bit digital coefficient as shown on the register map. In this way, a total of 9 registers are
programmed to form the 3 IIR coefficients. The transfer function of the filter implemented for signal
level detection is given by
Where:
Coefficient N0 can be programmed by writing into Page 8, Register 12, 13 and 14.
Coefficient N1 can be programmed by writing into Page 8, Register 16, 17 and 18.
Coefficient D1 can be programmed by writing into Page 8, Register 20, 21 and 22.
N0, N1 and D1 are 24-bit 2’s complement numbers and their default values implement a low-pass
filter with cut-off at 0.002735*ADC_FS .
See Table 2-6 for various AGC programming options. AGC can be used only if analog microphone
input is routed to the ADC channel.
2.3.3 ADC Decimation Filtering and Signal Processing Overview
The PCM3070 ADC channel includes a built-in digital decimation filter to process the oversampled data
from the sigma-delta modulator to generate digital data at Nyquist sampling rate with high dynamic range.
The decimation filter can be chosen from three different types, depending on the required frequency
response, group delay and sampling rate.
2.3.4 ADC Processing Blocks
The PCM3070 offers a range of processing blocks which implement various signal processing capabilities
along with decimation filtering. These processing blocks give users the choice of how much and what type
of signal processing they may use and which decimation filter is applied.
Table 2-7 gives an overview of the available processing blocks of the ADC channel and their properties.
The processing blocks are tuned for common cases and can achieve high anti-alias filtering or low-group
delay in combination with various signal processing effects such as audio effects and frequency shaping.
The available first order IIR, BiQuad and FIR filters have fully user-programmable coefficients. The
Resource Class Column (RC) gives an approximate indication of power consumption.
Depending on the selected processing block, different types and orders of digital filtering are available. A
1st-order IIR filter is always available, and is useful to efficiently filter out possible DC components of the
signal. Up to 5 biquad section or alternatively up to 25-tap FIR filters are available for specific processing
blocks. The coefficients of the available filters are arranged as sequentially indexed coefficients in two
banks. If adaptive filtering is chosen, the coefficient banks can be switched on-the-fly. For more details on
adaptive filtering see Section 2.3.6.5 below.
The coefficients of these filters are each 24-bits wide, in two's-complement and occupy 3 consecutive 8-bit
registers in the register space. For default values please see Section 5.13.
2.3.5.10.1 1stOrder IIR Section
The transfer function for the first order IIR Filter is given by
The frequency response for the 1storder IIR Section with default coefficients is flat at a gain of 0dB.
Details on ADC coefficient default values are given in Section 5.13.
Table 2-8. ADC 1st order IIR Filter Coefficients
www.ti.com
(2)
FilterFIlterADC Coefficient LeftADC Coefficient Right Channel
The transfer function of each of the Biquad Filters is given by
The frequency response for each of the biquad section with default coefficients is flat at a gain of 0dB.
Details on ADC coefficient default values are given in Section 5.13.
ADC
(3)
Table 2-9. ADC Biquad Filter Coefficients
FilterFIlterADC Coefficient LeftADC Coefficient Right Channel
Six of the available ADC processing blocks offer FIR filters for signal processing. PRB_R9 and PRB_R12
feature a 20-tap FIR filter while the processing blocks PRB_R3, PRB_R6, PRB_R15 and PRB_R18
feature a 25-tap FIR filter
The coefficients of the FIR filters are 24-bit 2’s complement format and correspond to the ADC coefficient
space as listed below. There is no default transfer function for the FIR filter. When the FIR filter gets used
all applicable coefficients must be programmed.
www.ti.com
(4)
Table 2-10. ADC FIR Filter Coefficients
FilterFIlter Coefficient Left ADCFilter Coefficient Right ADC Channel
ADCChannelResponseforDecimationFilter A
(Redlinecorrespondsto –73dB)
G013
www.ti.com
2.3.5.11 Decimation Filter
The PCM3070 offers 3 different types of decimation filters. The integrated digital decimation filter removes
high-frequency content and down samples the audio data from an initial sampling rate of AOSR*Fs to the
final output sampling rate of Fs. The decimation filtering is achieved using a higher-order CIC filter
followed by linear-phase FIR filters. The decimation filter cannot be chosen by itself, it is implicitly set
through the chosen processing block.
The following subsections describe the properties of the available filters A, B and C.
2.3.5.11.1 Decimation Filter A
This filter is intended for use at sampling rates up to 48kHz. When configuring this filter, the oversampling
ratio of the ADC can either be 128 or 64. For highest performance the oversampling ratio must be set to
128.
Filter A can also be used for 96kHz at an AOSR of 64.
ParameterConditionValue (Typical)Units
AOSR = 128
Filter Gain Pass Band0…0.39 Fs0.062dB
Filter Gain Stop Band0.55…64Fs–73dB
Filter Group Delay17/FsSec.
Pass Band Ripple, 8 ksps0…0.39 Fs0.062dB
Pass Band Ripple, 44.1 ksps0…0.39 Fs0.05dB
Pass Band Ripple, 48 ksps0…0.39 Fs0.05dB
AOSR = 64
Filter Gain Pass Band0…0.39 Fs0.062dB
Filter Gain Stop Band0.55…32Fs–73dB
Filter Group Delay17/FsSec.
Pass Band Ripple, 8 ksps0…0.39 Fs0.062dB
Pass Band Ripple, 44.1 ksps0…0.39 Fs0.05dB
Pass Band Ripple, 48 ksps0…0.39 Fs0.05dB
Pass Band Ripple, 96 ksps0…20kHz0.1dB
ADC
Table 2-11. ADC Decimation Filter A, Specification
SLAU332–March 2011PCM3070 Application
Submit Documentation Feedback
Figure 2-16. ADC Decimation Filter A, Frequency Response
Filter B is intended to support sampling rates up to 96kHz at a oversampling ratio of 64.
ParameterConditionValue (Typical)Units
AOSR = 64
Filter Gain Pass Band0…0.39Fs±0.077dB
Filter Gain Stop Band0.60Fs…32Fs–46dB
Filter Group Delay11/FsSec.
Pass Band Ripple, 8 ksps0…0.39Fs0.076dB
Pass Band Ripple, 44.1 ksps0…0.39Fs0.06dB
Pass Band Ripple, 48 ksps0…0.39Fs0.06dB
Pass Band Ripple, 96 ksps0…20kHz0.11dB
Filter type C along with AOSR of 32 is specially designed for 192ksps operation for the ADC. The pass
band which extends up to 0.11*Fs ( corresponds to 21kHz), is suited for audio applications.
ParameterConditionValue (Typical)Units
Filter Gain from 0 to 0.11Fs0…0.11Fs±0.033dB
Filter Gain from 0.28Fs to 16Fs0.28Fs…16Fs–60dB
Filter Group Delay11/FsSec.
Pass Band Ripple, 8 ksps0…0.11Fs0.033dB
Pass Band Ripple, 44.1 ksps0…0.11Fs0.033dB
Pass Band Ripple, 48 ksps0…0.11Fs0.032dB
Pass Band Ripple, 96 ksps0…0.11Fs0.032dB
Pass Band Ripple, 192 ksps0…20kHz0.086dB
Figure 2-18. ADC Decimation Filter C, Frequency Response
2.3.5.12 ADC Data Interface
The decimation filter and signal processing block in the ADC channel passes 32-bit data words to the
audio serial interface once every cycle of Fs,ADC. During each cycle of Fs,ADC, a pair of data words ( for
left and right channel ) are passed. The audio serial interface rounds the data to the required word length
of the interface before converting to serial data as per the different modes for audio serial interface.
The PCM3070 has a built-in feature to fine-adjust the phase between the stereo ADC record signals. This
delay can be controlled in fine amounts in the following fashion.
The PCM3070 supports a highly flexible DC measurement feature using the high resolution oversampling
and noise-shaping ADC. This mode can be used when the particular ADC channel is not used for the
audio-record function. This mode can be enabled by programming Page 0, Register 102, D(7:6). The
converted data is 24-bits, using 2.22 numbering format. The value of the converted data for the
left-channel ADC can be read back from Page 0, Register 104-106 and for the right-channel ADC from
Page 0, Register 107-109. Before reading back the converted data, Page 0, Register 103, D(6) must be
programmed to latch the converted data into the read-back register. After the converted data is read back,
Page 0, Register 103, D(6) must be reset to 0 immediately. In DC measurement mode, two measurement
methods are supported.
Mode A
In DC-measurement mode A, a variable-length averaging filter is used. The length of the averaging filter
D, can be programmed from 1 to 20 by programming Page 0, Register 102, D(4:0). To choose mode A,
Page 0, Register 102, D(5) must be programmed to 0.
Mode B
To choose mode B Page 0, Register 102, D(5) must be programmed to 1. In DC-measurement mode B, a
first-order IIR filter is used. The coefficients of this filter are determined by D, Page 0, Register 102,
D(4:0). The nature of the filter is given in the table below
D:Page 0, Reg 102 , D(4:0)–3 dB BW (kHz)–0.5 dB BW (kHz)
By programming Page 0, Reg 103, D(5) to ‘1’, the averaging filter is periodically reset after 2^R number of
ADC_MOD_CLK, where R is programmed in Page 0, Reg 103, D(4:0). When Page 0, Reg 103, D(5) is set
to 1 then the value of D should be less than the value of R. When Page 0, Reg 103, D(5) is programmed
as 0 the averaging filter is never reset.
2.3.6.3Fast Charging AC Capacitors
The value of the coupling capacitor must be so chosen that the high-pass filter formed by the coupling
capacitor and the input impedance do not affect the signal content. At power-up, before proper recording
can begin, this coupling capacitor must be charged up to the common-mode voltage. To enable quick
charging, the PCM3070 has modes to speed up the charging of the coupling capacitor. These are
controlled by controlling Page 1, Register 71, D(5:0).
2.3.6.4Anti Thump
For audio recording, the analog input pins of the PCM3070, must be AC-coupled to isolate the
DC-common mode voltage of the driving circuit from the common-mode voltage of the PCM3070.
When the analog inputs are not selected for any routing, the input pins are 3-stated and the voltage on the
pins is undefined. When the unselected inputs are selected for any routing, the input pins must charge
from the undefined voltage to the input common-mode voltage. This charging signal can cause audible
artifacts. In order to avoid such artifacts the PCM3070 also incorporates anti-thump circuitry to allow
connection of unused inputs to the common-mode level. This feature is disabled by default, and can be
enabled by writing the appropriate value into Page 1, Register 58, D(7:2). The use of this feature in
combination with the PTM_R1 setting in Page 0, Register 61 when the ADC channel is powered down
causes the additional current consumption of 700μA from AVdd and 125μA from DVdd in the sleep mode.
After the ADC is running, the filter coefficients are locked and cannot be accessed for read or write.
However the PCM3070 offers an adaptive filter mode as well. Setting Register Page 8,Reg 1, D(2)=1 turns
on double buffering of the coefficients. In this mode filter coefficients can be updated through the host and
activated without stopping and restarting the ADC, enabling advanced adaptive filtering applications.
To support double buffering, all coefficients are stored in two buffers (Buffer A and B). When the ADC is
running and adaptive filtering mode is turned on, setting the control bit Page 8, Reg 1,D(0)=1 switches the
coefficient buffers at the next start of a sampling period. The bit reverts to 0 after the switch occurs. At the
same time, the flag Page 8, Reg 1, D(1) toggles.
The flag in Page 8, Reg 1, D(1) indicates which of the two buffers is actually in use.
Page 8, Reg 1, D(1)=0: Buffer A is in use by the ADC engine, D(1)=1: Buffer B is in use.
While the device is running, coefficient updates are always made to the buffer not in use by the ADC,
regardless to which buffer the coefficients have been written
The following discussion is intended to guide a system designer through the steps necessary to configure
the PCM3070 ADC.
Step 1
The system clock source (master clock) and the targeted ADC sampling frequency must be identified.
Depending on the targeted performance, the decimation filter type (A, B or C) and OSR value can be
determined.
•Filter A with AOSR of 128 should be used for 48kHz high performance operation.
•Filter B with AOSR of 64 should be used for 96kHz operations.
•Filter C with AOSR of 32 should be used for 192kHz operations
Based on the identified filter type and the required signal processing capabilities the appropriate
processing block can be determined from the list of available processing blocks (PRB_R1 to PRB_R18)
(See Table 2-7).
Based on the available master clock, the chosen OSR and the targeted sampling rate, the clock divider
values NADC and MADC can be determined. If necessary the internal PLL will add a large degree of
flexibility.
In summary, Codec_Clkin which is either derived directly from the system clock source or from the internal
PLL, divided by MADC, NADC and AOSR, must be equal to the ADC sampling rate ADC_FS. The
codec_clkin clock signal is shared with the DAC clock generation block.
CODEC_CLKIN = NADC*MADC*AOSR*ADC_FS
To a large degree NADC and MADC can be chosen independently in the range of 1 to 128. In general
NADC should be as large as possible as long as the following condition can still be met:
MADC*AOSR/32 ≥ RC
RC is a function of the chosen processing block, and is listed in Table 2-7.
The common mode setting of the device is determined by the available analog power supply; this common
mode setting is shared across DAC (input common mode) and analog bypass path.
At this point the following device specific parameters are known:
PRB_Rx, AOSR, NADC, MADC, common mode setting
Additionally if the PLL is used the PLL parameters P, J, D and R are determined as well.
Step 2
Setting up the device via register programming:
The following list gives a sequence of items that must be executed between powering up the device and
reading data from the device:
www.ti.com
32
Define starting point:Set register page to 0
Initiate SW Reset
Program Clock Settings Program PLL clock dividers P,J,D,R (if PLL is necessary)
Power up PLL (if PLL is necessary)
Program and power up NADC
Program and power up MADC
Program OSR value
Program the processing block to be used
At this point, at the latest, the analog power supply must be applied to the device (via internal LDO
or external).
Program Analog Blocks Set register Page to 1
Disable coarse AVdd generation
Enable Master Analog Power Control
The PCM3070 includes a stereo audio DAC supporting data rates from 8kHz to 192kHz. Each channel of
the stereo audio DAC consists of a signal-processing engine with fixed processing blocks, a
programmable miniDSP, a digital interpolation filter, multi-bit digital delta-sigma modulator, and an analog
reconstruction filter. The DAC is designed to provide enhanced performance at low sampling rates through
increased oversampling and image filtering, thereby keeping quantization noise generated within the
delta-sigma modulator and signal images strongly suppressed within the audio band to beyond 20kHz. To
handle multiple input rates and optimize performance, the PCM3070 allows the system designer to
program the oversampling rates over a wide range from 1 to 1024. The system designer can choose
higher oversampling ratios for lower input data rates and lower oversampling ratios for higher input data
rates.
The PCM3070 DAC channel includes a built-in digital interpolation filter to generate oversampled data for
the sigma-delta modulator. The interpolation filter can be chosen from three different types depending on
required frequency response, group delay and sampling rate.
The DAC path of the PCM3070 features many options for signal conditioning and signal routing:
•2 headphone amplifiers
– Usable in single-ended or differential mode
– Analog volume setting with a range of -6 to +29 dB
•2 line-out amplifiers
– Usable in single-ended or differential mode
– Analog volume setting with a range of -6 to +29 dB
•Digital volume control with a range of -63.5 to +24dB
•Mute function
•Dynamic range compression (DRC)
In addition to the standard set of DAC features the PCM3070 also offers the following special features:
•Built in sine wave generation (beep generator)
•Digital auto mute
•Adaptive filter mode
DAC
The PCM3070 implements signal processing capabilities and interpolation filtering via processing blocks.
These fixed processing blocks give users the choice of how much and what type of signal processing they
may use and which interpolation filter is applied.
Table 2-15 gives an overview over all available processing blocks of the DAC channel and their
properties. The Resource Class Column (RC) gives an approximate indication of power consumption.
The signal processing blocks available are:
•First-order IIR
•Scalable number of biquad filters
•3D – Effect
•Beep Generator
The processing blocks are tuned for typical cases and can achieve high image rejection or low group
delay in combination with various signal processing effects such as audio effects and frequency shaping.
The available first-order IIR and biquad filters have fully user-programmable coefficients. The Resource
Class Column (RC) gives an approximate indication of power consumption.
2.4.1.10 5 Biquads, DRC, 3D, Interpolation Filter A
Figure 2-28. Signal Chain for PRB_P24
DAC
2.4.1.11 5 Biquads, DRC, 3D, Beep Generator, Interpolation Filter A
2.4.2 User Programmable Filters
Depending on the selected processing block, different types and orders of digital filtering are available. Up
to 6 biquad sections are available for specific processing blocks.
The coefficients of the available filters are arranged as sequentially-indexed coefficients in two banks. If
adaptive filtering is chosen, the coefficient banks can be switched on-the-fly. For more details on adaptive
filtering please see Section 2.4.5.3.
The coefficients of these filters are each 24-bits wide, in two's-complement and occupy 3 consecutive 8-bit
registers in the register space. For default values please see the default values tables in the Register Map
section.
2.4.2.11st-Order IIR Section
The IIR is of first-order and its transfer function is given by
The frequency response for the 1storder IIR Section with default coefficients is flat. Details on DAC
coefficient default values are given in Section 5.15.
www.ti.com
(9)
Table 2-16. DAC IIR Filter Coefficients
FilterFilter Coefficient ADC Coefficient Left Channel ADC Coefficient Right
The transfer function of each of the Biquad Filters is given by
The frequency response for each biquad section with default coefficients is flat at a gain of 0dB. Details on
DAC coefficient default values are given in Section 5.15.
The 3D-PGA attenuation block as used in the processing blocks PRB_P23, PRB_P24 and PRB_P25 can
be programmed in the range of -1.0 to +1.0. A value of -1.0 corresponds to 0x7FFFFF in DAC coefficient
C32 (Page 45 / Register 16,17 and 18). A value of 1.0 corresponds to 0x800000 in coefficient C32.
Figure 2-31. Channel Interpolation Filter B, Frequency Response
2.4.3.3Interpolation Filter C
Filter C is specifically designed for the 192ksps mode. The pass band extends up to 0.40*Fs (corresponds
to 80kHz), more than sufficient for audio applications.
DAC
SLAU332–March 2011PCM3070 Application
Submit Documentation Feedback
ParameterConditionValue (Typical)Units
Filter Gain Pass Band0 … 0.35Fs±0.03dB
Filter Gain Stop Band0.60Fs… 1.4Fs–43dB
Filter Group Delay13/Fss
Figure 2-32. DAC Interpolation Filter C, Frequency Response
The PCM3070 signal processing blocks incorporate a digital volume control block that can control the
volume of the playback signal from +24dB to –63.5dB in steps of 0.5dB. These can be controlled by
writing to Page 0, Register 65 and 66. The volume control of left and right channels by default can be
controlled independently, however by programming Page 0, Reg 64, Bits D1-D0), they can be made
interdependent. The volume changes are soft-stepped in steps of 0.5dB to avoid audible artifacts during
gain change. The rate of soft-stepping can be controlled by programming Page 0, Reg 63, Bits D1-D0) to
either one step per frame (DAC_FS ) or one step per 2 frames. The soft-stepping feature can also be
entirely disabled. During soft-stepping the value of the actual applied gain would differ from the
programmed gain in register. The PCM3070 gives a feedback to the user in form of register readable flag
to indicate that soft-stepping is currently in progress. The flags for left and right channels can be read back
by reading Page 0, Reg 38, Bits D4) and D(0) respectively. A value of 0 in these flags indicates a
soft-stepping operation in progress, and a value of 1 indicates that soft-stepping has completed. A
soft-stepping operation comes into effect during a) power-up, when the volume control soft-steps from
–63.5dB to programmed gain value b) volume change by user when DAC is powered up and c)
power-down, when the volume control block soft-steps to –63.5dB before powering down the channel.
2.4.4.2Dynamic Range Compression
Typical music signals are characterized by crest factors, the ratio of peak signal power to average signal
power, of 12dB or more. In order to avoid audible distortions due to clipping of peak signals, the gain of
the DAC channel must be adjusted so as not to cause hard clipping of peak signals. As a result, during
nominal periods, the applied gain is low, causing the perception that the signal is not loud enough. To
overcome this problem, the DRC in the PCM3070 continuously monitors the output of the DAC Digital
Volume control to detect its power level w.r.t. 0dB FS. When the power level is low, it increases the input
signal gain to make it sound louder. At the same time, if a peaking signal is detected, it autonomously
reduces the applied gain to avoid hard clipping. The resulting sound can be more pleasing to the ear as
well as sounding louder during nominal periods.
The DRC functionality in the PCM3070 is implemented by a combination of Processing Blocks in the DAC
channel as described in Section 2.4.1.
The DRC can be disabled by writing into Page 0, Reg 68, Bits D6-D5).
The DRC typically works on the filtered version of the input signal. The input signals have no audio
information at DC and extremely low frequencies; however they can significantly influence the energy
estimation function in DRC. Also most of the information about signal energy is concentrated in the low
frequency region of the input signal.
In order to estimate the energy of the input signal, the signal is first fed to the DRC high-pass filter and
then to the DRC low-pass filter. These filters are implemented as first-order IIR filters given by
www.ti.com
(11)
(12)
The coefficients for these filters are 24-bits wide in two’s-complement and are user programmable through
register write as given in Table 2-21, and coefficient default values are summarized in Section 5.15.
Table 2-21. DRC HPF and LPF Coefficients
CoefficientLocation
HPF N0C71 Page 46, Register 52 to 55
HPF N1C72 Page 46, Register 56 to 59
HPF D1C73 Page 46, Register 60 to 63
LPF N0C74 Page 46, Register 64 to 67
LPF N1C75 Page 46, Register 68 to 71
LPF D1C76 Page 46, Register 72 to 75
The default values of these coefficients implement a high-pass filter with a cut-off at 0.00166*DAC_FS,
and a low-pass filter with a cutoff at 0.00033*DAC_FS.
The output of the DRC high-pass filter is fed to the Processing Block selected for the DAC Channel. The
absolute value of the DRC-LPF filter is used for energy estimation within the DRC.
The gain in the DAC Digital Volume Control is controlled by Page 0, Register 65 and 66. When the DRC is
enabled, the applied gain is a function of the Digital Volume Control register setting and the output of the
DRC.
The DRC parameters are described in sections that follow.
2.4.4.2.1 DRC Threshold
The DRC Threshold represents the level of the DAC playback signal at which the gain compression
becomes active. The output of the digital volume control in the DAC is compared with the set threshold.
The threshold value is programmable by writing to register Page 0, Register 68, Bits D4-D2). The
Threshold value can be adjusted between –3dBFS to -24dBFS in steps of 3dB. Keeping the DRC
Threshold value too high may not leave enough time for the DRC block to detect peaking signals, and can
cause excessive distortion at the outputs. Keeping the DRC Threshold value too low can limit the
perceived loudness of the output signal.
The recommended DRC-Threshold value is –24 dB.
When the output signal exceeds the set DRC Threshold, the interrupt flag bits at Page 0, Register 44, Bits
D3-D2) are updated. These flag bits are 'sticky' in nature, and are reset only after they are read back by
the user. The non-sticky versions of the interrupt flags are also available at Page 0, Register 46, Bits
D3-D2).
DAC
Table 2-21. DRC HPF and LPF Coefficients (continued)
2.4.4.2.2 DRC Hysteresis
DRC Hysteresis is programmable by writing to Page 0, Register 68, Bits D1-D0). It can be programmed to
values between 0dB and 3dB in steps of 1dB. It is a programmable window around the programmed DRC
Threshold that must be exceeded for a disabled DRC to become enabled, or an enabled DRC to become
disabled. For example, if the DRC Threshold is set to -12dBFS and DRC Hysteresis is set to 3dB, then if
the gain compressions in the DRC is inactive, the output of the DAC Digital Volume Control must exceed
–9dBFS before gain compression due to the DRC is activated. Similarly, when the gain compression in
the DRC is active, the output of the DAC Digital Volume Control needs to fall below -15dBFS for gain
compression in the DRC to be deactivated. The DRC Hysteresis feature prevents the rapid activation and
de-activation of gain compression in the DRC in cases when the output of DAC Digital Volume Control
rapidly fluctuates in a narrow region around the programmed DRC Threshold. By programming the DRC
Hysteresis as 0dB, the hysteresis action is disabled.
Recommended Value of DRC Hysteresis is 3 dB.
2.4.4.2.3 DRC Hold
The DRC Hold is intended to slow the start of decay for a specified period of time in response to a
decrease in energy level. To minimize audible artifacts, it is recommended to set the DRC Hold time to 0
through programming Page 0, Register 69, Bits D6-D3) = 0000.
When the output of the DAC Digital Volume Control exceeds the programmed DRC Threshold, the gain
applied in the DAC Digital Volume Control is progressively reduced to avoid the signal from saturating the
channel. This process of reducing the applied gain is called Attack. To avoid audible artifacts, the gain is
reduced slowly with a rate equaling the Attack Rate programmable via Page 0, Register 70, Bits D7-D4).
Attack Rates can be programmed from 4dB gain change per 1/DAC_FS to 1.2207e-5dB gain change per
1/DAC_FS.
Attack Rates should be programmed such that before the output of the DAC Digital Volume control can
clip, the input signal should be sufficiently attenuated. High Attack Rates can cause audible artifacts, and
too-slow Attack Rates may not be able to prevent the input signal from clipping.
The recommended DRC Attack Rate value is 1.9531e-4 dB per 1/DAC_FS.
2.4.4.2.5 DRC Decay Rate
When the DRC detects a reduction in output signal swing beyond the programmed DRC Threshold, the
DRC enters a Decay state, where the applied gain in Digital Volume Control is gradually increased to
programmed values. To avoid audible artifacts, the gain is slowly increased with a rate equal to the Decay
Rate programmed through Page 0, Register 70, Bits D3-D0). The Decay Rates can be programmed from
1.5625e-3dB per 1/DAC_FS to 4.7683e-7dB per 1/DAC_FS. If the Decay Rates are programmed too high,
then sudden gain changes can cause audible artifacts. However, if it is programmed too slow, then the
output may be perceived as too low for a long time after the peak signal has passed.
The recommended Value of DRC Decay Rate is 2.4414e-5 dB per 1/DAC_FS.
www.ti.com
2.4.4.2.6 Example Setup for DRC
•PGA Gain = 12 dB
•Threshold = -24 dB
•Hysteresis = 3 dB
•Hold time = 0 ms
•Attack Rate = 1.9531e-4 dB per 1/DAC_FS
•Decay Rate = 2.4414e-5 dB per 1/DAC_FS
Script
w 30 00 00#Go to Page 0
w 30 41 18#DAC => 12 db gain left
w 30 42 18#DAC => 12 db gain right
w 30 44 7F#DAC => DRC Enabled for both channels, Threshold = -24 db, Hysteresis = 3 dB
w 30 45 00#DRC Hold = 0 ms, Rate of Changes of Gain = 0.5 dB/Fs'
w 30 46 B6#Attack Rate = 1.9531e-4 dB/Frame , DRC Decay Rate =2.4414e-5 dB/Frame
w 30 00 2E#Go to Page 46
w 30 34 7F AB 00 00 80 55 00 00 7F 56 00 00#DRC HPF
w 30 40 00 11 00 00 00 11 00 00 7F DE 00 00#DRC LPF
A special function has also been included in the processing block PRB_P25 for generating a digital
sine-wave signal that is sent to the DAC. This is intended for generating key-click sounds for user
feedback. A default value for the sine-wave frequency, sine burst length, and signal magnitude is kept in
the Tone Generator Registers Page 0 / Registers 71 through 79. The sine wave generator is very flexible,
and is completely register programmable via 9 registers of 8 bits each to provide many different sounds.
Two registers are used for programming the 16-bit, two's-complement, sine-wave coefficient (Page 0 /
Registers 76 and 77). Two other registers program the 16-bit, two's-complement, cosine-wave coefficient
(Page 0 / Registers 78 and 79). This coefficient resolution allows virtually any frequency of sine wave in
the audio band to be generated up to DAC_FS/2.
Three registers are used to control the length of the sine burst waveform which are located on Page 0 /
Registers 73, 74, and 75. The resolution (bit) in the registers of the sine burst length is one sample time,
so this allows great control on the overall time of the sine burst waveform. This 24-bit length timer
supports 16,777,215 sample times. (For example if DAC_FS is set at 48kHz, and the registers combined
value equals 96000d (01770h), then the sine burst would last exactly two seconds.)
Two registers are used to independently control the Left sine-wave volume and the Right sine-wave
volume. The 6-bit digital volume control allows level control of 0dB to –63dB in one dB steps. The
left-channel volume is controlled by writing to Page 0 / Register 71, Bits D5-D0. The right-channel volume
is controlled by Page 0 / Register 72, Bits D5-D0. A master volume control for the left and right channel of
the beep generator can be set up using Page 0 / Register 72, Bits D7-D6. The default volume control
setting is 0dB, the tone generator maximum-output level.
For playing back the sine wave, the DAC must be configured with regards to clock setup and routing. The
sine wave gets started by setting the Beep Generator Enable Bit (Page 1 / Register 71, Bit D7=1). After
the sine wave has played for its predefined time period this bit will automatically set back to 0. While the
sine wave is playing, the parameters of the beep generator cannot be changed. To stop the sine wave
while it is playing set the Beep Generator Enable Bit to 0.
DAC
2.4.5.2Digital Auto Mute
The PCM3070 also incorporates a special feature, in which the DAC channel is auto-muted when a
continuous stream of DC-input is detected. By default, this feature is disabled. It can be enabled by writing
a non-000 value into Page 0 / Register 64, Bits D6-D4. The non-zero value controls the duration of
continuous stream of DC-input before which the auto-mute feature takes effect. This feature is especially
helpful for eliminating high-frequency-noise power being delivered into the load even during silent periods
of speech or music.
2.4.5.3Adaptive Filtering
When the DAC is running, the user-programmable filter coefficients are locked and cannot be accessed
for either read or write.
However the PCM3070 offers an adaptive filter mode as well. Setting Register Page 44,Reg 1, Bit D2=1
will turn on double buffering of the coefficients. In this mode, filter coefficients can be updated through the
host, and activated without stopping and restarting the DAC. This enables advanced adaptive filtering
applications.
In the double-buffering scheme, all coefficients are stored in two buffers (Buffers A and B). When the DAC
is running and adaptive filtering mode is turned on, setting the control bit Page 44 / Register 1, Bit D0=1
switches the coefficient buffers at the next start of a sampling period. This bit is set back to 0 after the
switch occurs. At the same time, the flag Page 44 / Reg 1, Bit D1) toggles.
The flag in Page 44 / Register 1, Bit D1) indicates which of the two buffers is actually in use.
Page 44 / Register 1, Bit D1=0: Buffer A is in use by the DAC engine, Bit D1=1: Buffer B is in use.
While the device is running, coefficient updates are always made to the buffer not in use by the DAC,
regardless to which buffer the coefficients have been written.
No0NoneC1, Buffer AC1, Buffer A
No0NoneC1, Buffer BC1, Buffer B
Yes0Buffer AC1, Buffer AC1, Buffer B
Yes0Buffer AC1, Buffer BC1, Buffer B
Yes1Buffer BC1, Buffer AC1, Buffer A
Yes1Buffer BC1, Buffer BC1, Buffer A
The user programmable coefficients C1 to C70 are defined on Pages 44, 45 and 46 for Buffer A and
Pages 62, 63 and 64 for Buffer B.
2.4.6 DAC Setup
The following paragraphs are intended to guide a user through the steps necessary to configure the
PCM3070 DAC.
Step 1
The system clock source (master clock) and the targeted DAC sampling frequency must be identified.
Depending on the targeted performance the decimation filter type (A, B or C) and DOSR value can be
determined.
Filter A should be used for 48kHz high-performance operation, DOSR must be a multiple of 8.
Filter B should be used for up to 96kHz operations, DOSR must be a multiple of 4.
Filter C should be used for up to 192kHz operations, DOSR must be a multiple of 2.
In all cases the DOSR is limited in its range by the following condition:
2.8MHz < DOSR * DAC_FS < 6.2MHz
Based on the identified filter type and the required signal processing capabilities, the appropriate
processing block can be determined from the list of available processing blocks (PRB_P1 to PRB_P25).
Based on the available master clock, the chosen DOSR and the targeted sampling rate, the clock divider
values NDAC and MDAC can be determined. If necessary, the internal PLL can add a large degree of
flexibility.
In summary, Codec_Clkin (derived directly from the system clock source or from the internal PLL) divided
by MDAC, NDAC and DOSR must be equal to the DAC sampling rate DAC_FS. The codec_clkin clock
signal is shared with the ADC clock generation block.
CODEC_CLKIN = NDAC*MDAC*DOSR*DAC_FS
To a large degree, NDAC and MDAC can be chosen independently in the range of 1 to 128. In general,
NDAC should be as large as possible as long as the following condition can still be met:
MDAC*DOSR/32 ≥ RC
RC is a function of the chosen processing block and is listed in Table 2-15.
The common-mode voltage setting of the device is determined by the available analog power supply. This
common-mode (input common-mode) value is common across the ADC, DAC and analog bypass path.
The output common-mode setting is determined by the available analog power supplies (AVdd and
LDOIN) and the desired output-signal swing.
At this point the following device specific parameters are known:
PRB_Px, DOSR, NDAC, MDAC, input and output common-mode values
If the PLL is used, the PLL parameters P, J, D and R are determined as well.
Setting up the device via register programming:
The following list gives a sequence of items that must be executed in the time between powering the
device up and reading data from the device:
Audio Digital I/O Interface
Define starting point:Set register page to 0
Initiate SW Reset
Program Clock Settings Program PLL clock dividers P,J,D,R (if PLL is necessary)
Power up PLL (if PLL is necessary)
Program and power up NDAC
Program and power up MDAC
Program OSR value
Program I2S word length if required (e.g. 20bit)
Program the processing block to be used
At this point, at the latest, the analog power supply must be applied to the device (via internal LDO
or external)
Program Analog Blocks Set register Page to 1
Disable coarse AVdd generation
Enable Master Analog Power Control
Program Common Mode voltage
Program Reference fast charging
Program Headphone specific depop settings (in case of headphone driver
used)
Program routing of DAC output to the output amplifier (headphone)
Unmute and set gain of output driver
Power up output driver
Apply waiting time determined by the de-pop settings and the soft-stepping settings of the driver
gain or poll Page 1 / Register 63
Power Up DACSet register Page to 0
Power up DAC Channels
Unmute digital volume control
2.5Audio Digital I/O Interface
Audio data is transferred between the host processor and the PCM3070 via the digital audio data serial
interface, or audio bus. The audio bus on this device is very flexible, including left or right-justified data
options, support for I2S or PCM protocols, programmable data length options, a TDM mode for
multichannel operation, very flexible master/slave configurability for each bus clock line, and the ability to
communicate with multiple devices within a system directly.
The audio bus of the PCM3070 can be configured for left or right-justified, I2S, DSP, or TDM modes of
operation, where communication with standard PCM interfaces is supported within the TDM mode. These
modes are all MSB-first, with data width programmable as 16, 20, 24, or 32 bits by configuring Page 0,
Register 27, D(5:4). In addition, the word clock and bit clock can be independently configured in either
Master or Slave mode, for flexible connectivity to a wide variety of processors. The word clock is used to
define the beginning of a frame, and may be programmed as either a pulse or a square-wave signal. The
frequency of this clock corresponds to the maximum of the selected ADC and DAC sampling frequencies.
The bit clock is used to clock in and clock out the digital audio data across the serial bus. When in Master
mode, this signal can be programmed to generate variable clock pulses by controlling the bit-clock divider
in Page 0, Register 30. The number of bit-clock pulses in a frame may need adjustment to accommodate
various word-lengths as well as to support the case when multiple PCM3070s may share the same audio
bus.
The PCM3070 also includes a feature to offset the position of start of data transfer with respect to the
word-clock. This offset can be controlled in terms of number of bit-clocks and can be programmed in Page
0, Register 28.
The PCM3070 also has the feature of inverting the polarity of the bit-clock used for transferring the audio
data as compared to the default clock polarity used. This feature can be used independently of the mode
of audio interface chosen. This can be configured via Page 0, Register 29, D(3).
The PCM3070 further includes programmability (Page 0, Register 27, D0) to place the DOUT line into a
hi-Z (3-state) condition during all bit clocks when valid data is not being sent. By combining this capability
with the ability to program at what bit clock in a frame the audio data begins, time-division multiplexing
(TDM) can be accomplished, enabling the use of multiple codecs on a single audio serial data bus. When
the audio serial data bus is powered down while configured in master mode, the pins associated with the
interface are put into a hi-Z output condition.
By default when the word-clocks and bit-clocks are generated by the PCM3070, these clocks are active
only when the codec (ADC, DAC or both) are powered up within the device. This is done to save power.
However, it also supports a feature when both the word clocks and bit-clocks can be active even when the
codec in the device is powered down. This is useful when using the TDM mode with multiple codecs on
the same bus, or when word-clock or bit-clocks are used in the system as general-purpose clocks.
2.5.1 Right Justified Mode
The Audio Interface of the PCM3070 can be put into Right Justified Mode by programming Page 0,
Register 27, D(7:6) = 10. In right-justified mode, the LSB of the left channel is valid on the rising edge of
the bit clock preceding the falling edge of the word clock. Similarly, the LSB of the right channel is valid on
the rising edge of the bit clock preceding the rising edge of the word clock.
www.ti.com
Figure 2-33. Timing Diagram for Right-Justified Mode
For Right-Justified mode, the number of bit-clocks per frame should be greater than twice the
programmed word-length of the data.
The Audio Interface of the PCM3070 can be put into Left Justified Mode by programming Page 0, Register
27, D(7:6) = 11. In left-justified mode, the MSB of the right channel is valid on the rising edge of the bit
clock following the falling edge of the word clock. Similarly the MSB of the left channel is valid on the
rising edge of the bit clock following the rising edge of the word clock.
Audio Digital I/O Interface
Figure 2-34. Timing Diagram for Left-Justified Mode
Figure 2-35. Timing Diagram for Left-Justified Mode with Offset=1
Figure 2-36. Timing Diagram for Left-Justified Mode with Offset=0 and inverted bit clock
For Left-Justified mode, the number of bit-clocks per frame should be greater than twice the programmed
word-length of the data. Also, the programmed offset value should be less than the number of bit-clocks
per frame by at least the programmed word-length of the data.
LD(n) = n'th sample of left channel dataRD(n) = n'th sample of right channel data
LD(n)LD(n+1)
WORD
CLOCK
BIT
CLOCK
DATA
-1-23
2 1 03-1-2-
3
2 1 03-1-
2
N N NN N NN N N
-33
RD(n)
LEFT CHANNELRIGHT CHANNEL
LD(n) = n'th sample of left channel dataRD(n) = n'th sample of right channel data
Audio Digital I/O Interface
2.5.3 I2S Mode
The Audio Interface of the PCM3070 can be put into I2S Mode by programming Page 0, Register 27,
D(7:6) = to 00. In I2S mode, the MSB of the left channel is valid on the second rising edge of the bit clock
after the falling edge of the word clock. Similarly the MSB of the right channel is valid on the second rising
edge of the bit clock after the rising edge of the word clock.
www.ti.com
Figure 2-37. Timing Diagram for I2S Mode
Figure 2-38. Timing Diagram for I2S Mode with offset=2
Figure 2-39. Timing Diagram for I2S Mode with offset=0 and bit clock invert
For I2S mode, the number of bit-clocks per channel should be greater than or equal to the programmed
word-length of the data. Also the programmed offset value should be less than the number of bit-clocks
per frame by at least the programmed word-length of the data.
The Audio Interface of the PCM3070 can be put into DSP Mode by programming Page 0, Register 27,
D(7:6) = 01. In DSP mode, the rising edge of the word clock starts the data transfer with the left channel
data first and immediately followed by the right channel data. Each data bit is valid on the falling edge of
the bit clock.
Audio Digital I/O Interface
Figure 2-40. Timing Diagram for DSP Mode
Figure 2-41. Timing Diagram for DSP Mode with offset = 1
Figure 2-42. Timing Diagram for DSP Mode with offset = 0 and bit clock inverted
For DSP mode, the number of bit-clocks per frame should be greater than twice the programmed
word-length of the data. Also the programmed offset value should be less than the number of bit-clocks
per frame by at least the programmed word-length of the data.
The audio serial interface on the PCM3070 has an extensive IO control to allow communication with two
independent processors for audio data. Each processor can communicate with the device one at a time.
This feature is enabled by register programming of the various pin selections.
www.ti.com
The secondary audio interface uses multifunction pins. For an overview on multifunction pins please see
Section 2.1.3. Figure 2-43 illustrates possible audio interface routing. The multifunction pins SCLK and
Figure 2-43. Audio Serial Interface Multiplexing
MISO are only available in I2C communication mode.
This multiplexing capability allows the PCM3070 to communicate with two separate devices with
independent I2S/PCM busses, one at a time.
2.6Clock Generation and PLL
52
The PCM3070 supports a wide range of options for generating clocks for the ADC and DAC sections as
well as interface and other control blocks. The clocks for ADC and DAC require a source reference clock.
This clock can be provided on variety of device pins such as MCLK, BCLK or GPI pins. The
CODEC_CLKIN can then be routed through highly-flexible clock dividers to generate the various clocks
required for ADC, DAC and the miniDSP sections. In the event that the desired audio or miniDSP clocks
cannot be generated from the reference clocks on MCLK BCLK or GPIO, the PCM3070 also provides the
option of using the on-chip PLL which supports a wide range of fractional multiplication values to generate
the required clocks. Starting from CODEC_CLKIN the PCM3070 provides several programmable clock
dividers to help achieve a variety of sampling rates for ADC, DAC and clocks for the miniDSP.
The DAC Modulator is clocked by DAC_MOD_CLK. For proper power-up of the DAC Channel, these
clocks must be enabled by configuring the NDAC and MDAC clock dividers ( Page 0,Register 11, D(7) =1
and Page 0, Register 12, D(7)=1). When the DAC channel is powered down, the device internally initiates
a power-down sequence for proper shut-down. During this shut-down sequence, the NDAC and MDAC
dividers must not be powered down, or else a proper low power shut-down may not take place. The user
can read the power-status flag in Page 0, Register 37, D(7) and Page 0, Register 37, D(3). When both
flags indicate power-down, the MDAC divider may be powered down, followed by the NDAC divider.
The is clocked by ADC_MOD_CLK. For proper power-up of the ADC Channel, these clocks are enabled
by the NADC and MADC clock dividers (Page 0,Register 18, D(7) =1 and Page 0, Register 19, D(7)=1).
When the ADC channel is powered down, the device internally initiates a power-down sequence for
proper shut-down. During this shut-down sequence, the NADC and MADC dividers must not be powered
down, or else a proper low power shut-down may not take place. The user can read the power-status flag
in Page 0, Register 36, D(6) and Page 0, Register 36, D(2). When both flags indicate power-down, the
MADC divider may be powered down, followed by NADC divider.
When ADC_CLK is derived from the NDAC divider output, the NDAC must be kept powered up till the
power-down status flags for ADC do not indicate power-down. When the input to the AOSR clock divider
is derived from DAC_MOD_CLK, then MDAC must be powered up when ADC_FS is needed ( i.e. when
WCLK is generated by PCM3070 or AGC is enabled) and can be powered down only after the ADC
power-down flags indicate power-down status.
In general, all the root clock dividers should be powered down only after the child clock dividers have been
powered down for proper operation.
The PCM3070 also has options for routing some of the internal clocks to the output pins of the device to
be used as general purpose clocks in the system. The feature is shown in Figure 2-45.
In the mode when PCM3070 is configured to drive the BCLK pin (Page 0, Register 27, D3=’1’) it can be
driven as divided value of BDIV_CLKIN. The division value can be programmed in Page 0, Register 30,
D(6:0) from 1 to 128. The BDIV_CLKIN can itself be configured to be one of DAC_CLK, DAC_MOD_CLK,
ADC_CLK or ADC_MOD_CLK by configuring the BDIV_CLKIN mux in Page 0, Register 29, D(1:0).
Additionally a general purpose clock can be driven out on either GPIO, DOUT or MISO pin. This clock can
be a divided down version of CDIV_CLKIN. The value of this clock divider can be programmed from 1 to
128 by writing to Page 0, Register 26, D(6:0). The CDIV_CLKIN can itself be programmed as one of the
clocks among the list shown in Figure 2-46. This can be controlled by programming the mux in Page 0,
Register 25, D(2:0).
Clock Generation and PLL
SLAU332–March 2011PCM3070 Application
Submit Documentation Feedback
Figure 2-46. General Purpose Clock Output Options
Table 2-23. Maximum PCM3070 Clock Frequencies
DVdd ≥ 1.26VDVdd ≥ 1.65V
CODEC_CLKIN50MHz137MHz when NDAC is even, NADC is even
112MHz when NDAC is even, NADC is odd
110MHz when NDAC is odd, NADC is even
110MHz when NDAC is odd, NADC is odd
51.0MHz if AGC is on
55
PLL _ CLKIN R J.D
PLL _ CLK
P
´ ´
=
MHz20
P
CLKIN_PLL
kHz512££
MHz20
P
CLKIN_PLL
MHz10££
Clock Generation and PLL
BDIV_CLKIN25MHz55.296MHz
CDIV_CLKIN50MHz112MHz when M is odd
2.6.1 PLL
The PCM3070 has an on-chip PLL to generate the clock frequency for the audio ADC, DAC, and Digital
Signal Processing blocks. The programmability of the PLL allows operation from a wide variety of clocks
that may be available in the system.
The PLL input supports clocks varying from 512kHz to 20MHz and is register programmable to enable
generation of required sampling rates with fine resolution. The PLL can be turned on by writing to Page 0,
Register 5, D(7). When the PLL is enabled, the PLL output clock PLL_CLK is given by the following
equation:
R = 1, 2, 3, 4
J = 1, 2, 3, 4,… 63, and D = 0, 1, 2, 3, 4, … 9999
P = 1, 2, 3, 4, … 8
R, J, D, and P are register programmable.
The PLL can be programmed via Page 0, Registers 5-8. The PLL can be turned on via Page 0, Register
5, D(7). The variable P can be programmed via Page 0, Register 5, D(6:4). The default register value for P
is 1, and for J is 4. The variable R can be programmed via Page 0, Register 5, D(3:0). The default register
value for R is 1. The variable J can be programmed via Page 0, Register 6, D(5:0). The variable D is
12-bits, programmed into two registers. The MSB portion can be programmed via Page 0, Register 7,
D(5:0), and the LSB portion is programmed via Page 0, Register 8, D(7:0). The default register value for D
is 0.
www.ti.com
Table 2-23. Maximum PCM3070 Clock Frequencies (continued)
DVdd ≥ 1.26VDVdd ≥ 1.65V
137MHz when M is even
(17)
When the PLL is enabled the following conditions must be satisfied
•When the PLL is enabled and D = 0, the following conditions must be satisfied for PLL_CLKIN:
•When the PLL is enabled and D ≠ 0, the following conditions must be satisfied for PLL_CLKIN:
In the PCM3070 the PLL_CLK supports a wide range of output clock, based on register settings and
power-supply conditions.
The PLL can be powered up independently from the ADC and DAC blocks, and can also be used as a
general purpose PLL by routing its output to the GPIO output. After powering up the PLL, PLL_CLK is
available typically after 10ms. The PLL output frequency is controlled by J.D and R dividers
The D-divider value is 14-bits wide and is controlled by 2 registers. For proper update of the D-divider
value, Page 0, Register 7 must be programmed first followed immediately by Page 0, Register 8. Unless
the write to Page 0, Register 8 is completed, the new value of D will not take effect.
The clocks for codec and various signal processing blocks, CODEC_CLKIN can be generated from MCLK
input, BCLK input, GPIO input or PLL_CLK (Page 0/Register 4/D(1:0) ).
If the CODEC_CLKIN is derived from the PLL, then the PLL must be powered up first and powered down
last.
Table 2-25 lists several example cases of typical MCLK rates and how to program the PLL to achieve a
The PCM3070 control interface supports SPI or I2C communication protocols, with the protocol selectable
using the SPI_SELECT pin. For SPI, SPI_SELECT should be tied high; for I2C, SPI_SELECT should be
tied low. It is not recommended to change the state of SPI_SELECT during device operation.
2.7.1 I2C Control Mode
The PCM3070 supports the I2C control protocol, and will respond to the I2C address of 0011000. I2C is a
two-wire, open-drain interface supporting multiple devices and masters on a single bus. Devices on the
I2C 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.
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 PCM3070 can only act
as a slave device.
An I2C bus consists of two lines, SDA and SCL. SDA carries data, and the SCL signal provides the clock.
All data is transmitted across the I2C bus in groups of eight bits. To send a bit on the I2C bus, the SDA line
is driven to the appropriate level while SCL is LOW (a LOW on SDA indicates the bit is zero, while a HIGH
indicates the bit is one).
Once the SDA line has settled, the SCL line is brought HIGH, then LOW. This pulse on the SCL line
clocks the SDA bit into the receiver’s 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.
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 communication 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 selects the slave device for
communication. This byte is called the address byte. Each device on an I2C bus has a unique 7-bit
address to which it responds. (Slaves can also have 10-bit addresses; see the I2C 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, whether it is address or data, is acknowledged with an
acknowledge bit. When a master has finished sending a byte (eight data bits) to a slave, it 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 has
finished reading a byte, it pulls SDA LOW to acknowledge this to the slave. It then sends a clock pulse to
clock the bit. (Remember that the master always drives the clock line.)
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 it, it will receive 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 PCM3070 can also respond to and acknowledge a General Call, which consists of the master issuing
a command with a slave address byte of 00H. This feature is disabled by default, but can be enabled via
Page 0, Register 34, Bit D(5).
In the case of an I2C register write, if the master does not issue a STOP condition, then the device enters
auto-increment 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 a ACKNOWLEDGE, the slave takes over control of SDA bus and
transmit for the next 8 clocks the data of the next incremental register.
Control Interfaces
Figure 2-47. I2C Write
Figure 2-48. I2C Read
2.7.2 SPI Digital Interface
In the SPI control mode, the PCM3070 uses the pins SCL/SS as SS, SCLK as SCLK, MISO as MISO,
SDA/MOSI as MOSI; a standard SPI port with clock polarity setting of 0 (typical microprocessor SPI
control bit CPOL = 0). The SPI port allows full-duplex, synchronous, serial communication between a host
processor (the master) and peripheral devices (slaves). The SPI master (in this case, the host processor)
generates the synchronizing clock (driven onto SCLK) and initiates transmissions. The SPI slave devices
(such as the PCM3070) depend on a master to start and synchronize transmissions. A transmission
begins when initiated by an SPI master. The byte from the SPI master begins shifting in on the slave
MOSI pin under the control of the master serial clock (driven onto SCLK). As the byte shifts in on the
MOSI pin, a byte shifts out on the MISO pin to the master shift register.
The PCM3070 interface is designed so that with a clock-phase bit setting of 1 (typical microprocessor SPI
control bit CPHA = 1), the master begins driving its MOSI pin and the slave begins driving its MISO pin on
the first serial clock edge. The SSZ pin can remain low between transmissions; however, the PCM3070
only interprets the first 8 bits transmitted after the falling edge of SSZ as a command byte, and the next 8
bits as a data byte only if writing to a register. Reserved register bits should be written to their default
values. The PCM3070 is entirely controlled by registers. Reading and writing these registers is
accomplished by an 8-bit command sent to the MOSI pin of the part prior to the data for that register. The
command is structured as shown in Table 2-26. The first 7 bits specify the register address which is being
written or read, from 0 to 127 (decimal). The command word ends with an R/W bit, which specifies the
direction of data flow on the serial bus. In the case of a register write, the R/W bit should be set to 0. A
second byte of data is sent to the MOSI pin and contains the data to be written to the register. Reading of
registers is accomplished in similar fashion. The 8-bit command word sends the 7-bit register address,
followed by R/W bit = 1 to signify a register read is occurring. The 8-bit register data is then clocked out of
the part on the MISO pin during the second 8 SCLK clocks in the frame.
Figure 2-49. SPI Timing Diagram for Register Write
www.ti.com
Figure 2-50. SPI Timing Diagram for Register Read
2.8Power Supply
To power up the device, a 3.3V system rail (1.9V to 3.6V) can be used. The IO
range of 1.1V - 3.6V. Internal LDOs generate the appropriate digital core voltage of 1.65V and analog core
voltage of 1.8V (minimum 1.5V). For maximum flexibility, the respective voltages can also be supplied
externally, bypassing the built-in LDOs. To support high-output drive capabilities, the output stages of the
output amplifiers can either be driven from the analog core voltage or the 1.9…3.6V rail used for the LDO
inputs (LDO_in).
The PCM3070 has four power-supply connections which allow various optimizations for low system
power. The four supply pins are LDOin, DVdd, AVdd and IOVDD.
•IOVdd - The IOVdd pin supplies the digital IO cells of the device. The voltage of IOVdd can range from
60
1.1 to 3.6V and is determined by the digital IO voltage of the rest of the system.
•DVdd - This pin supplies the digital core of the device. Lower DVdd voltages cause lower power
dissipation. If efficient switched-mode power supplies are used in the system, system power can be
optimized using low DVdd voltages. the full clock range is only supported with DVdd in the range of
1.65 to 1.95V. Also, operation with DVdd down to 1.26V is possible. (See Table 2-23)
•AVdd - This pin is either a supply input to the device, or if the internal LDO is used it is used to
connect an external capacitor. It supplies the analog core of the device. The analog core voltage
(AVdd) should be in the range of 1.5 to 1.95V for specified performance. For AVdd voltages above
1.8V, the internal common mode voltage can be set to 0.9V (Page 1 / Register 10, D(6)=0, default)
resulting in 500mVrms full-scale voltage internally. For AVdd voltages below 1.8V, the internal common
mode voltage should be set to 0.75V (Page 1 / Register 10, D(6)=1), resulting in 375mVrms internal
full scale voltage.
NOTE: At powerup, AVdd is weakly connected to DVdd. This coarse AVdd generation must be
turned off by writing Page 1 / Register 1, D(3) = 1 at the time AVdd is applied, either from
internal LDO or through external LDO.
•LDOin - The LDOin pin serves two main functions. It serves as supply to the internal LDO as well as to
the analog-output amplifiers of the device. The LDOin voltage can range from 1.9V to 3.6V.
2.8.1 System Level Considerations
While there is flexibility in supplying the device through multiple options of power supplies, care must be
taken to stay within safe areas when going to standby and shutdown modes.
In summary, the lowest shutdown current is achieved when all supplies to the device are turned off,
implying that all settings must be reapplied to the device after bringing the power back up. In order to
retain settings in the device, the DVdd voltage and either internally or externally the AVdd voltage also
must be maintained. In this case the PCM3070 exhibits shutdown currents of below 1.5μA.
2.8.1.1Supply From Single Voltage Rail (1.9 to 3.6V)
The device can be powered directly from a single 3.3V rail through the LDOin pin. During operation the
DVdd LDO is activated via the LDO_select pin, and the AVdd LDO is activated via control registers (Page
1 / Register 2, D(0)=1).
Power Supply
2.8.1.1.1 Standby Mode (3.3V operation)
To put the device in standby mode, the AVdd and DVdd LDOs as well as the Reference Block (Page 1 /
Register 123, D(2:0) = 101) must stay on, and all other blocks powered down. This results in a standby
current of approximately 180mA. In standby mode, the device responds quickly to playback requests.
2.8.1.1.2 Sleep Mode (3.3V operation)
In this mode all settings and memory content of the device are retained. To put the device into sleep
mode, the DVdd LDO must remain powered up (LDO_select pin), the AVdd LDO must be powered down
(Page 1 / Register 2, D(0)=0), the crude AVdd generation must be turned on (Page 1 / Register 1, D(3)=0)
and the analog blocks must be powered down (Page 1 / Register 2, D(3)=1). The sleep-mode power
consumption is approximately 50mA
2.8.1.1.3 Shutdown Mode
To shutdown the device, the external supply can be turned off completely.
2.8.1.2Supply From Single Voltage Rail (1.8V).
If a single 1.8V rail is used, generating the 1.8V from a higher battery voltage via a DC-DC converter
results in good system-level efficiency. In this setup, the headphone output voltage is limited to 500mV
and the maximum headphone output power is 15mW into 16Ω.
The 1.8V rail connected to the DVdd pincan also be connected to the AVdd pin. This connection will make
the device function, but the achievable performance is a function of the voltage ripple typically found on
DC-DC converter outputs. To achieve specified performance, an external low-input-voltage 1.6V LDO
must be connected between the 1.8V rail and the AVdd input.
During operation, the AVdd LDO is deactivated via control register Page 1 / Register 2, D(0)=0. In this
case the LDOin pin should be connected to DVdd.
To put the device in standby mode, both external voltages (AVdd and DVdd) and the reference block
inside the PCM3070 must stay on (Page 1 / Register 123, D(2:0) = 101), all other blocks should be
powered down. This results in standby current of approximately 100μA from the AVdd supply.
In standby mode the device responds very quickly to playback requests.
2.8.1.2.2 Sleep Mode (1.8V operation)
In this mode, all settings and memory content of the device is retained. To put the device into sleep mode,
the external DVdd must remain powered up, the external AVdd LDO must be powered down, the crude
AVdd generation must be turned on (Page 1 / Register 1, D(3)=0) and the analog blocks must be powered
down (Page 1 / Register 2, D(3)=1). The device's sleep mode power consumption in this case is < 1.5μA
2.8.1.2.3 Shutdown Mode
To shut down the device, the external supplies can be turned off completely. If the 1.8V rail cannot be
turned off, the crude AVdd generation must be turned on (Page 1 / Register 1, D(3)=0) and the analog
blocks must be powered down (Page 1 / Register 2, D(3)=1). This results in a device shutdown current <
1.5μA.
2.8.1.3Other Supply Options
There are other options to power the device. Apply the following rules:
•During normal operation all supply pins must be connected to a supply (via internal LDO or external).
•Whenever the LDOin supply is present,
– The DVdd supply must be present as well
– If the AVdd supply is not present, then the crude internal AVdd generation must be turned on (Page
1 / Register 1, D(3)=0)
•Whenever the DVdd supply is on, and either AVdd or LDOin or both supplies are off, the analog blocks
must be powered down (Page 1 / Register 2, D(3)=1)
www.ti.com
2.9Reference Voltage
All data converters require a DC reference voltage. The PCM3070 achieves its low-noise performance by
internally generating a low-noise reference voltage. This reference voltage is generated using a band-gap
circuit with a good PSRR performance. This reference voltage must be filtered externally using a minimum
1μF capacitor connected from the REF pin to analog ground (AVss).
This reference block is powered down when all analog blocks inside the device are powered down. In this
condition, the REF pin is 3-stated. On powerup of any analog block, the reference block is also powered
up and the REF pin settles to its steady-state voltage after the settling time (a function of the de-coupling
capacitor on the REF pin). This time is approximately equal to 1 second when using a 1μF decoupling
capacitor. In the event that a faster power-up is required, either the reference block can be kept powered
up (even when no other analog block is powered up) by programming Page 1, Register 123, D(2) = 1.
However, in this case, an additional 125μA of current from AVdd is consumed. Additionally, to achieve a
faster powerup, a fast-charge option is also provided where the charging time can be controlled between
40ms and 120ms by programming Page 1, Register 123, D(1:0). By default, the fast charge option is
disabled.
Some specific events in the PCM3070 which may require host processor intervention, can be used to
trigger interrupts to the host processor. This avoids polling the status-flag registers continuously. The
PCM3070 has two defined interrupts; INT1 and INT2 that can be configured by programming Page 0,
Register 48 and 49. A user can configure the interrupts INT1 and INT2 to be triggered by one or many
events such as
•DAC DRC Signal exceeding Threshold
•Noise detected by AGC
•Over-current condition in headphones
•Data Overflow in ADC and DAC Processing Blocks and Filters
•DC Measurement Data Available
Each of these INT1 and INT2 interrupts can be routed to output pins like GPIO, DOUT and MISO by
configuring the respective output control registers in Page 0, Register 52, 53 and 55. These interrupt
signals can either be configured as a single pulse or a series of pulses by programming Page 0, Register
48, D(0) and Page 0, Register 49, D(0). If the user configures the interrupts as a series of pulses, the
events will trigger the start of pulses that will stop when the flag registers in Page 0, Register 42, 44 and
45 are read by the user to determine the cause of the interrupt.
2.11 miniDSP
Device Special Functions
The PCM3070 features two miniDSP cores. The first miniDSP core is tightly coupled to the ADC, the
second miniDSP core is tightly coupled to the DAC. The fully programmable algorithms for the miniDSP
must be loaded into the device after power up. The miniDSPs have direct access to the digital stereo
audio stream on the ADC and on the DAC side, offering the possibility for advanced, very-low group delay
DSP algorithms. Each miniDSP can run up to 1152 instructions on every audio sample at a 48kHz sample
rate. The two cores can run fully synchronized and can exchange data.
2.12 Software
Software development for the PCM3070 is supported through TI's comprehensive PurePath Studio
Development Environment; a powerful, easy-to-use tool designed specifically to simplify software
development on the PCM3070 miniDSP audio platform. The Graphical Development Environment consists
of a library of common audio functions that can be dragged-and-dropped into an audio signal flow and
graphically connected together. The DSP code can then be assembled from the graphical signal flow with
the click of a mouse.
Please visit the PCM3070 product folder on www.ti.com to learn more about PurePath Studio and the
latest status on available, ready-to-use DSP algorithms.
The requirements of the application circuit determine device setup details such as clock generation, power
sources, references voltage,and special functions that may add value to the end application. Example
device setups are described in the final section.
The PCM3070 internal logic must be initialized to a known condition for proper device function. To
initialize the device in its default operating condition, the hardware reset pin (RESET) must be pulled low
for at least 10ns. For this initialization to work, both the IOVDD and DVdd supplies must be powered up. It
is recommended that while the DVdd supply is being powered up, the RESET pin be pulled low.
The device can also be reset via software reset. Writing '1' into Page 0 / Register 1, Bit D0 resets the
device. After a device reset, all registers are initialized with default values as listed in the Register Map
section
3.2Device Startup Lockout Times
After the PCM3070 is initialized through hardware reset at power-up or software reset, the internal
registers are initialized to default values. This initialization takes place within 1ms after pulling the RESET
signal high. During this initialization phase, no register-read or register-write operation should be
performed on ADC or DAC coefficient buffers. Also, no block within the codec should be powered up
during the initialization phase.
3.3Analog and Reference Startup
The PCM3070 uses an external REF pin for decoupling the reference voltage used for the data converters
and other analog blocks. REF pin requires a minimum 1uF decoupling capacitor from REF to AVss. In
order for any analog block to be powered up, the Analog Reference block must be powered up. By
default, the Analog Reference block will implicitly be powered up whenever any analog block is powered
up, or it can be powered up independently. Detailed descriptions of Analog Reference including fast
power-up options are provided in . During the time that the reference block is not completely powered up,
subsequent requests for powering up analog blocks (e.g., PLL) are queued, and executed after the
reference power up is complete.
www.ti.com
3.4PLL Startup
Whenever the PLL is powered up, a startup delay of approx 10ms is involved after the power up
command of the PLL and before the clocks are available to the codec. This delay is to ensure stable
operation of PLL and clock-divider logic.
3.5Setting Device Common Mode Voltage
The PCM3070 allows the user to set the common mode voltage for analog inputs to 0.75V or 0.9V by
programming Page 1, Register 10, D(6). The input common-mode voltage of 0.9V works best when the
analog supply voltage is centered around 1.8V or above, and offers the highest possible performance. For
analog supply voltages below 1.8V, a common mode voltage of 0.75V must be used.
Table 3-1. Input Common Mode voltage and Input Signal Swing
Input Common ModeAVdd (V)Channel Gain (dB)Single-Ended InputDifferential Input
Voltage (V)Swing for 0dBFSSwing for 0dBFS
0.75>1.5–20.3750.75
0.901.8 … 1.9500.51.0
NOTE: The input common mode setting is common for DAC playback and Analog Bypass path
The following example setups can be taken directly for the PCM3070 EVM setup.
The # marks a comment line, w marks an I2C write command followed by the device address, the I2C
register address and the value.
4.0.1 Stereo DAC Playback with 48ksps Sample Rate and High Performance.
Assumption
AVdd = 1.8V, DVdd = 1.8V
MCLK = 12.288MHz
Ext C = 47uF
Based on C the wait time will change.
Wait time = N*Rpop*C + 4* Offset ramp time
Default settings used.
PLL Disabled
DOSR 128
# Initialize to Page 0
w 30 00 00
# Initialize the device through software reset
w 30 01 01
# Power up the NDAC divider with value 1
w 30 0b 81
# Power up the MDAC divider with value 2
w 30 0c 82
# Program the OSR of DAC to 128
w 30 0d 00
w 30 0e 80
# Set the word length of Audio Interface to 20bits PTM_P4
w 30 1b 10
# Set the DAC Mode to PRB_P8
w 30 3c 08
# Select Page 1
w 30 00 01
# Disable Internal Crude AVdd in presence of external AVdd supply or before
#powering up internal AVdd LDO
w 30 01 08
# Enable Master Analog Power Control
w 30 02 00
# Set the REF charging time to 40ms
w 30 7b 01
# HP soft stepping settings for optimal pop performance at power up
# Rpop used is 6k with N = 6 & soft step = 20usec. This should work with 47uF coupling
# capacitor. Can try N=5,6 or 7 time constants as well. Trade-off delay vs “pop” sound.
w 30 14 25
# Set the Input Common Mode to 0.9V and Output Common Mode for Headphone to
# Input Common Mode
w 30 0a 00
# Route Left DAC to HPL
w 30 0c 08
# Route Right DAC to HPR
w 30 0d 08
# Set the DAC PTM mode to PTM_P3/4
w 30 03 00
w 30 04 00
# Set the HPL gain to 0dB
w 30 10 00
# Set the HPR gain to 0dB
w 30 11 00
# Power up HPL and HPR drivers
w 30 09 30
# Wait for 2.5 sec for soft stepping to take effect
# Else read Page 1, Register 63d, D(7:6). When = “11” soft-stepping is complete
# Select Page 0
w 30 00 00
# Power up the Left and Right DAC Channels with route the Left Audio digital data to
# Left Channel DAC and Right Audio digital data to Right Channel DAC
w 30 3f d6
# Unmute the DAC digital volume control
w 30 40 00
4.0.2 DAC Playback Through Class-D Headphone Amplifiers
Power Up
# Assumption DAC_FS = 48000Hz
# MCLK = 24.576MHz
# I2S Interface in Slave Mode
# Initialize to Page 0
w 30 00 00
# Initialize the device through software reset
w 30 01 01
# Power up the NDAC divider with value 1
w 30 0B 81
# Power up the MDAC divider with value 4
# For Class-D mode, MDAC = I*4
w 30 0C 84
# Program the OSR of DAC to 128
w 30 0D 00
w 30 0E 80
# Set the DAC Mode to PRB_P1v
w 30 3C 01
# Select Page 1
w 30 00 01
# Disable Internal Crude AVdd in presence of external AVdd supply or before
# powering up internal AVdd LDO
w 30 01 08
# Enable Master Analog Power Control
w 30 02 00
# Set the REF charging time to 40ms
w 30 7B 01
# HP soft stepping settings for optimal pop performance at power up
# Rpop used is 6k with N = 6 & soft step = 0
w 30 14 25
# Set the Input Common Mode to 0.9V and Output Common Mode for Headphone to
# Input Common Mode
w 30 0A 00
# Route Left DAC to HPL
w 30 0C 08
# Route Right DAC to HPR
w 30 0D 08
# Unmute HPL driver
w 30 10 00
# Unmute HPR driver
w 30 11 00
# Power up HPL and HPR drivers
w 30 09 30
# switch to Page 0
w 30 00 00
# Wait for soft stepping to take effect
# L&R DAC powerup Ldata-LDAC Rdata-RDAC
w 30 3F d4
# Left and Right DAC unmuted with indep. vol. ctrl
w 30 40 00
# Wait for DAC vol ctrl soft-stepping to complete
# Select Page 1
w 30 00 01
# Enable Class-D mode for HPL output
w 30 03 C0
# Enable Class-D mode for HPR output
w 30 04 C0
# Power down HPL and HPR drivers
w 30 09 00 Power Down
# Select Page 0
w 30 00 00
# Mute the DAC digital volume control
w 30 40 0d
# Power down the DAC
W 30 3F C0
# Disable Class-D mode for HPL output
w 30 03 00
# Disable Class-D mode for HPL output
w 30 04 00
4.0.3 Stereo ADC with 48ksps Sample Rate and High Performance
Assumption AVdd = 1.8V, DVdd = 1.8V MCLK = 12.288MHz Default settings used. PLL Disabled I2S
Interface with 16bit Word Length. AOSR 128 PRB_R1 PTM_R4
# Initialize to Page 0
w 30 00 00
# S/W Reset to initialize all registers
w 30 01 01
# Power up NADC divider with value 1
w 30 12 81
# Power up MADC divider with value 2
w 30 13 82
# Program OSR for ADC to 128
w 30 14 80
# Select ADC PRB_R1
w 30 3d 01
# Select Page 1
w 30 00 01
# Disable Internal Crude AVdd in presence of external AVdd supply or before
# powering up internal AVdd LDO
w 30 01 08
# Enable Master Analog Power Control
w 30 02 00
# Set the input common mode to 0.9V
w 30 0a 00
# Select ADC PTM_R4
w 30 3d 00
# Set MicPGA startup delay to 3.1ms
w 30 47 32
# Set the REF charging time to 40ms
w 30 7b 01
# Route IN1L to LEFT_P with 20K input impedance
w 30 34 80
# Route Common Mode to LEFT_M with impedance of 20K
w 30 36 80
# Route IN1R to RIGHT_P with input impedance of 20K
w 30 37 80
# Route Common Mode to RIGHT_M with impedance of 20K
w 30 39 80
# Unmute Left MICPGA, Gain selection of 6dB to make channel gain 0dB
# Register of 6dB with input impedance of 20K => Channel Gain of 0dB
w 30 3b 0c
# Unmute Right MICPGA, Gain selection of 6dB to make channel gain 0dB
# Register of 6dB with input impedance of 20K => Channel Gain of 0dB
w 30 3c 0c
# Select Page 0
w 30 00 00
# Power up Left and Right ADC Channels
w 30 51 c0
# Unmute Left and Right ADC Digital Volume Control.
w 30 52 00
The PCM3070 contains 108 pages of 8-bit registers, each page can contain up to 128 registers. The
register pages are divided up based on functional blocks for this device. Page 0 is the default home page
after hardware reset.
D7-D6R00Reserved. Write only default values any value other than default
D5-D0R/W00 0000PLL divider D value (MSB)
READ/RESET
WRITEVALUE
PLL divider D value(MSB) & PLL divider D value(LSB)
00 0000 0000 0000: D=0000
00 0000 0000 0001: D=0001
…
10 0111 0000 1110: D=9998
10 0111 0000 1111: D=9999
10 0111 0001 0000…11 1111 1111 1111: Do not use
Note: This register will be updated only when the Page-0, Reg-8 is written immediately after
Page-0, Reg-7
D7-D4R0000Reserved. Write only default values
D3-D0R/W1000miniDSP_D interpolation factor setting.
READ/RESET
WRITEVALUE
Used when miniDSP_D is in use for signal processing (page 0,Reg 60)
0000 : Interpolation factor in miniDSP_D(INTERP) = 16
0001: Interpolation factor in miniDSP_D(INTERP)= 1
0010: Interpolation factor in miniDSP_D(INTERP) = 2
…
1110: Interpolation factor in miniDSP_D(INTERP) = 14
1111: Interpolation factor in miniDSP_D(INTERP) = 15
0000 0000: ADC AOSR = 256
0000 0001: ADC AOSR = 1
0000 0010: ADC AOSR = 2
...
0010 0000: ADC AOSR=32 (Use with PRB_R13 to PRB_R18, ADC Filter Type C)
...
0100 0000: AOSR=64 (Use with PRB_R1 to PRB_R12, ADC Filter Type A or B)
...
1000 0000: AOSR=128 (Use with PRB_R1 to PRB_R6, ADC Filter Type A)
...
1111 1110: ADC AOSR = 254
1111 1111: ADC AOSR = 255
Note: If miniDSP_A will be used for ADC signal processing (Pg 0, Reg 61) AOSR should be an
integral multiple of ADC DECIM factor.
D7-D4R0000Reserved. Write only default values
D3-D0R/W0100miniDSP_A Decimation factor setting. Use when miniDSP_A is in use for signal processing (page
READ/RESET
WRITEVALUE
0,Reg 61)
0000: Decimation factor in miniDSP_A = 16
0001: Decimation factor in miniDSP_A = 1
0010: Decimation factor in miniDSP_A = 2
…
1110: Decimation factor in miniDSP_A = 14
1111: Decimation factor in miniDSP_A = 15
0: Priamry BCLK and Primary WCLK buffers are powered down when the codec is powered down
1: Primary BCLK and Primary WCLK buffers are powered up when they are used in clock
generation even when the codec is powered down
0: BCLK Output = Generated Primary Bit Clock
1: BCLK Output = Secondary Bit Clock Input
0: Secondary Bit Clock = BCLK input
1: Secondary Bit Clock = Generated Primary Bit Clock
00: WCLK Output = Generated DAC_FS
01: WCLK Output = Generated ADC_FS
10: WCLK Output = Secondary Word Clock Input
11: Reserved. Do not use
00: Secondary Word Clock output = WCLK input
01: Secondary Word Clock output = Generated DAC_FS
10: Secondary Word Clock output = Generated ADC_FS
11: Reserved. Do not use
0: DOUT output = Data Output from Serial Interface
1: DOUT output = Secondary Data Input (Loopback)
0: Secondary Data Output = DIN input (Loopback)
1: Secondary Data Output = Data output from Serial Interface
0: Gain Applied in Left ADC PGA is not equal to Programmed Gain in Control Register
1: Gain Applied in Left ADC PGA is equal to Programmed Gain in Control Register
D5R0Left AGC Gain Status. This sticky flag will self clear on reading
D4R0Reserved. Write only default values
D3R0Right ADC PGA Status Flag
D2R0Right ADC Power Status Flag
D1R0Right AGC Gain Status. This sticky flag will self clear on reading
D0R0Reserved. Write only default values
READ/RESET
WRITEVALUE
0: Left ADC Powered Down
1: Left ADC Powered Up
0: Gain in Left AGC is not saturated
1: Gain in Left ADC is equal to maximum allowed gain in Left AGC
0: Gain Applied in Right ADC PGA is not equal to Programmed Gain in Control Register
1: Gain Applied in Right ADC PGA is equal to Programmed Gain in Control Register
0: Right ADC Powered Down
1: Right ADC Powered Up
0: Gain in Right AGC is not saturated
1: Gain in Right ADC is equal to maximum allowed gain in Right AGC
0: Gain applied in Left DAC PGA is not equal to Gain programmed in Control Register
1: Gain applied in Left DAC PGA is equal to Gain programmed in Control Register
0: Gain applied in Right DAC PGA is not equal to Gain programmed in Control Register
1: Gain applied in Right DAC PGA is equal to Gain programmed in Control Register
D7R0Left DAC Overflow Status. This sticky flag will self clear on read
D6R0Right DAC Overflow Status. This sticky flag will self clear on read
D5R0miniDSP_D Barrel Shifter Output Overflow Sticky Flag. Flag is reset on register reading
D4R0Reserved. Write only default values
D3R0Left ADC Overflow Status. This sticky flag will self clear on read
D2R0Right ADC Overflow Status. This sticky flag will self clear on read
D1R0miniDSP_A Barrel Shifter Output Overflow Sticky Flag. Flag is reset on register reading
D0R0Reserved. Write only default values
READ/RESET
WRITEVALUE
0: No overflow in Left DAC
1: Overflow has happened in Left DAC since last read of this register
0: No overflow in Right DAC
1: Overflow has happened in Right DAC since last read of this register
0: No overflow in Left ADC
1: Overflow has happened in Left ADC since last read of this register
0: No overflow in Right ADC
1: Overflow has happened in Right ADC since last read of this register
D7R0Reserved. Write only default values
D6R0Left AGC Noise Threshold Flag
D5R0Right AGC Noise Threshold Flag
D4R0miniDSP_A Standard Interrupt Port Output. This is a sticky bit
D3R0miniDSP_A Auxilliary Interrupt Port Output. This is a sticky bit
D2R0Left ADC DC Measurement Data Available Flag
D1R0Right ADC DC Measurement Data Available Flag
D0R0Reserved. Write only default values
READ/RESET
WRITEVALUE
0: Signal Power is greater than Noise Threshold
1: Signal Power was lower than Noise Threshold (will be cleared when the register is read)
0: Signal Power is greater than Noise Threshold
1: Signal Power was lower than Noise Threshold (will be cleared when the register is read)
0: Data not available
1: Data available (will be cleared when the register is read)
0: Data not available
1: Data available (will be cleared when the register is read)
D7R/W0Reserved. Do not use.
D6R/W0Reserved. Do not use.
D5R/W0INT1 Interrupt for DAC DRC Signal Threshold
D4R/W0INT1 Interrupt for AGC Noise Interrupt
D3R/W0INT1 Interrupt for Over Current Condition
D2R/W0INT1 Interrupt for overflow event
D1R/W0INT1 Interrupt for DC Measurement
D0R/W0INT1 pulse control
READ/RESET
WRITEVALUE
0: DAC DRC Signal Power exceeding Signal Threshold will not generate a INT1 interrupt
1: DAC DRC Signal Power exceeding Signal Threshold for either of Left or Right Channel will
generate a INT1 interrupt.
Read Page-0, Register-44 to distinguish between Left or Right Channel
0: Noise level detected by AGC will not generate a INT1 interrupt
1: Noise level detected by either off Left or Right Channel AGC will generate a INT1 interrupt.
Read Page-0, Register-45 to distinguish between Left or Right Channel
0: Headphone Over Current condition will not generate a INT1 interrupt.
1: Headphone Over Current condition on either off Left or Right Channels will generate a INT1
interrupt.
Read Page-0, Register-44 to distinguish between HPL and HPR
0: miniDSP_A or miniDSP_D generated interrupt does not result in a INT1 interrupt
1: miniDSP_A or miniDSP_D generated interrupt will result in a INT1 interrupt.
Read Page-0, Register-42 to distinguish between miniDSP_A or miniDSP_D interrupt
0: DC Measurement data available will not generate INT1 interrupt
1: DC Measurement data available will generate INT1 interrupt
0: INT1 is active high interrupt of 1 pulse of approx. 2ms duration
1: INT1 is active high interrupt of multiple pulses, each of duration 2ms. To stop the pulse train,
read Page-0, Reg-42d, 44d or 45d
0: DAC DRC Signal Power exceeding Signal Threshold will not generate a INT2 interrupt
1: DAC DRC Signal Power exceeding Signal Threshold for either of Left or Right Channel will
generate a INT2 interrupt.
Read Page-0, Register-44 to distinguish between Left or Right Channel
0: Noise level detected by AGC will not generate a INT2 interrupt
1: Noise level detected by either off Left or Right Channel AGC will generate a INT2 interrupt.
Read Page-0, Register-45 to distinguish between Left or Right Channel
0: Headphone Over Current condition will not generate a INT2 interrupt.
1: Headphone Over Current condition on either off Left or Right Channels will generate a INT2
interrupt.
Read Page-0, Register-44 to distinguish between HPL and HPR
0: miniDSP_A or miniDSP_D generated interrupt will not result in a INT2 interrupt
1: miniDSP_A or miniDSP_D generated interrupt will result in a INT2 interrupt.
Read Page-0, Register-42 to distinguish between miniDSP_A or miniDSP_D interrupt
0: DC Measurement data available will not generate INT2 interrupt
1: DC Measurement data available will generate INT2 interrupt
0: INT2 is active high interrupt of 1 pulse of approx. 2ms duration
1: INT2 is active high interrupt of multiple pulses, each of duration 2ms.
To stop the pulse train, read Page-0, Reg-42d, 44d and 45d
D7-D6R00Reserved. Write only default values
D5-D2R/W0000GPIO Control
D1RXGPIO Input Pin state, used along with GPIO as general purpose input
D0R/W0GPIO as general purpose output control
READ/RESET
WRITEVALUE
0000: GPIO input/output disabled.
0001: GPIO input is used for secondary audio interface or clock input. Configure other registers to
choose the functionality of GPIO input
0010: GPIO is general purpose input
0011: GPIO is general purpose output
0100: GPIO output is CLKOUT
0101: GPIO output is INT1
0110: GPIO output is INT2
0111: GPIO output is ADC_WCLK for Audio Interface
1000: GPIO output is secondary bit-clock for Audio Interface
1001: GPIO output is secondary word-clock for Audio Interface
1010-1111: Reserved. Do not use.
0: GPIO pin is driven to '0' in general purpose output mode
1: GPIO pin is driven to '1' in general purpose output mode
5.2.50Page 0 / Register 53: DOUT/MFP2 Function Control Register - 0x00 / 0x35
Page 0 / Register 53: DOUT/MFP2 Function Control Register - 0x00 / 0x35 (continued)
BITDESCRIPTION
D4R/W1DOUT Bus Keeper Control
D3-D1R/W001DOUT MUX Control
D0R/W0DOUT as General Purpose Output
READ/RESET
WRITEVALUE
0: DOUT Bus Keeper Enabled
1: DOUT Bus Keeper Disabled
000: DOUT disabled
001: DOUT is Primary DOUT
010: DOUT is General Purpose Output
011: DOUT is CLKOUT
100: DOUT is INT1
101: DOUT is INT2
110: DOUT is Secondary BCLK
111: DOUT is Secondary WCLK
0: DOUT General Purpose Output is '0'
1: DOUT General Purpose Output is '1'
5.2.51Page 0 / Register 54: DIN/MFP1 Function Control Register - 0x00 / 0x36
BITDESCRIPTION
D7-D3R0 0000Reserved. Write only reserved values
D2-D1R/W01DIN function control
D0RXValue of DIN input pin. To be used when for General Purpose Input
READ/RESET
WRITEVALUE
00: DIN pin is disabled
01: DIN is enabled for Primary Data Inputt or General Purpose Clock input
10: DIN is used as General Purpose Input
11: Reserved. Do not use
www.ti.com
5.2.52Page 0 / Register 55: MISO/MFP4 Function Control Register - 0x00 / 0x37
BITDESCRIPTION
D7-D5R000Reserved. Write only default values
D4-D1R/W0001MISO function control
D0R/W0Value to be driven on MISO pin when used as General Purpose Output
READ/RESET
WRITEVALUE
0000: MISO buffer disabled
0001: MISO is used for data output in SPI interface, is disabled for I2C interface
0010: MISO is General Purpose Output
0011: MISO is CLKOUT output
0100: MISO is INT1 output
0101: MISO is INT2 output
0110: MISO is ADC Word Clock output
0111: Reserved. Do not use
1000: MISO is Secondary Data Output for Audio Interface
1001: MISO is Secondary Bit Clock for Audio Interface
1010: MISO is Secondary Word Clock for Audio Interface
1011-1111: Reserved. Do not use
5.2.53Page 0 / Register 56: SCLK/MFP3 Function Control Register - 0x00 / 0x38
BITDESCRIPTION
D7-D3R0 0000Reserved. Write only default values
D2-D1R/W01SCLK function control
D0RXValue of SCLK input pin when used as General Purpose Input
READ/RESET
WRITEVALUE
00: SCLK pin is disabled
01: SCLK pin is enabled for SPI clock in SPI Interface mode or when in I2C Interface enabled for
Secondary Data Input or Secondary Bit Clock Input or Secondary Word Clock or Secondary ADC
Word Clock
10: SCLK is enabled as General Purpose Input
11: Reserved. Do not use
D7R0Reserved. Write only default values
D6R/W0miniDSP_A Auxilliary Control Bit-A. Used for conditional instruction like JMP.
D5R/W0miniDSP_A Auxilliary Control Bit-B. Used for conditional instruction like JMP.
D4R/W00: Reset miniDSP_A instruction counter at the start of new frame.
D3R0Reserved. Write only default values
D2R/W0miniDSP_D Auxilliary Control Bit-A. Used for conditional instruction like JMP.
D1R/W0miniDSP_D Auxilliary Control Bit-B. Used for conditional instruction like JMP.
D0R/W00: Reset miniDSP_D instruction counter at the start of new frame.
READ/RESET
WRITEVALUE
1: Do not reset miniDSP_A instruction counter at the start of new frame. If miniDSP_A is used for
Signal Processing
1: Do not reset miniDSP_D instruction counter at the start of new frame. If miniDSP_D is used for
Signal Processing
D1-D0R/W00DAC Channel Volume Control's Soft-Step control
READ/RESET
WRITEVALUE
0: Left DAC Channel Powered Down
1: Left DAC Channel Powered Up
0: Right DAC Channel Powered Down
1: Right DAC Channel Powered Up
00: Left DAC data is disabled
01: Left DAC data Left Channel Audio Interface Data
10: Left DAC data is Right Channel Audio Interface Data
11: Left DAC data is Mono Mix of Left and Right Channel Audio Interface Data
00: Right DAC data is disabled
01: Right DAC data Right Channel Audio Interface Data
10: Right DAC data is Left Channel Audio Interface Data
11: Right DAC data is Mono Mix of Left and Right Channel Audio Interface Data
00: Soft-Stepping is 1 step per 1 DAC Word Clock
01: Soft-Stepping is 1 step per 2 DAC Word Clocks
10: Soft-Stepping is disabled
11: Reserved. Do not use
0: When Right DAC Channel is powered down, the data is zero.
1: When Right DAC Channel is powered down, the data is inverted version of Left DAC Modulator
Output. Can be used when differential mono output is used
000: Auto Mute disabled
001: DAC is auto muted if input data is DC for more than 100 consecutive inputs
010: DAC is auto muted if input data is DC for more than 200 consecutive inputs
011: DAC is auto muted if input data is DC for more than 400 consecutive inputs
100: DAC is auto muted if input data is DC for more than 800 consecutive inputs
101: DAC is auto muted if input data is DC for more than 1600 consecutive inputs
110: DAC is auto muted if input data is DC for more than 3200 consecutive inputs
111: DAC is auto muted if input data is DC for more than 6400 consecutive inputs
0: Left DAC Channel not muted
1: Left DAC Channel muted
0: Right DAC Channel not muted
1: Right DAC Channel muted
00: Left and Right Channel have independent volume control
01: Left Channel Volume is controlled by Right Channel Volume Control setting
10: Right Channel Volume is controlled by Left Channel Volume Control setting
11: Reserved. Do not use
5.2.60Page 0 / Register 65: Left DAC Channel Digital Volume Control Register - 0x00 / 0x41
BITDESCRIPTION
D7-D0R/W0000 0000 Left DAC Channel Digital Volume Control Setting
READ/RESET
WRITEVALUE
0111 1111-0011 0001: Reserved. Do not use
0011 0000: Digital Volume Control = +24dB
0010 1111: Digital Volume Control = +23.5dB
…
0000 0001: Digital Volume Control = +0.5dB
0000 0000: Digital Volume Control = 0.0dB
1111 1111: Digital Volume Control = -0.5dB
...
1000 0010: Digital Volume Control = -63dB
1000 0001: Digital Volume Control = -63.5dB
1000 0000: Reserved. Do not use
5.2.61Page 0 / Register 66: Right DAC Channel Digital Volume Control Register - 0x00 / 0x42
BITDESCRIPTION
D7-D0R/W0000 0000 Right DAC Channel Digital Volume Control Setting
READ/RESET
WRITEVALUE
0111 1111-0011 0001: Reserved. Do not use
0011 0000: Digital Volume Control = +24dB
0010 1111: Digital Volume Control = +23.5dB
…
0000 0001: Digital Volume Control = +0.5dB
0000 0000: Digital Volume Control = 0.0dB
1111 1111: Digital Volume Control = -0.5dB
...
1000 0010: Digital Volume Control = -63dB
1000 0001: Digital Volume Control = -63.5dB
1000 0000: Reserved. Do not use
0000: DRC Hold Disabled
0001: DRC Hold Time = 32 DAC Word Clocks
0010: DRC Hold Time = 64 DAC Word Clocks
0011: DRC Hold Time = 128 DAC Word Clocks
0100: DRC Hold Time = 256 DAC Word Clocks
0101: DRC Hold Time = 512 DAC Word Clocks
...
1110: DRC Hold Time = 4*32768 DAC Word Clocks
1111: DRC Hold Time = 5*32768 DAC Word Clocks
0000: DRC Attack Rate = 4.0dB per DAC Word Clock
0001: DRC Attack Rate = 2.0dB per DAC Word Clock
0010: DRC Attack Rae = 1.0dB per DAC Word Clock
…
1110: DRC Attack Rate = 2.4414e-4dB per DAC Word Clock
1111: DRC Attack Rate = 1.2207e-4dB per DAC Word Clock
0000: DRC Decay Rate = 1.5625e-2dB per DAC Word Clock
0001: DRC Decay Rate = 7.8125e-3dB per DAC Word Clock
0010: DRC Decay Rae = 3.9062e-3dB per DAC Word Clock
…
1110: DRC Decay Rate = 9.5367e-7dB per DAC Word Clock
1111: DRC Decay Rate = 4.7683e-7dB per DAC Word Clock
D7-D6R/W00Beep Generator Master Volume Control Setting
D5-D0R00 0000Right Channel Beep Volume Control
READ/RESET
WRITEVALUE
00: Left and Right Channels have independent Volume Settings
01: Left Channel Beep Volume is the same as programmed for Right Channel
10: Right Channel Beep Volume is the same as programmed for Left Channel
11: Reserved. Do not use
00 0000: Right Channel Beep Volume = 0dB
00 0001: Right Channel Beep Volume = -1dB
…
11 1110: Right Channel Beep Volume = -62dB
11 1111: Right Channel Beep Volume = -63dB
D1-D0R/W00ADC Volume Control Soft-Stepping Control
READ/RESET
WRITEVALUE
00: ADC Volume Control changes by 1 gain step per ADC Word Clock
01: ADC Volume Control changes by 1 gain step per two ADC Word Clocks
10: ADC Volume Control Soft-Stepping disabled
11: Reserved. Do not use
5.2.77Page 0 / Register 82: ADC Fine Gain Adjust Register - 0x00 / 0x52
BITDESCRIPTION
D7R/W1Left ADC Channel Mute Control
D6-D4R/W000Left ADC Channel Fine Gain Adjust
D3R/W1Right ADC Channel Mute Control
D2-D0R/W000Right ADC Channel Fine Gain Adjust
READ/RESET
WRITEVALUE
0: Left ADC Channel Un-muted
1: Left ADC Channel Muted
000: Left ADC Channel Fine Gain = 0dB
111: Left ADC Channel Fine Gain = -0.1dB
110: Left ADC Channel Fine Gain = -0.2dB
101: Left ADC Channel Fine Gain = -0.3dB
100: Left ADC Channel Fine Gain = -0.4dB
001-011: Reserved. Do not use
0: Right ADC Channel Un-muted
1: Right ADC Channel Muted
000: Right ADC Channel Fine Gain = 0dB
111: Right ADC Channel Fine Gain = -0.1dB
110: Right ADC Channel Fine Gain = -0.2dB
101: Right ADC Channel Fine Gain = -0.3dB
100: Right ADC Channel Fine Gain = -0.4dB
001-011: Reserved. Do not use
www.ti.com
5.2.78Page 0 / Register 83: Left ADC Channel Volume Control Register - 0x00 / 0x53
BITDESCRIPTION
D7R0Reserved. Write only default values
D6-D0R/W000 0000Left ADC Channel Volume Control
READ/RESET
WRITEVALUE
000 0000-110 0111: Reserved. Do not use
110 1000: Left ADC Channel Volume = -12dB
110 1001: Left ADC Channel Volume = -11.5dB
110 1010: Left ADC Channel Volume = -11.0dB
…
111 1111: Left ADC Channel Volume = -0.5dB
000 0000: Left ADC Channel Volume = 0.0dB
000 0001: Left ADC Channel Volume = 0.5dB
...
010 0110: Left ADC Channel Volume = 19.0dB
010 0111: Left ADC Channel Volume = 19.5dB
010 1000: Left ADC Channel Volume = 20.0dB
010 1001-111 1111: Reserved. Do not use
5.2.79Page 0 / Register 84: Right ADC Channel Volume Control Register - 0x00 / 0x54
1000 0000-1111 1111: Left ADC Channel Data is delayed with respect to Right ADC Channel
Data. For details of delayed amount please refer to the description of Phase Compensation in the
Overview section.
0000 0000: Left and Right ADC Channel data are not delayed with respect to each other
0000 0001-0111 1111: Right ADC Channel Data is delayed with respect to Left ADC Channel
Data. For details of delayed amount please refer to the description of Phase Compensation in the
Overview section.
Page 0 Registers
5.2.81Page 0 / Register 86: Left Channel AGC Control Register 1 - 0x00 / 0x56
BITDESCRIPTION
D7R/W00: Left Channel AGC Disabled
D6-D4R/W000Left Channel AGC Target Level Setting
D3-D2R00Reserved. Write only default values
D1-D0R/W00Left Channel AGC Gain Hysteresis Control
READ/RESET
WRITEVALUE
1: Left Channel AGC Enabled
000: Left Channel AGC Target Level = -5.5dBFS
001: Left Channel AGC Target Level = -8.0dBFS
010: Left Channel AGC Target Level = -10.0dBFS
011: Left Channel AGC Target Level = -12.0dBFS
100: Left Channel AGC Target Level = -14.0dBFS
101: Left Channel AGC Target Level = -17.0dBFS
110: Left Channel AGC Target Level = -20.0dBFS
111: Left Channel AGC Target Level = -24.0dBFS
00: Left Channel AGC Gain Hysteresis is disabled
01: Left Channel AGC Gain Hysteresis is ±0.5dB
10: Left Channel AGC Gain Hysteresis is ±1.0dB
11: Left Channel AGC Gain Hysteresis is ±1.5dB
5.2.82Page 0 / Register 87: Left Channel AGC Control Register 2 - 0x00 / 0x57
BITDESCRIPTION
D7-D6R/W00Left Channel AGC Hysteresis Setting
READ/RESET
WRITEVALUE
00: Left Channel AGC Hysteresis is 1.0dB
01: Left Channel AGC Hysteresis is 2.0dB
10: Left Channel AGC Hysteresis is 4.0dB
11: Left Channel AGC Hysteresis is disabled
Page 0 / Register 87: Left Channel AGC Control Register 2 - 0x00 / 0x57 (continued)
BITDESCRIPTION
D5-D1R/W0 0000Left Channel AGC Noise Threshold
D0R0Reserved. Write only default value
READ/RESET
WRITEVALUE
0 0000: Left Channel AGC Noise Gate disabled
0 0001: Left Channel AGC Noise Threshold is -30dB
0 0010: Left Channel AGC Noise Threshold is -32dB
0 0011: Left Channel AGC Noise Threshold is -34dB
…
1 1101: Left Channel AGC Noise Threshold is -86dB
1 1110: Left Channel AGC Noise Threshold is -88dB
1 1111: Left Channel AGC Noise Threshold is -90dB
5.2.83Page 0 / Register 88: Left Channel AGC Control Register 3 - 0x00 / 0x58
BITDESCRIPTION
D7R0Reserved. Write only default value
D6-D0R/W111 1111Left Channel AGC Maximum Gain Setting
READ/RESET
WRITEVALUE
000 0000: Left Channel AGC Maximum Gain = 0.0dB
000 0001: Left Channel AGC Maximum Gain = 0.5dB
000 0010: Left Channel AGC Maximum Gain = 1.0dB
…
111 0011: Left Channel AGC Maximum Gain = 57.5dB
111 0100: Left Channel AGC Maximum Gain = 58.0dB
111 0101-111 1111: not recommended for usage, Left Channel AGC Maximum Gain = 58.0dB
www.ti.com
5.2.84Page 0 / Register 89: Left Channel AGC Control Register 4 - 0x00 / 0x59
BITDESCRIPTION
D7-D3R/W0 0000Left Channel AGC Attack Time Setting
D2-D0R/W000Left Channel AGC Attack Time Scale Factor Setting
READ/RESET
WRITEVALUE
0 0000: Left Channel AGC Attack Time = 1*32 ADC Word Clocks
0 0001: Left Channel AGC Attack Time = 3*32 ADC Word Clocks
0 0010: Left Channel AGC Attack Time = 5*32 ADC Word Clocks
…
1 1101: Left Channel AGC Attack Time = 59*32 ADC Word Clocks
1 1110: Left Channel AGC Attack Time = 61*32 ADC Word Clocks
1 1111: Left Channel AGC Attack Time = 63*32 ADC Word Clocks
5.2.85Page 0 / Register 90: Left Channel AGC Control Register 5 - 0x00 / 0x5A
BITDESCRIPTION
D7-D3R/W0 0000Left Channel AGC Decay Time Setting
READ/RESET
WRITEVALUE
0 0000: Left Channel AGC Decay Time = 1*512 ADC Word Clocks
0 0001: Left Channel AGC Decay Time = 3*512 ADC Word Clocks
0 0010: Left Channel AGC Decay Time = 5*512 ADC Word Clocks
…
1 1101: Left Channel AGC Decay Time = 59*512 ADC Word Clocks
1 1110: Left Channel AGC Decay Time = 61*512 ADC Word Clocks
1 1111: Left Channel AGC Decay Time = 63*512 ADC Word Clocks
5.2.86Page 0 / Register 91: Left Channel AGC Control Register 6 - 0x00 / 0x5B
BITDESCRIPTION
D7-D5R000Reserved. Write only default values
D4-D0R/W0 0000Left Channel AGC Noise Debounce Time Setting
READ/RESET
WRITEVALUE
0 0001: Left Channel AGC Noise Debounce Time = 0
0 0010: Left Channel AGC Noise Debounce Time = 4 ADC Word Clocks
0 0011: Left Channel AGC Noise Debounce Time = 8 ADC Word Clocks
…
0 1010: Left Channel AGC Noise Debounce Time = 2048 ADC Word Clocks
0 1011: Left Channel AGC Noise Debounce Time = 4096 ADC Word Clocks
0 1100: Left Channel AGC Noise Debounce Time = 2*4096 ADC Word Clocks
0 1101: Left Channel AGC Noise Debounce Time = 3*4096 ADC Word Clocks
...
1 1101: Left Channel AGC Noise Debounce Time = 19*4096 ADC Word Clocks
1 1110: Left Channel AGC Noise Debounce Time = 20*4096 ADC Word Clocks
1 1111: Left Channel AGC Noise Debounce Time = 21*4096 ADC Word Clocks
Page 0 Registers
5.2.87Page 0 / Register 92: Left Channel AGC Control Register 7 - 0x00 / 0x5C
BITDESCRIPTION
D7-D4R0000Reserved. Write only default values
D3-D0R/W0000Left Channel AGC Signal Debounce Time Setting
READ/RESET
WRITEVALUE
0001: Left Channel AGC Signal Debounce Time = 0
0010: Left Channel AGC Signal Debounce Time = 4 ADC Word Clocks
0011: Left Channel AGC Signal Debounce Time = 8 ADC Word Clocks
…
1001: Left Channel AGC Signal Debounce Time = 1024 ADC Word Clocks
1010: Left Channel AGC Signal Debounce Time = 2048 ADC Word Clocks
1011: Left Channel AGC Signal Debounce Time = 2*2048 ADC Word Clocks
1100: Left Channel AGC Signal Debounce Time = 3*2048 ADC Word Clocks
1101: Left Channel AGC Signal Debounce Time = 4*2048 ADC Word Clocks
1110: Left Channel AGC Signal Debounce Time = 5*2048 ADC Word Clocks
1111: Left Channel AGC Signal Debounce Time = 6*2048 ADC Word Clocks
5.2.88Page 0 / Register 93: Left Channel AGC Control Register 8 - 0x00 / 0x5D
BITDESCRIPTION
D7-D0R0000 0000 Left Channel AGC Gain Flag
READ/RESET
WRITEVALUE
1110 1000: Left Channel AGC Gain = -12.0dB
1110 1001: Left Channel AGC Gain = -11.5dB
1110 1010: Left Channel AGC Gain = -11.0dB
…
0000 0000: Left Channel AGC Gain = 0.0dB
…
0111 0010: Left Channel AGC Gain = 57.0dB
0111 0011: Left Channel AGC Gain = 57.5dB
0111 0100: Left Channel AGC Gain = 58.0dB
5.2.89Page 0 / Register 94: Right Channel AGC Control Register 1 - 0x00 / 0x5E
BITDESCRIPTION
D7R/W00: Right Channel AGC Disabled
D6-D4R/W000Right Channel AGC Target Level Setting
D3-D2R00Reserved. Write only default values
D1-D0R/W00Right Channel AGC Gain Hysteresis Control
READ/RESET
WRITEVALUE
1: Right Channel AGC Enabled
000: Right Channel AGC Target Level = -5.5dBFS
001: Right Channel AGC Target Level = -8.0dBFS
010: Right Channel AGC Target Level = -10.0dBFS
011: Right Channel AGC Target Level = -12.0dBFS
100: Right Channel AGC Target Level = -14.0dBFS
101: Right Channel AGC Target Level = -17.0dBFS
110: Right Channel AGC Target Level = -20.0dBFS
111: Right Channel AGC Target Level = -24.0dBFS
00: Right Channel AGC Gain Hysteresis is disabled
01: Right Channel AGC Gain Hysteresis is ±0.5dB
10: Right Channel AGC Gain Hysteresis is ±1.0dB
11: Right Channel AGC Gain Hysteresis is ±1.5dB
5.2.90Page 0 / Register 95: Right Channel AGC Control Register 2 - 0x00 / 0x5F
BITDESCRIPTION
D7-D6R/W00Right Channel AGC Hysteresis Setting
D5-D1R/W0 0000Right Channel AGC Noise Threshold
D0R0Reserved. Write only default value
READ/RESET
WRITEVALUE
00: Right Channel AGC Hysteresis is 1.0dB
01: Right Channel AGC Hysteresis is 2.0dB
10: Right Channel AGC Hysteresis is 4.0dB
11: Right Channel AGC Hysteresis is disabled
0 0000: Right Channel AGC Noise Gate disabled
0 0001: Right Channel AGC Noise Threshold is -30dB
0 0010: Right Channel AGC Noise Threshold is -32dB
0 0011: Right Channel AGC Noise Threshold is -34dB
…
1 1101: Right Channel AGC Noise Threshold is -86dB
1 1110: Right Channel AGC Noise Threshold is -88dB
1 1111: Right Channel AGC Noise Threshold is -90dB
www.ti.com
5.2.91Page 0 / Register 96: Right Channel AGC Control Register 3 - 0x00 / 0x60
BITDESCRIPTION
D7R0Reserved. Write only default value
D6-D0R/W111 1111Right Channel AGC Maximum Gain Setting
READ/RESET
WRITEVALUE
000 0000: Right Channel AGC Maximum Gain = 0.0dB
000 0001: Right Channel AGC Maximum Gain = 0.5dB
000 0010: Right Channel AGC Maximum Gain = 1.0dB
…
111 0011: Right Channel AGC Maximum Gain = 57.5dB
111 0100: Right Channel AGC Maximum Gain = 58.0dB
111 0101-111 1111: not recommended for usage, Right Channel AGC Maximum Gain = 58.0dB
5.2.92Page 0 / Register 97: Right Channel AGC Control Register 4 - 0x00 / 0x61
BITDESCRIPTION
D7-D3R/W0 0000Right Channel AGC Attack Time Setting
96
READ/RESET
WRITEVALUE
0 0000: Right Channel AGC Attack Time = 1*32 ADC Word Clocks
0 0001: Right Channel AGC Attack Time = 3*32 ADC Word Clocks
0 0010: Right Channel AGC Attack Time = 5*32 ADC Word Clocks
…
1 1101: Right Channel AGC Attack Time = 59*32 ADC Word Clocks
1 1110: Right Channel AGC Attack Time = 61*32 ADC Word Clocks
1 1111: Right Channel AGC Attack Time = 63*32 ADC Word Clocks
5.2.93Page 0 / Register 98: Right Channel AGC Control Register 5 - 0x00 / 0x62
BITDESCRIPTION
D7-D3R/W0 0000Right Channel AGC Decay Time Setting
D2-D0R/W000Right Channel AGC Decay Time Scale Factor Setting
READ/RESET
WRITEVALUE
0 0000: Right Channel AGC Decay Time = 1*512 ADC Word Clocks
0 0001: Right Channel AGC Decay Time = 3*512 ADC Word Clocks
0 0010: Right Channel AGC Decay Time = 5*512 ADC Word Clocks
…
1 1101: Right Channel AGC Decay Time = 59*512 ADC Word Clocks
1 1110: Right Channel AGC Decay Time = 61*512 ADC Word Clocks
1 1111: Right Channel AGC Decay Time = 63*512 ADC Word Clocks
5.2.94Page 0 / Register 99: Right Channel AGC Control Register 6 - 0x00 / 0x63
BITDESCRIPTION
D7-D5R000Reserved. Write only default values
D4-D0R/W0 0000Right Channel AGC Noise Debounce Time Setting
READ/RESET
WRITEVALUE
0 0001: Right Channel AGC Noise Debounce Time = 0
0 0010: Right Channel AGC Noise Debounce Time = 4 ADC Word Clocks
0 0011: Right Channel AGC Noise Debounce Time = 8 ADC Word Clocks
…
0 1010: Right Channel AGC Noise Debounce Time = 2048 ADC Word Clocks
0 1011: Right Channel AGC Noise Debounce Time = 4096 ADC Word Clocks
0 1100: Right Channel AGC Noise Debounce Time = 2*4096 ADC Word Clocks
0 1101: Right Channel AGC Noise Debounce Time = 3*4096 ADC Word Clocks
...
1 1101: Right Channel AGC Noise Debounce Time = 19*4096 ADC Word Clocks
1 1110: Right Channel AGC Noise Debounce Time = 20*4096 ADC Word Clocks
1 1111: Right Channel AGC Noise Debounce Time = 21*4096 ADC Word Clocks
5.2.95Page 0 / Register 100: Right Channel AGC Control Register 7 - 0x00 / 0x64
Page 0 / Register 100: Right Channel AGC Control Register 7 - 0x00 / 0x64 (continued)
BITDESCRIPTION
D3-D0R/W0000Right Channel AGC Signal Debounce Time Setting
READ/RESET
WRITEVALUE
0001: Right Channel AGC Signal Debounce Time = 0
0010: Right Channel AGC Signal Debounce Time = 4 ADC Word Clocks
0011: Right Channel AGC Signal Debounce Time = 8 ADC Word Clocks
…
1001: Right Channel AGC Signal Debounce Time = 1024 ADC Word Clocks
1010: Right Channel AGC Signal Debounce Time = 2048 ADC Word Clocks
1011: Right Channel AGC Signal Debounce Time = 2*2048 ADC Word Clocks
1100: Right Channel AGC Signal Debounce Time = 3*2048 ADC Word Clocks
1101: Right Channel AGC Signal Debounce Time = 4*2048 ADC Word Clocks
1110: Right Channel AGC Signal Debounce Time = 5*2048 ADC Word Clocks
1111: Right Channel AGC Signal Debounce Time = 6*2048 ADC Word Clocks
5.2.96Page 0 / Register 101: Right Channel AGC Control Register 8 - 0x00 / 0x65
BITDESCRIPTION
D7-D0R0000 0000 Right Channel AGC Gain Flag
READ/RESET
WRITEVALUE
1110 1000: Right Channel AGC Gain = -12.0dB
1110 1001: Right Channel AGC Gain = -11.5dB
1110 1010: Right Channel AGC Gain = -11.0dB
…
0000 0000: Right Channel AGC Gain = 0.0dB
…
0111 0010: Right Channel AGC Gain = 57.0dB
0111 0011: Right Channel AGC Gain = 57.5dB
0111 0100: Right Channel AGC Gain = 58.0dB
D7R/W00: DC Measurement Mode disabled for Left ADC Channel
D6R/W00: DC Measurement Mode disabled for Right ADC Channel
D5R/W00: DC Measurement is done using 1st order moving average filter with averaging of 2^D
D4-D0R/W0 0000DC Measurement D setting
READ/RESET
WRITEVALUE
1: DC Measurement Mode enabled for Left ADC Channel
1: DC Measurement Mode enabled for Right ADC Channel
1: DC Measurement is done with 1sr order Low-pass IIR filter with coefficients as a function of D
0 0000: Reserved. Do not use
0 0001: DC Measurement D parameter = 1
0 0010: DC Measurement D parameter = 2
..
1 0011: DC Measurement D parameter = 19
1 0100: DC Measurement D parameter = 20
1 0101-1 1111: Reserved. Do not use
D4-D0R/W0 0000IIR based DC Measurement, averaging time setting
READ/RESET
WRITEVALUE
0 0000: Infinite average is used
0 0001: Averaging time is 2^1 ADC Modulator clocks
0 0010: Averaging time is 2^2 ADC Modulator clocks
…
1 0011: Averaging time is 2^19 ADC Modulator clocks
1 0100: Averaging time is 2^20 ADC Modulator clocks
1 0101-1 1111: Reserved. Do not use
5.2.99Page 0 / Register 104: Left Channel DC Measurement Output Register 1 - 0x00 / 0x68
BITDESCRIPTION
D7-D0R0000 0000 Left Channel DC Measurement Output (23:16)
READ/RESET
WRITEVALUE
5.2.100 Page 0 / Register 105: Left Channel DC Measurement Output Register 2 - 0x00 / 0x69
BITDESCRIPTION
D7-D0R0000 0000 Left Channel DC Measurement Output (15:8)
READ/RESET
WRITEVALUE
5.2.101 Page 0 / Register 106: Left Channel DC Measurement Output Register 3 - 0x00 / 0x6A
BITDESCRIPTION
D7-D0R0000 0000 Left Channel DC Measurement Output (7:0)
READ/RESET
WRITEVALUE
5.2.102 Page 0 / Register 107: Right Channel DC Measurement Output Register 1 - 0x00 / 0x6B
BITDESCRIPTION
D7-D0R0000 0000 Right Channel DC Measurement Output (23:16)
READ/RESET
WRITEVALUE
5.2.103 Page 0 / Register 108: Right Channel DC Measurement Output Register 2 - 0x00 / 0x6C
BITDESCRIPTION
D7-D0R0000 0000 Right Channel DC Measurement Output (15:8)
READ/RESET
WRITEVALUE
5.2.104 Page 0 / Register 109: Right Channel DC Measurement Output Register 3 - 0x00 / 0x6D
BITDESCRIPTION
D7-D0R0000 0000 Right Channel DC Measurement Output (7:0)