Wie verwende ich (am besten) eine SPI-SD-Karte mit STM32F1 oder STM32F4?

Unten ist der SD-Kartenleser, den ich verwenden möchte. Es verwendet SPI.

Auf einem Arduino habe ich es zum Laufen gebracht (mit SPI).

Ich möchte es jedoch auf einem STM32F103C8T6 testen und es später in STM32F407VET6 verwenden. Ich sehe jedoch, dass sowohl F1 als auch F4 das FATFS-Dateisystem verwenden können, das ich benötige, aber nur das F4 hat das SDIO-Peripheriegerät (das F1 hat es nicht).

Aber da es sich um einen SPI-SD-Reader handelt, glaube ich nicht, dass ich SDIO sowieso brauchen werde. Trotzdem frage ich mich, wie ich das steuern soll. Sollte ich selbst herausfinden, welche SPI-Befehle ich senden soll, oder gibt es bessere Möglichkeiten? Oder sollte ich mir einen SD-Kartenleser ohne SPI besorgen?

Für mein Projekt sind die Anforderungen an SD ziemlich gering. Ich möchte eine Datei davon lesen, von max. 128 KB, und die Geschwindigkeit ist mir egal (innerhalb einer Sekunde ist gut genug). Vielleicht möchte ich später auch dazu schreiben (auch keine schnellen Zeitbeschränkungen).

Was wäre der einfachste Weg, um von dieser Art von SD-Kartenleser zu lesen?

Ich würde lieber CubeMX und System Workbench (Eclipse) verwenden.

SD-Kartenleser

Dies ist kein SD-Kartenleser mit SPI-Schnittstelle, sondern ein Breakout-Board von SD-Karte zu einer Stiftleiste. SD-Karten haben standardmäßig eine SDIO- und SPI-Schnittstelle.
@Arsenal ... Danke Arsenal, in diesem Fall denke ich, dass SPI gut genug ist, besonders wenn ich es mit FATFS kombinieren kann (ich habe bereits nach einem Beispiel für Filo gefragt)

Antworten (1)

Am einfachsten natürlich SPI. Ich bin mir nicht sicher, ob das SPI-Protokoll das einzige öffentlich verfügbare ist.

Softwareseitig - verwenden Sie FATFS, es gibt bereits einen STM32F100-Democode.

Danke ... war mir nicht bewusst, dass die SD-Karte an sich schon SPI verwendet. Und FATFS scheint in der Tat logisch zu sein. Wo finde ich den Democode (STM32F100)?
Im stm32-Verzeichnis der FatFS-Zipdatei ;)
Und wo finde ich den STM32F100-Democode? Das sehe ich nicht, also auch kein stm32 Verzeichnis.