【MMC Subsystem】 1. Introduction to MMC/SD/SDIO

img
Personal homepage: Dong Ge talks about technology
I am Dong Ge, a new star creator in the embedded field
Creation concept: Focus on sharing high-quality embedded articles, so that everyone can read something!
img

1 Introduction

Linux KernelThe subsystem learned in this section MMCis also called a block device driver. As the name suggests, compared with character drivers, the MMCsubsystem operates in units of blocks.

At the same time, since the device protocols of MMC Card, SD Card, , and so on are basically the same, the subsystem is used for unified management in !SDIO CardLinux KernelMMC

 

2. Introduction to MMC/SD/SDIO

We learned above that Linux Kernela unified subsystem model is used to manage MMC, SD, SDIOand other equipment, so why is it designed this way?

The answer is of course: the three agreements have certain commonality.

 

MMC(MultiMediaCard)Multimedia card device, in essence, it is a memory card (memory card) specification for solid-state non-volatile storage, which defines such as card form, size, capacity, electrical signal, and communication between the host The content of the agreement and other aspects.

In 1997, the MMCspecification was officially released. So far, it has evolved into a variety of different specifications, such as , SD, MicroSD, and so on .SDIOEMMCMMCLinux Kernel

mmc_sd_sdio_history

MMC: The emphasis is on multimedia storage (MM: MultiMedia)

SD: The emphasis is on secure data (SD: Secure Digital)

SDIO: The emphasis is on the IO interface (IO: Input/Output)

 

3. Bus interface

MMC, SD, and SDIOtheir physical interfaces are also very similar, so let's take it MMCas an example for analysis.

Card Concept(eMMC)

Our MMCcard is shown in the figure above. We do not analyze it internally, but directly analyze it as a complete device.

It communicates with us through pins such as CLK, CMD, and so on. Of course, the two are indispensable .DATASOCController

mmc_sd_sdio_hw_block

Take out the communication bus part to see :

img

CLK: Provide SOCthe communication clock with the device, the commonly used communication frequency is 400KHz(card recognition), 25MHz,50MHz

CMD: Provides SOCcommunication commands with devices, identifies different command numbers, and has more than 50 types.

DATA: Provides SOCdata communication with the device. There are 8 communication buses, which can be customized. Generally, the default is 1-bit (default) mode, 4-bit mode and 8-bit mode. Of course, the more data lines, the faster the transmission, but the processing is a little cumbersome.

In addition to some of the above pins, of course, there are also pins such as VCC, GNDetc., which are different from other peripherals. There is MMCalso a detection pin DETfor detecting whether there is a card device (hot swap).

 

Well, above we have a brief understanding of MMC, SD, SDIOand the common communication methods and physical interfaces. Of course, the core lies in the communication protocol! Since the protocol is too complicated, we will understand it later.

 

4. Reference articles

[1]:http://www.wowotech.net/basic_tech/mmc_sd_sdio_intro.html

img

Like + follow, never get lost

img

Guess you like

Origin blog.csdn.net/dong__ge/article/details/128477841