Bei der Initialisierung der SD Karte über SPI bekomme ich immer eine 81 zurück und keine 01. Das Verhalten habe ich mit mehreren Karten. Unterschiedliche Frequenzen während der Initphase habe ich schon probiert. MMC Karten funktionieren in der Zwischenzeit alle Problemlos. Hat jemand eine Idee woran das liegen kann das ich einen falschen Rückgabewert bekomme? Die vielen Beispiele hier machen auch alle nichts mesonderes und sollen teilweise ja auch mit SD Karte laufen, auch wenn hier ACMD 41 usw. niergends auftaucht, aber das würde ja eh erst beim Aufwecken eine Rolle spielen.
SD Karten werden teilweise unterschiedlich initialisiert. Schau dir mal den Beispielcode von http://elm-chan.org/fsw/ff/00index_e.html an. Meinst du 81 deziaml oder hexadezimal? Eine Karte muss immer "aufgeweckt" werden, bevor Daten gesendet werden können. Das ist auch beim Initialisieren so. Ansonten schau dir das ganze mit einem Logicanalyzer an, das hat mir schon sehr geholfen.
Wolfgang, Das hier ist auch sehr interessant und gut beschrieben: http://elm-chan.org/docs/mmc/mmc_e.html Jochen Müller
@Jochen - deinen Artikel habe ich für die MMC als Leitfaden genommen und das stimmt soweit auch alles was da beschrieben ist. Glücklicherweise hatte ich den Artikel schon gefunden, denn er ist eine gute Zusammenfassung der MMC Spezifikation. Leider aber bei mir mit den oben beschriebenen SD Problemen. @Tilo - auch diesen Artikel kenne ich schon. Ist ja die gleiche Quelle wie von Jochen. Generell stimmt alles was bei den Artikeln beschrieben ist und mit einer MMC geht das auch alles (besser gesagt mit 6 verschiedenen MMC Karten mit unterschiedlichen Größen, Systemen und Herstellern ;). Lediglich bei den SD Karten bekomme ich eine 81H zurück. Die 1 wäre ja bei einer 01H richtig für den Standby Betrieb, aber die 8 ist einfach Schrott. Normal sollte jede Antwort auch bei einem Fehler doch immer mit im MSB eine 0 haben und in den anderen 7 Bit ist der Fehler bzw Zustand beschríeben. Gehe ich nun bei der 81H Antwort her und versuche die Karte einfach mal zu wecken dann bekomme ich egal bei welchem Kommando die 85H. Die 5 würde ja falsches Kommando bedeuten.... Hab schon mal befürchtet das die SD Karten irgendwie noch nicht richtig im SPI Mode sind und daher ganz andere Antworten kommen - hat da jemand Erfahrung mit?
Sendest du nur einmal CMD0 ? Mach mal ein paar Wiederholungen. Das könnte helfen.
Ich hab es schon mit mehr als 1x probiert. Beim zweiten Mal kommt dann schon die Antwort 85H :(
wenn du es auf einem AVR oder ARM7 versuchst, teste doch mal nachfolgenden code: http://www.embedded-os.de/index.html?pcfat_port.htm Wenn es damit auch nicht geht (ähnliches kenne ich von älteren MMC-Karten), wäre ich sehr an einer Liste der problematischen Typen interessiert...
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.