¿Cómo se comunica una tarjeta SD con una computadora? [cerrado]

1

¿Podría alguien darme una explicación concisa de cómo una tarjeta SD envía y recibe datos de una computadora? ¿Hace esto poco a poco? ¿Cómo combina la computadora / tarjeta SD estos bits individuales en bytes útiles? Puedo ver todos los pines y lo que hacen, pero ¿podría alguien explicar cómo se unen todos para crear las funciones de lectura-escritura a las que se utiliza?

    
pregunta Derek Farkas

2 respuestas

4

Creo que hay explicaciones de esto en la web.

Puede obtener una buena comprensión al leer el código y mirar el cableado de un proyecto real, por ejemplo. la biblioteca de tarjetas de memoria SD de Arduino, que puede leer un sistema de archivos FAT. Utiliza una interfaz de hardware muy simple.

Las hojas de datos para la memoria SD explicarán cómo se leen y escriben, o podrías leer un tutorial, por ejemplo. Tutorial de SD de Adafruit

La tarjeta SD se puede leer y escribir usando SPI, que usa solo tres cables más energía, y una señal de habilitación o 'chip chip' (CS) para que varias tarjetas SD puedan compartir un bus común de tres hilos. SPI tiene una señal de datos en cada dirección (DI, DO) y un reloj (SCLK) para sincronizar e identificar datos válidos. La SD se controla mediante comandos, se envía a través de la interfaz SPI, así que observe el conjunto de comandos para una tarjeta SD. Los comandos estarán orientados a bytes, ya que, por defecto, SPI está orientado a bytes.

La E / S en serie para la mayoría de los dispositivos host, desde el microcontrolador al microprocesador, generalmente se maneja mediante una interfaz periférica orientada a bytes, pero todo se puede hacer en el software mediante datos serializados de 'bit banging' sobre I / O de propósito general individual (GPIO) pines. Usaría tres para SPI, uno para cada uno de SCLK, DI y DI, y otro para cada tarjeta de memoria SD con chip select (CS).

Para un mayor rendimiento, las tarjetas de memoria SD pueden transferir múltiples bits en un solo ciclo, por lo que al usar 4 señales de datos, se pueden leer o escribir 4 veces más rápido. Cuando se inicia la comunicación por primera vez, comienza con las tres señales SPI, luego un sistema host (por ejemplo, una computadora, una cámara) podría negociar rápidamente para activar la interfaz con más señales.

    
respondido por el gbulmer
1

Para obtener un manual sobre las especificaciones de la tarjeta microSD, busque "Transcender" en la web y descargue este archivo PDF: TS256M ~ 2GUSD. Es un archivo de 756 KB, por lo que cubre todos los detalles de la memoria SD.

Sigue la especificación de la tarjeta SD v1.1 y la Especificación del sistema de archivos de la asociación SD. Siga las instrucciones de Arduino para su interfaz y controladores. Utilice el manual de Transcend para conocer los detalles del chip SD.

Si compra un tipo específico y una capacidad de chip microSD, asegúrese de descargar el archivo técnico en PDF para el chip SD . Puede tener una capacidad de almacenamiento mucho mayor y, por lo tanto, tener la asignación correcta del tamaño de bloque / página de memoria.

Asegúrese de que el zócalo de la tarjeta SD esté personalizado en una PCB, ya que la velocidad de reloj puede ser tan alta como 50 MHz.

    
respondido por el Sparky256

Lea otras preguntas en las etiquetas