Describa brevemente el principio de funcionamiento de la tarjeta SD (4)

Describa brevemente el principio de funcionamiento de la tarjeta SD.

Función

La tarjeta SD es una tarjeta de memoria y su función es el almacenamiento.

Clasificación

Las tarjetas SD se clasifican según su capacidad y se pueden dividir en 3 categorías: tarjetas SD, tarjetas SDHC y tarjetas SDXC, de la siguiente manera:

Capacidad

Nombrar

Abreviatura

0 ~ 2G

Tarjeta de memoria SD de capacidad estándar

SDSC o SD

2G ~ 32G

Tarjeta de memoria SD de alta capacidad

SDHC

32G ~ 2T

Tarjeta de memoria SD de capacidad extendida

SDXC

Estructura de hardware

El esquema de la tarjeta SD y el diagrama de interfaz se muestran a continuación:

La interfaz que hace funcionar la tarjeta SD es el puerto SPI o SDIO, y la distribución de pines es la siguiente:

Diagrama de conexión de hardware del host y la tarjeta SD:

Principio de funcionamiento

Para que la tarjeta SD funcione, implica principalmente dos pasos.

El primer paso es el proceso de identificación de la tarjeta SD.

El segundo paso es leer y escribir la tarjeta SD, es decir, el proceso de transmisión de datos entre el controlador host y la tarjeta SD.

Para que la tarjeta SD funcione correctamente, una es suministrar un voltaje estable a la tarjeta SD y la otra es trabajar la tarjeta SD de la manera especificada por el usuario. La realización de estas dos tareas se realiza mediante el controlador host que envía comandos de control a la tarjeta SD.

El host (controlador SDIO) necesita usar muchos comandos para controlar la tarjeta SD, incluido el comando de capa de aplicación ACMD y el comando común CMD. El host (controlador SDIO) envía el comando a la tarjeta SD y la tarjeta SD responderá. Llamada respuesta, los comandos de respuesta se dividen en 6 categorías, a saber, R1, R1b, R2, R3, R6, R7.

Después de que el host (controlador SDIO) envíe un comando a la tarjeta SD, la tarjeta SD responderá. La respuesta contiene los datos requeridos por el host (controlador SDIO), que incluye información SD, capacidad y datos de almacenamiento.

Como se mencionó anteriormente, la tarjeta SD funciona principalmente para la identificación y la transmisión de datos. Su proceso de identificación es un poco complicado. Al escribir el código, puede consultar el diagrama de flujo de inicialización proporcionado por el protocolo. La transmisión de datos incluye lectura y escritura, lectura y escritura de un solo byte y de varios bytes. Las siguientes dos secciones describen el diagrama de flujo de inicialización de identificación y el diagrama de tiempo de lectura y escritura de datos.

Diagrama de flujo

Diagrama de flujo de inicialización de la tarjeta SD:

Diagrama de tiempos de lectura y escritura de datos.

La comunicación de la tarjeta SDIO y SDIO generalmente se transmite en forma de bloques de datos.Las operaciones de lectura de bloques de datos SDIO (múltiples) se muestran en la siguiente figura:

Operación de escritura en bloque de datos SDIO (múltiple), como se muestra a continuación:

Formato de comando

Todos los comandos y respuestas de SDIO se transmiten en el pin SDIO_CMD. La longitud del comando se fija en 48 bits. El formato del comando SDIO se muestra en la siguiente tabla:

Entre ellos: además del índice de comando y los parámetros que necesitamos establecer, los demás son controlados automáticamente por el hardware SDIO. El índice de comando (como CMD0, CMD1, etc.) lo establece el registro SDIO_CMD, y los parámetros de comando los establece el registro SDIO_ARG.

El formato de la respuesta corta STM32 SDIO (48 bits) se muestra en la tabla a continuación:

El formato de la respuesta larga SDIO de STM32 (136 bits) se muestra en la siguiente tabla:

Registrarse

Los registros del controlador SDIO establecen principalmente los índices y parámetros del controlador SDIO y los comandos.

La tarjeta SD tiene 5 registros CID, RCA, CSD, SCR.OCR. La información de la tarjeta SD se obtiene del registro de la tarjeta SD.

Resumen

El trabajo normal de la tarjeta SD es enviar un comando y recibir una respuesta de acuerdo con el diagrama de flujo de inicialización de la tarjeta SD hasta el final del proceso. La transmisión de datos también se basa en el diagrama de tiempo de lectura y escritura, y los datos a enviar se colocan en el comando y se envían.

Cuando el controlador SDIO maneja la tarjeta SD, la frecuencia es de 400 K. Al transmitir datos, la frecuencia SDIOCK es de 6 M. Cuando se inicializa la tarjeta SD, la frecuencia no puede exceder los 400 K.

105 artículos originales publicados · Me gusta 30 · Visitas 160,000+

Supongo que te gusta

Origin blog.csdn.net/happygrilclh/article/details/102614591
Recomendado
Clasificación