The MAX1020–MAX1023/MAX1057/MAX1058 integrate a
multichannel, 10-bit, analog-to-digital converter (ADC)
and an octal, 10-bit, digital-to-analog converter (DAC) in a
single IC. These devices also include a temperature sensor and configurable general-purpose I/O ports (GPIOs)
with a 25MHz SPI™-/QSPI™-/MICROWIRE™-compatible
serial interface. The ADC is available in 8/12/16 inputchannel versions. The octal DAC outputs settle within
2.0µs, and the ADC has a 300ksps conversion rate.
All devices include an internal reference (2.5V or 4.096V)
providing a well-regulated, low-noise reference for both
the ADC and DAC. Programmable reference modes for
the ADC and the DAC allow the use of an internal reference, an external reference, or a combination of both.
Features such as an internal ±1°C accurate temperature
sensor, FIFO, scan modes, programmable internal
or external clock modes, data averaging, and
AutoShutdown™ allow users to minimize both power consumption and processor requirements. The low glitch
energy (4nV•
s) and low digital feedthrough (0.5nV•s) of
the integrated octal DACs make these devices ideal for
digital control of fast-response closed-loop systems.
The devices are guaranteed to operate with a supply voltage from +2.7V to +3.6V (MAX1021/MAX1023/MAX1057)
and from +4.75V to +5.25V (MAX1020/MAX1022/
MAX1058). The devices consume 2.5mA at 300ksps
throughput, only 22µA at 1ksps throughput, and under
0.2µA in the shutdown mode. The MAX1057/MAX1058
feature 12 GPIOs, while the MAX1020/MAX1021 offer 4
GPIOs that can be configured as inputs or outputs.
The MAX1057/MAX1058 are available in 48-pin thin QFN
packages. The MAX1020–MAX1023 are available in 36pin thin QFN packages. All devices are specified over the
-40°C to +85°C temperature range.
Applications
Controls for Optical Components
Base-Station Control Loops
System Supervision and Control
Data-Acquisition Systems
Features
♦ 10-Bit, 300ksps ADC
Analog Multiplexer with True-Differential
Track/Hold (T/H)
16 Single-Ended Channels or 8 Differential
Channels (Unipolar or Bipolar)
12 Single-Ended Channels or 6 Differential
Channels (Unipolar or Bipolar)
8 Single-Ended Channels or 4 Differential
Channels (Unipolar or Bipolar)
Excellent Accuracy: ±0.5 LSB INL, ±0.5 LSB DNL
♦ 10-Bit, Octal, 2µs Settling DAC
Ultra-Low Glitch Energy (4nV
•s)
Power-Up Options from Zero Scale or Full Scale
Excellent Accuracy: ±1 LSB INL
♦ Internal Reference or External Single-Ended/
Differential Reference
Internal Reference Voltage 2.5V or 4.096V
♦ Internal ±1°C Accurate Temperature Sensor
♦ On-Chip FIFO Capable of Storing 16 ADC
Conversion Results and One Temperature Result
♦ On-Chip Channel-Scan Mode and Internal
Data-Averaging Features
♦ Analog Single-Supply Operation
+2.7V to +3.6V or +4.75V to +5.25V
♦ 25MHz, SPI/QSPI/MICROWIRE Serial Interface
♦ AutoShutdown Between Conversions
♦ Low-Power ADC
2.5mA at 300ksps
22µA at 1ksps
0.2µA at Shutdown
♦ Low-Power DAC: 1.5µA
♦ Evaluation Kit Available (Order MAX1258EVKIT)
For pricing, delivery, and ordering information, please contact Maxim/Dallas Direct! at
1-888-629-4642, or visit Maxim’s website at www.maxim-ic.com.
EVALUATION KIT
AVAILABLE
Pin Configurations appear at end of data sheet.
SPI and QSPI are trademarks of Motorola, Inc.
MICROWIRE is a trademark of National Semiconductor Corp.
AutoShutdown is a trademark of Maxim Integrated Products, Inc.
*Future product—contact factory for availability.
**EP = Exposed pad.
***Number of resolution bits refers to both DAC and ADC.
REF
PARTTEMP RANGE PIN-PACKAGE
MAX1020BETX-40°C to +85°C 36 Thin QFN-EP**4.0964.75 to 5.2510884
MAX1021BETX* -40°C to +85°C 36 Thin QFN-EP**2.52.7 to 3.610884
MAX1022BETX* -40°C to +85°C 36 Thin QFN-EP**4.0964.75 to 5.25101280
MAX1023BETX* -40°C to +85°C 36 Thin QFN-EP**2.52.7 to 3.6101280
MAX1057BETM -40°C to +85°C 48 Thin QFN-EP**2.52.7 to 3.61016812
MAX1058BETM -40°C to +85°C 48 Thin QFN-EP**4.0964.75 to 5.251016812
VOLTAGE
(V)
ANALOG
SUPPLY
VOLTAGE (V)
RESOLUTION
BITS***
ADC
CHANNELS
DAC
CHANNELS
GPIOs
MAX1020–MAX1023/MAX1057/MAX1058
10-Bit, Multichannel ADCs/DACs with FIFO,
Temperature Sensing, and GPIO Ports
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.
AVDDto AGND .........................................................-0.3V to +6V
DGND to AGND.....................................................-0.3V to +0.3V
DV
DD
to AVDD.......................................................-3.0V to +0.3V
Digital Inputs to DGND.............................................-0.3V to +6V
Digital Outputs to DGND .........................-0.3V to (DV
DD
+ 0.3V)
Analog Inputs, Analog Outputs and REF_
to AGND...............................................-0.3V to (AV
DD
+ 0.3V)
Maximum Current into Any Pin (except AGND, DGND, AV
DD
,
DV
DD
, and OUT_) ...........................................................50mA
Maximum Current into OUT_.............................................100mA
Lead Temperature (soldering, 10s) .................................+300°C
Note: If the package power dissipation is not exceeded, one output at a time may be shorted to AVDD, DVDD, AGND, or DGND
indefinitely
PARAMETERSYMBOLCONDITIONSMINTYPMAXUNITS
DC ACCURACY (Note 1)
Resolution10Bits
Integral NonlinearityINL±0.5±1.0LSB
Differential NonlinearityDNL±0.5±1.0LSB
Offset Error±0.25±2.0LSB
Gain Error(Note 2)±0.025±2.0LSB
Gain Temperature Coefficient±1.4ppm/°C
Channel-to-Channel Offset±0.1LSB
DYNAMIC SPECIFICATIONS (10kHz sine wave input, VIN = 2.5V
(MAX1020/MAX1022/MAX1058), 300ksps, f
Signal-to-Noise Plus DistortionSINAD61dB
Total Harmonic Distortion
(Up to the Fifth Harmonic)
Spurious-Free Dynamic RangeSFDR66dBc
Note 2: Offset nulled.
Note 3: No bus activity during conversion. Conversion time is defined as the number of conversion clock cycles multiplied by the
clock period.
Note 4: See Table 5 for reference-mode details.
Note 5: Not production tested. Guaranteed by design.
Note 6: See the ADC/DAC References section.
Note 7: Fast automated test, excludes self-heating effects.
Note 8: Specified over the -40°C to +85°C temperature range.
Note 9: REFSEL[1:0] = 00 or when DACs are not powered up.
Note 10: DAC linearity, gain, and offset measurements are made between codes 115 and 3981.
Note 11: The DAC buffers are guaranteed by design to be stable with a 500pF load.
Note 12: Time required by the DAC output to power up and settle within 1 LSB in the external reference mode.
Note 13: All DAC dynamic specifications are valid for a load of 1nF and 10kΩ.
Note 14: Only one digital output (either DOUT, EOC, or the GPIOs) can be indefinitely shorted to either supply at one time.
Note 15: All digital inputs at either DV
DD
or DGND. DVDDshould not exceed AVDD.
Note 16: See the Reset Register section and Table 9 for details on programming the SLOW bit.
Note 17: Clock mode 11 only.
SHUTDOWN CURRENT
vs. ANALOG SUPPLY VOLTAGE
MAX1020 toc01
SUPPLY VOLTAGE (V)
SHUTDOWN CURRENT (µA)
5.155.054.954.85
0.05
0.10
0.15
0.20
0.25
0.30
0
4.755.25
MAX1020/MAX1022/MAX1058
SHUTDOWN CURRENT
vs. ANALOG SUPPLY VOLTAGE
MAX1020 toc02
SUPPLY VOLTAGE (V)
SHUTDOWN CURRENT (µA)
3.33.0
0.12
0.14
0.16
0.18
0.20
0.10
2.73.6
MAX1021/MAX1023/MAX1057
SHUTDOWN CURRENT
vs. TEMPERATURE
MAX1020 toc03
TEMPERATURE (°C)
SHUTDOWN CURRENT (µA)
603510-15
0.1
0.2
0.3
0.4
0.5
0.6
0
-4085
Typical Operating Characteristics
(AVDD= DVDD= 3V (MAX1021/MAX1023/MAX1057), external V
General-Purpose I/O A0, A1. GPIOA0, A1 can sink and source 15mA.
334 EOC
Active-Low End-of-Conversion Output. Data is valid after the falling edge
of EOC.
447 DV
DD
Digital Positive-Power Input. Bypass DVDD to DGND with a 0.1µF
capacitor.
558 DGNDDigital Ground. Connect DGND to AGND.
669 DOUT
Serial-Data Output. Data is clocked out on the falling edge of the SCLK
clock in modes 00, 01, and 10. Data is clocked out on the rising edge of
the SCLK clock in mode 11. It is high impedance when CS is high.
7710SCLK
Serial-Clock Input. Clocks data in and out of the serial interface. (Duty
cycle must be 40% to 60%.) See Table 5 for details on programming the
clock mode.
8811 DIN
Serial-Data Input. DIN data is latched into the serial interface on the
falling edge of SCLK.
9–12,
16–19
9–12,
16–19
22–25
OUT0–OUT7DAC Outputs
131318AV
DD
Positive Analog Power Input. Bypass AVDD to AGND with a 0.1µF
capacitor.
141419AGNDAnalog Ground
15, 23, 32,
33
32
—N.C.No Connection. Not internally connected.
202026LDAC
Active-Low Load DAC. LDAC is an asynchronous active-low input that
updates the DAC outputs. Drive LDAC low to make the DAC registers
transparent.
212127CS
Active-Low Chip-Select Input. When CS is low, the serial interface is
enabled. When CS is high, DOUT is high impedance.
222228RES_SEL
Reset Select. Select DAC wake-up mode. Set RES_SEL low to wake up
the DAC outputs with a 100kΩ resistor to GND or set RES_SEL high to
wake up the DAC outputs with a 100kΩ resistor to V
REF
. Set RES_SEL
high to power up the DAC input register to FFFh. Set RES_SEL low to
power up the DAC input register to 000h.
24, 25——
G ener al - P ur p ose I/O C 0, C 1. G P IO C 0, C 1 can si nk 4m A and sour ce 2m A.
Reference 1 Input. Reference voltage; leave unconnected to use the
internal reference (2.5V for the MAX1021/MAX1023/MAX1057 or 4.096V
for the MAX1020/MAX1022/MAX1058). REF1 is the positive reference in
ADC external differential reference mode. Bypass REF1 to AGND with a
0.1µF capacitor in external reference mode only. See the ADC/DACReferences section.
27–31, 34
——AIN0–AIN5Analog Inputs
35——REF2/AIN6
Reference 2 Input/Analog-Input Channel 6. See Table 5 for details on
programming the setup register. REF2 is the negative reference in the
ADC external differential reference.
36——CNVST/AIN7
Active-Low Conversion-Start Input/Analog Input 7. See Table 5 for details
on programming the setup register.
—1—
Active-Low Conversion-Start Input/Analog Input 11. See Table 5 for
details on programming the setup register.
—
23, 25,
27–31,
—AIN0–AIN9Analog Inputs
—36—REF2/AIN10
Reference 2 Input/Analog-Input Channel 10. See Table 5 for details on
programming the setup register. REF2 is the negative reference in the
ADC external differential reference.
—— 1
Active-Low Conversion-Start Input/Analog Input 15. See Table 5 for
details on programming the setup register.
——
Gener al - P ur p ose I/O A0–A3. GP IOA0–GP IOA3 can si nk and sour ce 15m A.
——
20, 21
General-Purpose I/O B0–B3. GPIOB0–GPIOB3 can sink 4mA and
source 2mA.
——29–32
General-Purpose I/O C0–C3. GPIOC0–GPIOC3 can sink 4mA and
source 2mA.
——
33, 34,
36–47
AIN0–AIN13Analog Inputs
——48REF2/AIN14
Reference 2 Input/Analog-Input Channel 14. See Table 5 for details on
programming the setup register. REF2 is the negative reference in the
ADC external differential reference.
———EP
Exposed Paddle. Must be externally connected to AGND. Do not use as
a ground connect.
MAX1023
33, 34, 35
MAX1058
2, 3, 5, 6GPIOA0–GPIOA3
16, 17,
CNVST/AIN11
CNVST/AIN15
GPIOB0–GPIOB3
GP IOC 0–GP IOC 3
MAX1020–MAX1023/MAX1057/MAX1058
10-Bit, Multichannel ADCs/DACs with FIFO,
Temperature Sensing, and GPIO Ports
The MAX1020–MAX1023/MAX1057/MAX1058 integrate
a multichannel, 10-bit ADC and an octal, 10-bit DAC in
a single IC. These devices also include a temperature
sensor and configurable GPIOs with a 25MHz SPI/QSPI-/MICROWIRE-compatible serial interface. The
ADC is available in 8/12/16 input-channel versions. The
octal DAC outputs settle within 2.0µs, and the ADC has
a 300ksps conversion rate.
All devices include an internal reference (2.5V or
4.096V) providing a well-regulated, low-noise reference
for both the ADC and DAC. Programmable reference
modes for the ADC and DAC allow the use of an internal reference, an external reference, or a combination
of both. Features such as an internal ±1°C accurate
temperature sensor, FIFO, scan modes, programmable
internal or external clock modes, data averaging, and
AutoShutdown allow users to minimize both power consumption and processor requirements. The low glitch
energy (4nV•
s) and low digital feedthrough (0.5nV•s) of
the integrated octal DACs make these devices ideal for
digital control of fast-response closed-loop systems.
The devices are guaranteed to operate with a supply
voltage from +2.7V to +3.6V (MAX1021/MAX1023/
MAX1057) and from +4.5V to +5.5V (MAX1020/
MAX1022/MAX1058), they consume 25mA at 300ksps
throughput, only 22µA at 1ksps throughput, and under
0.2µA in the shutdown mode. The MAX1057/MAX1058
feature 12 GPIOs, while the MAX1020/MAX1021 offer 4
GPIOs that can be configured as inputs or outputs.
Figure 1 shows the MAX1057/MAX1058 functional dia-
gram. The MAX1020/MAX1021 only include the GPIO
A0, A1, GPIO C0, C1 block. The MAX1022/MAX1023
exclude the GPIOs. The output-conditioning circuitry
takes the internal parallel data bus and converts it to a
serial data format at DOUT, with the appropriate wakeup timing. The arithmetic logic unit (ALU) performs the
averaging function.
SPI-Compatible Serial Interface
The MAX1020–MAX1023/MAX1057/MAX1058 feature a
serial interface that is compatible with SPI and
MICROWIRE devices. For SPI, ensure the SPI bus master (typically a microcontroller (µC)) runs in master
mode so that it generates the serial clock signal. Select
the SCLK frequency of 25MHz or less, and set the
clock polarity (CPOL) and phase (CPHA) in the µC con-
trol registers to the same value. The MAX1020–
MAX1023/MAX1057/MAX1058 operate with SCLK idling
high or low, and thus operate with CPOL = CPHA = 0 or
CPOL = CPHA = 1. Set CS low to latch any input data
at DIN on the falling edge of SCLK. Output data at
DOUT is updated on the falling edge of SCLK in clock
modes 00, 01, and 10. Output data at DOUT is updated
on the rising edge of SCLK in clock mode 11. See
Figures 6–11. Bipolar true-differential results and temperature-sensor results are available in two’s complement format, while all other results are in binary.
A high-to-low transition on CS initiates the data-input
operation. Serial communications to the ADC always
begin with an 8-bit command byte (MSB first) loaded
from DIN. The command byte and the subsequent data
bytes are clocked from DIN into the serial interface on
the falling edge of SCLK. The serial-interface and fastinterface circuitry is common to the ADC, DAC, and
GPIO sections. The content of the command byte
determines whether the SPI port should expect 8, 16, or
24 bits and whether the data is intended for the ADC,
DAC, or GPIOs (if applicable). See Table 1. Driving CS
high resets the serial interface.
The conversion register controls ADC channel selection, ADC scan mode, and temperature-measurement
requests. See Table 4 for information on writing to the
conversion register. The setup register controls the
clock mode, reference, and unipolar/bipolar ADC configuration. Use a second byte, following the first, to
write to the unipolar-mode or bipolar-mode registers.
See Table 5 for details of the setup register and see
Tables 6, 7, and 8 for setting the unipolar- and bipolarmode registers. Hold CS low between the command
byte and the second and third byte. The ADC averaging register is specific to the ADC. See Table 9 to
address that register. Table 11 shows the details of the
reset register.
Begin a write to the DAC by writing 0001XXXX as a
command byte. The last 4 bits of this command byte
are don’t-care bits. Write another 2 bytes (holding CS
low) to the DAC interface register following the command byte to select the appropriate DAC and the data
to be written to it. See the DAC Serial Interface section
and Tables 10, 20, and 21.
Write to the GPIOs (if applicable) by issuing a command byte to the appropriate register. Writing to the
MAX1020/MAX1021 GPIOs requires 1 additional byte
*Only applicable on the MAX1020/MAX1021/MAX1057/MAX1058.
following the command byte. Writing to the MAX1057/
MAX1058 requires 2 additional bytes following the
command byte. See Tables 12–19 for details on GPIO
configuration, writes, and reads. See the GPIOCommand section. Command bytes written to the
GPIOs on devices without GPIOs are ignored.
Power-Up Default State
The MAX1020–MAX1023/MAX1057/MAX1058 power up
with all blocks in shutdown (including the reference). All
registers power up in state 00000000, except for the
setup register and the DAC input register. The setup
register powers up at 0010 1000 with CKSEL1 = 1 and
REFSEL1 = 1. The DAC input register powers up to
FFFh when RES_SEL is high and it powers up to 000h
when RES_SEL is low.
10-Bit ADC
The MAX1020–MAX1023/MAX1057/MAX1058 ADCs
use a fully differential successive-approximation register (SAR) conversion technique and on-chip track-andhold (T/H) circuitry to convert temperature and voltage
signals into 10-bit digital results. The analog inputs
accept both single-ended and differential input signals.
Single-ended signals are converted using a unipolar
transfer function, and differential signals are converted
using a selectable bipolar or unipolar transfer function.
See the ADC Transfer Functions section for more data.
ADC Clock Modes
When addressing the setup, register bits 5 and 4 of the
command byte (CKSEL1 and CKSEL0, respectively)
control the ADC clock modes. See Table 5. Choose
between four different clock modes for various ways to
start a conversion and determine whether the acquisitions are internally or externally timed. Select clock
mode 00 to configure CNVST/AIN_ to act as a conversion start and use it to request internally timed conversions, without tying up the serial bus. In clock mode 01,
use CNVST to request conversions one channel at a
time, thereby controlling the sampling speed without
tying up the serial bus. Request and start internally
timed conversions through the serial interface by writing to the conversion register in the default clock mode,
10. Use clock mode 11 with SCLK up to 4.8MHz for
externally timed acquisitions to achieve sampling rates
up to 300ksps. Clock mode 11 disables scanning and
averaging. See Figures 6–9 for timing specifications on
how to begin a conversion.
These devices feature an active-low, end-of-conversion
output. EOC goes low when the ADC completes the
last requested operation and is waiting for the next
command byte. EOC goes high when CS or CNVST go
low. EOC is always high in clock mode 11.
Single-Ended or Differential Conversions
The MAX1020–MAX1023/MAX1057/MAX1058 use a
fully differential ADC for all conversions. When a pair of
inputs are connected as a differential pair, each input is
connected to the ADC. When configured in singleended mode, the positive input is the single-ended
channel and the negative input is referred to AGND.
See Figure 2.
In differential mode, the T/H samples the difference
between two analog inputs, eliminating common-mode
DC offsets and noise. IN+ and IN- are selected from
the following pairs: AIN0/AIN1, AIN2/AIN3, AIN4/AIN5,
AIN6/AIN7, AIN8/AIN9, AIN10/AIN11, AIN12/AIN13,
AIN14/AIN15. AIN0–AIN7 are available on all devices.
AIN0–AIN11 are available on the MAX1022/MAX1023.
AIN0–AIN15 are available on the MAX1057/MAX1058.
See Tables 5–8 for more details on configuring the
inputs. For the inputs that are configurable as CNVST,
REF2, and an analog input, only one function can be
used at a time.
Unipolar or Bipolar Conversions
Address the unipolar- and bipolar-mode registers
through the setup register (bits 1 and 0). See Table 5 for
the setup register. See Figures 3 and 4 for the transferfunction graphs. Program a pair of analog inputs for differential operation by writing a one to the appropriate bit
of the bipolar- or unipolar-mode register. Unipolar mode
sets the differential input range from 0 to V
REF1.
A negative differential analog input in unipolar mode causes
the digital output code to be zero. Selecting bipolar
mode sets the differential input range to ±V
REF1
/ 2. The
digital output code is binary in unipolar mode and two’s
complement in bipolar mode.
In single-ended mode, the MAX1020–MAX1023/
MAX1057/MAX1058 always operate in unipolar mode.
The analog inputs are internally referenced to AGND
with a full-scale input range from 0 to the selected reference voltage.
Analog Input (T/H)
The equivalent circuit of Figure 2 shows the ADC input
architecture of the MAX1020–MAX1023/MAX1057/
MAX1058. In track mode, a positive input capacitor is
connected to AIN0–AIN15 in single-ended mode and
AIN0, AIN2, and AIN4–AIN14 (only positive inputs) in
differential mode. A negative input capacitor is connected to AGND in single-ended mode or AIN1, AIN3,
and AIN5–AIN15 (only negative inputs) in differential
mode. For external T/H timing, use clock mode 01.
After the T/H enters hold mode, the difference between
the sampled positive and negative input voltages is
converted. The input capacitance charging rate determines the time required for the T/H to acquire an input
signal. If the input signal’s source impedance is high,
the required acquisition time lengthens.
Any source impedance below 300Ω does not significantly affect the ADC’s AC performance. A high-impedance source can be accommodated either by
lengthening t
ACQ
(only in clock mode 01) or by placing
a 1µF capacitor between the positive and negative analog inputs. The combination of the analog-input source
impedance and the capacitance at the analog input creates an RC filter that limits the analog input bandwidth.
Input Bandwidth
The ADC’s input-tracking circuitry has a 1MHz smallsignal bandwidth, making it is possible to digitize highspeed transient events and measure periodic signals
with bandwidths exceeding the ADC’s sampling rate by
using undersampling techniques. Anti-alias prefiltering
of the input signals is necessary to avoid high-frequency signals aliasing into the frequency band of interest.
Analog-Input Protection
Internal electrostatic-discharge (ESD) protection diodes
clamp all analog inputs to AV
DD
and AGND, allowing
the inputs to swing from (AGND - 0.3V) to (AVDD+
0.3V) without damage. However, for accurate conversions near full scale, the inputs must not exceed AV
DD
by more than 50mV or be lower than AGND by 50mV. If
an analog input voltage exceeds the supplies, limit the
input current to 2mA.
Internal FIFO
The MAX1020–MAX1023/MAX1057/MAX1058 contain a
first-in/first-out (FIFO) buffer that holds up to 16 ADC
results plus one temperature result. The internal FIFO
allows the ADC to process and store multiple internally
clocked conversions and a temperature measurement
without being serviced by the serial bus.
If the FIFO is filled and further conversions are requested without reading from the FIFO, the oldest ADC
results are overwritten by the new ADC results. Each
result contains 2 bytes, with the MSB preceded by four
leading zeros and the LSB followed by 2 sub-bits. After
each falling edge of CS, the oldest available pair of
bytes of data is available at DOUT, MSB first. When the
FIFO is empty, DOUT is zero.
Figure 2. Equivalent Input Circuit
AIN0–AIN15
(SINGLE-ENDED),
AIN0, AIN2,
AIN4–AIN14
(DIFFERENTIAL)
AGND
(SINGLE-ENDED),
AIN1, AIN3,
AIN5–AIN15
(DIFFERENTIAL)
ACQ
HOLD
ACQ
HOLD
AV
DD
REF1
AGND
CIN+
CIN-
/ 2
DAC
ACQ
COMPARATOR
HOLD
MAX1020–MAX1023/MAX1057/MAX1058
10-Bit, Multichannel ADCs/DACs with FIFO,
Temperature Sensing, and GPIO Ports
The first 2 bytes of data read out after a temperature
measurement always contain the 12-bit temperature
result, preceded by four leading zeros, MSB first. If
another temperature measurement is performed before
the first temperature result is read out, the old measurement is overwritten by the new result. Temperature
results are in degrees Celsius (two’s complement), at a
resolution of 8 LSB per degree. See the TemperatureMeasurements section for details on converting the digital code to a temperature.
10-Bit DAC
In addition to the 10-bit ADC, the MAX1020–MAX1023/
MAX1057/MAX1058 also include eight voltage-output,
10-bit, monotonic DACs with less than 4 LSB integral
nonlinearity error and less than 1 LSB differential nonlinearity error. Each DAC has a 2µs settling time and
ultra-low glitch energy (4nV•s). The 10-bit DAC code is
unipolar binary with 1 LSB = V
REF
/ 4096.
DAC Digital Interface
Figure 1 shows the functional diagram of the MAX1057/
MAX1058. The shift register converts a serial 16-bit
word to parallel data for each input register operating
with a clock rate up to 25MHz. The SPI-compatible digital interface to the shift register consists of CS, SCLK,
DIN, and DOUT. Serial data at DIN is loaded on the
falling edge of SCLK. Pull CS low to begin a write
sequence. Begin a write to the DAC by writing
0001XXXX as a command byte. The last 4 bits of the
DAC select register are don’t-care bits. See Table 10.
Write another 2 bytes to the DAC interface register following the command byte to select the appropriate DAC
and the data to be written to it. See Tables 20 and 21.
The eight double-buffered DACs include an input and a
DAC register. The input registers are directly connected to the shift register and hold the result of the most
recent write operation. The eight 10-bit DAC registers
hold the current output code for the respective DAC.
Data can be transferred from the input registers to the
DAC registers by pulling LDAC low or by writing the
appropriate DAC command sequence at DIN. See
Table 20. The outputs of the DACs are buffered through
eight rail-to-rail op amps.
The MAX1020–MAX1023/MAX1057/MAX1058 DAC out-
put-voltage range is based on the internal reference or
an external reference. Write to the setup register (see
Table 5) to program the reference. If using an external
voltage reference, bypass REF1 with a 0.1µF capacitor
to AGND. The MAX1021/MAX1023/MAX1057 internal
reference is 2.5V. The MAX1020/MAX1022/MAX1058
internal reference is 4.096V. When using an external
reference on any of these devices, the voltage range is
0.7V to AVDD.
DAC Transfer Function
See Table 2 for various analog outputs from the DAC.
DAC Power-On Wake-Up Modes
The state of the RES_SEL input determines the wake-up
state of the DAC outputs. Connect RES_SEL to AVDDor
AGND upon power-up to be sure the DAC outputs
wake up to a known state. Connect RES_SEL to AGND
to wake up all DAC outputs at 000h. While RES_SEL is
low, the 100kΩ internal resistor pulls the DAC outputs to
AGND and the output buffers are powered down.
Connect RES_SEL to AVDDto wake up all DAC outputs
at FFFh. While RES_SEL is high, the 100kΩ pullup
resistor pulls the DAC outputs to V
REF1
and the output
buffers are powered down.
DAC Power-Up Modes
See Table 21 for a description of the DAC power-up
and power-down modes.
GPIOs
In addition to the internal ADC and DAC, the
MAX1057/MAX1058 also provide 12 general-purpose
input/output channels, GPIOA0–GPIOA3, GPIOB0–
GPIOB3, and GPIOC0–GPIOC3. The MAX1020/MAX1021
include four GPIO channels (GPIOA0, GPIOA1, GPIOC0,
GPIOC1). Read and write to the GPIOs as detailed in
Table 1 and Tables 12–19. Also, see the GPIO Command
section. See Figures 11 and 12 for GPIO timing.
Write to the GPIOs by writing a command byte to the
GPIO command register. Write a single data byte to the
MAX1020/MAX1021 following the command byte. Write
2 bytes to the MAX1057/MAX1058 following the command byte.
The GPIOs can sink and source current. The
MAX1057/MAX1058 GPIOA0–GPIOA3 can sink and
source up to 15mA. GPIOB0–GPIOB3 and GPIOC0–
GPIOC3 can sink 4mA and source 2mA. The MAX1020/
MAX1021 GPIOA0 and GPIOA1 can sink and source up
to 15mA. The MAX1020/MAX1021 GPIOC0 and GPIOC1
can sink 4mA and source 2mA. See Table 3.
Clock Modes
Internal Clock
The MAX1020–MAX1023/MAX1057/MAX1058 can
operate from an internal oscillator. The internal oscillator is active in clock modes 00, 01, and 10. Figures 6,
7, and 8 show how to start an ADC conversion in the
three internally timed conversion modes.
Read out the data at clock speeds up to 25MHz
through the SPI interface.
External Clock
Set CKSEL1 and CKSEL0 in the setup register to 11 to
set up the interface for external clock mode 11. See
Table 5. Pulse SCLK at speeds from 0.1MHz to
4.8MHz. Write to SCLK with a 40% to 60% duty cycle.
The SCLK frequency controls the conversion timing.
See Figure 9 for clock mode 11 timing. See the ADCConversions in Clock Mode 11 section.
ADC/DAC References
Address the reference through the setup register, bits 3
and 2. See Table 5. Following a wake-up delay, set
REFSEL[1:0] = 00 to program both the ADC and DAC
for internal reference use. Set REFSEL[1:0] = 10 to program the ADC for internal reference. Set REFSEL[1:0] =
10 to program the DAC for external reference, REF1.
When using REF1 or REF2/AIN_ in external-reference
mode, connect a 0.1µF capacitor to AGND. Set REFSEL[1:0] = 01 to program the ADC and DAC for external-reference mode. The DAC uses REF1 as its external
reference, while the ADC uses REF2 as its external reference. Set REFSEL[1:0] = 11 to program the ADC for
external differential reference mode. REF1 is the positive reference and REF2 is the negative reference in the
ADC external differential mode.
When REFSEL [1:0] = 00 or 10, REF2/AIN_ functions as
an analog input channel. When REFSEL [1:0] = 01 or 11,
REF2/AIN_ functions as the device’s negative reference.
Temperature Measurements
Issue a command byte setting bit 0 of the conversion
register to one to take a temperature measurement.
See Table 4. The MAX1020–MAX1023/MAX1057/
MAX1058 perform temperature measurements with an
internal diode-connected transistor. The diode bias current changes from 68µA to 4µA to produce a temperature-dependent bias voltage difference. The second
conversion result at 4µA is subtracted from the first at
68µA to calculate a digital value that is proportional to
absolute temperature. The output data appearing at
DOUT is the digital code above, minus an offset to
adjust from Kelvin to Celsius.
The reference voltage used for the temperature measurements is always derived from the internal reference
source to ensure that 1 LSB corresponds to 1/8 of a
degree Celsius. On every scan where a temperature
measurement is requested, the temperature conversion
is carried out first. The first 2 bytes of data read from
the FIFO contain the result of the temperature measurement. If another temperature measurement is performed before the first temperature result is read out,
the old measurement is overwritten by the new result.
Temperature results are in degrees Celsius (two’s complement). See the Applications Information section for
information on how to perform temperature measurements in each clock mode.
Register Descriptions
The MAX1020–MAX1023/MAX1057/MAX1058 communicate between the internal registers and the external
circuitry through the SPI-compatible serial interface.
Table 1 details the command byte, the registers, and
the bit names. Tables 4–12 show the various functions
within the conversion register, setup register, unipolarmode register, bipolar-mode register, ADC averaging
register, DAC select register, reset register, and GPIO
command register, respectively.
Conversion Register
Select active analog input channels, scan modes, and
a single temperature measurement per scan by issuing
a command byte to the conversion register. Table 4
details channel selection, the four scan modes, and
how to request a temperature measurement. Start a
scan by writing to the conversion register when in clock
mode 10 or 11, or by applying a low pulse to the
CNVST pin when in clock mode 00 or 01. See Figures 6
and 7 for timing specifications for starting a scan with
CNVST.
A conversion is not performed if it is requested on a
channel or one of the channel pairs that has been configured as CNVST or REF2. For channels configured as
differential pairs, the CHSEL0 bit is ignored and the two
pins are treated as a single differential channel.
Select scan mode 00 or 01 to return one result per single-ended channel and one result per differential pair
within the selected scanning range (set by bits 2 and 1,
SCAN1 and SCAN0), plus one temperature result if
selected. Select scan mode 10 to scan a single input
channel numerous times, depending on NSCAN1 and
NSCAN0 in the ADC averaging register (Table 9).
Select scan mode 11 to return only one result from a
single channel.
Setup Register
Issue a command byte to the setup register to configure the clock, reference, power-down modes, and ADC
single-ended/differential modes. Table 5 details the bits
in the setup-register command byte. Bits 5 and 4
(CKSEL1 and CKSEL0) control the clock mode, acquisition and sampling, and the conversion start. Bits 3
and 2 (REFSEL1 and REFSEL0) set the device for either
internal or external reference. Bits 1 and 0 (DIFFSEL1
and DIFFSEL0) address the ADC unipolar-mode and
bipolar-mode registers and configure the analog-input
channels for differential operation.
The ADC reference is always on if any of the following
conditions are true:
Table 4. Conversion Register*
*See below for bit details.
BIT
NAME
—7 (MSB)S et to one to sel ect conver si on r eg i ster .
CHSEL36Analog-input channel select.
CHSEL25Analog-input channel select.
CHSEL14Analog-input channel select.
CHSEL03Analog-input channel select.
SCAN12Scan-mode select.
SCAN01Scan-mode select.
TEMP0 (LSB)
BITFUNCTION
Set to one to take a single temperature measurement. The first
conversion result of a scan contains
temperature information.
Table 5a. Clock Modes (see the Clock Mode section)
Table 5b. Clock Modes 00, 01, and 10
*See below for bit details.
REFSEL1 REFSEL0
BIT NAMEBITFUNCTION
—7 (MSB)Set to zero to select setup register.
—6Set to one to select setup register.
CKSEL15Clock mode and CNVST configuration; resets to one at power-up.
CKSEL04Clock mode and CNVST configuration.
REFSEL13Reference-mode configuration.
REFSEL02Reference-mode configuration.
DIFFSEL11Unipolar-/bipolar-mode register configuration for differential mode.
DIFFSEL00 (LSB)Unipolar-/bipolar-mode register configuration for differential mode.
00InternalInternally timed.CNVST
01InternalExternally timed by CNVST.CNVST
10InternalInternally timed.AIN15/AIN11/AIN7
11External (4.8MHz max)Externally timed by SCLK.AIN15/AIN11/AIN7
VOLTAGE
REFERENCE
OVERRIDE
CONDITIONS
AUTOSHUTDOWN
REF2
CONFIGURATION
00
01
10
11
Internal (DAC
External single-
ended (REF1
for DAC and
REF2 for ADC)
Internal (ADC)
and external
REF1 (DAC)
(ADC), external
REF1 (DAC)
and ADC)
External
differential
Inter nal r efer ence tur ns off after scan i s com p l ete. If
AIN
Temperature
AINInternal reference not used.
Temperature
AIN
Temperature
AINInternal reference not used.
Temperature
i nter nal r efer ence i s tur ned off, ther e i s a p r og r am m ed
d el ay of 218 i nter nal - conver si on cl ock cycl es.
Internal reference required. There is a programmed
delay of 244 internal-conversion clock cycles for the
internal reference to settle after wake-up.
Internal reference required. There is a programmed
delay of 244 internal-conversion clock cycles for the
internal reference to settle after wake-up.
Default reference mode. Internal reference turns off
after scan is complete. If internal reference is turned
off, there is a programmed delay of 218 internalconversion clock cycles.
Internal reference required. There is a programmed
delay of 244 internal-conversion clock cycles for the
internal reference to settle after wake-up.
Internal reference required. There is a programmed
delay of 244 internal-conversion clock cycles for the
internal reference to settle after wake-up.
AIN14/AIN10/AIN6
REF2
AIN14/AIN10/AIN6
REF2
MAX1020–MAX1023/MAX1057/MAX1058
10-Bit, Multichannel ADCs/DACs with FIFO,
Temperature Sensing, and GPIO Ports
1)The FBGON bit is set to one in the reset register.
2)At least one DAC output is powered up and
REFSEL[1:0] (in the setup register) = 00.
3)At least one DAC is powered down through the
100kΩ to V
REF
and REFSEL[1:0] = 00.
If any of the above conditions exist, the ADC reference
is always on, but there is a 188 clock-cycle delay
before temperature-sensor measurements begin, if
requested.
REFSEL1 REFSEL0
00
01
10
11
VOLTAGE
REFERENCE
Internal (DAC
and ADC)
External single-
ended (REF1
for DAC and
REF2 for ADC)
Internal (ADC)
and external
REF1 (DAC)
External
differential
(ADC), external
REF1 (DAC)
OVERRIDE
CONDITIONS
Inter nal r efer ence tur ns off after scan i s com p l ete. If
AIN
Temperature
AINInternal reference not used.
Tem p er atur e
AIN
Temperature
AINInternal reference not used.
Temperature
i nter nal r efer ence i s tur ned off, ther e i s a p r og r am m ed
d el ay of 218 exter nal conver si on cl ock cycl es.
Inter nal r efer ence r eq ui r ed . Ther e i s a p r og r am m ed
d el ay of 244 exter nal conver si on cl ock cycl es for the
i nter nal r efer ence. Tem p er atur e- sensor outp ut ap p ear s
at D OU T after 188 fur ther exter nal cl ock cycl es.
Inter nal r efer ence r eq ui r ed . Ther e i s a p r og r am m ed
d el ay of 244 exter nal conver si on cl ock cycl es for the
i nter nal r efer ence. Tem p er atur e- sensor outp ut ap p ear s
at D OU T after 188 fur ther exter nal cl ock cycl es.
Default reference mode. Internal reference turns off
after scan is complete. If internal reference is turned
off, there is a programmed delay of 218 external
conversion clock cycles.
Inter nal r efer ence r eq ui r ed . Ther e i s a p r og r am m ed
d el ay of 244 exter nal conver si on cl ock cycl es for the
i nter nal r efer ence. Tem p er atur e- sensor outp ut ap p ear s
at D OU T after 188 fur ther exter nal cl ock cycl es.
Inter nal r efer ence r eq ui r ed . Ther e i s a p r og r am m ed
d el ay of 244 exter nal conver si on cl ock cycl es for the
i nter nal r efer ence. Tem p er atur e- sensor outp ut ap p ear s
at D OU T after 188 fur ther exter nal cl ock cycl es.
AUTOSHUTDOWN
REF2
CONFIGURATION
AIN14/AIN10/AIN6
REF2
AIN14/AIN10/AIN6
REF2
DIFFSEL1 DIFFSEL0FUNCTION
00No data follows the command setup byte. Unipolar-mode and bipolar-mode registers remain unchanged.
01No data follows the command setup byte. Unipolar-mode and bipolar-mode registers remain unchanged.
101 byte of data follows the command setup byte and is written to the unipolar-mode register.
111 byte of data follows the command setup byte and is written to the bipolar-mode register.
Table 6. Unipolar-Mode Register (Addressed Through the Setup Register)
Table 7. Bipolar-Mode Register (Addressed Through the Setup Register)
BIT NAMEBITFUNCTION
UCH0/17 (MSB)Configure AIN0 and AIN1 for unipolar differential conversion.
UCH2/36Configure AIN2 and AIN3 for unipolar differential conversion.
UCH4/55Configure AIN4 and AIN5 for unipolar differential conversion.
UCH6/74Configure AIN6 and AIN7 for unipolar differential conversion.
UCH8/93Configure AIN8 and AIN9 for unipolar differential conversion.
UCH10/112Configure AIN10 and AIN11 for unipolar differential conversion.
UCH12/131Configure AIN12 and AIN13 for unipolar differential conversion.
UCH14/150 (LSB)Configure AIN14 and AIN15 for unipolar differential conversion.
BIT NAMEBITFUNCTION
Set to one to configure AIN0 and AIN1 for bipolar differential conversion. Set the corresponding bits
BCH0/17 (MSB)
BCH2/36
BCH4/55
in the unipolar-mode and bipolar-mode registers to zero to configure AIN0 and AIN1 for unipolar
single-ended conversion.
Set to one to configure AIN2 and AIN3 for bipolar differential conversion. Set the corresponding bits
in the unipolar-mode and bipolar-mode registers to zero to configure AIN2 and AIN3 for unipolar
single-ended conversion.
Set to one to configure AIN4 and AIN5 for bipolar differential conversion. Set the corresponding bits
in the unipolar-mode and bipolar-mode registers to zero to configure AIN4 and AIN5 for unipolar
single-ended conversion.
BCH6/74
BCH8/93
BCH10/112
BCH12/131
BCH14/150 (LSB)
Set to one to configure AIN6 and AIN7 for bipolar differential conversion. Set the corresponding bits
in the unipolar-mode and bipolar-mode registers to zero to configure AIN6 and AIN7 for unipolar
single-ended conversion.
Set to one to configure AIN8 and AIN9 for bipolar differential conversion. Set the corresponding bits
in the unipolar-mode and bipolar-mode registers to zero to configure AIN8 and AIN9 for unipolar
single-ended conversion.
Set to one to configure AIN10 and AIN11 for bipolar differential conversion. Set the corresponding
bits in the unipolar-mode and bipolar-mode registers to zero to configure AIN10 and AIN11 for
unipolar single-ended conversion.
Set to one to configure AIN12 and AIN13 for bipolar differential conversion. Set the corresponding
bits in the unipolar-mode and bipolar-mode registers to zero to configure AIN12 and AIN13 for
unipolar single-ended conversion.
Set to one to configure AIN14 and AIN15 for bipolar differential conversion. Set the corresponding
bits in the unipolar-mode and bipolar-mode registers to zero to configure AIN14 and AIN15 for
unipolar single-ended conversion.
MAX1020–MAX1023/MAX1057/MAX1058
10-Bit, Multichannel ADCs/DACs with FIFO,
Temperature Sensing, and GPIO Ports
The final 2 bits (LSBs) of the setup register control the
unipolar-/bipolar-mode address registers. Set
DIFFSEL[1:0] = 10 to write to the unipolar-mode register. Set bits DIFFSEL[1:0] = 11 to write to the bipolarmode register. In both cases, the setup command byte
must be followed by 1 byte of data that is written to the
unipolar-mode register or bipolar-mode register. Hold
CS low and run 16 SCLK cycles before pulling CS high.
If the last 2 bits of the setup register are 00 or 01, neither the unipolar-mode register nor the bipolar-mode
register is written. Any subsequent byte is recognized
as a new command byte. See Tables 6, 7, and 8 to program the unipolar- and bipolar-mode registers.
Both registers power up at all zeros to set the inputs as
16 unipolar single-ended channels. To configure a
channel pair as single-ended unipolar, bipolar differential, or unipolar differential, see Table 8.
In unipolar mode, AIN+ can exceed AIN- by up to
V
REF
. The output format in unipolar mode is binary. In
bipolar mode, either input can exceed the other by up
to V
REF
/2. The output format in bipolar mode is two’s
complement (see the ADC Transfer Functions section).
ADC Averaging Register
Write a command byte to the ADC averaging register to
configure the ADC to average up to 32 samples for
each requested result, and to independently control the
number of results requested for single-channel scans.
—7 (MSB)Set to zero to select ADC averaging register.
—6Set to zero to select ADC averaging register.
—5Set to one to select ADC averaging register.
AVGON4Set to one to turn averaging on. Set to zero to turn averaging off.
NAVG13Configures the number of conversions for single-channel scans.
NAVG02Configures the number of conversions for single-channel scans.
NSCAN11Single-channel scan count. (Scan mode 10 only.)
NSCAN00 (LSB)Single-channel scan count. (Scan mode 10 only.)
AVGONNAVG1NAVG0
0XXPerforms one conversion for each requested result.
100 Performs four conversions and returns the average for each requested result.
101 Performs eight conversions and returns the average for each requested result.
110 Performs 16 conversions and returns the average for each requested result.
111 Performs 32 conversions and returns the average for each requested result.
NSCAN1NSCAN0FUNCTION (APPLIES ONLY IF SCAN MODE 10 IS SELECTED)
00Scans channel N and returns four results.
01Scans channel N and returns eight results.
10Scans channel N and returns 12 results.
11Scans channel N and returns 16 results.
Table 9 details the four scan modes available in the
ADC conversion register. All four scan modes allow
averaging as long as the AVGON bit, bit 4 in the
averaging register, is set to 1. Select scan mode 10 to
scan the same channel multiple times. Clock mode 11
disables averaging. For example, if AVGON = 1,
NAVG[1:0] = 00, NSCAN [1:0] = 11 and SCAN [1:0] =
10, 16 results are written to the FIFO, with each result
being the average of four conversions of channel N.
DAC Select Register
Write a command byte 0001XXXX to the DAC select
register (as shown in Table 9) to set up the DAC interface and indicate that another word will follow. The last
4 bits of the DAC select register are don’t-care bits. The
word that follows the DAC select-register command
byte controls the DAC serial interface. See Table 20
and the DAC Serial Interface section.
Reset Register
Write to the reset register (as shown in Table 11) to
clear the FIFO or to reset all registers to their default
states. Set the RESET bit to one to reset the FIFO. Set
the RESET bit to zero to return the MAX1020–MAX1023/
MAX1057/MAX1058 to their default power-up state. All
registers power up in state 00000000, except for the
setup register that powers up in clock mode 10
(CKSEL1 = 1). Set the SLOW bit to one to add a 15ns
delay in the DOUT signal path to provide a longer hold
time. Writing a one to the SLOW bit also clears the contents of the FIFO. Set the FBGON bit to one to force the
bias block and bandgap reference to power up regardless of the state of the DAC and activity of the ADC
block. Setting the FBGON bit high also removes the
programmed wake-up delay between conversions in
clock modes 01 and 11. Setting the FBGON bit high
also clears the FIFO.
GPIO Command
Write a command byte to the GPIO command register
to configure, write, or read the GPIOs, as detailed in
Table 12.
Write the command byte 00000011 to configure the
GPIOs. The eight SCLK cycles following the command
byte load data from DIN to the GPIO configuration register in the MAX1020/MAX1021. The 16 SCLK cycles
Table 10. DAC Select Register
Table 11. Reset Register
Table 12. GPIO Command Register
BIT
NAME
—7 (MSB) Set to zero to select DAC select register.
—6Set to zero to select DAC select register.
—5Set to zero to select DAC select register.
—4Set to one to select DAC select register.
—7 (MSB) Set to zero to select ADC reset register.
—6Set to zero to select ADC reset register.
—5Set to zero to select ADC reset register.
—4Set to zero to select ADC reset register.
—3Set to one to select ADC reset register.
RESET2
SLOW1Set to one to turn on slow mode.
FBGON0 (LSB)
BITFUNCTION
BITFUNCTION
Set to zero to clear the FIFO only. Set to
one to set the device in its power-on
condition.
Set to one to force internal bias block and
bandgap reference to be always powered
up.
BIT NAMEBITFUNCTION
—7 (MSB)Set to zero to select GPIO register.
—6Set to zero to select GPIO register.
—5Set to zero to select GPIO register.
—4Set to zero to select GPIO register.
—3Set to zero to select GPIO register.
—2Set to zero to select GPIO register.
GPIOSEL11GPIO configuration bit.
GPIOSEL20 (LSB)GPIO write bit.
GPIOSEL1 GPIOSEL2FUNCTION
GPIO configuration; written data is
11
10
01
entered in the GPIO configuration
register.
GPIO write; written data is entered
in the GPIO write register.
GPIO read; the next 8/16 SCLK
cycles transfer the state of all GPIO
drivers into DOUT.
MAX1020–MAX1023/MAX1057/MAX1058
10-Bit, Multichannel ADCs/DACs with FIFO,
Temperature Sensing, and GPIO Ports
following the command byte load data from DIN to the
GPIO configuration register in the MAX1057/MAX1058.
See Tables 13 and 14. The register bits are updated
after the last CS rising edge. All GPIOs default to inputs
upon power-up.
The data in the register controls the function of each
GPIO, as shown in Tables 13–19.
GPIO Write
Write the command byte 00000010 to indicate a GPIO
write operation. The eight SCLK cycles following the
command byte load data from DIN into the GPIO write
register in the MAX1020/MAX1021. The 16 SCLK
cycles following the command byte load data from DIN
into the GPIO write register in the MAX1057/MAX1058.
See Tables 15 and 16. The register bits are updated
after the last CS rising edge.
Write the command byte 00000001 to indicate a GPIO
read operation. The eight SCLK cycles following the
command byte transfer the state of the GPIOs to DOUT
in the MAX1020/MAX1021. The 16 SCLK cycles following the command byte transfer the state of the GPIOs to
DOUT in the MAX1057/MAX1058. See Tables 18 and 19.
DAC Serial Interface
Write a command byte 0001XXXX to the DAC select
register to indicate the word to follow is written to the
DAC serial interface, as detailed in Tables 1, 10, 20, and
21. Write the next 16 bits to the DAC interface register,
as shown in Tables 20 and 21. Following the high-to-low
transition of CS, the data is shifted synchronously and
latched into the input register on each falling edge of
SCLK. Each word is 16 bits. The first 4 bits are the control bits followed by 10 data bits (MSB first) and 2 don’tcare sub-bits. See Figures 9–12 for DAC timing
specifications.
If CS goes high prior to completing 16 SCLK cycles,
the command is discarded. To initiate a new transfer,
drive CS low again.
For example, writing the DAC serial interface word
1111 0000 and 1111 0100 disconnects DAC outputs 4
through 7 and forces them to a high-impedance state.
DAC outputs 0 through 3 remain in their previous state.
Table 18. MAX1020/MAX1021 GPIO Read
Table 19. MAX1057/MAX1058 GPIO Read
Table 17. GPIO-Mode Control
CONFIGURATION
BIT
111Output
100Output
01Tri-stateInput
000
WRITE
BIT
OUTPUT
STATE
GPIO
FUNCTION
Pulldown
(open drain)
DATA PINGPIO COMMAND BYTEDATA BYTE
DIN00000001 X X X XXXXX
DOUT00000000 0 0 0 0 GPIOC1GPIOC0GPIOA1GPIOA0
DATA PINGPIO COMMAND BYTEDATA BYTE 1DATA BYTE 2
DIN00000001XXXX XXXXXXXXXXXX
GPIOC3
GPIOC2
GPIOC1
GPIOC0
GPIOB3
GPIOB2
GPIOB1
GPIOB0
GPIOA3
GPIOA2
GPIOA1
GPIOA0
DOUT000000000 0 00
MAX1020–MAX1023/MAX1057/MAX1058
10-Bit, Multichannel ADCs/DACs with FIFO,
Temperature Sensing, and GPIO Ports
Figures 6–9 illustrate the conversion timing for the
MAX1020–MAX1023/MAX1057/MAX1058. All 10-bit
conversion results are output in 2-byte format, MSB
first, with four leading zeros and with the LSB followed
by 2 sub-bits. Data appears on DOUT on the falling
edges of SCLK. Data is binary for unipolar mode and
two’s complement for bipolar mode and temperature
results. See Figures 3, 4, and 5 for input/output and
temperature-transfer functions.
ADC Transfer Functions
Figure 3 shows the unipolar transfer function for single-
ended or differential inputs. Figure 4 shows the bipolar
transfer function for differential inputs. Code transitions
occur halfway between successive-integer LSB values.
Output coding is binary, with 1 LSB = V
REF1
/ 1024
(MAX1021/MAX1023/MAX1057) and 1 LSB = V
REF1
/
1024 (MAX1020/MAX1022/MAX1058) for unipolar and
bipolar operation, and 1 LSB = +0.125°C for temperature measurements. Bipolar true-differential results and
temperature-sensor results are available in two’s complement format, while all others are in binary. See
Tables 6, 7, and 8 for details on which setting (unipolar
or bipolar) takes precedence.
In unipolar mode, AIN+ can exceed AIN- by up to
V
REF1
. In bipolar mode, either input can exceed the
other by up to V
REF1
/ 2.
Table 21. DAC Power-Up and Power-Down Commands
CONTROL
BITS
C3 C2 C1 C0
1111———————— 0 0 1 XPower-Up
1111———————— 0 1 0 X Power-Down 1
1111———————— 1 0 0 X Power-Down 2
1111———————— 0 0 0 X Power-Down 3
1111———————— 1 1 1 X Power-Down 4
DAC7
DAC6
DAC5
DATA BITS
DAC4
DAC3
DAC2
DAC1
D3 D2 D1 D0
DAC0
DESCRIPTIONFUNCTION
Power up individual DAC buffers indicated by data
in DAC0 through DAC7. A one indicates the DAC
output is connected and active. A zero does not
affect the DAC’s present state.
Power down individual DAC buffers indicated by
data in DAC0 through DAC7. A one indicates the
DAC output is disconnected and high impedance.
A zero does not affect the DAC’s present state.
Power down individual DAC buffers indicated by
data in DAC0 through DAC7. A one indicates the
DAC output is disconnected and pulled to AGND
with a 1kΩ resistor. A zero does not affect the DAC’s
present state.
Power down individual DAC buffers indicated by
data in DAC0 through DAC7. A one indicates the
DAC output is disconnected and pulled to AGND
with a 100kΩ resistor. A zero does not affect the
DAC’s present state.
Power down individual DAC buffers indicated by
data in DAC0 through DAC7. A one indicates the
DAC output is disconnected and pulled to REF1 with
a 100kΩ resistor. A zero does not affect the DAC’s
present state.
MAX1020–MAX1023/MAX1057/MAX1058
10-Bit, Multichannel ADCs/DACs with FIFO,
Temperature Sensing, and GPIO Ports
If the first byte of an entry in the FIFO is partially read
(CS is pulled high after fewer than eight SCLK cycles),
the remaining bits are lost for that byte. The next byte of
data that is read out contains the next 8 bits. If the first
byte of an entry in the FIFO is read out fully, but the
second byte is read out partially, the rest of that byte is
lost. The remaining data in the FIFO is unaffected and
can be read out normally after taking CS low again, as
long as the 4 leading bits (normally zeros) are ignored.
If CS is pulled low before EOC goes low, a conversion
may not be completed and the FIFO data may not be
correct. Incorrect writes (pulling CS high before completing eight SCLK cycles) are ignored and the register
remains unchanged.
Applications Information
Internally Timed Acquisitions and
Conversions Using
CNVST
ADC Conversions in Clock Mode 00
In clock mode 00, the wake-up, acquisition, conversion,
and shutdown sequence is initiated through CNVST
and performed automatically using the internal oscillator. Results are added to the internal FIFO to be read
out later. See Figure 6 for clock mode 00 timing after a
command byte is issued. See Table 5 for details on
programming the clock mode in the setup register.
Initiate a scan by setting CNVST low for at least 40ns
before pulling it high again. The MAX1020–MAX1023/
MAX1057/MAX1058 then wake up, scan all requested
channels, store the results in the FIFO, and shut down.
After the scan is complete, EOC is pulled low and the
results are available in the FIFO. Wait until EOC goes
low before pulling CS low to communicate with the serial interface. EOC stays low until CS or CNVST is pulled
low again. A temperature-conversion result, if requested, precedes all other FIFO results. Temperature
results are available in 12-bit format.
Figure 3. Unipolar Transfer Function—Full Scale (FS) = V
Do not issue a second CNVST signal before EOC goes
low; otherwise, the FIFO can be corrupted. Wait until all
conversions are complete before reading the FIFO. SPI
communications to the DAC and GPIO registers are permitted during conversion. However, coupled noise may
result in degraded ADC signal-to-noise ratio (SNR).
Externally Timed Acquisitions and
Internally Timed Conversions with
CNVST
ADC Conversions in Clock Mode 01
In clock mode 01, conversions are requested one at a
time using CNVST and performed automatically using
the internal oscillator. See Figure 7 for clock mode 01
timing after a command byte is issued.
Setting CNVST low begins an acquisition, wakes up the
ADC, and places it in track mode. Hold CNVST low for
at least 1.4µs to complete the acquisition. If reference
mode 00 or 10 is selected, an additional 45µs is
required for the internal reference to power up. If a temperature measurement is being requested, reference
power-up and temperature measurement is internally
timed. In this case, hold CNVST low for at least 40µs.
Set CNVST high to begin a conversion. Sampling is
completed approximately 500ns after CNVST goes
high. After the conversion is complete, the ADC shuts
down and pulls EOC low. EOC stays low until CS orCNVST is pulled low again. Wait until EOC goes low
before pulling CS or CNVST low. The number of CNVST
signals must equal the number of conversions requested by the scan and averaging registers to correctly
update the FIFO. Wait until all conversions are complete before reading the FIFO. SPI communications to
the DAC and GPIO registers are permitted during con-
Figure 6. Clock Mode 00—After writing a command byte, set
CNVST
low for at least 40ns to begin a conversion.
Figure 7. Clock Mode 01—After writing a command byte, request multiple conversions by setting
CNVST
low for each conversion.
CNVST
(UP TO 514 INTERNALLY CLOCKED ACQUISITIONS AND CONVERSIONS)
CS
SCLK
DOUT
MSB1
t
RDS
EOC
t
(ACQUISITION 2)
t
DOV
CSW
(CONVERSION 2)
CNVST
(ACQUISITION 1)
CS
SCLK
(CONVERSION 1)
LSB1MSB2
DOUT
MSB1
EOC
LSB1MSB2
MAX1020–MAX1023/MAX1057/MAX1058
10-Bit, Multichannel ADCs/DACs with FIFO,
Temperature Sensing, and GPIO Ports
Figure 8. Clock Mode 10—The command byte to the conversion register begins the acquisition (
CNVST
is not required).
version. However, coupled noise may result in degraded ADC SNR.
If averaging is turned on, multiple CNVST pulses need to
be performed before a result is written to the FIFO. Once
the proper number of conversions has been performed
to generate an averaged FIFO result (as specified to the
averaging register), the scan logic automatically switches the analog-input multiplexer to the next requested
channel. If a temperature measurement is programmed,
it is performed after the first rising edge of CNVST follow-
ing the command byte written to the conversion register.
The temperature-conversion result is available on DOUT
once EOC has been pulled low. Temperature results are
available in 12-bit format.
Internally Timed Acquisitions and
Conversions Using the Serial Interface
ADC Conversions in Clock Mode 10
In clock mode 10, the wake-up, acquisition, conversion,
and shutdown sequence is initiated by writing a command byte to the conversion register, and is performed
automatically using the internal oscillator. This is the
default clock mode upon power-up. See Figure 8 for
clock mode 10 timing.
Initiate a scan by writing a command byte to the conversion register. The MAX1020–MAX1023/MAX1057/
MAX1058 then power up, scan all requested channels,
store the results in the FIFO, and shut down. After the
scan is complete, EOC is pulled low and the results are
available in the FIFO. If a temperature measurement is
requested, the temperature result precedes all other
FIFO results. Temperature results are available in 12-bit
format. EOC stays low until CS is pulled low again. Wait
until all conversions are complete before reading the
FIFO. SPI communications to the DAC and GPIO registers are permitted during conversion. However, coupled noise may result in degraded ADC SNR.
DIN
CS
SCLK
DOUT
EOC
(CONVERSION BYTE)
t
DOV
(UP TO 514 INTERNALLY CLOCKED ACQUISITIONS AND CONVERSIONS)
In clock mode 11, acquisitions and conversions are initiated by writing a command byte to the conversion
register and are performed one at a time using the
SCLK as the conversion clock. Scanning, averaging
and the FIFO are disabled, and the conversion result is
available at DOUT during the conversion. Output data
is updated on the rising edge of SCLK in clock mode
11. See Figure 9 for clock mode 11 timing.
Initiate a conversion by writing a command byte to the
conversion register followed by 16 SCLK cycles. If CS
is pulsed high between the eighth and ninth cycles, the
pulse width must be less than 100µs. To continuously
convert at 16 cycles per conversion, alternate 1 byte of
zeros (NOP byte) between each conversion byte. If 2
NOP bytes follow a conversion byte, the analog cells
power down at the end of the second NOP. Set the
FBGON bit to one in the reset register to keep the internal bias block powered.
If reference mode 00 is requested, or if an external reference is selected but a temperature measurement is being
requested, wait 45µs with CS high after writing the conversion byte to extend the acquisition and allow the internal reference to power up. To perform a temperature
measurement, write 24 bytes (192 cycles) of zeros after
the conversion byte. The temperature result appears on
DOUT during the last 2 bytes of the 192 cycles.
Temperature results are available in 12-bit format.
Conversion-Time Calculations
The conversion time for each scan is based on a number of different factors: conversion time per sample,
samples per result, results per scan, if a temperature
measurement is requested, and if the external reference is in use. Use the following formula to calculate
the total conversion time for an internally timed conversion in clock mode 00 and 10 (see the ElectricalCharacteristics, as applicable):
Total conversion time =
t
CNV
x n
AVG
x n
SCAN
+ tTS+ t
INT-REF,SU
where:
t
CNV
= t
DOV
, where t
DOV
is dependent on clock mode
and reference mode selected
n
AVG
= samples per result (amount of averaging)
n
SCAN
= number of times each channel is scanned; set
to one unless [SCAN1, SCAN0] = 10
t
TS
= time required for temperature measurement
(53.1µs); set to zero if temperature measurement is not
requested
t
INT-REF,SU
= tWU(external-reference wake-up); if a
conversion using the external reference is requested
In clock mode 01, the total conversion time depends on
how long CNVST is held low or high. Conversion time in
externally clocked mode (CKSEL1, CKSEL0 = 11)
depends on the SCLK period and how long CS is held
high between each set of eight SCLK cycles. In clock
mode 01, the total conversion time does not include the
time required to turn on the internal reference.
Figure 9. Clock Mode 11—Externally Timed Acquisition, Sampling, and Conversion without
CNVST
DIN
(ACQUISITION1)
CS
SCLK
DOUT
EOC
(CONVERSION BYTE)
(CONVERSION1)
MSB1LSB1MSB2
(ACQUISITION2)
MAX1020–MAX1023/MAX1057/MAX1058
10-Bit, Multichannel ADCs/DACs with FIFO,
Temperature Sensing, and GPIO Ports
Figures 10–13 detail the timing diagrams for writing to
the DAC and GPIOs. Figure 10 shows the timing specifications for clock modes 00, 01, and 10. Figure 11
shows the timing specifications for clock mode 11.
Figure 12 details the timing specifications for the DAC
input select register and 2 bytes to follow. Output data
is updated on the rising edge of SCLK in clock mode
11. Figure 13 shows the GPIO timing. Figure 14 shows
the timing details of a hardware LDAC command DACregister update. For a software-command DAC-register
update, t
S
is valid from the rising edge of CS, which fol-
lows the last data bit in the software command word.
Drive LDAC low to transfer the content of the input registers to the DAC registers. Drive LDAC permanently
low to make the DAC register transparent. The DAC
output typically settles from zero to full scale within ±1
LSB after 2µs. See Figure 14.
Layout, Grounding, and Bypassing
For best performance, use PC boards. Ensure that digital and analog signal lines are separated from each
other. Do not run analog and digital signals parallel to
one another (especially clock signals) or do not run
digital lines underneath the MAX1020–MAX1023/
MAX1057/MAX1058 package. High-frequency noise in
the AVDDpower supply may affect performance.
Bypass the AVDDsupply with a 0.1µF capacitor to
AGND, close to the AV
DD
pin. Bypass the DVDDsupply
with a 0.1µF capacitor to DGND, close to the DV
DD
pin.
Minimize capacitor lead lengths for best supply-noise
rejection. If the power supply is very noisy, connect a
10Ω resistor in series with the supply to improve powersupply filtering.
The MAX1020–MAX1023/MAX1057/MAX1058 thin QFN
packages contain an exposed pad on the underside of
the device. Connect this exposed pad to AGND. Refer to
the MAX1258EVKIT for an example of proper layout.
Definitions
Integral Nonlinearity
Integral nonlinearity (INL) is the deviation of the values
on an actual transfer function from a straight line. This
straight line can be either a best-straight-line fit or a line
drawn between the end points of the transfer function,
once offset and gain errors have been nullified. INL for
the MAX1020–MAX1023/MAX1057/MAX1058 is measured using the end-point method.
Differential Nonlinearity
Differential nonlinearity (DNL) is the difference between
an actual step width and the ideal value of 1 LSB. A
DNL error specification of less than 1 LSB guarantees
no missing codes and a monotonic transfer function.
For an ideal converter, the first transition occurs at 0.5
LSB, above zero. Offset error is the amount of deviation
between the measured first transition point and the
ideal first transition point.
Bipolar ADC Offset Error
While in bipolar mode, the ADC’s ideal midscale transition occurs at AGND -0.5 LSB. Bipolar offset error is the
measured deviation from this ideal value.
ADC Gain Error
Gain error is defined as the amount of deviation
between the ideal transfer function and the measured
transfer function, with the offset error removed and with
a full-scale analog input voltage applied to the ADC,
resulting in all ones at DOUT.
DAC Offset Error
DAC offset error is determined by loading a code of all
zeros into the DAC and measuring the analog output
voltage.
DAC Gain Error
DAC gain error is defined as the amount of deviation
between the ideal transfer function and the measured
transfer function, with the offset error removed, when
loading a code of all ones into the DAC.
Aperture Jitter
Aperture jitter (tAJ) is the sample-to-sample variation in
the time between the samples.
Aperture Delay
Aperture delay (tAD) is the time between the rising
edge of the sampling clock and the instant when an
actual sample is taken.
Signal-to-Noise Ratio
For a waveform perfectly reconstructed from digital samples, signal-to-noise ratio (SNR) is the ratio of full-scale
analog input (RMS value) to the RMS quantization error
(residual error). The ideal, theoretical minimum analogto-digital noise is caused by quantization error only and
results directly from the ADC’s resolution (N bits):
SNR = (6.02 x N + 1.76)dB
In reality, there are other noise sources besides quantization noise, including thermal noise, reference noise,
clock jitter, etc. Therefore, SNR is calculated by taking
the ratio of the RMS signal to the RMS noise. RMS noise
includes all spectral components to the Nyquist frequency excluding the fundamental, the first five harmonics, and the DC offset.
Signal-to-Noise Plus Distortion
Signal-to-noise plus distortion (SINAD) is the ratio of the
fundamental input frequency’s RMS amplitude to the
RMS equivalent of all other ADC output signals:
SINAD(dB) = 20 x log (Signal
RMS
/ Noise
RMS
)
Effective Number of Bits
Effective number of bits (ENOB) indicates the global
accuracy of an ADC at a specific input frequency and
sampling rate. An ideal ADC’s error consists of quantization noise only. With an input range equal to the fullscale range of the ADC, calculate the ENOB as follows:
ENOB = (SINAD - 1.76) / 6.02
Total Harmonic Distortion
Total harmonic distortion (THD) is the ratio of the RMS
sum of the first five harmonics of the input signal to the
fundamental itself. This is expressed as:
where V1is the fundamental amplitude, and V2through
V6are the amplitudes of the first five harmonics.
Spurious-Free Dynamic Range
Spurious-free dynamic range (SFDR) is the ratio of RMS
amplitude of the fundamental (maximum signal component) to the RMS value of the next largest distortion
component.
ADC Channel-to-Channel Crosstalk
Bias the ON channel to midscale. Apply a full-scale sine
wave test tone to all OFF channels. Perform an FFT on
the ON channel. ADC channel-to-channel crosstalk is
expressed in dB as the amplitude of the FFT spur at the
frequency associated with the OFF channel test tone.
Intermodulation Distortion (IMD)
IMD is the total power of the intermodulation products
relative to the total input power when two tones, f1 and
f2, are present at the inputs. The intermodulation products are (f1 ± f2), (2 x f1), (2 x f2), (2 x f1 ± f2), (2 x f2 ±
f1). The individual input tone levels are at -7dB FS.
Small-Signal Bandwidth
A small -20dB FS analog input signal is applied to an
ADC so the signal’s slew rate does not limit the ADC’s
performance. The input frequency is then swept up to
the point where the amplitude of the digitized conversion result has decreased by -3dB. Note that the T/H
performance is usually the limiting factor for the smallsignal input bandwidth.
2
2
2
THDxVVVVVV=++++
log/
20
()
2
3
4
2
5
621
MAX1020–MAX1023/MAX1057/MAX1058
10-Bit, Multichannel ADCs/DACs with FIFO,
Temperature Sensing, and GPIO Ports
A large -0.5dB FS analog input signal is applied to an
ADC, and the input frequency is swept up to the point
where the amplitude of the digitized conversion result
has decreased by -3dB. This point is defined as fullpower input bandwidth frequency.
DAC Digital Feedthrough
DAC digital feedthrough is the amount of noise that
appears on the DAC output when the DAC digital control lines are toggled.
ADC Power-Supply Rejection
ADC power-supply rejection (PSR) is defined as the
shift in offset error when the power-supply is moved
from the minimum operating voltage to the maximum
operating voltage.
DAC Power-Supply Rejection
DAC PSR is the amount of change in the converter’s
value at full-scale as the power-supply voltage changes
from its nominal value. PSR assumes the converter’s
linearity is unaffected by changes in the power-supply
voltage.
(The package drawing(s) in this data sheet may not reflect the most current specifications. For the latest package outline information,
go to www.maxim-ic.com/packages
(The package drawing(s) in this data sheet may not reflect the most current specifications. For the latest package outline information,
go to www.maxim-ic.com/packages
.)
DALLAS
SEMICONDUCTOR
PROPRIETARYINFORMATION
TITLE:
PACKAGEOUTLINE
32,44,48,56LTHINQFN,7x7x0.8mm
DOCUMENTCONTROLNO.APPROVAL
21-0144
REV.
2
2
D
MAX1020–MAX1023/MAX1057/MAX1058
10-Bit, Multichannel ADCs/DACs with FIFO,
Temperature Sensing, and GPIO Ports
(The package drawing(s) in this data sheet may not reflect the most current specifications. For the latest package outline information,
go to www.maxim-ic.com/packages
.)
D
D/2
e
A1A2
E/2
E
L1
A
(NE-1)Xe
L
k
D2
C
L
D2/2
(ND-1)Xe
C
L
ee
b
e
E2/2
C
E2
L
k
L
C
L
LL
QFN THIN 6x6x0.8.EPS
PACKAGEOUTLINE
36,40,48LTHINQFN, 6x6x0.8mm
21-0141
1
E
2
MAX1020–MAX1023/MAX1057/MAX1058
10-Bit, Multichannel ADCs/DACs with FIFO,
Temperature Sensing, and GPIO Ports
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.
47 ____________________Maxim Integrated Products, 120 San Gabriel Drive, Sunnyvale, CA 94086 408-737-7600
(The package drawing(s) in this data sheet may not reflect the most current specifications. For the latest package outline information,
go to www.maxim-ic.com/packages