827
32072H–AVR32–10/2012
AT32UC3A3
The structure of commands, responses and data blocks is described in the MultiMedia-Card
MultiMediaCard bus data transfers are composed of these tokens.
There are different types of operations. Addressed operations always contain a command and a
response token. In addition, some operations have a data token; the others transfer their infor-
mation directly within the command or response structure. In this case, no data token is present
in an operation. The bits on the DAT and the CMD lines are transferred synchronous to the MCI
clock (CLK).
Two types of data transfer commands are defined:
Sequential commands: these commands initiate a continuous data stream. They are
terminated only when a stop command follows on the CMD line. This mode reduces the
command overhead to an absolute minimum.
Block-oriented commands: these commands send a data block succeeded by CRC bits.
Both read and write operations allow either single or multiple block transmission. A multiple
block transmission is terminated when a stop command follows on the CMD line similarly to the
sequential read or when a multiple block transmission has a pre-defined block count (
See Sec-The MCI provides a set of registers to perform the entire range of MultiMedia Card operations.
31.6.2.1
Command - Response Operation
After reset, the MCI is disabled and becomes valid after setting the Multi-Media Interface Enable
bit in the Control Register (CR.MCIEN).
The Power Save Mode Enable bit in the CR register (CR.PWEN) saves power by dividing the
MCI clock (CLK) by 2PWSDIV + 1 when the bus is inactive. The Power Saving Divider field locates
in the Mode Register (MR.PWSDIV).
The two bits, Read Proof Enable and Write Proof Enable in the MR register (MR.RDPROOF and
MR.WRPROOF) allow stopping the MCI Clock (CLK) during read or write access if the internal
FIFO is full. This will guarantee data integrity, not bandwidth.
All the timings for MultiMedia Card are defined in the MultiMediaCard System Specification.
The two bus modes (open drain and push/pull) needed to process all the operations are defined
in the Command Register (CMDR). The CMDR register allows a command to be carried out.
For example, to perform an ALL_SEND_CID command
Table 31-4.
ALL_SEND_CID command
Host Command
N
ID Cycles
CID
CMD
S
T
Content
CRC
E
Z
******
Z
S
T
Content
Z