Gibt es Probleme beim Zugriff auf eine microSD-Karte über SPI, wenn andere Slave-SPI-Geräte vorhanden sind?


10

Ich arbeite an einem Design mit einer CPU mit nur einem SPI-Port. Ich habe mehrere (3) Slaves an diesen Port angeschlossen, von denen einer eine microSD-Karte ist.

Hier ist ein Bericht eines Ingenieurs, der besagt, dass SD-Karten als einziger Slave eines SPI-Masters fungieren sollen.

Konnte jemand anderes eine microSD zusammen mit anderen SPI-Slaves auf demselben Bus verwenden? Vielleicht basierte dieser Bericht nur auf einer bestimmten, problematischen miniSD-Karte?

Würde jemand empfehlen, die SPI CLK-Leitung mit der Slave Select-Leitung zu verbinden, die zur miniSD-Karte führt, um sicher zu gehen?

Antworten:


12

Laut dieser Seite fahren SD-Karten synchron mit der SCLK-Leitung und / oder geben die DO-Leitung frei:

Im SPI-Bus wird jedes Slave-Gerät mit getrennten CS-Signalen ausgewählt, und mehrere Geräte können an einen SPI-Bus angeschlossen werden. Das generische SPI-Slave-Gerät steuert / gibt sein DO-Signal per CS-Signal asynchron frei, um einen SPI-Bus gemeinsam zu nutzen. MMC / SDC steuert / gibt jedoch das DO-Signal bei der Synchronisierung mit dem SCLK frei. Dies bedeutet, dass möglicherweise ein Buskonflikt mit MMC / SDC und anderen SPI-Slaves besteht, die an einen SPI-Bus angeschlossen sind. Das rechte Bild zeigt den Antriebs- / Freigabezeitpunkt der MMC / SDC (das DO-Signal wird auf 1/2 vcc gezogen, um den Buszustand anzuzeigen). Daher muss das Master-Gerät ein Byte senden, nachdem das CS-Signal deaktiviert wurde, damit das MMC / SDC-DO-Signal freigegeben wird.

Das Senden eines Dummy-Bytes an das SPI nach dem Anheben der CS-Leitung sollte also funktionieren. Die obige Site enthält ein Zeitdiagramm des SPI-Busses, wenn die CS-Leitung hoch auf der SD-Karte angehoben wird.

Es ist auch eine gute Idee, sicherzustellen, dass der Mikrocontroller beim Einschalten / Einsetzen der Karte die Verwendung des SPI-Modus mit der Karte aushandelt. Diese Details finden Sie hier

Zusammenfassend sollte es in Ordnung sein, den SPI-Bus mit mehreren Peripheriegeräten zu teilen, solange die oben genannten Vorsichtsmaßnahmen getroffen werden.


Großartige Ressourcen, Justin. Vielen Dank! Ich hoffe, das ist alles, was ich tun muss, um Slave-Konflikte mit SD zu bewältigen.
Jpeskin
Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.