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

Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt. Bitte hier nur auf die ursprüngliche Frage antworten, für neue Fragen einen neuen Beitrag erstellen.

Formatierung
  • [c]C-Code[/c]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] – Link zu einem Artikel
  • Verweis auf einen anderen Beitrag: Rechtsklick auf dessen Beitrags-ID (#8078628), „Adresse kopieren“, in den Text einfügen

Mehr zur Formatierung

Längeren Sourcecode als Anhang, nicht in den Text. JPG nur für Fotos und Scans; Zeichnungen und Screenshots als PNG oder GIF. Siehe Bildformate.

Schon registriert? Anmelden

Wird nicht angezeigt. Wir schicken dir einen Link; sobald du damit bestätigst, erscheint dein Beitrag.

Mit dem Abschicken legst du einen kostenlosen Account an und erkennst die Nutzungsbedingungen und die Datenschutzerklärung an.