SDIO esclavo estado ocupado

1

¿Cómo puede el dispositivo esclavo SDIO informar al maestro que está ocupado? Por lo que recuerdo, en algún estándar de MMC había una información que puede afirmar que SDIO_DATA0 es bajo. ¿Es posible esta afirmación en todo momento en la comunicación o solo en momentos específicos?

Estoy preguntando esto porque he capturado la transmisión en la que veo una gran transferencia de datos y al final de esta transferencia hay 19.37us de estado bajo en SDIO_DATA y luego la transmisión continúa. ¿Es normal o podría ser una causa del problema?

P.S. Tengo sondas solo en DAT2, DAT0, CLK, CMD. DAT3 no está conectado. P.S.2. El dispositivo conectado como esclavo es un chip wifi, no una tarjeta SD.

    
pregunta s.paszko

1 respuesta

1

Especificaciones de la SD Parte 1: Especificación simplificada de la capa física es relativamente claro sobre este tema.

  

La operación de escritura de bloque utiliza una señalización simple ocupada de la duración de la operación de escritura en la línea de datos DAT0 (consulte la Figura 3-6) independientemente del número de líneas de datos utilizadas para transferir los datos.

...

  

La respuesta de estado de CRC y la indicación de Ocupado serán enviadas por la tarjeta al host solo en DAT0 (DAT1-DAT3 durante ese período no importa).

...

  

La tarjeta puede proporcionar almacenamiento en búfer para escritura de bloque. Esto significa que el siguiente bloque puede enviarse a la tarjeta mientras se está programando el anterior. Si todos los buffers de escritura están llenos, y mientras la tarjeta esté en estado de programación (consulte el diagrama de estado de la tarjeta de memoria SD, Figura 4-13), la línea DAT0 se mantendrá baja (OCUPADA).

...

  

Al volver a seleccionar la tarjeta, se reactivará la indicación de ocupado al bajar el DAT si la programación aún está en curso y el búfer de escritura no está disponible.

Así, en general, estás en lo correcto; DAT0 (o MISO para SPI) se reducirá en circunstancias específicas, por ejemplo, mientras la tarjeta escribe datos en la tarjeta (solo después de que usted escribió el bloque de datos con su CRC en la tarjeta), mientras lee datos (después de que emitió la lectura correcta El comando y la tarjeta respondieron con éxito la recepción del comando). Y puede anular la selección de la tarjeta mientras está ocupada, para realizar operaciones en otras tarjetas de la pila y luego volver a seleccionarla para ver si todavía está ocupada o puede continuar trabajando en ella.

    
respondido por el Anonymous

Lea otras preguntas en las etiquetas