Vi sono problemi di accesso a una scheda microSD tramite SPI in presenza di altri dispositivi SPI slave?


10

Sto lavorando a un progetto che ha una CPU con una sola porta SPI. Ho più (3) slave collegati a questa porta, uno dei quali è una scheda microSD.

Ecco un rapporto di un ingegnere che afferma che le schede SD sono progettate per funzionare come l'unico slave di un master SPI.

Qualcun altro è stato in grado di utilizzare una microSD insieme ad altri slave SPI sullo stesso bus? Forse questo rapporto si basava solo su una scheda miniSD particolare e problematica?

Qualcuno consiglierebbe di collegare la linea SPI CLK con la linea Slave Select che va alla scheda miniSD, solo per sicurezza?

Risposte:


12

Secondo questa pagina, le schede SD guidano e rilasciano la linea DO in modo sincrono con la linea sclk:

Nel bus SPI, ciascun dispositivo slave è selezionato con segnali CS separati e dispositivi plurali possono essere collegati a un bus SPI. Il dispositivo slave SPI generico guida / rilascia il segnale DO dal segnale CS in modo asincrono per condividere un bus SPI. Tuttavia, le unità MMC / SDC / rilasciano il segnale DO durante la sincronizzazione con SCLK. Ciò significa che esiste una possibilità di conflitto tra bus con MMC / SDC e qualsiasi altro slave SPI collegato a un bus SPI. L'immagine a destra mostra i tempi di azionamento / rilascio di MMC / SDC (il segnale DO viene tirato a 1/2 vcc per vedere lo stato del bus). Pertanto, per far sì che MMC / SDC rilasci il segnale DO, il dispositivo master deve inviare un byte dopo la disattivazione del segnale CS.

Quindi, solo l'invio di un byte fittizio all'SPI dopo aver innalzato la linea CS dovrebbe funzionare. Il sito sopra ha un diagramma di temporizzazione del bus SPI quando si solleva la linea CS in alto sulla scheda SD.

Inoltre, è una buona idea assicurarsi che al momento dell'accensione / inserimento della scheda il microcontrollore negozia l'uso della modalità SPI con la scheda. Questi dettagli sono disponibili qui

In sintesi, dovrebbe essere OK condividere il bus SPI con più periferiche purché vengano prese le precauzioni sopra.


Grandi risorse, Justin. Grazie! Spero che sarà tutto ciò che devo fare per gestire i conflitti degli schiavi con SD.
jpeskin,
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.