BenutzerhandbuchInhaltsverzeichnisTable of Contents3Preface71 Introduction91.1 Purpose of the Peripheral91.2 Features91.3 Functional Block Diagram91.4 Supported Use Case Statement101.5 Industry Standard(s) Compliance Statement102 Peripheral Architecture102.1 Clock Control122.2 Signal Descriptions132.3 Protocol Descriptions132.3.1 MMC/SD Mode Write Sequence132.3.2 MMC/SD Mode Read Sequence142.4 Data Flow in the Input/Output FIFO152.5 Data Flow in the Data Registers (MMCDRR and MMCDXR)172.6 FIFO Operation During Card Read Operation192.6.1 EDMA Reads192.6.2 CPU Reads192.7 FIFO Operation During Card Write Operation212.7.1 EDMA Writes212.7.2 CPU Writes212.8 Reset Considerations232.8.1 Software Reset Considerations232.8.2 Hardware Reset Considerations232.9 Initialization232.9.1 MMC/SD Controller Initialization232.9.2 Initializing the MMC Control Register (MMCCTL)232.9.3 Initializing the Clock Controller Registers (MMCCLK)242.9.4 Initialize the Interrupt Mask Register (MMCIM)242.9.5 Initialize the Time-Out Registers (MMCTOR and MMCTOD)242.9.6 Initialize the Data Block Registers (MMCBLEN and MMCNBLK)242.9.7 Monitoring Activity in the MMC/SD Mode252.9.7.1 Determining Whether New Data is Available in MMCDRR252.9.7.2 Verifying that MMCDXR is Ready to Accept New Data252.9.7.3 Checking for CRC Errors252.9.7.4 Checking for Time-Out Events252.9.7.5 Determining When a Response/Command is Done252.9.7.6 Determining Whether the Memory Card is Busy252.9.7.7 Determining Whether a Data Transfer is Done252.9.7.8 Determining When Last Data has Been Written to Card (SanDisk SD cards)262.9.7.9 Checking For a Data Transmit Empty Condition262.9.7.10 Checking for a Data Receive Full Condition262.9.7.11 Checking the Status of the SD_CLK Pin262.9.7.12 Checking the Remaining Block Count During a Multiple-Block Transfer262.10 Interrupt Support272.10.1 Interrupt Events and Requests272.10.2 Interrupt Multiplexing272.11 DMA Event Support282.12 Power Management282.13 Emulation Considerations283 Procedures for Common Operations293.1 Card Identification Operation293.1.1 MMC Card Identification Procedure293.1.2 SD Card Identification Procedure303.2 MMC/SD Mode Single-Block Write Operation Using CPU323.3 MMC/SD Mode Single-Block Write Operation Using the EDMA343.4 MMC/SD Mode Single-Block Read Operation Using the CPU343.5 MMC/SD Mode Single-Block Read Operation Using EDMA353.6 MMC/SD Mode Multiple-Block Write Operation Using CPU363.7 MMC/SD Mode Multiple-Block Write Operation Using EDMA383.8 MMC/SD Mode Multiple-Block Read Operation Using CPU383.9 MMC/SD Mode Multiple-Block Read Operation Using EDMA394 Registers404.1 MMC Control Register (MMCCTL)414.2 MMC Memory Clock Control Register (MMCCLK)424.3 MMC Status Register 0 (MMCST0)434.4 MMC Status Register 1 (MMCST1)454.5 MMC Interrupt Mask Register (MMCIM)464.6 MMC Response Time-Out Register (MMCTOR)474.7 MMC Data Read Time-Out Register (MMCTOD)484.8 MMC Block Length Register (MMCBLEN)494.9 MMC Number of Blocks Register (MMCNBLK)504.10 MMC Number of Blocks Counter Register (MMCNBLC)504.11 MMC Data Receive Register (MMCDRR)514.12 MMC Data Transmit Register (MMCDXR)514.13 MMC Command Register (MMCCMD)524.14 MMC Argument Register (MMCARGHL)544.15 MMC Response Registers (MMCRSP0-MMCRSP7)554.16 MMC Data Response Register (MMCDRSP)574.17 MMC Command Index Register (MMCCIDX)574.18 MMC FIFO Control Register (MMCFIFOCTL)58Appendix A Revision History59Größe: 670 KBSeiten: 61Language: EnglishHandbuch öffnen