Reset
clk
cs
(CMD) IN
(DATA) OUT
Init (CMD 1)
clk
cs
(CMD) IN
(DATA) OUT
CID Read
clk
cs
74+ clocks
8 x 4
(64 clocks)
8
8
8x
(multiple) 8 8
NCR
01h
40h
(CMD0)
95h
(CRC)
8
8 x 4
(64 clocks)
8
8x
(multiple)
8
8
NCR
41h
(CMD1)
FFh
(CRC)
00h
8 x 4
(64 clocks)
8
8
8x
(multiple)
8
8x
8
8 x 16
(64 clocks)
8 8
8
NCR
(CMD) IN
(DATA) OUT
4Ah
(CMD10)
FFh
(CRC)
CID Data
00h
FEh
(Start Byte)
CRC
(2 Bytes)
Don’t Care
8 = Number of clocks
8 = Number of “dummy” clocks
8 x = Multiples of 8 clocks
8x = Multiples of 8 “dummy” clocks
8 x 4 = Fixed Multiple of 8 clocks
01h = Value of Hexidecimal Data
CSD Read
clk
cs
(CMD) IN
(DATA) OUT
Read
clk
cs
(CMD) IN
(DATA) OUT
8 x 4
(64 clocks)
8x
(multiple)
8
8
8
8x 8
8 x 16
(64 clocks)
8x2
(16
clocks)
8
NCR
49h
(CMD9)
FFh
(CRC)
CSD Data
00h
FEh
(Start Byte)
CRC
(2 Bytes)
Don’t Care
8 = Number of clocks
8 = Number of “dummy” clocks
8 x = Multiples of 8 clocks
8x = Multiples of 8 “dummy” clocks
8 x 4 = Fixed Multiple of 8 clocks
01h = Value of Hexidecimal Data
8x4
(64 clocks)
8
8
8x
(multiple)
8
8x
(multiple) 8
8
8
NCR
NAC
51h
FFh
(CRC)
00h
512 Bytes *
Read Data
* # Bytes set by CMD16 (Default 512)
FEh
(Start Byte)
CRC
(2 Bytes)
Don’t Care
Write
clk
cs
(CMD) IN
(DATA) OUT
8x4
(64 clocks)
8
8
8x
(multiple)
8x
8
(multiple)
8
512 + 2
8x
(multiple)
8
8
NCR
NWR
58h
FFh
(CRC)
FEh
(Start Byte)
00h
512 Bytes
Write Data
CRC
(2 Bytes)
Don’t Care
Busy
xxx0 0101 b
Set Block Length
clk
cs
(CMD) IN
(DATA) OUT
8 x 4
(64 clocks)
8x
(multiple) 8
8
8
8
4 Bytes
Block Length
50h
FFh
00h
8 = Number of clocks
8 = Number of “dummy” clocks
8 x = Multiples of 8 clocks
8x = Multiples of 8 “dummy” clocks
8 x 4 = Fixed Multiple of 8 clocks
01h = Value of Hexidecimal Data