¿Hay problemas para acceder a una tarjeta microSD a través de SPI cuando hay otros dispositivos SPI esclavos?

Estoy trabajando en un diseño que tiene una CPU con un solo puerto SPI. Tengo varios (3) esclavos conectados a este puerto, uno de los cuales es una tarjeta microSD.

Aquí hay un informe de un ingeniero que dice que las tarjetas SD están diseñadas para funcionar como el único esclavo de un maestro SPI.

¿Alguien más ha podido usar una microSD junto con otros esclavos SPI en el mismo bus? ¿Quizás este informe solo se basó en una tarjeta miniSD problemática en particular?

¿Alguien recomendaría cerrar la línea SPI CLK con la línea Slave Select que va a la tarjeta miniSD, solo para estar seguro?

Respuestas (1)

De acuerdo con esta página , las tarjetas SD manejan o liberan la línea DO sincrónicamente con la línea sclk:

En el bus SPI, cada dispositivo esclavo se selecciona con señales CS separadas y varios dispositivos se pueden conectar a un bus SPI. El dispositivo esclavo SPI genérico impulsa/libera su señal DO mediante la señal CS de forma asíncrona para compartir un bus SPI. Sin embargo, MMC/SDC activa/libera la señal DO en sincronización con SCLK. Esto significa que existe la posibilidad de un conflicto de bus con MMC/SDC y cualquier otro esclavo SPI conectado a un bus SPI. La imagen de la derecha muestra el tiempo de activación/liberación del MMC/SDC (la señal DO se lleva a 1/2 vcc para ver el estado del bus). Por lo tanto, para hacer que MMC/SDC libere la señal DO, el dispositivo maestro debe enviar un byte después de que se desactive la señal CS.

Entonces, solo enviar un byte ficticio al SPI después de elevar la línea CS debería funcionar. El sitio anterior tiene un diagrama de tiempo del bus SPI cuando se eleva la línea CS en la tarjeta SD.

Además, es una buena idea asegurarse de que en el encendido/inserción de la tarjeta, el microcontrolador negocie el uso del modo SPI con la tarjeta. Estos detalles se pueden encontrar aquí

En resumen, debería estar bien compartir el bus SPI con múltiples periféricos siempre que se tomen las precauciones anteriores.

Excelentes recursos, Justin. ¡Gracias! Espero que eso sea todo lo que necesito hacer para manejar los conflictos de esclavos con SD.