Forum: Mikrocontroller und Digitale Elektronik CMD17: microSD-Card geht, SD-Card geht nicht


von Harald (Gast)


Lesenswert?

Eine microSD-Card initialisiere ich mit den Kommandos CMD0 und CDM1. 
Danach lese ich die Blöcke der Karte mit CMD17. Das funktioniert seit 
Jahr und Tag ohne Probleme.

Mit SD-Cards (1 GByte Platinium) funktioniert es nicht. CMD0 und CMD1 
laufen wie gewohnt ohne Fehler. Bei CMD17 warte ich vergeblich auf den 
Datastarttoken 0xFE.

Kennt jemand dieses Problem? Was muss ich machen, damit es auch mit 
SD-Cards klappt?

von holger (Gast)


Lesenswert?

>Kennt jemand dieses Problem? Was muss ich machen, damit es auch mit
>SD-Cards klappt?

Nichts. Alle meine SD und MicroSD Karten laufen problemlos
mit CMD17. Du kannst ja mal CMD18 ReadMultiBlock probieren,
aber ich denke dein Problem liegt ganz woanders.

von Harald (Gast)


Lesenswert?

holger schrieb:

>>Kennt jemand dieses Problem? Was muss ich machen, damit es auch mit
>>SD-Cards klappt?
>
> Nichts.

Da bin ich doch ein wenig überrascht.

CMD18 werde ich testen.

von holger (Gast)


Lesenswert?

>CMD18 werde ich testen.

Wird wahrscheinlich nichts bringen.

CMD0 und CMD1 werden in der Regel mit einer sehr kleinen SPI
gesendet. Zum Daten lesen schaltet man dann meist auf Vollgas.
Wenn dein SD Karten Interface dann aus Spannungsteilern besteht
kann es passieren das die eine Karte das mitmacht, und die andere nicht.

War hier schon oft das Problem.

von holger (Gast)


Lesenswert?

>CMD0 und CMD1 werden in der Regel mit einer sehr kleinen SPI
>gesendet.

CMD0 und CMD1 werden in der Regel mit einer sehr kleinen SPI
Geschwindigkeit gesendet;)

von Harald (Gast)


Lesenswert?

holger schrieb:

>>CMD18 werde ich testen.
>
> Wird wahrscheinlich nichts bringen.
>
> CMD0 und CMD1 werden in der Regel mit einer sehr kleinen SPI
> gesendet. Zum Daten lesen schaltet man dann meist auf Vollgas.
> Wenn dein SD Karten Interface dann aus Spannungsteilern besteht
> kann es passieren das die eine Karte das mitmacht, und die andere nicht.

Die Initialisierung geschieht mit 250 KHz Takt, das Lesen der Blöcke mit 
CMD17 ebenfalls. Keine Spannungsteiler. Echte saubere 3,3 V 
Schnittstelle.

von W.S. (Gast)


Lesenswert?

Harald schrieb:
> Eine microSD-Card initialisiere ich mit den Kommandos CMD0 und CDM1.

Ach ja, und das war's dann?
Ganz ohne CMD8, ACMD41, CMD2, CMD3, CMD9 ?
Ganz ohne Unterscheidung ob SDHC, SD2.0, SD1.x ?

Ich hab vor geraumer Zeit hier schon mal nen einigermaßen ORDENTLICHEN 
SD-Treiber (für LPCxxx und STM32xxx) gepostet. Such mal danach und schau 
dir an, wie das richtig geht.

W.S.

von Harald (Gast)


Lesenswert?

W.S. schrieb:
> Harald schrieb:
>> Eine microSD-Card initialisiere ich mit den Kommandos CMD0 und CDM1.
>
> Ach ja, und das war's dann?

Habe ich doch geschrieben. Hast du das nicht gelesen?

> Ganz ohne CMD8, ACMD41, CMD2, CMD3, CMD9 ?

Liest du die Posts nicht durch, auf die du antwortest?

> Ganz ohne Unterscheidung ob SDHC, SD2.0, SD1.x ?

Noch einmal: erst lesen - dann posten.

> Ich hab vor geraumer Zeit hier schon mal nen einigermaßen ORDENTLICHEN
> SD-Treiber (für LPCxxx und STM32xxx) gepostet. Such mal danach und schau
> dir an, wie das richtig geht.

Und noch einmal, damit auch du es verstehst: ich habe eine Frage 
gestellt und nur auf die erwarte ich eine Antwort.

von Wolfgang (Gast)


Lesenswert?

W.S. schrieb:
> Ich hab vor geraumer Zeit hier schon mal nen einigermaßen ORDENTLICHEN
> SD-Treiber (für LPCxxx und STM32xxx) gepostet.

Hast du dazu auch einen Link?

von W.S. (Gast)


Lesenswert?

Harald schrieb:
> Und noch einmal, damit auch du es verstehst: ich habe eine Frage
> gestellt und nur auf die erwarte ich eine Antwort.

Und du glaubst, bei SO EINEM Ton, den du anschlägst, selbige auch zu 
kriegen? Dreistigkeit sowas. Wer so großartig ist wie du, sollte seine 
Probleme gefälligst selber lösen und nicht andere damit belästigen.



Wolfgang schrieb:
> Hast du dazu auch einen Link?

Puh.. nein. Suchen ist angesagt. Ich poste gelegentlich mal ne Quelle 
von mir in einem Thread, wo jemand ein Problem mit entsprechendem Thema 
hat, aber ich führe darüber kein Buch. Und da sowas dann nicht in den 
Überschriften auftaucht, hilft nur Volltextsuche oder das Ganze nochmal 
posten. Aber nicht in DIESEM Thread, da der TO sich schlichtweg 
danebenbenommen hat. Ansonsten müßte das so etwa 1/2 Jahr her sein und 
die STM32 Version hatte noch kein Sektor-Write. Mal sehen, vielleicht 
poste ich das mal separat in der Codesammlung.

W.S.

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
Noch kein Account? Hier anmelden.