Hi, wer hat schon Erfahrungen mit der Ansteuerung einer SD-Card bzw. wie Speicher ich darauf Daten die in einem Standart Card-Reader als Datei zu lesen sind??
Ich habe neulich was zu mmc gefunden. MMC ist zwar etwas langsamer als SD, hat aber dafür nur 7 Pins. Die Speicheraufteilung ist afaik ein FAT12, bzw. FAT16. SD ist übrigens eine Weiterentwicklung von mmc. SD-Cards haben sind also MMC-Kompatibel. Die Pinbelegung von MMC-Karten ist folgende: 0 <- Cable Select (falls man die Karten clustern möchte) 1 <- Data In 2 <- GND 3 <- +3V 4 <- Clock 5 <- GND 6 <- Data out Wichtig zu sagen ist, das die Geräte für 3V ausgelegt sind, man also 5V nur zum Heizen benutzen sollte, wenn man keine MMC-Karten mehr braucht. Die Ansteuerung läuft über einen Befehlssatz, der eigentlich auf ASCII-Codes basiert. 0x20 ist beispielsweise ein Space, was einen Befehl eindeutig abschließt. vielleicht hilft Dir das hier weiter: http://homepage.ntlworld.com/seanellis/mmcserial.htm
klingt ja erst mal ganz gut. MMC sollt für mich reichen. Mir ist nur unklar wie ich eben die Daten in Fileformat auf das Ding bekomme. Muß sicher vorher formatiert werden, kann ja durch einen Card-Reader geschehen, und muß bestimmt auch Daten in eine FAT schreiben.? Hat das Ding dann auch ne FAT?
soo, war nur gestern nicht in der Nähe meiner Aufzeichnungen. Nun halt Dich mal fest ;) Die Daten schickst Du einfach seriell über den Data In - Port. Befehle sind folgende : 0x00 <- NOP (NO Operation) 0x53 <- Sleep - es gibt einen Power-Down-Modus bei den Karten. 0x20 <- Space - Hiermit wird jeder Befehl beendet 0x49 <- Identify Adapter 0x43 <- Identify Card 0x52 <- Read Data. hier gibt man anschließend in 4 Bytes die Anzahl der zu lesenden Bytes und dann die Adresse auch in 4 Bytes an. (anschließend das obligatorische Space) 0x57 <- Write Data Hier auch wieder 4Bytes Anzahl, 4 Bytes Adresse, anschließend DAten und 0x20 0x45 <- Erase. Das Gleiche wie bei Read (hier könnte es sein, dass da noch ein Parameter fehlt?) 0xbf <- Status Status des Gerätes abfragen. 0x22 <- Debug Einen Debugmodus hat das Ding, ich hab aber keine Ahnung, wozu.. Der Chip sendet auf jeden Befehl auch eine Antwort: 0x10 <- OK - Anweisung fehlerfrei durchgeführt. 0x11 <- Failed - Anweisung fehlgeschlagen 0x12 <- unknown command 0x13 <- waking from power down 0x14 <- command in progress (please wait) 0x15 <- data follows Der Chip beendet jede Anweisung mit dem Status OK (oder failed) Soo. Soviel zu dem, was ich rausgefunden habe. Wenn ich zufällig die Seite wiederfinde, wo ich die Infos her hab, geb ich bescheid...
danke erst mal für Deine Benühungen. Sind die von Dir aufgezeigten Kommandos für die SD bzw. MMC Karte direkt oder Befehle für den RS232/SD Adapter? Ich muß die Karte direkt an meinen uC schalten.
Das sind direkt Befehle für die Karte. vergiß beim Beschalten nicht, dass die Karten nur für 3.3V sind, ansonsten raucht Dir möglicherweise alles ab :)
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.