MicroSD-Card an ADSP-CM403F

#5924070
Lesenswert?

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?
#5924757
Lesenswert?

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.
#5927366
Lesenswert?

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.
(Firma: fritzler-avr.de) #5927499
Lesenswert?

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.

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren