mcp3911 3.3v Two Channel Analog Front End ds20002286d
mcp3911 3.3v Two Channel Analog Front End ds20002286d
mcp3911 3.3v Two Channel Analog Front End ds20002286d
20-Lead
SDO
SDI
MDAT1
MDAT0
AVDD DVDD
REFIN/OUT
Voltage VREFEXT AMCLK Xtal Oscillator
Reference OSC1
Clock MCLK
+
VREF Generation OSC2
– DMCLK/DRCLK
REFIN-
CH0- –
+ X DATA_CH0
[23:0] DR
PGA '6 SDO
Modulator
Phase PHASE[11:0]
) Shifter Digital SPI
Interface RESET
OFFCAL_CH1 GAINCAL_CH1
SDI
[23:0] [23:0]
CH1+ + MOD[7:4] SCK
CH1- –
+ X DATA_CH1 CS
[23:0]
PGA '6 SINC3 +
Modulator SINC1
MODOUT[1:0]
DUAL '6 ADC
Modulator MDAT0
MOD[7:0] Output Block MDAT1
POR POR
AVDD DVDD
Monitoring Monitoring
AGND DGND
CS
fSCK
tHI tLO tCSH
Mode 1,1
SCK Mode 0,0
tDO tDIS
tHO
Don’t Care
SDI
tCSD
CS tCLE
tCSS fSCK tCLD
tHI tLO tCSH
Mode 1,1
SCK Mode 0,0
tSU tHD
High-Z
SDO
1/fD tDRP
DR
tDODR
SCK
SDO
SCK VIH
CS
tDO
90%
SDO tDIS
SDO High-Z
10%
OSC1/CLKI
tDOMDAT
MDAT
Note: Unless otherwise indicated, AVDD = 3.3V; DVDD = 3.3V; TA = +25°C; MCLK = 4 MHz; PRESCALE = 1;
OSR = 256; GAIN = 1; Dithering = Maximum; VIN = -0.5 dBFS at 60 Hz; VREFEXT = 0; CLKEXT = 1; AZ_FREQ = 0;
BOOST = 1x.
0 0
fIN = -0.5 dBFS @ 60 Hz fIN = -0.5 dBFS @ 60 Hz
-20 fD = 3.9 ksps -20
fD = 3.9 ksps
-40 16384 pt FFT -40 16384 pt FFT
OSR = 256
Amplitude (dB)
OSR = 256
Amplitude (dB)
-60 Dithering = None -60 Dithering = Maximum
-80 -80
-100 -100
-120 -120
-140 -140
-160 -160
-180 -180
-200 -200
0 200 400 600 800 1000 1200 1400 1600 1800 2000 0 200 400 600 800 1000 1200 1400 1600 1800 2000
Frequency (Hz) Frequency (Hz)
0 0
fIN = -60 dBFS@ 60 Hz fIN = -60 dBFS @ 60 Hz
-20 fD = 3.9 ksps -20 fD = 3.9 ksps
-40 16384 pt FFT -40 16384 pt FFT
OSR = 256 OSR = 256
Amplitude (dB)
Amplitude (dB
Frequency of Occurrence
-107.3 -107.1 -107.0 -106.8 -106.7 -106.5 -106.4 -106.2 -106.1 -105.9 -105.8 94.2 94.3 94.5 94.6 94.8 94.9 95.1 95.2 95.4 95.5
Total Harmonic Distortion (-dBc) Signal-to-Noise and Distortion Ratio (dB)
Frequency of Occurrence
Frequency of Occurrence
104.5 106 107.5 109 110.5 112 113.5 115 15.3 15.4 15.4 15.4 15.5 15.5 15.5 15.5 15.6 15.6
Spurious Free Dynamic Range (dBFS) Effective Number of Bits (SINAD)
Frequency of Occurrence
Frequency of Occurrence
94.5 94.6 94.8 94.9 95.1 95.2 95.4 95.5 95.6 95.8 95.9 15.4 15.4 15.5 15.5 15.5 15.5 15.6 15.6 15.6 15.6
Signal-to-Noise Ratio (dB) Effective Number of Bits (SNR)
5000
Total Harmonic Distortion (dBc)
0
Channel 1 Dithering = Maximum
Frequency Of Occurrence
120 0
110 -10
100 -20 Boost = 0.5x
90 -30
Boost = 0.66x
80 -40
Ratio (dB)
70 -50
60 -60
50 -70 Boost = 1x
40 -80
Dithering = Maximum
30 -90
Dithering = Medium
20 Dithering = Minimum -100 Boost = 2x
10 Dithering = None -110
0 -120
32 64 128 256 512 1024 2048 4096 0 5 10 15 20 25 30
Oversampling Ratio (OSR) MCLK Frequency (MHz)
FIGURE 2-13: SINAD vs. OSR. FIGURE 2-16: THD vs. MCLK.
L
120 120
110 110
100 100
90 90 Boost = 2x
80 80
Ratio (dB)
70 70
60 60 Boost = 0.5x
Boost = 1x
50 50
40 Dithering = Maximum 40 Boost = 0.66x
30 Dithering = Medium 30
20 Dithering = Minimum 20
10 Dithering = NoQe 10
0 0
32 64 128 256 512 1024 2048 4096 0 5 10 15 20 25 30
Oversampling Ratio (OSR) MCLK Frequency (MHz)
140 120
Spurious Free Dynamic Range
130 110
Signal-to-Noise Ratio (dB)
120 100
110 Boost = 2x
90
100
90 80
(dBFS)
80 70 Boost = 1x
70 60
Boost = 0.5x
60 50
50 Boost = 0.66x
40
40 Dithering = Maximum
30
30 Dithering = Medium
20
20 Dithering = Minimum
10 Dithering = None
10
0 0
32 64 128 256 512 1024 2048 4096 0 5 10 15 20 25 30
Oversampling Ratio (OSR) MCLK Frequency (MHz)
FIGURE 2-15: SFDR vs. OSR. FIGURE 2-18: SNR vs. MCLK.
120 100
Boost = 2x
100 95
90 Auto Zero Speed = Fast
80 90
Ratio (dB)
70 Boost = 1x
(dBFS)
60 85
Boost = 0.66x
50 Auto Zero Speed = Slow
40 Boost = 0.5x 80
30
20 75
10
0 70
0 5 10 15 20 25 30 1 2 4 8 16 32
Frequency (MHz) Gain (V/V)
FIGURE 2-19: SFDR vs. MCLK. FIGURE 2-22: SINAD vs. GAIN vs. AZ
Speed Chart.
120 0
110
100 -20
90 -30
-40
80
Ratio (dB)
-50
70
-60
60
OSR = 32 -70
50 OSR = 64
-80 Channel 1
40 OSR = 128
OSR = 256 -90 Channel 0
30 OSR = 512 -100
20 OSR = 1024
OSR = 2048 -110
10
OSR = 4096 -120
0
-6 -5 -4 -3 -2 -1 0 1 2 3
1 2 4 8 16 32
Gain (V/V) Input Signal Amplitude (dBFS)
FIGURE 2-20: SINAD vs. GAIN. FIGURE 2-23: THD vs. Input Signal
Amplitude.
120 120
Signal-to-Noise and Distortion
Signal to Noise and Distortion
110 110
100 100
90 90
80 80 Channel 1
Ratio (dB)
Ratio (dB)
70 70 Channel 0
60 OSR = 32 60
50 OSR = 64 50
OSR = 128 40
40 OSR = 256
30
30 OSR = 512
OSR = 1024 20
20
OSR = 2048 10
10 OSR = 4096 0
0
-6 -5 -4 -3 -2 -1 0 1 2 3
1 2 4 8 16 32
Gain (V/V) Input Signal Amplitude (dBFS)
FIGURE 2-21: SINAD vs. GAIN (Dithering FIGURE 2-24: SINAD vs. Input Signal
Off). Amplitude.
120 100
90
100 80
90
70
80 Channel 1
Ratio (dB)
70 Channel 0 60
60 50
50 40 G=1
40 G=2
30 G=4
30
20 G=8
20 G = 16
10 10 G = 32
0 0
-6 -5 -4 -3 -2 -1 0 1 2 3 -50 -25 0 25 50 75 100 125 150
Input Signal Amplitude (dBFS) Temperature (°C)
FIGURE 2-25: SNR vs. Input Signal FIGURE 2-28: SINAD vs. Temperature.
Amplitude.
120 100
Spurious Free Dyanmic Range
110 90
60 50
50 40 G=1
40 G=2
30 G=4
30 G=8
20
20 G = 16
10 10 G = 32
0 0
-6 -5 -4 -3 -2 -1 0 1 2 3 -50 -25 0 25 50 75 100 125 150
Input Signal Amplitude (dBFS) Temperature (°C)
FIGURE 2-26: SFDR vs. Input Signal FIGURE 2-29: SNR vs. Temperature.
Amplitude.
0 120
Total Harominc Distortion (dBc)
G=1
-10 110
G=2
-20 G=4 100
-30 G=8 90
-40 G = 16
G = 32
80
(dBFS)
-50 70
-60 60
-70 50
G=1
-80 40 G=2
-90 30 G=4
-100 20 G=8
G = 16
-110 10 G = 32
-120 0
-50 -25 0 25 50 75 100 125 150 -50 -25 0 25 50 75 100 125 150
Temperature (°C) Temperature (°C)
FIGURE 2-27: THD vs. Temperature. FIGURE 2-30: SFDR vs. Temperature.
400 5
350 4
Channel 1 Offset (mV)
300 3 G=1
FIGURE 2-31: Channel 0 Offset vs. FIGURE 2-34: Gain Error vs. Temperature.
Temperature.
400 1.2008
300 1.2006
250
1.2005
200 G=1
G=2 1.2004
150 G=4
G=8 1.2003
100
G = 16
50 G = 32
1.2002
0 1.2001
-50 1.2000
-100 1.1999
-50 -25 0 25 50 75 100 125 150 -50 0 50 100 150
Temperature (°C) Temperature (°C)
FIGURE 2-32: Channel 1 Offset vs. FIGURE 2-35: Internal Voltage Reference
Temperature. vs. Temperature.
0 1.2003
Internal Voltage Reference (V)
-20 1.2002
Offset Error (mV)
-60 1.2000
-80 1.1999
Channel 0
-100 1.1998
-120 1.1997
-50 -25 0 25 50 75 100 125 150 2.5 2.6 2.7 2.8 2.9 3 3.1 3.2 3.3 3.4 3.5 3.6
Temperature (°C) VDD (V)
4.5
14
4
AIDD, Boost = 2x
Frequency of Occurrence
12
3.5
10 3
IDD (mA)
AIDD, Boost = 1x
8 2.5
2 AIDD, Boost = 0.6x
6
1.5
4 AIDD, Boost = 0.5x
1
25 4
Integral Non-Linearity Error
AIDD, Boost = 2x
20
Channel 1 3.5
15
3
10
IDD (mA)
(ppm)
5 2.5
AIDD, Boost = 1x
0 2
AIDD, Boost = 0.6x
-5 1.5
-10 Channel 0
1 AIDD, Boost = 0.5x
-15
-20 0.5 DIDD, All Boost Settings
-25 0
-0.6 -0.3 0 0.3 0.6 0 2.5 5 7.5 10 12.5 15 17.5 20 22.5 25 27.5 30
Input Voltage (V) MCLK Frequency (MHz)
25
Integral Non-Linearity Error
20
15
10 Channel 0
(ppm)
5
0
-5
Channel 1
-10
-15
-20
-25
-0.6 -0.3 0 0.3 0.6
Input Voltage (V)
4.16 Crosstalk Where VOUT is the equivalent input voltage that the
The crosstalk is defined as the perturbation caused by output code translates to the ADC transfer function. In
one ADC channel on the other ADC channel. It is a the MCP3911 specification, AVDD varies from 2.7V to
measurement of the isolation between the two ADCs 3.6V. For AC PSRR, a 50/60 Hz sine wave is chosen,
present in the chip. centered around 3.3V with a maximum 300 mV
amplitude. The PSRR specification is measured with
This measurement is a two-step procedure:
AVDD = DVDD.
1. Measure one ADC input with no perturbation on
the other ADC (ADC inputs shorted). 4.18 CMRR
2. Measure the same ADC input with a perturba-
tion sine wave signal on the other ADC at a This is the ratio between a change in the
certain predefined frequency. Common-mode input voltage and the ADC output
codes. It measures the influence of the Common-mode
The crosstalk is then the ratio between the output power input voltage on the ADC outputs.
of the ADC when the perturbation is present and when it
is not divided by the power of the perturbation signal. The CMRR specification can be DC (the
Common-mode input voltage is taking multiple DC
A lower crosstalk value implies more independence values) or AC (the Common-mode input voltage is a
and isolation between the two channels. sine wave at a certain frequency with a certain
The measurement of this signal is performed under the Common-mode). In AC, the amplitude of the sine wave
default conditions at MCLK = 4 MHz: is representing the change in the power supply. It is
• GAIN = 1 defined in Equation 4-11:
• PRESCALE = 1 EQUATION 4-11:
• OSR = 256
V OUT
CMRR dB = 20 log -----------------
• MCLK = 4 MHz
V CM
Step 1
• CH0+ = CH0- = AGND
Where VCM = (CHn+ + CHn-)/2 is the Common-mode
• CH1+ = CH1- = AGND
input voltage and VOUT is the equivalent input voltage
Step 2 that the output code translates to using the ADC
• CH0+ = CH0- = AGND transfer function. In the MCP3911 specification, VCM
• CH1+ – CH1- = 1.2 VP-P at 50/60 Hz varies from -1V to +1V.
(full-scale sine wave)
Reset mode also affects the modulator output block In this state, to properly bias the input structures of both
(i.e., the MDAT pin corresponding to the channel in channels, the MCLK can be applied to the part. If not
Reset). If enabled, it provides a bit stream correspond- applied, large analog input leakage currents can be
ing to a zero output (a series of ‘0011’ bits continuously observed for highly negative input signals, and after
repeated). removing the Reset state, a certain start-up time is nec-
essary to bias the input structure properly. During this
When an ADC exits the ADC Reset mode, any phase delay, the ADC conversions can be inaccurate.
delay present before Reset was entered is still present.
If one ADC is not in Reset mode, the ADC leaving the
4.21 ADC Shutdown Mode
Reset mode automatically resynchronizes the phase
delay relative to the other ADC channel, per the Phase ADC Shutdown mode is defined as a state where the
Delay register block, and gives data ready pulses converters and their biases are off, consuming only
accordingly. leakage current. When the Shutdown bit is reset to ‘0’,
If an ADC is placed in Reset mode while the other is the analog biases are enabled, as well as the clock and
converting, it is not shutting down the internal clock. the digital circuitry. The ADC gives a data ready pulse
When going back out of Reset, it is automatically after the SINC filter settling time has occurred.
resynchronized with the clock that did not stop during However, since the analog biases are not completely
Reset. settled at the beginning of the conversion, the sampling
may not be accurate during about 1 ms (corresponding
If both ADCs are in Soft Reset, the clock is no longer to the settling time of the biasing in worst-case
distributed to the digital core for low-power operation. conditions). To ensure the accuracy, the data ready
Once any of the ADCs is back to normal operation, the pulse coming within the delay of 1 ms + settling time of
clock is automatically distributed again. the SINC filter should be discarded.
However, when the two channels are in Soft Reset, the Each converter can be placed in Shutdown mode
input structure is still clocking if MCLK is applied to independently. The CONFIG registers are not modified
properly bias the inputs so that no leakage current is by the Shutdown mode. This mode is only available
observed. If MCLK is not applied, large analog input through the programming of the SHUTDOWN[1:0] bits
leakage currents can be observed for highly negative in the CONFIG register.
input voltages (typically below -0.6V, referred to AGND).
The output data are flushed to all zeros while in ADC
Shutdown mode. No data ready pulses are generated
by any ADC while in ADC Shutdown mode.
ADC Shutdown mode also affects the modulator output
block (i.e., if MDAT of the channel in Shutdown mode is
enabled, this pin provides a bit stream corresponding to
a zero output; series of ‘0011’ bits continuously
repeated).
TABLE 5-2: MAXIMUM AMCLK LIMITS AS A FUNCTION OF BOOST AND PGA GAIN
Conditions VDD = 3.0V to 3.6V, TA from -40°C to +125°C VDD = 2.7V to 3.6V, TA from -40°C to +125°C
Maximum AMCLK (MHz) Maximum AMCLK (MHz) Maximum AMCLK (MHz) Maximum AMCLK (MHz)
Boost Gain (SINAD within -3 dB (SINAD within -5 dB from (SINAD within -3 dB (SINAD within -5 dB
from its maximum) its maximum) from its maximum) from its maximum)
0.5x 1 3 3 3 3
0.66x 1 4 4 4 4
1x 1 10 10 10 10
2x 1 16 16 16 16
0.5x 2 2.5 3 3 3
0.66x 2 4 4 4 4
1x 2 10 10 10 10
2x 2 14.5 16 13.3 14.5
0.5x 4 2.5 2.5 2.5 2.5
0.66x 4 4 4 4 4
1x 4 10 10 8 10
2x 4 13.3 16 10.7 11.4
0.5x 8 2.5 2.5 2.5 2.5
0.66x 8 4 4 4 4
1x 8 10 11.4 6.7 8
2x 8 10 14.5 8 8
0.5x 16 2 2 2 2
0.66x 16 4 4 4 4
1x 16 10.6 10.6 8 10
2x 16 12.3 16 8 10.7
0.5x 32 2 2 2 2
0.66x 32 4 4 4 4
1x 32 10 11.4 8 10
2x 32 13.3 16 8 10
MDAT-2
OSR1 = 1
Decimation Filter
FIGURE 5-3: MCP3911 Decimation Filter Block Diagram.
Equation 5-1 contains the formula for calculating the EQUATION 5-2: SETTING TIME OF THE
transfer function of the digital decimation filter and ADC AS A FUNCTION OF
settling time of the ADC: DMCLK PERIODS
EQUATION 5-1: SINC FILTER TRANSFER SettlingTime DMCLKPeriods = 3 OSR + OSR – 1 OSR
FUNCTION 3 1 3
0 0
-20
-20
-40
Magnitude (dB)
Magnitude (dB)
-40
-60
-60 -80
-80 -100
-120
-100
-140
-120 -160
1 10 100 1000 10000 100000 1 100 10000 1000000
Input Frequency (Hz) Input Frequency (Hz)
FIGURE 5-4: SINC Filter Frequency FIGURE 5-5: SINC Filter Frequency
Response, OSR = 256, MCLK = 4 MHz, Response, OSR = 4096 (pink), OSR = 512
PRE[1:0] = 00. (blue), MCLK = 4 MHz, PRE[1:0] = 00.
40
30
20
10
0
0 64 128 192 256
VREFCAL Register Trim Code (decimal)
POR Threshold
Up (2.1V typical)
(1.9V typical)
tPOR Analog Biases SINC Filter
Settling Time Settling
Time
Time
POR Power-up Normal POR
State Operation State
Biases are Biases are settled.
unsettled. Conversions started
Conversions here are accurate.
started here may
not be accurate.
The MCP3911 incorporates a phase delay generator, The PHASE register can be programmed once with the
which ensures that the two ADCs are converting the OSR = 4096 setting, and adjusts to the OSR automati-
inputs with a fixed delay between them. The two ADCs cally afterwards, without the need to change the value
are synchronously sampling, but the averaging of of the PHASE register.
modulator outputs is delayed, so that the SINC filter
outputs (thus, the ADC outputs) show a fixed phase Note: Rewriting the PHASE registers with the
delay as determined by the PHASE register’s setting. same value resets and automatically
restarts both ADCs.
The phase value (PHASE[11:0]) is an 11 bit + sign,
MSB first, two’s complement code that indicates how • OSR = 4096: The delay can go from -2048 to
much phase delay there is to be between Channel 0 +2047. PHASE[11] is the sign bit. Phase[10] is the
and Channel 1. The four MSBs of the first PHASE reg- MSB and PHASE[0] the LSB.
ister (address 0x07) are undefined and set to ‘0’. The • OSR = 2048: The delay can go from -1024 to
reference channel for the delay is Channel 1 (typically, +1023. PHASE[10] is the sign bit. Phase[9] is the
the voltage channel for power metering applications). MSB and PHASE[0] the LSB.
When the PHASE[11:0] bits are positive, Channel 0 is
• OSR = 1024: The delay can go from -512 to +511.
lagging versus Channel 1. When PHASE[11:0] are
PHASE[9] is the sign bit. Phase[8] is the MSB and
negative, Channel 0 is leading versus Channel 1. The
PHASE[0] the LSB.
amount of delay between two ADC conversions is
shown in Equation 5-5. • OSR = 512: The delay can go from -256 to +255.
PHASE[8] is the sign bit. Phase[7] is the MSB and
EQUATION 5-5: PHASE[0] the LSB.
Phase Register Code • OSR = 256: The delay can go from -128 to +127.
Delay = -------------------------------------------------- PHASE[7] is the sign bit. Phase[6] is the MSB and
DMCLK
PHASE[0] the LSB.
The timing resolution of the phase delay is 1/DMCLK or • OSR = 128: The delay can go from -64 to +63.
1 µs in the default configuration with MCLK = 4 MHz. PHASE[6] is the sign bit. Phase[5] is the MSB and
PHASE[0] the LSB.
• OSR = 64: The delay can go from -32 to +31.
PHASE[5] is the sign bit. Phase[4] is the MSB and
PHASE[0] the LSB.
• OSR = 32: The delay can go from -16 to +15.
PHASE[4] is the sign bit. Phase[3] is the MSB and
PHASE[0] the LSB.
OFFSET(1LSB) = VREF /(PGA_CHn x 1.5 x 8388608) If the output result is out of bounds after all calibrations
are performed, the output data on the channel are kept
This register is a “Don’t Care” if EN_OFFCAL = 0 to either 7FFF or 8000 in 16-bit mode, or 7FFFFF or
(offset calibration disabled), but its value is not cleared 8000 in 24-bit mode.
by the EN_OFFCAL bit.
6.1 Overview
Read/
The MCP3911 device is compatible with SPI Modes 0,0 Device Register Write Bit
and 1,1. Data are clocked out of the MCP3911 on the Address Address Bits
falling edge of SCK and data are clocked into the Bits
MCP3911 on the rising edge of SCK. In these modes,
FIGURE 6-1: Control Byte.
SCK can Idle either high or low.
Each SPI communication starts with a CS falling edge The default device address bits are ‘00’. Contact the
and stops with the CS rising edge. Each SPI Microchip factory for additional device address bits. For
communication is independent. When CS is high, SDO more information, please see the Product Identification
is in high-impedance, and transitions on SCK and SDI System section.
have no effect. Additional control pins, RESET, DR and A read on undefined addresses gives an all zeros
MDAT0/1, are also provided on separate pins for output on the first and all subsequent transmitted bytes.
advanced communication. A write on an undefined address has no effect and does
The MCP3911 interface has a simple command not increment the address counter.
structure. The first byte transmitted is always the The register map is defined in Table 7-1.
control byte and is followed by data bytes that are eight
bits wide. Both ADCs are continuously converting data
6.3 Reading from the Device
by default and can be reset or shut down through a
CONFIG register setting. The first data byte read is the one defined by the
Since each ADC data are either 16 or 24 bits (depending address given in the control byte. If the CS pin is
on the WIDTH bits), the internal registers can be maintained low after this first byte is transmitted, the
grouped together with various configurations (through communication continues and the address of the next
the READ bits) to allow easy data retrieval within only transmitted byte is determined by the status of the
one communication. For device reads, the internal READ[1:0] bits in the STATUSCOM register. Multiple
address counter can be automatically incremented to looping configurations can be defined through the
loop through groups of data within the register map. The READ[1:0] bits for the address increment (see
SDO then outputs the data located at the ADDRESS Section 6.7 “Continuous Communication, Looping
(A[4:0]) defined in the control byte and then on Address Sets”).
ADDRESS + 1, depending on the READ[1:0] bits, which
select the groups of registers. These groups are defined
6.4 Writing to the Device
in Section 7.1 “CHANNEL Registers – ADC Channel The first data byte written is the one defined by the
Data Output Registers” (Register Map). address given in the control byte. Two Write mode con-
figurations for the address increment can be defined
The Data Ready pin (DR) can be used as an interrupt
through the WRITE bit in the STATUSCOM register.
for an MCU and outputs pulses when new ADC chan-
When WRITE = 1, the write communication automati-
nel data are available. The RESET pin acts like a Hard
cally increments the address for subsequent bytes. The
Reset and can reset the part to its default power-up
address of the next transmitted byte within the same
configuration. The MDAT0/1 pins give the modulator
communication (CS stays logic low) is the next address
outputs (see Section 5.4 “Modulator Output Block”).
defined on the register map. At the end of the register
map, the address loops to the beginning of the writable
6.2 Control Byte part of the register map (address 0x06). Writing a non-
The control byte of the MCP3911 contains two device writable register has no effect. When WRITE = 0, the
Address bits (A[6:5]), five register Address bits (A[4:0]) address is not incremented on the subsequent writes.
and a Read/Write bit (R/W). The first byte transmitted The SDO pin stays in high-impedance during a write
to the MCP3911 is always the control byte. communication.
The MCP3911 interface is device-addressable (through
A[6:5]), so that multiple MCP3911 chips can be present
on the same SPI bus with no data bus contention. This
functionality enables three-phase power metering sys-
tems, containing three MCP3911 chips, controlled by a
single SPI bus (single CS, SCK, SDI and SDO pins).
CS
Data Transitions on
the Falling Edge,
MCU and MCP3911 Latch
Bits on the Rising Edge
SCK
SDI A6 A5 A4 A3 A2 A1 A0 R/W
FIGURE 6-2: Device Read (SPI Mode 1,1 – SCK Idles High).
CS
Data Transition on
the Falling Edge,
MCU and MCP3911 Latch
Bits on the Rising Edge
SCK
R/W
SDI A6 A5 A4 A3 A2 A1 A0 D7 D6 D5 D4 D3 D2 D1 D0 D7 D6 D5 D4 D3 D2 D1 D0
FIGURE 6-3: Device Write (SPI Mode 1,1 – SCK Idles High).
CS
Data Transition on
the Falling Edge,
MCU and MCP3911 Latch
Bits on the Rising Edge
SCK
SDI A6 A5 A4 A3 A2 A1 A0 R/W
FIGURE 6-4: Device Read (SPI Mode 0,0 – SCK Idles Low).
CS
Data Transition on
the Falling Edge,
MCU and MCP3911 Latch
Bits on the Rising Edge
SCK
FIGURE 6-5: Device Write (SPI Mode 0,0 – SCK Idles Low).
CS
SCK
CH0 ADC
SDI ADDR/R
HiZ CH0 ADC CH0 ADC CH0 ADC CH1 ADC CH1 ADC CH1 ADC CH0 ADC MSB CH0 ADC Upper byte CH0 ADC CH0 ADC CH1 ADC CH1 ADC CH1 ADC CH0 ADC Upper byte
SDO Upper byte Middle byte Lower byte Upper byte Middle byte Lower byte Old ADC data New ADC data Middle byte Lower byte Upper byte Middle byte Lower byte Old ADC data
DR
CH0 ADC Old MSB data – Previous MSB data present on SDO until the data ready pulse updates the
These bytes are not present when WIDTH=0 (16-bit mode)
SDO with the new incoming MSB dta
CS
SCK
CH0 ADC
SDI ADDR/R
HiZ CH0 ADC CH0 ADC CH0 ADC CH1 ADC CH1 ADC CH0 ADC CH0 ADC CH0 ADC CH1 ADC CH1 ADC
SDO CH1 ADC Lower byte CH1 ADC Lower byte
Upper byte Middle byte Lower byte Upper byte Middle byte Upper byte Middle byte Lower byte Upper byte Middle byte
DR
6.7.2 CONTINUOUS WRITE The following register sets are defined as types:
Both ADCs are powered up with their default TABLE 6-2: REGISTER TYPES
configurations and begin to output data ready pulses
immediately (RESET[1:0] and SHUTDOWN[1:0] bits Type Addresses
are off by default). ADC DATA (both channels) 0x00-0x05
The default output codes for both ADCs are all zeros. CONFIGURATION 0x06-0x1A
The default modulator output for both ADCs is ‘0011’
(corresponding to a theoretical zero voltage at the
inputs). The default phase is zero between the two 6.8 Situations that Reset ADC Data
channels. Immediately after the following actions, the ADCs are
It is recommended to enter into ADC Reset mode for reset and automatically restarted to provide proper
both ADCs, just after power-up; this is because the operation:
desired MCP3911 register configuration may not be the 1. Change in PHASE register.
default one. In this case, the ADC outputs undesired
2. Change in the OSR setting.
data. Within the ADC Reset mode (RESET[1:0] = 11),
the user can configure the whole part with a single 3. Change in the PRESCALE setting.
communication. The write commands automatically 4. Overwrite of the same PHASE register value.
increment the address so that the user can start writing 5. Change in the CLKEXT setting.
the PHASE register and finish with the CONFIG 6. Change in the VREFEXT setting.
register in only one communication (see Figure 6-8).
7. Change in the MODOUT setting.
The RESET[1:0] bits are in the last byte of the CONFIG
register to allow exiting the Soft Reset mode, and have After these temporary Resets, the ADCs go back to
the whole part configured and ready to run in only one normal operation without the need for an additional
command. command. If the same value is written in the PHASE
register, it can be used to serially Soft Reset the ADCs,
6.7.3 REGISTER GROUPS AND TYPES without using the RESET bits in the Configuration
register.
The following register sets are defined as groups:
AVDD, DVDD
CS
SCK
00011010 11XXXXXX 00001110 xxxxxxxx xxxxxxxx xxxxxxxx xxxxxxxx xxxxxxxx xxxxxxxx xxxxxxxx
SDI
CONFIG2 CONFIG2 PHASE ADDR/W PHASE GAIN STATUSCOM CONFIG
ADDR/W
Optional RESET of both ADCs One command for writing complete configuration (without calibration)
6.9 Data Ready Pin (DR) 6.10 ADC Data Latches and Data Ready
To signify when channel data are ready for transmis-
Modes (DRMODE[1:0])
sion, the data ready signal is available on the Data To ensure that both channels’ ADC data are present at
Ready pin (DR) through an active-low pulse at the end the same time for SPI read, regardless of phase delay
of a channel conversion. settings for either or both channels, there are two sets
The Data Ready pin outputs an active-low pulse with a of ADC data latches in series with both the data ready
period that is equal to the DRCLK period and a width and the ‘read start’ triggers.
equal to one DMCLK period. The first set of latches holds each output when the data
When not active-low, this pin can either be in high- are ready and latches both outputs together when
impedance (when DR_HIZ = 0) or in a defined logic DRMODE[1:0] = 00. When this mode is on, both ADCs
high state (when DR_HIZ = 1). This is controlled work together and produce one set of available data
through the STATUSCOM register. This allows multiple after each data ready pulse (that corresponds to the
devices to share the same Data Ready pin (with a lagging ADC data ready). The second set of latches
pull-up resistor connected between DR and DVDD) in ensures that when reading starts on an ADC output, the
3-phase energy meter designs to reduce pin count. A corresponding data are latched so that no data
single device on the bus does not require a pull-up corruption can occur.
resistor and therefore, it is recommended to use If an ADC read has started, to read the following ADC
DR_HIZ = 1 configuration for such applications. output, the current reading needs to be completed (all
After a data ready pulse has occurred, the ADC output bits must be read from the ADC Output Data registers).
data can be read through SPI communication. Two sets
of latches at the output of the ADC prevent the
communication from outputting corrupted data (see
Section 6.10 “ADC Data Latches and Data Ready
Modes (DRMODE[1:0])”).
The CS pin has no effect on the DR pin, which means
even if CS is logic high, data ready pulses will be
provided (except when the configuration prevents them
from outputting data ready pulses). The DR pin can be
used as an interrupt when connected to an MCU or a
DSP. While the RESET pin is logic low, the DR pin is
not active.
MCP3911
3 * DRCLK Period 3 * DRCLK Period
Internal Reset Synchronization
DRCLK Period 1 DMCLK Period DRCLK Period (1 DMCLK Period) DRCLK Period
RESET
RESET[0] or
SHUTDOWN[0]
RESET[1] or
SHUTDOWN[1]
DRMODE = 00; DR
DRMODE = 01; DR
DRMODE = 10; DR
DRMODE = 11; DR
D0 D1 D2 D3 D4 D5 D6 D7 D8 D9 D10 D11 D12 D13 D14 D15 D16 D17 D18 D19 D20 D21 D22 D23 D24 D25 D26 D27 D28 D29 D30 D31 D32 D33 D34
DRMODE = 00; DR
DRMODE = 01; DR
DRMODE = 10; DR
DRMODE = 11; DR
D0 D1 D2 D3 D4 D5 D6 D7 D8 D9 D10 D11 D12 D13 D14 D15 D16 D17 D18 D19
DRMODE = 00; DR
PHASE < 0
DRMODE = 01; DR
DRMODE = 10; DR
DRMODE = 11; DR
D0 D1 D2 D3 D4 D5 D6 D7 D8 D9 D10 D11 D12 D13 D14 D15 D16 D17 D18 D19 D20 D21 D22 D23 D24 D25 D26 D27 D28 D29 D30 D31 D32 D33 D34
TABLE 7-2: REGISTER MAP GROUPING FOR ALL CONTINUOUS READ/WRITE MODES
READ[1:0] WRITE
Function Address
= 11 = 10 = 01 = 00 =1 =0
0x00 Static
GROUP
CHANNEL 0 0x01 Static
TYPE
0x02 Static NOT
0x03 Static WRITABLE
GROUP
CHANNEL 1 0x04 Static
0x05 Static
MOD 0x06 Static Static
GROUP
0x07 Static Static
PHASE
0x08 Static Static
GAIN 0x09 Static Static
LOOP ENTIRE REGISTER MAP
GROUP
0x0B Static Static
0x0C Static Static
CONFIG
0x0D Static Static
0x0E Static Static
OFFCAL_CH0 0x0F Static Static
GROUP
VREFCAL 0x1A
Static Static
Legend:
R = Readable bit W = Writable bit U = Unimplemented bit, read as ‘0’
-n = Value at POR ‘1’ = Bit is set ‘0’ = Bit is cleared x = Bit is unknown
Legend:
R = Readable bit W = Writable bit U = Unimplemented bit, read as ‘0’
-n = Value at POR ‘1’ = Bit is set ‘0’ = Bit is cleared x = Bit is unknown
Legend:
R = Readable bit W = Writable bit U = Unimplemented bit, read as ‘0’
-n = Value at POR ‘1’ = Bit is set ‘0’ = Bit is cleared x = Bit is unknown
Legend:
R = Readable bit W = Writable bit U = Unimplemented bit, read as ‘0’
-n = Value at POR ‘1’ = Bit is set ‘0’ = Bit is cleared x = Bit is unknown
Legend:
R = Readable bit W = Writable bit U = Unimplemented bit, read as ‘0’
-n = Value at POR ‘1’ = Bit is set ‘0’ = Bit is cleared x = Bit is unknown
Legend:
R = Readable bit W = Writable bit U = Unimplemented bit, read as ‘0’
-n = Value at POR ‘1’ = Bit is set ‘0’ = Bit is cleared x = Bit is unknown
Legend:
R = Readable bit W = Writable bit U = Unimplemented bit, read as ‘0’
-n = Value at POR ‘1’ = Bit is set ‘0’ = Bit is cleared x = Bit is unknown
bit 23-0 OFFCAL_CHn[23:0]: Corresponding Channel CHn Digital Offset Calibration Value
This register is simply added to the output code of the channel, bit-by-bit. This register is 24-bit two’s
complement MSB first coding.
CHn Output Code = OFFCAL_CHn + ADC CHn Output Code. This register is a “Don’t Care” if
EN_OFFCAL = 0 (offset calibration disabled), but its value is not cleared by the EN_OFFCAL bit.
Legend:
R = Readable bit W = Writable bit U = Unimplemented bit, read as ‘0’
-n = Value at POR ‘1’ = Bit is set ‘0’ = Bit is cleared x = Bit is unknown
bit 23-0 GAINCAL_CHn: Corresponding Channel CHn Digital Gain Error Calibration Value
This register is 24-bit signed MSB first coding with a range of -1x to +0.9999999x (from 0x80000 to
0x7FFFFF). The gain calibration adds 1x to this register and multiplies it to the output code of the chan-
nel, bit-by-bit, after the offset calibration. Thus, the range of the gain calibration is from 0x to
1.9999999x (from 0x80000 to 0x7FFFFF). The LSB corresponds to a 2-23 increment in the multiplier.
CHn Output Code = (GAINCAL_CHn+1) x ADC CHn Output Code. This register is a “Don’t Care” if
EN_GAINCAL = 0 (offset calibration disabled), but its value is not cleared by the EN_GAINCAL bit.
Legend:
R = Readable bit W = Writable bit U = Unimplemented bit, read as ‘0’
-n = Value at POR ‘1’ = Bit is set ‘0’ = Bit is cleared x = Bit is unknown
PIN 1
XXXXX PIN 1
3911A0
XXXXXX E/ML e 3
XXXXXX 916256
YWWNNN
XXXXXXXXXXX MCP3911A0
XXXXXXXXXXX E/SS e3
YYWWNNN 2016256
Note: In the event the full Microchip part number cannot be marked on one line, it will be carried over
to the next line, thus limiting the number of available characters for customer-specific
information.
/HDG3ODVWLF4XDG)ODW1R/HDG3DFNDJH0/[PP%RG\>4)1@
$OVRFDOOHG94)1
1RWH )RUWKHPRVWFXUUHQWSDFNDJHGUDZLQJVSOHDVHVHHWKH0LFURFKLS3DFNDJLQJ6SHFLILFDWLRQORFDWHGDW
KWWSZZZPLFURFKLSFRPSDFNDJLQJ
' $ %
127( 1
(
'$780%
'$780$
;
&
;
& 7239,(:
& $
&
$
6($7,1*
3/$1( ;
$ &
6,'(9,(:
& $ %
'
& $ %
(
127(
1 .
/ ;E
& $ %
&
H
%277209,(:
0LFURFKLS7HFKQRORJ\'UDZLQJ&5HY&6KHHWRI
/HDG3ODVWLF4XDG)ODW1R/HDG3DFNDJH0/[PP%RG\>4)1@
$OVRFDOOHG94)1
1RWH )RUWKHPRVWFXUUHQWSDFNDJHGUDZLQJVSOHDVHVHHWKH0LFURFKLS3DFNDJLQJ6SHFLILFDWLRQORFDWHGDW
KWWSZZZPLFURFKLSFRPSDFNDJLQJ
8QLWV 0,//,0(7(56
'LPHQVLRQ/LPLWV 0,1 120 0$;
1XPEHURI7HUPLQDOV 1
3LWFK H %6&
2YHUDOO+HLJKW $
6WDQGRII $
7HUPLQDO7KLFNQHVV $ 5()
2YHUDOO/HQJWK ' %6&
([SRVHG3DG/HQJWK '
2YHUDOO:LGWK ( %6&
([SRVHG3DG:LGWK (
7HUPLQDO:LGWK E
7HUPLQDO/HQJWK /
7HUPLQDOWR([SRVHG3DG .
Notes:
3LQYLVXDOLQGH[IHDWXUHPD\YDU\EXWPXVWEHORFDWHGZLWKLQWKHKDWFKHGDUHD
3DFNDJHLVVDZVLQJXODWHG
'LPHQVLRQLQJDQGWROHUDQFLQJSHU$60(<0
%6&%DVLF'LPHQVLRQ7KHRUHWLFDOO\H[DFWYDOXHVKRZQZLWKRXWWROHUDQFHV
5()5HIHUHQFH'LPHQVLRQXVXDOO\ZLWKRXWWROHUDQFHIRULQIRUPDWLRQSXUSRVHVRQO\
0LFURFKLS7HFKQRORJ\'UDZLQJ&5HY&6KHHWRI
/HDG3ODVWLF4XDG)ODW1R/HDG3DFNDJH0/[PP%RG\>4)1@
$OVRFDOOHG94)1
1RWH )RUWKHPRVWFXUUHQWSDFNDJHGUDZLQJVSOHDVHVHHWKH0LFURFKLS3DFNDJLQJ6SHFLILFDWLRQORFDWHGDW
KWWSZZZPLFURFKLSFRPSDFNDJLQJ
&
;
(9
9
& <
(9
*
<
;
6,/.6&5((1
(
5(&200(1'('/$1'3$77(51
8QLWV 0,//,0(7(56
'LPHQVLRQ/LPLWV 0,1 120 0$;
&RQWDFW3LWFK ( %6&
2SWLRQDO&HQWHU3DG:LGWK ;
2SWLRQDO&HQWHU3DG/HQJWK <
&RQWDFW3DG6SDFLQJ &
&RQWDFW3DG6SDFLQJ &
&RQWDFW3DG:LGWK; ;
&RQWDFW3DG/HQJWK; <
&RQWDFW3DGWR&HQWHU3DG; *
7KHUPDO9LD'LDPHWHU 9
7KHUPDO9LD3LWFK (9
1RWHV
'LPHQVLRQLQJDQGWROHUDQFLQJSHU$60(<0
%6&%DVLF'LPHQVLRQ7KHRUHWLFDOO\H[DFWYDOXHVKRZQZLWKRXWWROHUDQFHV
)RUEHVWVROGHULQJUHVXOWVWKHUPDOYLDVLIXVHGVKRXOGEHILOOHGRUWHQWHGWRDYRLGVROGHUORVVGXULQJ
UHIORZSURFHVV
0LFURFKLS7HFKQRORJ\'UDZLQJ&5HY%
/HDG3ODVWLF6KULQN6PDOO2XWOLQH66±PP%RG\>6623@
1RWH )RUWKHPRVWFXUUHQWSDFNDJHGUDZLQJVSOHDVHVHHWKH0LFURFKLS3DFNDJLQJ6SHFLILFDWLRQORFDWHGDW
KWWSZZZPLFURFKLSFRPSDFNDJLQJ
D
N
E1
NOTE 1
1 2
e
b
c
A A2
φ
A1
L1 L
8QLWV 0,//,0(7(56
'LPHQVLRQ/LPLWV 0,1 120 0$;
1XPEHURI3LQV 1
3LWFK H %6&
2YHUDOO+HLJKW $ ± ±
0ROGHG3DFNDJH7KLFNQHVV $
6WDQGRII $ ± ±
2YHUDOO:LGWK (
0ROGHG3DFNDJH:LGWK (
2YHUDOO/HQJWK '
)RRW/HQJWK /
)RRWSULQW / 5()
/HDG7KLFNQHVV F ±
)RRW$QJOH
/HDG:LGWK E ±
1RWHV
3LQYLVXDOLQGH[IHDWXUHPD\YDU\EXWPXVWEHORFDWHGZLWKLQWKHKDWFKHGDUHD
'LPHQVLRQV'DQG(GRQRWLQFOXGHPROGIODVKRUSURWUXVLRQV0ROGIODVKRUSURWUXVLRQVVKDOOQRWH[FHHGPPSHUVLGH
'LPHQVLRQLQJDQGWROHUDQFLQJSHU$60(<0
%6& %DVLF'LPHQVLRQ7KHRUHWLFDOO\H[DFWYDOXHVKRZQZLWKRXWWROHUDQFHV
5() 5HIHUHQFH'LPHQVLRQXVXDOO\ZLWKRXWWROHUDQFHIRULQIRUPDWLRQSXUSRVHVRQO\
0LFURFKLS 7HFKQRORJ\ 'UDZLQJ &%
Note: For the most current package drawings, please see the Microchip Packaging Specification located at
http://www.microchip.com/packaging
0.65 0.45
SILK SCREEN
c
Y1
G
X1
E
Units MILLIMETERS
Dimension Limits MIN NOM MAX
Contact Pitch E 0.65 BSC
Contact Pad Spacing C 7.20
Contact Pad Width (X20) X1 0.45
Contact Pad Length (X20) Y1 1.75
Distance Between Pads G 0.20
Notes:
1. Dimensioning and tolerancing per ASME Y14.5M
BSC: Basic Dimension. Theoretically exact value shown without tolerances.
• Microchip believes that its family of products is one of the most secure families of its kind on the market today, when used in the
intended manner and under normal conditions.
• There are dishonest and possibly illegal methods used to breach the code protection feature. All of these methods, to our
knowledge, require using the Microchip products in a manner outside the operating specifications contained in Microchip’s Data
Sheets. Most likely, the person doing so is engaged in theft of intellectual property.
• Microchip is willing to work with the customer who is concerned about the integrity of their code.
• Neither Microchip nor any other semiconductor manufacturer can guarantee the security of their code. Code protection does not
mean that we are guaranteeing the product as “unbreakable.”
Code protection is constantly evolving. We at Microchip are committed to continuously improving the code protection features of our
products. Attempts to break Microchip’s code protection feature may be a violation of the Digital Millennium Copyright Act. If such acts
allow unauthorized access to your software or other copyrighted work, you may have a right to sue for relief under that Act.