![](http://datasheet.mmic.net.cn/Microchip-Technology/MCP3008-I-P_datasheet_106064/MCP3008-I-P_19.png)
2008 Microchip Technology Inc.
DS21295D-page 19
MCP3004/3008
5.0
SERIAL COMMUNICATION
Communication with the MCP3004/3008 devices is
accomplished using a standard SPI-compatible serial
interface. Initiating communication with either device is
device was powered up with the CS pin low, it must be
brought high and back low to initiate communication.
The first clock received with CS low and DIN high will
constitute a start bit. The SGL/DIFF bit follows the start
bit and will determine if the conversion will be done
using single-ended or differential input mode. The next
three bits (D0, D1 and D2) are used to select the input
the configuration bits for the MCP3004 and MCP3008,
respectively. The device will begin to sample the
analog input on the fourth rising edge of the clock after
the start bit has been received. The sample period will
end on the falling edge of the fifth clock following the
start bit.
Once the D0 bit is input, one more clock is required to
complete the sample and hold period (DIN is a “don’t
care” for this clock). On the falling edge of the next
clock, the device will output a low null bit. The next 10
clocks will output the result of the conversion with MSB
first, as shown in
Figure 5-1. Data is always output from
the device on the falling edge of the clock. If all 10 data
bits have been transmitted and the device continues to
receive clocks while the CS is held low, the device will
output the conversion result LSB first, as is shown in
while CS is still low (after the LSB first data has been
transmitted), the device will clock out zeros indefinitely.
If necessary, it is possible to bring CS low and clock in
leading zeros on the DIN line before the start bit. This is
often done when dealing with microcontroller-based
SPI ports that must send 8 bits at a time. Refer to
, “Using the MCP3004/
3008 with Microcontroller (MCU) SPI Ports”, for more
details on using the MCP3004/3008 devices with
hardware SPI ports.
TABLE 5-1:
CONFIGURE BITS FOR THE
MCP3004
TABLE 5-2:
CONFIGURE BITS FOR THE
MCP3008
Control Bit
Selections
Input
Configuration
Channel
Selection
Single/
Diff
D2* D1
D0
1
X
0
single-ended
CH0
1
X
0
1
single-ended
CH1
1
X
1
0
single-ended
CH2
1
X
1
single-ended
CH3
0
X
0
differential
CH0 = IN+
CH1 = IN-
0
X
0
1
differential
CH0 = IN-
CH1 = IN+
0
X
1
0
differential
CH2 = IN+
CH3 = IN-
0
X
1
differential
CH2 = IN-
CH3 = IN+
* D2 is “don’t care” for MCP3004
Control Bit
Selections
Input
Configuration
Channel
Selection
Single
/Diff
D2
D1 D0
1
0
single-ended
CH0
1
0
1
single-ended
CH1
1
0
1
0
single-ended
CH2
1
0
1
single-ended
CH3
1
0
single-ended
CH4
1
0
1
single-ended
CH5
1
0
single-ended
CH6
1
single-ended
CH7
0
differential
CH0 = IN+
CH1 = IN-
0
1
differential
CH0 = IN-
CH1 = IN+
0
1
0
differential
CH2 = IN+
CH3 = IN-
0
1
differential
CH2 = IN-
CH3 = IN+
0
1
0
differential
CH4 = IN+
CH5 = IN-
0
1
0
1
differential
CH4 = IN-
CH5 = IN+
0
1
0
differential
CH6 = IN+
CH7 = IN-
0
1
differential
CH6 = IN-
CH7 = IN+