
MultiMediaCard Flash
Preliminary MultiMediaCard Product Manual;
1998 SANDISK CORPORATION
Page 68 of 79
6 SPI PROTOCOL DEFINITION
SPI Bus Protocol
. While the MultiMediaCard channel is based on command and data bit-
streams which are initiated by a start bit and terminated by a stop bit, the SPI channel is
byte oriented. Every command or data block is built of 8 bit bytes and is byte aligned
(multiples of 8 clocks) to the CS signal.
Similar to the MultiMediaCard protocol, the SPI messages are built from command,
response and data-block tokens. All communication between host and cards is controlled
by the host (master). The host starts every bus transaction by asserting the CS signal low.
The response behavior in SPI mode differs from the MultiMediaCard mode in the following
three aspects:
The selected card always responds to the command.
An additional (8 bit) response structure is used.
When the card encounters a data retrieval problem, it will respond with an error
response (which replaces the expected data block) rather than time-out as in the
MultiMediaCard mode.
Only single block read write operations are supported in SPI mode. In addition to the
command response, every data block sent to the card during write operations will be
responded with a special data response token. A data block may be as big as one card
sector and as small as a single byte.
6.1.1 Mode Selection
The MultiMediaCard wakes up in the MultiMediaCard mode. It will enter SPI mode if the
CS signal is asserted (negative) during the reception of the reset command (CMD0). If the
card recognizes that the MultiMediaCard mode is required it will not respond to the
command and remain in the MultiMediaCard mode. If SPI mode is required, the card will
switch to SPI mode and respond with the SPI mode R1 response.
The only way to return to the MultiMediaCard mode is by entering the power cycle. In SPI
mode, the MultiMediaCard protocol state machine is not observed. All the MultiMediaCard
commands supported in SPI mode are always available.
6.1.2 Bus Transfer Protection
Every MultiMediaCard token transferred on the bus is protected by CRC bits. In SPI mode,
the MultiMediaCard offers a non protected mode which enables systems built with reliable
data links to exclude the hardware or firmware required for implementing the CRC
generation and verification functions.
In the non protected mode the CRC bits of the command, response and data tokens are
still required in the tokens however, they are defined as “don’t cares” for the transmitters
and ignored by the receivers.
The SPI interface is initialized in the non protected mode. The host can turn this option on
and off using CRC_ON_OFF command (CMD59).