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

9

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. a un maestro SPI.

¿Alguien más ha podido usar una tarjeta 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 colocar la línea SPI CLK con la línea Slave Select que va a la tarjeta miniSD, solo para estar seguro?

    
pregunta jpeskin

1 respuesta

11

De acuerdo con esta página las tarjetas SD controlan o liberan la línea DO de forma síncrona con la línea sclk:

  

En el bus SPI, cada dispositivo esclavo se selecciona con CS separados   señales, y varios dispositivos se pueden conectar a un bus SPI. SPI genérico   El dispositivo esclavo acciona / libera su señal de OD de forma asíncrona   para compartir un bus SPI. Sin embargo, las unidades MMC / SDC / liberan la señal DO en   sincronizando con el SCLK. Esto significa que hay una posibilidad de bus.   conflicto con MMC / SDC y cualquier otro esclavo SPI que esté conectado a un SPI   autobús. La imagen de la derecha muestra el tiempo de activación / liberación de la MMC / SDC (el DO   la señal se lleva a 1/2 vcc para ver el estado del bus). Por lo tanto hacer   MMC / SDC suelta la señal de OD, el dispositivo maestro debe enviar un byte después de CS   la señal se anula.

Por lo tanto, solo debe enviar un byte ficticio al SPI después de elevar el nivel de CS. El sitio anterior tiene un diagrama de tiempo del bus SPI al elevar 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 negocia el uso del modo SPI con la tarjeta. Estos detalles se pueden encontrar en aquí

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

    
respondido por el justing

Lea otras preguntas en las etiquetas