SD-Card ansteuern bzw. Formatieren

Gast #54390
Lesenswert?

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
Gast #54391
Lesenswert?

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?
Gast #54392
Lesenswert?

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

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.

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