The MAX9880A is a high-performance, stereo audio
codec designed for portable consumer applications
such as smartphones and tablets. Operating from a single 1.8V supply to ensure low-power consumption, the
MAX9880A offers a variety of input and output configurations for design flexibility. The MAX9880A can be
combined with an audio subsystem, such as the
MAX9877 or MAX9879, for a complete audio solution
for portable applications.
The MAX9880A’s stereo differential microphone inputs
can support either analog or digital microphones. A
stereo single-ended line input, with a configurable preamplifier, can either be recorded by the ADC or routed
directly to the headphone or line output amplifiers. The
stereo headphone amplifiers can be configured as differential, single ended, or capacitorless. The stereo line
outputs have dedicated level adjustment.
There are two digital audio interfaces. The primary
interface is intended for voiceband applications, while
the secondary interface can be used for high performance stereo audio data. Two digital input streams can
be processed simultaneously and both digital interfaces support TDM and I2S data formats.
The flexible clocking circuitry utilizes any available
10MHz to 60MHz system clock, eliminating the need for
an external PLL and multiple crystal oscillators. Both
the ADC and DAC can be operated synchronously or
asynchronously in master or slave mode. The ADC can
be operated from 8kHz to 48kHz sample rates, while
the DAC can be operated up to 96kHz.
The MAX9880A prevents click and pop during volume
changes and during power-up and power-down. Audio
quality is further enhanced with user-configurable digital
filters for voice and audio data. Voiceband filters provide extra attenuation at the GSM packet frequency and
greater than 70dB stopband attenuation at fS/2. An I2C
or SPI™ serial interface provides control for volume levels, signal mixing, and general operating modes.
The MAX9880A is available in space-saving, 48-bump,
2.7mm x 3.5mm, 0.4mm-pitch WLP and 48-pin, 6mm x
6mm TQFN packages.
Applications
Cellular Phones
Tablet PCs
Portable Gaming Devices
Portable Multimedia Players
Features
o 1.8V Single-Supply Operation
o 10.6mW Playback Power Consumption
o 8kHz to 96kHz Stereo DAC with 96dB Dynamic
Range
o 8kHz to 48kHz Stereo ADC with 82dB Dynamic
Range
o Support for Any Master Clock Between 10MHz to
60MHz
o Stereo Microphone Inputs Support Digital
Microphones
o Stereo Headphone Amplifiers: Differential
(30mW), Single-Ended, or Capacitorless (10mW)
o Stereo Line Inputs and Stereo Line Outputs
o Voiceband Filters with Stopband Attenuation
Greater than 70dB
o Battery-Measurement Auxiliary ADC
o Comprehensive Headset Detection
o Dual I2S- and TDM-Compatible Digital Audio
= +1.8V, RL= ∞, headphone load (RL) connected between _OUTP and _OUTN, dif-
ferential modes, C
REF
= 2.2µF, C
MICBIAS
= C
PREG
= C
REG
= 1µF, AV
PRE
= +20dB, AV
PGAM
= 0dB, AV
DAC
= 0dB, AV
LINE
= +20dB,
AV
VOL
= 0dB, AVLO= 0dB, f
MCLK
= 13MHz, TA= T
MIN
to T
MAX
, unless otherwise noted. Typical values are at TA= +25°C.) (Note 2)
Stresses beyond those listed under “Absolute Maximum Ratings” may cause permanent damage to the device. These are stress ratings only, and functional
operation of the device at these or any other conditions beyond those indicated in the operational sections of the specifications is not implied. Exposure to
absolute maximum rating conditions for extended periods may affect device reliability.
(Voltages with respect to AGND.)
DVDD, AVDD, PVDD ................................................-0.3V to +2V
DVDDS1, JACKSNS, MICVDD ..............................-0.3V to +3.6V
DGND, PGND........................................................-0.1V to +0.1V
PREG, REF, REG ....................................-0.3V to (V
AVDD
+ 0.3V)
MICBIAS .............................................-0.3V to (V
MICVDD
+ 0.3V)
MCLK, LRCLKS1, BCLKS1,
SDINS1, SDOUTS1..........................-0.3V to (V
DVDDS1
+ 0.3V)
X1, X2, LRCLKS2, BCLKS2, SDINS2,
SDOUTS2, DOUT, MODE ...................-0.3V to (V
DVDD
+ 0.3V)
SDA/DIN, SCL/SCLK, CS, IRQ ..............................-0.3V to +3.6V
LOUTP, LOUTN, ROUTP, ROUTN,
LOUTL, LOUTR ....................(V
PGND
- 0.3V) to (V
PVDD
+ 0.3V)
LINL, LINR, MICLP/DIGMICDATA,
MICLN/DIGMICCLK, MICRP/SPDMDATA,
MICRN/SPDMCLK ...............................-0.3V to (V
= +1.8V, RL= ∞, headphone load (RL) connected between _OUTP and _OUTN, dif-
ferential modes, C
REF
= 2.2µF, C
MICBIAS
= C
PREG
= C
REG
= 1µF, AV
PRE
= +20dB, AV
PGAM
= 0dB, AV
DAC
= 0dB, AV
LINE
= +20dB,
AV
VOL
= 0dB, AVLO= 0dB, f
MCLK
= 13MHz, TA= T
MIN
to T
MAX
, unless otherwise noted. Typical values are at TA= +25°C.) (Note 2)
Note 2:The MAX9880A is 100% production tested at TA= +25°C. Specifications over temperature limits are guaranteed by
design.
Note 3:Clocking all zeros into the DAC. Master mode. Differential headphone mode.
Note 4:DAC performance measured at headphone outputs.
Note 5:Dynamic range measured using the EIAJ method. -60dBFS 1kHz output signal, A-weighted, and normalized to 0dBFS.
f = 20Hz to 20kHz.
Note 6:Performance measured using microphone inputs, unless otherwise stated.
Note 7:Performance measured using line inputs.
Note 8:Performance measured using line inputs to line outputs.
Note 9:Performance measured using DAC. f
MCLK
= 12.288MHz, f
LRCLK
= 48kHz, unless otherwise stated.
Note 10: LRCLK can be any rate in the indicated range. Asynchronous or noninteger MCLK/LRCLK ratios can exhibit some full-
scale performance degradation compared to synchronous integer-related MCLK/LRCLK ratios.
Note 11: In master-mode operation, the accuracy of the MCLK input proportionally determines the accuracy of the sample clock
7 A5 MODE I2C/SPI Mode Select Input (MODE = 0 for I2C mode, MODE = 1 for SPI mode)
8 A4 IRQ
9 A6 AVDD Analog Power Supply. Bypass to AGND with a 1µF capacitor.
10 B6 REF Converter Reference. Bypas s to AGND with a 2.2µF capacitor (1.23V nominal).
11, 14,
28, 33,
35, 48
12 A7 PREG
13 C6 REG
15 A8 AGND Analog Ground
16 B7 MICVDD Microphone Bias Power Supply. Bypass to AGND with a 1µF capacitor.
17 B8 MICBIAS
18 C7
19 D7
20 C8
21 D8
22 D5 JACKSNS/AUX
C4, D4,
C5, D6
NAMEFUNCTION
2
I
C Serial-Data Input/Output (MODE = 0). Connect a pul lup resistor to DVDD for
full output swing. SPI compatible serial-data input (MODE = 1).
2
I
C Serial-Clock Input (MODE = 0). Connect a pullup resi stor to DVDD for full
output swing. SPI-compatible serial clock input (MODE = 1).
Crystal Osc illator Input. Connect load capacitor and one terminal of the cr ystal
to this pin. Acceptable input frequency range: 10MHz to 30MHz.
Crystal Osc illator Output. Connect load capacitor and second terminal of the
crystal to this pin.
Hardware Interrupt Output. IRQ can be programmed to go low when b its in the
status register 0x00 are set. Read status register 0x00 to clear IRQ once set.
Repeat faults have no effect on IRQ until it is cleared by reading the I
register 0x00. Connect a 10k pullup resistor to DVDD for ful l output swing.
N.C. No Connection. Connect to GND.
Positive Internal Regulated Supply. Bypass to AGND with a 1µF capacitor (1.6V
nominal).
PREG/2 Voltage Reference. Bypass to AGND with a 1µF capacitor (0.8V
nominal)
Low-Noi se Microphone B ia s. Connect a 2.2 k to 470 resistor to the pos it ive
output of the microphone. B ypass to AGND with a 1µF capacitor.
MICLN/
DIGMICCLK
MICLP/
DIGMICDATA
MICRP/
SPDMDATA
MICRN/
SPDMCL K
Left Negative Differential Microphone Input. AC-couple a microphone with a series
1µF capacitor. Also digital microphone clock output. Selectable through I
Left Positive Differential Microphone Input. AC-couple a microphone with a
series 1µF capac itor. Also digital microphone data input. Selectable through
2
C.
I
Right Posit ive Different ia l Microphone Input or SPDM Data Output. AC-couple a
microphone with a series 1µF capac itor. Selectable through I
Right Negative Differential Microphone Input or SPDM Cloc k Output. AC-couple
a microphone with a series 1µF capac itor. Selectable through I
Jack Sense. Detects the presence or absence of a jack. See the Headset Detection section. When used as an auxiliary ADC input, AUX is used to
measure DC vo ltages.
23 E8 LINL Left-Line Input. AC-couple ana log audio s ignal to LINL with a 1µF capacitor.
24 F8 LINR Right-Line Input. AC-couple analog audio signa l to LINR with a 1µF capacitor.
25 F7 LOUTR Right-Line Output
26 E7 LOUTL Left-Line Output
27 E6, F6 PGND Headphone Power Ground
29 E5 ROUTP
30 F5 ROUTN
31 F4 LOUTN
32 E4 LOUTP
34 E3, F3 PVDD Headphone Power Supply. Bypas s to PGND with a 1µF capacitor.
36 F2 DVDDS1
37 F1 SDOUTS1 S1 Digital Audio Serial-Data ADC Output
38 D3 SDINS1 S1 Digital Audio Serial-Data DAC Input
39 E1 LRCLKS1
40 E2 BCLKS1
41 D1 MCLK Master Cloc k Input. Acceptable input frequency range: 10MHz to 60MHz.
42 D2 SDOUTS2 S2 Digital Audio Serial-Data ADC Output
43 C1 SDINS2 S2 Digital Audio Serial-Data DAC Input
44 C2 LRCLKS2
45 C3 BCLKS2
46 B1 DVDD
47 A1 DGND Digital Ground
— — EP Exposed Pad. Connect the exposed thermal pad to AGND.
NAMEFUNCTION
Positive Right-Channel Headphone Output. Connect directly to the load in
differential and capacitorless mode. AC-couple to the load in single-ended mode.
Negative Right-Channel Headphone Output. Unu sed in capacitorless and
single-ended mode.
Negative Left-Channel Headphone Output. Common headphone return in
capacitorless mode. Unused in s ingle-ended mode.
Positi ve Left-Channel Headphone Output. Connect directly to the load in
differential and capacitorless mode. AC-couple to the load in single-ended mode.
S1 Digital Audio Interface Power-Supply Input. Bypass to DGND with a 1µF
capacitor.
S1 Digital Aud io Left-Right Clock Input/Output. LRCLKS1 is the audio sample
rate clock and determines whether the audio data on SDINS1 i s routed to the left
or right channel. In TDM mode, LRCLKS1 is a frame sync pulse. LRCLKS1 is an
input when the MAX9880A is in slave mode and an output when in master
mode.
S1 Digital Audio Bit Clock Input/Output. BCLKS1 i s an input when the
MAX9880A is in slave mode and an output when in master mode.
S2 Digital Aud io Left-Right Clock Input/Output. LRCLKS2 is the audio sample
rate clock and determines whether the audio data on SDINS2 i s routed to the left
or right channel. In TDM mode, LRCLKS2 is a frame sync pulse. LRCLKS2 is an
input when the MAX9880A is in slave mode and an output when in master
mode.
S2 Digital Audio Bit Clock Input/Output. BCLKS2 i s an input when the
MAX9880A is in slave mode and an output when in master mode.
Digital Power Supply. Supply for the d igital core and I
DGND with a 1.0µF capacitor.
The MAX9880A is a low-power stereo audio codec
designed for portable applications requiring minimum
power consumption.
The stereo playback path accepts digital audio through
flexible digital audio interfaces compatible with I2S,
TDM, and left-justified audio signals. The MAX9880A
can process two simultaneous digital input streams that
can be mixed digitally. The primary interface is intended for voiceband applications, while the secondary
interface can be used for stereo audio data. An oversampling sigma-delta DAC converts the mixed incoming digital data stream to analog audio and outputs
through the stereo headphone amplifier and stereo-line
outputs. The headphone amplifier can be configured in
differential, single-ended, and capacitorless output
modes.
The stereo record path has two differential analog
microphone inputs with selectable gain. The microphones are powered by an integrated microphone bias.
The MAX9880A can retask the left analog microphone
input to accept data from up to two digital microphones. An oversampling sigma-delta ADC converts
the microphone signals and outputs the digital bit
stream over the digital audio interface. An auxiliary
ADC allows accurate measurements of DC voltages by
retasking the right audio ADC. DC voltages can be
read through the registers.
The MAX9880A also includes two line inputs. These
inputs allow a stereo single-ended signal to be gain
adjusted and then recorded by the ADCs and output by
the headphone amplifier and line output amplifiers. A
jack detection function allows the detection of headphone, microphone, and headset jacks. Insertion and
removal events can be programmed to trigger a hardware interrupt and flag a register bit.
The MAX9880A’s flexible clock circuitry utilizes a programmable clock divider and a digital PLL to allow the
DAC and ADC to operate at maximum dynamic range
for all combinations of master clock (MCLK) and sample rate (LRCLK) without consuming extra supply current. Any master clock between 10MHz and 60MHz is
supported as are all sample rates from 8kHz to 48kHz
for the record path and 8kHz to 96kHz for the playback
path. Master and slave modes are supported for maximum flexibility.
The right analog microphone input can be retasked to
output SPDM data. Integrated digital filtering provides a
range of notch and highpass filters for both the playback and record paths to limit undesirable low-frequency signals and GSM transmission noise. The digital
filtering provides attenuation of out-of-band energy by
over 70dB, eliminating audible aliasing. A digital
sidetone function allows audio from the record path to
be summed into the playback path after digital filtering.
I2C/SPI Registers
Forty internal registers program and report the status of
the MAX9880A. Table 1 lists all of the registers, their
addresses, and power-on-reset states. Registers
0x00–0x03 are read-only while all of the other registers
are read/write. Write zeros to all unused bits in the register table when updating the register, unless otherwise
noted. All bits in the read-only registers are not programmable. Read operations of unused bits return zero.
I2C Slave Address
The MAX9880A is preprogrammed with a slave
address of 0x20 or 0010000. The address is defined as
the 7 most significant bits (MSBs) followed by the
read/write bit. Set the read/write bit to 1 to configure the
MAX9880A to read mode. Set the read/write bit to zero
to configure the MAX9880A to write mode. The address
is the first byte of information sent to the MAX9880A
after the START (S) condition.
Status registers 0x00 and 0x01 are read-only registers
that report the status of various device functions. The
status register bits are cleared upon reading the status
register and are set the next time the event occurs.
Registers 0x02 and 0x03 report the DC level applied to
AUX. See the
ADC
section for more details.
Bits in status register 0x00 are set when an alert condition exists. All bits in status register 0x00 are automatically cleared upon a read operation of the register and
are set again if the condition remains or occurs following the read of this register.
Table 1. Register Map (continued)
*
Reserved.
Grayed boxes = Not used.
Note: Register addresses listed are for I
2
C. To get the SPI address, add 0x200 with the following exception: Register 0xFF is not
accessible through SPI.
Table 2. Status Register
*
Reserved.
Grayed boxes = Not used.
Note: Register addresses listed are for I
2
C. To get the SPI address, add 0x200 with the following exception: Register 0xFF is not
Clip Detect Flag. Indicates that a signal has become clipped in the ADC or DAC. To resolve a clip condition in
CLD
SLD
ULK
JDET
JKSNS[1:0]
AUX
the signal path, the DAC gain settings and analog input gain settings should be lowered. As the CLD bit does
not indicate where the overload ha s occurred, identify the source by lowering gains individua lly.
Slew Level Detect Flag. When volume or gain changes are made, the slewing circuitry smoothly steps through
all intermediate settings. When SLD is set high, all slewing has completed and the volume or gain is at its final
value. SLD is also set when soft start or stop is complete.
Digital PLL Unlock Flag. Indicates that the digital audio PLL has become unlocked and digital signal data is not
reliable.
Headset Configuration Change Flag. JDET reports changes in JKSNS[1:0]. Changes to JKSNS[1:0] are
debounced before setting JDET. The debounce period is programmable u sing the JDEB bits.
JKSNS reports the status of the JACKSNS pin when JDETEN = 1. JKSNS is not debounced and should be
interpreted according to the following information.
JKSNS[1:0]DESCRIPTION
00 JACKSNS is below V
01 JACKSNS is between V
10 Inval id.
11 JACKSNS is above V
Auxiliary Input Measur ement. AUX is a 16-bit signed two’s complement number representing the voltage
measured at JACKSNS/AUX. Before reading a value from AUX, set AUXCAP to 1 to ensure a stab le reading. After
reading the value, set AUXCAP to 0.
Use the following formula to convert the AUX value into an equivalent JACKSNS/AUX voltage:
Volt age = 0.738V
k = AUX value when AUXGAIN = 1. See AUXGAIN for details on determining the value of k, the calibration
constant.
Hardware interrupts are reported on the open-drain IRQ
pin. When an interrupt occurs, IRQ remains low until the
interrupt is serviced by reading the status register 0x00.
If a flag is set, it is reported as a hardware interrupt only
if the corresponding interrupt enable is set. Each bit
enables interrupts for the status flag in the respective
bit location in register 0x00.
Table 4. Interrupt Enable
*
Reserved.
Grayed boxes = Not used.
Note: Register addresses listed are for I
2
C. To get the SPI address, add 0x200 with the following exception: Register 0xFF is not
accessible through SPI.
Table 5. System and Audio Clock Registers
Grayed boxes = Not used.
Note: Register addresses listed are for I
2
C. To get the SPI address, add 0x200 with the following exception: Register 0xFF is not
accessible through SPI.
Clock Control
The MAX9880A can work with a master clock (MCLK)
supplied from any system clock within the 10MHz to
60MHz range. Internally the MAX9880A requires a
10MHz to 20MHz clock. A prescaler divides MCLK by
1, 2, or 4 to create the internal clock (PCLK). PCLK is
used to clock all portions of the MAX9880A.
The MAX9880A can support any sample rate from 8kHz
to 48kHz for the digital audio path DAI1 (DAC and
ADC) and 8kHz to 96kHz for the DAI2 (high-fidelity
DAC path), including all common sample rates (8kHz,
16kHz, 24kHz, 32kHz, 44.1kHz, 48kHz, 96kHz). To
accommodate a wide range of system architectures,
the MAX9880A supports three main clocking modes:
• Normal mode: This mode uses a 15-bit clock
divider coefficient to set the sample rate relative to
the prescaled MCLK input (PCLK). This allows high
flexibility in both the MCLK and LRCLK frequencies
and can be used in either master or slave mode.
• Exact integer mode: Common MCLK frequencies
(12MHz, 13MHz, 16MHz, and 19.2MHz) can be programmed to operate in exact integer mode for both
8kHz and 16kHz sample rates. In these modes, the
MCLK and LRCLK rates are selected by using the
FREQ1 bits instead of the NI high, NI low, and PLL control bits.
• PLL mode: When operating in slave mode, a PLL
can be enabled to lock onto externally generated
LRCLK signals that are not integer related to PCLK.
Prior to enabling the interface, program NI to the
nearest desired ratio and set the NI[0] = 1 to enable
the PLL’s rapid lock mode. If NI[0] = 0, then NI is
ignored and PLL lock time is slower.
Table 5. System and Audio Clock Registers (continued)
BITSFUNCTION
MCLK Prescaler. Divides MCLK down to generate a PCLK between 10MHz and 20MHz.
00 = Disable clock for low-power shutdown.
PSCLK
FREQ1
PLL1/PLL2
RLK1/RLK2
NI1/NI2
01 = Select if MCLK is between 10MHz and 20MHz. PCLK = MCLK.
10 = Select if MCLK is between 20MHz and 40MHz. PCLK = MCLK/2.
11 = Select if MCLK is greater than 40MHz. PCLK = MCLK/4.
Exact Integer Modes. Allows integer sampling for specific PCLK (prescaled MCLK) frequencies and 8kHz or
16kHz sample rates.
FREQ1[3:0]PCLK (MH z)LRCLK (kH z)PCL K/LRCLK
0x00
0x1–0x7ReservedReservedReserved
0x8
0x9
0xA
0xB
0xC
0xD
0xE
0xF
Modes 0x8 to 0xF are available in either master or slave mode. In slave mode, if the indicated PCLK/LRCLK
ratio cannot be guaranteed, use PLL mode instead.
PLL Mode Enable
0 = (Valid for slave and ma ster mode) The frequency of LRCLK i s set by the NI divider bits. In master mode,
the MAX9880A generates LRCLK using the specified divide ratio. In slave mode, the MAX9880A expects
an LRCLK as specified by the divide ratio.
1 = (Valid for slave mode only) A digital PLL locks on to any externally supplied LRCLK signal.
Rapid Lock Mode. To enable rapid lock mode set NI_ to the nearest desired ratio and set RLK_ = 1 before
enabling the interface.
Normal Mode LRCLK Divider. When PLL = 0, the frequenc y of LRCLK is determined by NI. See Tab le 6 for
common NI va lues.
For LRCLK = 8 kHz to 48 kHz operation (DHF = 0 for DAI2):
NI = (65,536 x 96 x f
f
f
For LRCLK > 50kHz operation (DHF = 1 for DAI2):
NI = (65,536 x 48 x f
f
f
The MAX9880A’s dual digital audio interface supports a
wide range of operating modes to ensure maximum
compatibility. See Figures 1 to 5 for timing diagrams. In
master mode, the MAX9880A outputs LRCLK and
BCLK, while in slave mode they are inputs. When operating in master mode, BCLK can be configured in a
number of ways to ensure compatiblity with other audio
devices.
The MAX9880A has two sets of digital audio interface
pins, S1 and S2, that can be connected to one of two
digital audio paths, DAI1 or DAI2.
DAI1: Digital Audio Path 1 Operation
• DAC path with DR of 90dB and ADC path with DR of
82dB
• DAC path connectable to either S1 or S2
• ADC path connectable to either S1 or S2
• 8kHz to 48kHz sample rates
•I
2
S and TDM-compatible modes
• Voice filters or audio filter modes
DAI2: Digital Audio Path 2 Operation
• High-fidelity DAC path with DR of 96dB
• DAC path connectable to either S1 or S2
• 8kHz to 96kHz sample rates
•I2S and TDM-compatible modes
• Audio FIR filters
• No ADC clock control from DAI2 sample clock and
no voice filter modes available in DAI2
Table 6. Common NI Values
Note: Values in bold and underline are exact integers that provide maximum full-scale performance.
Interface Mode B DL2 SEL2 SDOEN2 SDIEN2 DHF BSEL2 0x0E
Time-Di vis ion Multiplex SLOTL2 SLOTR2 SLOTDLY2[3:0] 0x0F
BITSFUNCTION
Master Mode
MAS1/2
WCI1/2
BCI1/2
DLY1/2
HIZOFF1/2
0 = The MAX9880A operates in slave mode with LRCLK and BCLK configured as inputs.
1 = The MAX9880A operates in master mode with LRCLK and BCLK configured as outputs.
LRCLK Invert (TDM1/2 = 0)
0 = Left-channe l data i s input and output while LRCLK i s low.
1 = Right-channel data is input and output while LRCLK is low.
BCLK Invert
In master and sla ve modes:
0 = SDIN is latched into the part on the ris ing edge of BCLK. SDOUT transitions immediatel y after the rising edge
of BCLK.
1 = SDIN is latched into the part on the falling edge of BCLK. SDOUT transitions immediately after the falling
edge of BCLK.
In master mode:
0 = LRCLK changes state immediately after the rising edge of BCLK.
1 = LRCLK changes state immediately after the falling edge of BCLK.
Delay Mode. DLY1/2 have two different function s in TDM and non-TDM mode.
In Non-TDM Mode (TDM1/TDM2 = 0): The functional it y is as follows:
1 = The most significant bit of an audio word is latched at the second BCLK edge after the LRCLK transition.
0 = The most significant bit of an audio word is latched at the first BCLK edge after the LRCLK trans it ion.
In TDM Mode (TDM1/TDM2 = 1): The functionality is as follows:
1 = The HOLD time on the SDOUT output is increased to be greater than 150ns.
0 = The HOLD time on the SDOUT output is the default (greater than 20ns but less than 150ns).
SDOUT High-Impedance Mode
0 = SDOUT goes to a high-impedance state after all data bits ha ve been transferred out of the MAX9880A,
allowing SDOUT to be shared by other device s.
1 = SDOUT is set either high or low after all data bit s have been transferred out of the MAX9880A.
Note: High-impedance mode is intended for use when TDM = 1.
Table 7. Digital Audio Interface Registers (continued)
BITSFUNCTION
TDM Mode Select
TDM1/2
FSW1/2
WS2
DL1/2
SEL1/SEL2
SDOEN1/2
SDIEN1/2
1 = Enables time-division multiplex mode and configures the audio interface to accept PCM data.
0 = Disables time-division multiplex mode. LRCLK signal polarity indicates left and right audio.
Frame Sync Width
1 = Frame sync pulse extended to the width of the entire 16-bit first slot 0 data word (TDM1/TDM2 = 1 only;
SLOTDLY[0] must be 0 when FSW i s set to 1).
0 = Frame sync pulse is 1 bit wide.
Word Si ze
0 = The number of bits per input data word sample is 16 b its, and at lea st 16 BCLK s per input word are required.
1 = The number of bits per input data word sample is 18 b its, and at lea st 18 BCLKs per input word transfer is
required. These control bits are on ly recognized when TDM1/TDM2 are cleared to 0.
Data Loop. Enabling of these bits provides a bridge from one DAI interface to the other. Data format looping could
occur in both directions simultaneously.
BITDESCRIPTION
DL1 = 0 Normal operation
DL1 = 1, SEL2 = 1 Enables SDINS1 to SDOUTS2.
DL2 = 0 Normal operation
DL2 = 1, SEL1 = 0 Enables SDINS2 to SDOUTS1.
Note: The LRCLKS1 and LRCLKS2 interface s must be identical.
Set the SEL1/2, SDOEN1/2, and SDIEN1/2 bits as shown in the table below to connect the S1 and S2 pins to the
DAI1 and DAI2 paths in the MAX9880A.
SETTINGSEL1SEL2SDIEN1SDOEN1SDIEN2SDOEN2
Connect S1 pin s to DAI1 (DAC and ADC) 0 X 1 1 0 0
Connect S2 pin s to DAI1 (DAC and ADC) 1 0 1 0 0 1
Connect S1 pin s (DAC only) to DAI2 1 0 0 0 1 0
Connect S2 pin s (DAC only) to DAI2 X 1 0 0 1 0
Connect S1 pin s (DAC and ADC) to DAI1,
connect S2 to DAI2 (DAC only)
Connect S2 pin s (DAC and ADC) to DAI1,
connect S1 to DAI2 (DAC only)
SDOUT Enable
1 = Serial-data output enabled on S1/S2 pins.
0 = Serial-data output d isabled on S1/S2 pins.
SDIN Enable
1 = Serial-data input to DAI1/2 audio path enab led.
0 = Serial-data input to DAI1/2 audio path disabled.
0 1 1 1 1 0
1 0 1 0 1 1
Mono Pl ayback Mode
0 = Stereo data input on DAI1 path is proce ssed separately.
DMONO1
1 = Stereo data input on DAI1 path is mixed to a single channel and routed to both the left and right DAC.
When operating in mono voice mode (MODE = 1), stereo data may st ill be input through DAI1 path and optional ly
mixed using DMONO1 = 1.
Table 7. Digital Audio Interface Registers (continued)
BITSFUNCTION
BCLK Select. Configures BCLK when operating in master mode. BSEL has no effect in slave mode. Set BSEL =
010, unle ss sharing the bus with mu ltiple devices.
BSELDESCRIPTION
000Off (BCLK output held low)
00164x LRCLK (192x internal clock divided by 3)
BSEL1/2
SLOTL1/2
SLOTR1/2
SLOTDLY1/2
DHF
TDM Slot Select. Selects the time slot to use for left/right data according to the following information when
operating in time-division multiplex mode.
Slot Data Delay (SLOTDLY1/SLOTDLY2)
In TDM Mode: Conf igures the data delay for each slot in TDM mode of operation according to the fo llowing
information.
In Non-TDM Mode (TDM = 0): SLOTDLY[1:0] does not have any effect.
DAC High Sample Rate Mode (DHF) (Valid only for DAI2 audio path)
1 = LRCLK is greater than 50kHz. 4x FIR interpolation fi lter used.
0 = LRCLK is less than 50kHz. 8x FIR interpolation filter used.
01048x LRCLK (192x internal clock divided by 4)
011128x LRCLK (Note: Not a valid BSEL2 choice when DHF = 1.)
100PCLK/2
101PCLK/4
110PCLK/8
111PCLK/16
SLOTDESCRIPTION
00Time slot 1
01Time slot 2
10Time slot 3
11Time slot 4
SLOTDLY1/2[3:0]DESCRIPTION
0xxx Data for slot 4 begins immediately.
1xxx Data for slot 4 delayed 1 BCLK cycle.
x0xx Data for slot 3 begins immediately.
x1xx Data for slot 3 delayed 1 BCLK cycle.
xx0x Data for slot 2 begins immediately.
xx1x Data for slot 2 delayed 1 BCLK cycle.
xxx0 Data for slot 1 begins immediately.
xx x1 Data for slot 1 delayed 1 BC LK cycle (not va l id when FSW = 1).
NOTE: THE DELAY FROM A BCLK EDGE AND AN LRCLK EDGE IS DETERMINED BY LENGTH OF TIME THAT PCLK (THE INTERNALLY DIVIDED-DOWN VERSION OF MCLK AS DEFINED BY THE PSCLK BITS) PERIOD OF MCLK PLUS THE
The MAX9880A incorporates both IIR (voice) and FIR
(audio) digital filters to accomodate a wide range of
audio sources. The IIR fiilters provide over 70dB of
stopband attenuation as well as selectable highpass filters. The FIR filters provide low power consumption and
are linear phase to maintain stereo imaging.
Table 9. Digital Filtering Register
Note: Register addresses listed are for I2C. To get the SPI address, add 0x200 with the following exception: Register 0xFF is not
accessible through SPI.
REGISTER
REGISTERB7B6B5B4B3B2B1B0
DIGITAL FILTERING
Codec Filters MODE AVFLT DCB DVFLT 0x11
BITSFUNCTION
Digital Audio Filter Mode. Selects the fi ltering mode for the DAI1 DAC and ADC signal paths.
MODE
AVFLT
DCB
DVFLT
0 = IIR vo ice fi lters
1 = FIR audio filter s
ADC Digital Audio Filter. Configures the h ighpass filters for the DAI1 signal path.
MODE = 0
Select the desired digital fi lter response from Table 10. See the frequency response graphs in the Typical
Operating Characteristic s section for details on each filter.
1 = DC-blocking fi lter for DAI2 enab led.
0 = DC-block ing fi lter for DAI2 disabled.
DAC Digital Audio Filter. Configures the h ighpass filters for the DAI1 signal path.
MODE = 0
Select the desired digital fi lter response from Table 10. See the frequency response graphs in the Typical
Operating Characteristic s section for details on each filter.
C. To get the SPI address, add 0x200 with the following exception: Register 0xFF is not
accessible through SPI.
The MAX9880A supports stereo PDM outputs. The PDM
signals consist of PDM data outputs (SPDMDATA) and a
clock output (SPDMCLK). The mixer at the input to the
PDM modulators allows a mix/mux of the audio digital data
stream from the digital audio ports SDINS1 and SDINS2.
Figure 5 shows the SPDM interface timing diagram.
Figure 5. SPDM Timing Diagram
REGISTER
REGISTERB7B6B5B4B3B2B1B0
Conf igurationSPDMCLK SPDML SPDMR 0000 0x12
InputMIXSPDML MIXSPDMR 0x13
SPDMCLK
t
DLY, DSD
SPDMDATALEFT CHRIGHT CHLEFT CHRIGHT CH
t
DLY, DSD
ADDRESS
(SEE NOTE)
BITSFUNCTION
SPDM Clock Rate (SPDMCLK)
00 = SPDMCLK is set to PCLK/8.
SPDMCL K
SPDML/SPDM R
MIXSPDML/
MIXSPDMR
01 = SPDMCLK is set to PCLK6.
10 = SPDMCLK is set to PCLK/4.
11 = Reserved
0 = Dis ables SPDM data.
1 = Enables SPDM data.
SPDM Input Mixers. Selects and mixes the audio source(s) for the SPDM output according to following
information.
The MAX9880A include one pair of single-ended line
inputs. When enabled the line inputs connect directly to
the headphone amplifier and line outputs and can be
optionally connected to the ADC for recording.
Playback Volume
The MAX9880A incorporates volume and mute control to
allow level control for the playback audio path. Program
registers 0x1C and 0x1D to set the desired volume.
Line Output Level
The MAX9880A incorporates gain and mute control to
allow level control for the line outputs.
Table 13. Line Input Registers
Table 14. Playback Volume Registers
Grayed boxes = Not used.
Note: Register addresses listed are for I
2
C. To get the SPI address, add 0x200 with the following exception: Register 0xFF is not
accessible through SPI.
Grayed boxes = Not used.
Note: Register addresses listed are for I
2
C. To get the SPI address, add 0x200 with the following exception: Register 0xFF is not
accessible through SPI.
REGISTERB7B6B5B4B3B2B1B0
Left-Line Input Leve l 0 LILM 00 LIGL 0x1A
Right-Line Input Level 0 LIRM 00 LIGR 0x1 B
BITSFUNCTION
Line Input Left/Right Playback Mute
LILM/LIRM
LIGL/LIGR
0 = Line input is connected to the headphone amplifiers.
1 = Line input is disconnected from the headphone amplifiers.
Line Input Left/Right Gain
SETTINGGAIN (dB)SETTINGGAIN (dB)
0x0 +24 0x8 +8
0x1 +22 0x9 +6
0x2 +20 0xA +4
0x3 +18 0xB +2
0x4 +16 0xC 0
0x5 +14 0xD -2
0x6 +12 0xE -4
0x7 +10 0xF -6
REGISTER
ADDRESS
(SEE NOTE)
REGISTER
REGISTERB7B6B5B4B3B2B1B0
Left Volume Control 0 VOLLM VOLL 0x1C
Right Volume Control 0 VOLRM VOLR 0x1D
BITSFUNCTION
Left/Right Playback Mute. VOLLM and VOLRM mute both the DAC and line input audio signals.
VOLLM/
VOL R M
0 = Audio playback is unmuted.
1 = Audio playback is muted.
Note: VSEN has no effect on the mute function. When VOLLM or VOLRM i s set, the output i s muted
immediately (ZDEN = 1) or at the next zero-crossing (ZDEN = 0).
Note: Gain settings apply when the headphone amplif ier i s configured in differential mode. In the s ingleended and capacitorle ss modes, the actual gain is 5dB lower. Assum ing LOGL/LOGR = 0dB, line output
gain is 6dB lower.
0x28 to 0x3F MUTE
REGISTER
REGISTERB7B6B5B4B3B2B1B0
Left-Line Output Level 0 LOLM
Right-Line Output Le ve l 0 LORM 00 LOGR 0x1F
0
0 LOGL 0x1E
ADDRESS
(SEE NOTE)
BITSFUNCTION
Left/Right Line Output Mute. LOLM and LORM mute both the DAC and line input audio signals.
0 = Line output is unmuted.
LOLM/LORM
LOGL/LOGR
1 = Line output is muted.
Note: VSEN has no effect on the mute function. When LOLM or LORM is set the output is muted immediately
(ZDEN = 1) or at the ne xt zero-crossing (ZDEN = 0).
Left/Right Line Output Gain. LOGL and LOGR set the l ine output gain according to the fol low ing information.
Two differential microphone inputs and a low noise 1.5V
microphone bias for powering the microphones are
provided by the MAX9880A. In typical applications, the
left microphone records a voice signal and the right
microphone records a background noise signal. In
applications that require only one microphone, use the
left microphone input and disable the right ADC. The
microphone signals are amplified by two stages of gain
and then routed to the ADCs. The first stage offers
selectable 0dB, 20dB, or 30dB settings. The second
stage is a programmable gain amplifier (PGA)
adjustable from 0dB to 20dB in 1dB steps. Zero-crossing detection is included on the PGA to minimize zipper
noise while making gain changes. See Figure 6 for a
detailed diagram of the microphone input structure.
Table 16. Microphone Input Registers
Figure 6. Microphone Input Block Diagram
Grayed boxes = Not used.
Note: Register addresses listed are for I
2
C. To get the SPI address, add 0x200 with the following exception: Register 0xFF is not
accessible through SPI.
MICBIAS
1.5V
MICLP
MICLN
MICRP
MICRN
MAX9880A
0/20/30dB
V
REG
PREAMP
0/20/30dB
PREAMP
PGA
-
V
0dB TO +20dB
REG
PGA
ADC
L
ADC
R
0dB TO +20dB
REGISTER
REGISTERB7B6B5B4B3B2B1B0
Left Microphone Gain 0 PALEN PGAML 0x20
Right Microphone Gain 0 PAREN PGAMR 0x21
BITSFUNCTION
Left/Right Microphone Preamplifier Gain. Enables the microphone circuitry and sets the preamplifier gain.
The MAX9880A includes two 18-bit ADCs. The first
ADC is used to record left-channel microphone and
line-input audio signals. The second ADC can be used
to record right-channel microphone and line-input signals or it can be configured to accurately measure DC
voltages.
When measuring DC voltages both the left and right ADC
must be enabled by setting ADLEN and ADREN in register 0x26. The input to the second ADC is JACKSNS/
AUX and the output is reported in AUX (registers 0x02
and 0x03). Since the audio ADC is used to perform the
measurement, the digital audio interface must be properly configured. If the left ADC is being used to convert
audio, then the DC measurement is performed at the
same sample rate. When not using the left ADC, configure the digital interface for a 48kHz sample rate to
ensure the fastest possible settling time.
To ensure accurate results, the MAX9880A includes
two calibration routines. Calibrate the ADC each time
the MAX9880A is powered on. Calibration settings are
not lost if the MAX9880A is placed in shutdown. When
making a measurement, set AUXCAP to 1 to prevent
AUX from changing while reading the registers.
Setup Procedure
1) Ensure a valid MCLK signal is provided and configure PSCLK appropriately.
2) Choose a clocking mode. The following options are
possible:
a. Slave mode with LRCLK and BCLK signals
provided. The measurement sample rate is
determined by the external clocks.
b. Slave mode with no LRCLK and BCLK signals
provided. Configure the device for normal clock
mode using the NI ratio. Select fS= 48kHz to
allow for the fastest settling times.
c. Master mode with audio. Configure the device
in normal mode using the NI ratio or exact integer mode using FREQ1 as required by the audio
signal.
d. Master mode without audio. Configure the
device in normal mode using the NI ratio. Select
fS= 48kHz to allow for the fastest settling times.
3) Ensure jack sense is disabled.
4) Enable the left and right ADC; take the MAX9880A
out of shutdown.
00 = No input selected
01 = Left/right analog microphone
MXINL/MXINR
AUXCAP
AUXGAIN
AUXCAL
AUXEN
10 = Left/right line input
11 = Left/right analog microphone + line input
Note: If the right line input is disabled, then the left line input is connected to both mixers. Enabling the left
and right digital m icrophones disable s the left and right audio m ixer, respectively. See the DIGMICL/
DIGMICR bit description for more detai ls.
Auxiliary Input Capture
0 = Update AUX with the voltage at JACKSNS/AUX.
1 = Hold AUX for reading.
Auxilia ry Input Gain Calibration
0 = Normal operation
1 = The input buffer is disconnected from JACKSNS/AUX and connected to an internal voltage reference.
While in this mode, read the AUX register and store the va lue. Use the stored value a s a gain
cal ibration factor, k, on subsequent readings. AUXCAL must remain set for time indicated in Table 17 to
guarantee an accurate offset calibration.
Auxiliary Input Offset Calibration
0 = Normal operation
1 = JACKSNS/AUX is disconnected from the input and the ADC automatically calibrates out any internal
offsets. AUXCAL must remain set for time indicated in Table 17 to guarantee an accurate offset
cal ibration.
Auxiliary Input Enable
0 = Use JACKSNS/AUX for jack detection.
1 = Use J ACKSNS/AUX for DC measurements.
Note: Set MXINR = 00, ADLEN = 1, and ADREN = 1 when AUXEN = 1.
The MAX9880A can accept audio from up to two digital microphones. When using digital microphones, the
left analog microphone input is retasked as a digital
microphone input. The right analog microphone input is
still available to allow a combination of analog and digital microphones to be used. Figure 7 shows the digital
microphone interface timing diagram.
Figure 7. Digital Microphone Timing Diagram
Table 19. Digital Microphone Input Register
Grayed boxes = Not used.
Note: Register addresses listed are for I
2
C. To get the SPI address, add 0x200 with the following exception: Register 0xFF is not
accessible through SPI.
DIGMICCLK
DIGMICDATA
t
HD, MIC
LEFTRIGHTLEFTRIGHT
t
SU, MIC
1/f
MICCLK
t
HD, MIC
t
SU, MIC
REGISTER
REGISTERB7B6B5B4B3B2B1B0
Microphone MICCLK DIGMICL DIGMICR 000 MBIAS 0x23
ADDRESS
(SEE NOTE)
BITSFUNCTION
Digital Microphone Clock
00 = PCLK/8
MICCLK
DIGMICL/
DIGMICR
MBIAS
01 = PCLK/6
10 = 64f
11 = Reserved
Digital Left/Right Mic rophone Enable
Note: The left analog microphone input is ne ver ava ilable when DIGMICL or DIGMICR = 1.
Mic rophone Bias Output Voltage
Set MBIAS = 0 for nominal output of 1.52V (V
Set MBIAS = 1 for nominal output of 2.2V (V
(high jitter clock)
S
DIGMICLDIGMICRLEFT ADC INPUTRIGHT ADC INPUT
0 0 ADC input mixer ADC input mixer
0 1
1 0 Left digital microphone ADC input mixer
1 1 Left digital microphone Right digital m icrophone
MICVDD
MICVDD
Line input (left analog
microphone unavailable)
= 1.8V)
= 3V)
Right digital microphone
Jack Configuration Change Flag (JDET)
1 = Jack configuration has changed.
0 = No change in jack configuration.
JDET reports changes in JKSNS[1:0]. Changes to
JKSNS[1:0] are debounced before setting JDET. The
debounce period is programmable using the JDEB bits.
Jack status register 0x01 is a read-only register that reports
the status of the jack-detect circuitry when enabled.
Jack Sense (JKSNS)
JKSNS[1:0] reports the status of the JACKSNS pin
when JDETEN = 1. JKSNS[1:0] should be interpreted
according to Table 21.
Jack-Detect Interrupt Enable (IJDET)
Hardware interrupts are reported on the open-drain IRQ
pin. When an interrupt occurs, IRQ remains low until the
interrupt is serviced by reading the status register 0x00.
If a flag is set, it is reported as a hardware interrupt only
if the corresponding interrupt enable is set. Each bit
enables interrupts for the status flag in the respective
bit location in register 0x00. So IJDET must be set to
enable interrupts for jack detect.
Jack-Detect Enable (JDETEN)
Enables the jack-detect circuitry.
Jack-Sense Weak Pullup (JDWK)
Enables a weak internal pullup current for reduced
power loss when the chip is in shutdown or the
MICBIAS is disabled.
JDWK = 0 enables a 2.2kΩ pullup to obtain full jackdetect operation. This mode can be used to detect
insertion and removal of a plug as well as distinguish
between headphone and headset accessories.
JDWK = 1 enables a 4µA pullup current source when
SHDN = 0 or MICBIAS disabled. In this power-saving
configuration, the circuit can detect insertion and
removal of a plug but cannot distinguish between headphone and headset accessories.
The recommended usage follows: Set JDWK = 0 (or set
any bit in the microphone preamplifier gain registers
PALEN[1:0] or PAREN[1:0]). This enables the 2.2kΩ
pullup. Once the jack has been inserted and the type of
accessory determined, set JDWK = 1 to save power.
Once the plug is removed, set JDWK = 0.
The MAX9880A includes circuitry to minimize click-andpop during volume changes, detect headsets, and configure the headphone amplifier mode. Both volume
slewing and zero-crossing detection are included to
ensure click-and-pop free volume transitions.
Headset Detection Overview
The MAX9880A contains headset detect circuitry that is
capable of detecting the insertion or removal of a plug
and providing information to assist the system controller
in determining the configuration of an inserted plug. If
programmed to do so, upon insertion or removal of a
plug, the IRQ output is asserted (pulled low).
Table 20 shows the registers associated with the jack
detect function in MAX9880A.
Figure 8. Typical Configuration for Headset Detection
Debounce (JDEB)
Configures the JDET debounce time for changes to
JKSNS[1:0] according to Table 22.
For jack plug insertion/removal, the sequence of events
is as follows:
Jack insertion: No jack is present. The MAX9880A has
a power supply and is in low-power sleep mode
(LOUTP/ROUTP are high impedance). When the
JDETEN I
2
C bit is set, the JACKSNS pin has weak
pullups to MICVDD. When a jack is subsequently inserted, JACKSNS should change state (indicated by I
2
C
bits JKSNS[1:0]), and this causes the IRQ pin to be
pulled low, which can trigger a system wakeup.
Jack present: After an interrupt has been sent to the
system controller, the I
2
C must indicate unambiguously
that a jack is present when the I
2
C registers are read.
This is done with the JDET I
2
C bit, which goes high
when there is a change of state of the JKSNS[1:0] bits.
The MAX9880A jack-detect system monitors the
JACKSNS pin and reports the voltage level as high
(> 95% x MICBIAS), mid, or low (< 10% x MICBIAS).
When connected to the microphone pin of the headset
jack, this window comparator allows detection of:
• No headset (high)
• Cellular headset with microphone (high → mid)
• Stereo headset without microphone (high → low)
• Cellular headset button press (mid → low → mid)
• Headset removal (low or mid → high)
Jack removal: A jack is present. All output poles
(headphones/line outs) are assumed driven by a low
impedance amplifier. All input poles (microphones) are
assumed to be biased with a voltage above ground but
below 95% of the MICBIAS voltage. For the MAX9880A
to sense when a jack is removed, the JACKSNS pin
must be connected to the jack in such a way as to
ensure either the JACKSNS pin gets pulled above 95%
of MICBIAS (as would happen if JACKSNS is hooked to
a microphone pole) or it changes state from low to high
or vice versa (as would happen if JACKSNS is hooked
to a ground pole which goes high impedance when the
jack is removed, or is hooked to a regular jack insertion
tab that shorts to ground when the jack is removed).
Subsequently, IRQ is pulled low.
Jack absent: After an interrupt has been sent to the
system controller, the I
2
C must indicate unambiguously
that a jack is not present when the I
2
C registers are
read. This is indicated by reading the status of the
JKSNS[1:0] I
The MAX9880A’s headphone amplifier supports differential, single-ended, and capacitorless output modes, as
shown in Figure 9. In each mode, the amplifier can be
configured for stereo or mono operation. The single-
ended mode optionally includes click-and-pop reduction to eliminate the click-and-pop that would normally
be caused by the output coupling capacitor. When
click-and-pop reduction is not required leave LOUTN
and ROUTN unconnected.
Grayed boxes = Not used.
Note: Register addresses listed are for I
2
C. To get the SPI address, add 0x200 with the following exception: Register 0xFF is not
accessible through SPI.
DIFFERENTIAL
LOUTP
LOUTN
ROUTP
ROUTN
OPTIONAL COMPONENTS REQUIRED FOR CLICK-AND-POP SUPPRESSION ONLY.
CAPACITORLESS
LOUTP
LOUTN
ROUTP
ROUTN
SINGLE-ENDED
220µF
LOUTP
LOUTN
1µF
220µF
ROUTP
ROUTN
1µF
REGISTER
REGISTERB7B6B5B4B3B2B1B0
Mode DSLEW VSENZDEN00 HPMODE 0x24
Jack DetectJDETEN 0 JDWK 000 JDEB0x25
ADDRESS
(SEE NOTE)
BITSFUNCTION
Digital Volume Slew Speed
DSLEW
VSEN
ZDEN
0 = Digita l volume changes are slewed over 10ms.
1 = Digita l volume changes are slewed over 80ms.
Volume Change Smoothing
0 = Volume changes slew through all intermediate values.
1 = Volume changes occur in one step.
Line Input Zero-Crossing Detection
0 = Line input volume changes occur at zero crossings in the audio waveform or after 62ms if no zero
The MAX9880A includes complete power management
control to minimize power usage. The DAC and both
ADCs can be independently enabled so that only the
required circuitry is active.
Revision Code
The MAX9880A includes a revision code to allow easy
identification of the device revision. Revision code at
register address 0xFF is not accessible through the SPI
interface and so the revision code is accessible
through SPI at an additional address of 0x214. The current revision code is 0x42.
BITSFUNCTION
Headphone Amplifier Mode
HPMODEMODE
000 Stereo differential
001 Mono (left) different ia l
010 Stereo capacitorles s
HPMODE
JDETEN
JDWK
JDEB
Note: In mono operation, the right amp lifier is disabled.
Jack-Detection Enable
SHDN = 0: Sleep Mode. Enables pullups on JACKSNS/AUX to detect jac k insertion.
SHDN = 1: Normal Mode. Enables the comparator circuitry on JACKSNS/AUX to detect voltage changes.
Note: AUXEN must be set to 0 for jack detection to function.
Jack-Sense Weak Pullup. Enable s an internal pullup. Set JDWK = 1 to enable an internal 4µA current
source. Set JDWK = 0 for external pullup.
Jac k Detect Debounce. Configures the JDET debounce time for changes to JKSNS[1:0] according to
information below.
Left-Line Input Enable. Enable s the left-line input preamp and automat ical ly enables the left and right
LNLEN
LNREN
LOLEN Left-Line Output Enable. Enables the left-line output.
LOREN Right-Line Output Enable. Enables the right-line output.
DALEN
DAREN Right DAC Enable. Enable s the right DAC. Right DAC operation requires DA LEN = 1.
ADLEN Left ADC Enable.
ADREN
SHDNShutdown. Places the device in low power shutdown mode.
XTEN
XTOSC
headphone amplifiers. If LNREN = 0, the left-l ine input signal is also routed to the right ADC input mixer and
right headphone amplifier.
Note: Control of the right headphone ampl ifier can be overridden by HPMODE.
Right-Line Input Enable. Enables the right-line input preamp and automatica lly enables the right headphone
amplifiers.
Note: Control of the right headphone ampl ifier can be overridden by HPMODE.
Left DAC Enable. Enables the left DAC and automatica l ly enables the left and right headphone amplifiers. If
DAREN = 0, the left DAC signal i s a lso routed to the right headphone amplif ier.
Note: Control of the right headphone ampl ifier can be overridden by HPMODE.
Right ADC Enable. Enabling the right ADC must be done in the same I
ADC. The right ADC can be enabled while the left ADC is running if u sed for DC measurements. SHDN mu st
be toggled to disable the right ADC in th is ca se. Right ADC operation requires ADLEN = 1.
Crystal Clock Enable
1 = Output of crystal osc illator and buffer routed to the cloc k presca ler. MCLK input disabled.
0 = MCLK input routed to the clock prescaler. Crystal oscillator and buffer disabled.
Crystal Clock Source
1 = Disables the internal crystal oscillator. Provide an external clock on X1.
0 = Enables the internal crystal oscillator. Attach a crystal between X1 and X2. XTOSC i s ignored if XTEN = 0.
The MAX9880A SPI interface is active only when CS is
low. When CS is high, the MAX9880A configures the
DOUT output for high impedance and resets the internal SPI logic. If CS goes high in the middle of an SPI
transfer, all the data is discarded. When CS is low,
unless the register address is correctly decoded by the
MAX9880A, the DOUT output is high impedance.
Serial Clock (SCLK)
The SPI master provides the SCLK signal to clock the
SPI interface. SCLK has an upper frequency limit of
25MHz. The MAX9880A samples the DIN input data on
the falling edge of SCLK and changes the output data
on the rising edge of SCLK. The MAX9880A ignores
SCLK transitions when CS is high.
Serial-Data In (DIN) and Serial-Data Out (DOUT)
The SPI frame is organized into 24 bits. The first 16 bits
consist of the R/W enable bit, followed by the 10 register address bits and 5 unused bits. The next 8 bits are
data bits, sent most significant bit first.
For an SPI write transfer, write a 1 to the R/W bit, followed by the 10 register address bits, 5 unused bits,
then the 8 data bits.
Figure 11 illustrates the proper frame format for writing
one byte of data to the MAX9880A. Additional 24-bit
frames can be sent while CS remains low. The DOUT
output is high impedance during a write operation.
For an SPI read transfer, write a zero to the R/W bit, followed by the 10 register address bits and 5 unused
bits. Any data sent after the register address bits are
ignored. The internal contents of the register being read
Figure 12. Reading 1 Byte of Data from the MAX9880A
Figure 13. Reading n Bytes of Data from the MAX9880A
SMBus is a trademark of Intel Corp.
do not change until the transfer is complete. The DOUT
output is high impedance when writing the register
address bits. If the correct register address is decoded, DOUT is driven low at the first rising clock edge
after the first unused bit.
Figure 12 illustrates the proper frame format for reading
1 byte of data from the MAX9880A.
When reading data from the MAX9880A, the address
pointer autoincrements by one register address if CS is
held low after reading the first 8 data bits. For each
subsequent eight clock cycles, a byte of data is read.
This autoincrement feature allows a master to read
sequential registers within one continuous SPI register
address range from 0x200 to 0x227. The register
address does not autoincrement if a read is initiated at
a register address lower than 0x200. If the register
address increments beyond 0x227, the DOUT output is
high impedance. Figure 13 illustrates the proper format
for reading multiple bytes of data.
I2C Serial Interface
The MAX9880A features an I2C/SMBus™-compatible,
2-wire serial interface consisting of a serial-data line
(SDA) and a serial-clock line (SCL). SDA and SCL
facilitate communication between the MAX9880A and
the master at clock rates up to 400kHz. Figure 14
shows the 2-wire interface timing diagram. The master
generates SCL and initiates data transfer on the bus.
The master device writes data to the MAX9880A by
transmitting the proper slave address followed by the
register address and then the data word. Each transmit
sequence is framed by a START (S) or repeated
START (Sr) condition and a STOP (P) condition. Each
word transmitted to the MAX9880A is 8 bits long and is
followed by an acknowledge clock pulse. A master
reading data from the MAX9880A transmits the proper
slave address followed by a series of nine SCL pulses.
The MAX9880A transmits data on SDA in sync with the
master-generated SCL pulses. The master acknowledges receipt of each byte of data. Each read
Figure 15. START, STOP, and Repeated START Conditions
sequence is framed by a START or repeated START
condition, a not acknowledge, and a STOP condition.
SDA operates as both an input and an open-drain output. A pullup resistor, typically greater than 500Ω, is
required on SDA. SCL operates only as an input. A
pullup resistor, typically greater than 500Ω, is required
on SCL if there are multiple masters on the bus, or if the
single master has an open-drain SCL output. Series
resistors in line with SDA and SCL are optional. Series
resistors protect the digital inputs of the MAX9880A
from high voltage spikes on the bus lines and minimize
crosstalk and undershoot of the bus signals.
Bit Transfer
One data bit is transferred during each SCL cycle. The
data on SDA must remain stable during the high period
of the SCL pulse. Changes in SDA while SCL is high
are control signals (see the
START and STOP
Conditions
section).
START and STOP Conditions
SDA and SCL idle high when the bus is not in use. A
master initiates communication by issuing a START
condition. A START condition is a high-to-low transition
on SDA with SCL high. A STOP condition is a low-tohigh transition on SDA while SCL is high (Figure 15). A
START condition from the master signals the beginning
of a transmission to the MAX9880A. The master terminates transmission and frees the bus by issuing a STOP
condition. The bus remains active if a repeated START
condition is generated instead of a STOP condition.
Early STOP Conditions
The MAX9880A recognizes a STOP condition at any
point during data transmission except if the STOP condition occurs in the same high pulse as a START condition. For proper operation, do not send a STOP
condition during the same SCL high pulse as the
START condition.
The slave address is defined as the seven most significant bits (MSBs) followed by the read/write bit. For the
MAX9880A, the seven most significant bits are
0010000. Setting the read/write bit to 1 (slave address
= 0x21) configures the MAX9880A for read mode.
Setting the read/write bit to 0 (slave address = 0x20)
configures the MAX9880A for write mode. The address
is the first byte of information sent to the MAX9880A
after the START condition.
Acknowledge
The acknowledge bit (ACK) is a clocked 9th bit that the
MAX9880A uses to handshake receipt each byte of
data when in write mode (see Figure 16). The
MAX9880A pulls down SDA during the entire mastergenerated 9th clock pulse if the previous byte is successfully received. Monitoring ACK allows for detection
of unsuccessful data transfers. An unsuccessful data
transfer occurs if a receiving device is busy or if a system fault has occurred. In the event of an unsuccessful
data transfer, the bus master retries communication.
The master pulls down SDA during the 9th clock cycle
to acknowledge receipt of data when the MAX9880A is
in read mode. An acknowledge is sent by the master
after each read byte to allow data transfer to continue.
A not acknowledge is sent when the master reads the
final byte of data from the MAX9880A, followed by a
STOP condition.
Write Data Format
A write to the MAX9880A includes transmission of a
START condition, the slave address with the R/W bit set
to 0, 1 byte of data to configure the internal register
address pointer, 1 or more bytes of data, and a STOP
condition. Figure 17 illustrates the proper frame format
for writing 1 byte of data to the MAX9880A. Figure 18
illustrates the frame format for writing n bytes of data to
the MAX9880A.
The slave address with the R/W bit set to 0 indicates
that the master intends to write data to the MAX9880A.
The MAX9880A acknowledges receipt of the address
byte during the master-generated 9th SCL pulse.
The second byte transmitted from the master configures the MAX9880A’s internal register address pointer.
The pointer tells the MAX9880A where to write the next
byte of data. An acknowledge pulse is sent by the
MAX9880A upon receipt of the address pointer data.
The third byte sent to the MAX9880A contains the data
that is written to the chosen register. An acknowledge
pulse from the MAX9880A signals receipt of the data
byte. The address pointer autoincrements to the next
register address after each received data byte. This
autoincrement feature allows a master to write to
sequential registers within one continuous frame. The
master signals the end of transmission by issuing a
STOP condition. Register addresses greater than 0x17
are reserved. Do not write to these addresses.
Read Data Format
Send the slave address with the R/W bit set to 1 to initiate a read operation. The MAX9880A acknowledges
receipt of its slave address by pulling SDA low during
the 9th SCL clock pulse. A START command followed
by a read command resets the address pointer to register 0x00.
The first byte transmitted from the MAX9880A is the
contents of register 0x00. Transmitted data is valid on
the rising edge of SCL. The address pointer autoincrements after each read data byte. This autoincrement
feature allows all registers to be read sequentially within
one continuous frame. A STOP condition can be issued
after any number of read data bytes. If a STOP condition is issued followed by another read operation, the
first data byte to be read is from register 0x00.
The address pointer can be preset to a specific register
before a read command is issued. The master presets
the address pointer by first sending the MAX9880A’s
slave address with the R/W bit set to 0 followed by the
register address. A repeated START condition is then
sent followed by the slave address with the R/W bit set
to 1. The MAX9880A then transmits the contents of the
specified register. The address pointer autoincrements
after transmitting the first byte.
The master acknowledges receipt of each read byte
during the acknowledge clock pulse. The master must
acknowledge all correctly received bytes except the
last byte. The final byte must be followed by a not
acknowledge from the master and then a STOP condition. Figure 19 illustrates the frame format for reading 1
byte from the MAX9880A. Figure 20 illustrates the frame
format for reading multiple bytes from the MAX9880A.
ACKNOWLEDGE FROM MAX9880A
S
SLAVE ADDRESS
R/W
ACKNOWLEDGE FROM MAX9880A
S
0
R/W
ACKNOWLEDGE FROM MAX9880A
A
REGISTER ADDRESS
ACKNOWLEDGE FROM MAX9880A
A
ACKNOWLEDGE FROM MAX9880A
B1 B0B3 B2B5 B4B7 B6
A
DATA BYTE 1
1 BYTE
AUTOINCREMENT INTERNAL
REGISTER ADDRESS POINTER
ACKNOWLEDGE FROM MAX9880A
Sr1SLAVE ADDRESSREGISTER ADDRESSSLAVE ADDRESS DATA BYTE
Table 27. Clock Initialization (Perform Before Any Playback or Record Setup)
Table 28. Music Playback
Applications Information
Proper layout and grounding are essential for optimum
performance. When designing a PCB for the
MAX9880A, partition the circuitry so that the analog
sections of the MAX9880A are separated from the digital sections. This ensures that the analog audio traces
are not routed near digital traces.
Use a large continuous ground plane on a dedicated
layer of the PCB to minimize loop areas. Connect
AGND and DGND directly to the ground plane using
the shortest trace length possible. Proper grounding
improves audio performance, minimizes crosstalk
between channels, and prevents any digital noise from
coupling into the analog audio signals.
Ground the bypass capacitors on MICBIAS, REG,
PREG, and REF directly to the ground plane with minimum trace length. Also be sure to minimize the path
length to AGND. Bypass AVDD directly to AGND.
Connect all digital I/O termination to the ground plane
with minimum path length to DGND. Bypass DVDD and
DVDDS1 directly to DGND.
Route microphone signals from the microphone to the
MAX9880A as a differential pair, ensuring that the positive and negative signals follow the same path as
closely as possible with equal trace length. When using
single-ended microphones or other single-ended audio
sources, ground the negative microphone input as
close to the audio source as possible and then treat the
positive and negative traces as differential pairs.
The MAX9880A TQFN package features an exposed
thermal pad on its underside. Connect the exposed
thermal pad to AGND.
An evaluation kit (EV kit) is available to provide an
example layout for the MAX9880A. The EV kit allows
quick setup of the MAX9880A and includes easy-to-use
software allowing all internal registers to be controlled.
Startup Sequences
ACKNOWLEDGE FROM MAX9880A
S
R/W
ACKNOWLEDGE FROM MAX9880A
0
REPEATED START
ACKNOWLEDGE FROM MAX9880A
Sr1SLAVE ADDRESSREGISTER ADDRESSSLAVE ADDRESS DATA BYTE
For the latest package outline information and land patterns (footprints), go to www.maxim-ic.com/packages. Note that a “+”, “#”, or
“-” in the package code indicates RoHS status only. Package drawings may show a different suffix character, but the drawing pertains to the package regardless of RoHS status.
For the latest package outline information and land patterns (footprints), go to www.maxim-ic.com/packages. Note that a “+”, “#”, or
“-” in the package code indicates RoHS status only. Package drawings may show a different suffix character, but the drawing pertains to the package regardless of RoHS status.
For the latest package outline information and land patterns (footprints), go to www.maxim-ic.com/packages. Note that a “+”, “#”, or
“-” in the package code indicates RoHS status only. Package drawings may show a different suffix character, but the drawing pertains to the package regardless of RoHS status.
Maxim cannot assume responsibility for use of any circuitry other than circuitry entirely embodied in a Maxim product. No circuit patent licenses are
implied. Maxim reserves the right to change the circuitry and specifications without notice at any time.
70
____________________Maxim Integrated Products, 120 San Gabriel Drive, Sunnyvale, CA 94086 408-737-7600