an einem ADSP-CM403F mit Cortex M4 soll eine MicroSD-Card angeschlossen werden, falls möglich im QSPI-Mode. Im Datenblatt fand ich den Hinweis auf SPI_D2 und SPI_D3. Es sind also SPI-Signale für paralleles Schreiben über mehrere IOs vorgesehen. Bisher habe ich weder Erfahrung mit Cortex M4 noch Erfahrung mit QSPI an Cortex M4 bzw. hier ADSP-CM403F. Kann mir jemand sagen wo ich ein Beispiel für eine Implementierung finden kann? Welche Pins der Karte müssen an welchen Portpins angeschlossen werden damit ein geeigneter Softwaretreiber für FAT brauchbar arbeiten kann?
QSPI geht nicht mit SD Karten, da geht nur das "normale" 1-bittige SPI. Wenn der µC eine SD(HC/XC) Karte schnell ansteuern soll, braucht er eine SDIO Schnittstelle. Das findet man dann im Datenblatt, falls vorhanden.
Timmo H. schrieb: > Vielleicht mal die Implementierung der Blackfins in U-Boot > ansehen? ich habe gesehen daß es ein Dokument von AD gibt. Das schien mir jedoch nicht so brauchbar für diesen Fall. Ich kenne weder die Blackfins noch die Cortex M4 besonders gut und auch die 1800-Seiten Doku habe ich bisher nicht näher angesehen.
Jim M. schrieb: > QSPI geht nicht mit SD Karten, da geht nur das "normale" 1-bittige > SPI. Danke Jim. Es gibt das XMC4500 Relax Kit-V1: https://www.infineon.com/dgdl/Board_Users_Manual_XMC4500_Relax_Kit-V1_R1.2_released.pdf?fileId=db3a30433acf32c9013adf6b97b112f9 dabei wird ein microSD CardSlot über Portpins des Cortex M4 direkt mit der Karte verbunden. Siehe Users Manual S.16. Es werden DAT0, DAT1, DAT2 und DAT3 angeschlossen und dazu auch CMD und CLK. es ist mir jedoch noch unklar ob der Cortex M4 im ADSP das so auch kann und welche Pins dazu genutzt werden sollten. > Wenn der µC eine SD(HC/XC) Karte schnell ansteuern soll, braucht er eine > SDIO Schnittstelle. Das findet man dann im Datenblatt, falls vorhanden. im Datenblatt des ADSP-CM403F Rev.A 11.2015 finde ich Signale wie SPI Clock, SPI Data 2, SPI Data 3. Data 0 und Data 1 sehe ich jedoch nicht. es gibt auch SPORT A Channel Clock, SPORT A Channel Data 0, SPORT A Channel Data 1.
im Datenblatt des ADSP steht dass bis 16MB externes Serial Quad Flash Memory optional an SPI0 angeschlossen werden kann. Im Quad Mode Transmit werden SPI_MISO, SPI_D2 und SPI_D3 zu Ausgängen. Beim Quad Mode Receive werden SPI_MOSI, SPI_D2 und SPI_D3 zu Eingängen. Beim Quad I/O-Mode werden 4 bits gesendet auf SPI_MOSI, SPI_MISO, SPI_D2, SPI_D3. Die Ordnung der Bits kann auch vertauscht werden. Auf S.1339 findet sich ein Bild "Quad Mode Timing for CPHA=0, SOSI=1, 16-Bit Transfer, LSBF=0". Damit müsste es doch möglich sein eine MicroSD im 4bit-Mode anzusprechen - oder spricht etwas dagegen? Für mich ist das Neuland. Eine SDIO-Schnittstelle ist das wohl nicht. Zumindest taucht der Name nicht auf. Was bringt jedoch ein Quad-Interface wenn man Speicher wie MicroSD damit nicht ansprechen kann? Unklar ist mir im Moment wie das mit dem CMD-Pin ist. Zum Ansprechen muss man ja DAT0-3 anschließen und auch das bidir. CMD-Signal. Keine Ahnung an welchen Pin das soll. In der Pin-Liste des Chips tauchen Namen auf wie SPI0_ClK SPI0_D2 SPI0_D3 SPI0_MISO SPI0_MOSI SPI0_SEL1 SPI0_SEL2 SPI0_SEL3 CMD ist da nicht dabei. Wenn man die SEL-Leitungen nutzen könnte um 2 Karten anzusteuern, so könnte ich neben das MicroSD mit 4 parallelen Datenleitungen auch ein Flash mit 4 parallelen Datenleitungen anschließen. Da offenbar kein CS da ist im Quadbetrieb weiß ich nicht wie das gehen soll. Bei dem Anschlussbild im Toshiba-Datenblatt 2006 der SD-Karte (S.7) sind am Host im SD-Mode 2 SD-Karten und eine MMC-Karte über jeweils separate Pins angeschlossen. Im SPI-Mode hingegen werden die CS-Leitungen benutzt. Man muss also wohl zu Klimmzügen greifen um neben MicroSD auch ein Flash über 4 Datenleitungen anzusteuern.
:
Bearbeitet durch User
QSPI ist nunmal für Flashbausteine mit QSPI. (So manche µC haben auch einen Octa SPI um 2 QSPI Flashbausteine parallel zu betreiben) Dann wird zB beim booten das Programm 4 mal so schnell in den RAM kopiert. SDIO für SD Karten hat NICHTS mit QSPI zu tun, schlag dir das mal aus dem Kopf. Also entweder du findest einen ADSP mit SDIO oder nutzt die Karte im 1Bit SPI Mode.
Mw E. schrieb: > Also entweder du findest einen ADSP mit SDIO oder nutzt die Karte im > 1Bit SPI Mode. Danke für den Hinweis !
Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.