MCP3004/3008
CS
MCU latches data from A/D
converter on rising edges of SCLK
SCLK
1
2
3
4
5
6
7
8
9
10 11 12 13 14 15 16
17 18 19 20 21 22 23 24
Data is clocked out of
A/D converter on falling edges
SGL/
Start DIFF
D2
D1 DO
Don’t Care
DIN
NULL
BIT
HI-Z
B7
B6 B5 B4 B3 B2 B1 B0
B9 B8
DOUT
Start
Bit
MCU Transmitted Data
(Aligned with falling
SGL/
DIFF
0
0
0
0
0
0
0
1
X
X
X
X
X
X
X
X
D2 D1 DO
X
X
X
X
edge of clock)
MCU Received Data
(Aligned with rising
0
?
?
?
?
?
?
?
?
?
?
?
?
?
B7 B6 B5 B4 B3 B2 B1 B0
B9 B8
edge of clock)
(Null)
Data stored into MCU receive
register after transmission of first
8 bits
Data stored into MCU receive
register after transmission of
second 8 bits
Data stored into MCU receive
register after transmission of last
8 bits
X = “Don’t Care” Bits
FIGURE 6-1:
SPI Communication with the MCP3004/3008 using 8-bit segments (Mode 0,0: SCLK idles low).
MCU latches data from A/D converter
on rising edges of SCLK
CS
1
2
3
4
5
6
7
8
9
10 11 12 13 14 15
16
17 18 19 20 21 22 23 24
SCLK
Data is clocked out of A/D
converter on falling edges
SGL/
DIFF
DO
D2
Don’t Care
D1
Start
DIN
NULL
BIT
HI-Z
B6 B5 B4 B3 B2 B1 B0
B9
X
B7
X
B8
DOUT
Start
Bit
MCU Transmitted Data
(Aligned with falling
edge of clock)
SGL
/
X
X
X
X
X
X
X
0
0
0
0
0
1
D2 D1
DO
X
X
X
0
0
DIFF
MCU Received Data
(Aligned with rising
edge of clock)
0
?
?
?
?
?
?
?
?
?
?
?
?
?
B9 B8
(Null)
B7 B6 B5 B4 B3 B2 B1 B0
Data stored into MCU receive
register after transmission of first
8 bits
Data stored into MCU receive
register after transmission of
second 8 bits
Data stored into MCU receive
register after transmission of last
8 bits
X = “Don’t Care” Bits
FIGURE 6-2: SPI Communication with the MCP3004/3008 using 8-bit segments (Mode 1,1: SCLK idles high).
DS21295C-page 18
© 2007 Microchip Technology Inc.