Gast
#665790
Hallo, ich arbeite gerade an einer Initialisierungsroutine für SD-Karten. Als Basis verwende ich das Dokument "Simplified Physical Layer Spec" der SD Card Association http://www.sdcard.org/about/memory_card/pls/. Nach dem Power-UP sende ich zunächst ein Reset (CMD0), dann CMD8, um auch High capacity Karten initialisieren zu können. Meine Karte unterstützt dies aber noch nicht. Dann schicke ich ACMD41 (genauer gesagt CMD55 und dann CMD41), und die Karte antwortet mir mit dem OCR - Register. Der CRC stimmt nicht, ds scheint aber laut Spec wohl so richtig zu sein. Leider ist das Busy Bit (Bit 31) bei mir immer LOW, was laut Spec bedeutet, dass die Karte noch mit der Initialisierung beschäftigt ist. In Kapitel 4.2.3 steht nämlich: > The busy bit in the OCR is used by the card to inform the host that > initialization of ACMD41 is completed. Setting the busy bit to 0 > indicates that the card is still initializing. Setting the busy bit to 1 > indicates completion of initialization. The host repeatedly issues > ACMD41 until the busy bit is set to 1. Das Bit will aber partout nicht 1 werden, solange ich auch warte. Die sonstigen OCR- Werte scheinen plausibel. Da ich hier nicht weiterkomme, habe ich mir eine ältere Spezifikation von Sandisk angeschaut : http://www.sandisk.com/Assets/File/OEM/Manuals/ProdManiNANDAbr1.1.pdf. Dort steht: > Besides the operation voltage profile of the modules, the response to > ACMD41 contains a busy flag, indicating that the module is still working > on its power-up procedure and is not ready for identification. This bit > informs the host that the module is not ready. The host has to wait (and > continue to poll the modules, each one on his turn) until this bit is > cleared. Hier steht also genau das Gegenteil von oben. Bit 0 heisst Karte ist bereit. Was ist denn nun richtig? Hat sich die Spezifikation geändert oder macht jeder Kartenhersteller was er will? Wie soll ich dann herausbekommen, was meine Karte nun tut? Wenn irgendjemand im Forum bereits mit diesem Problem konfrontiert wurde, ich wäre ihm für Hinweise sehr dankbar. MfG Walter