Forum: Mikrocontroller und Digitale Elektronik SD Card write Funktion hat ein Bug


von Tobias (Gast)


Angehängte Dateien:

Lesenswert?

Hallo,

ich habe einen großen Bug in meinem Programm, kann ihn aber verflixt
noch mal nicht finden. Könnt ihr mal schauen was ich falsch mache.
Ich möchte mit der Funktion eine SD Card bzw. MMC beschreiben. Nun
kommt das verrückte. Wenn ich diese Funktion einmal aufrufe
funktioniert es, die Daten sind dann auf der Karte. Rufe ich diese
Funktion ein zweites mal auf so kommt als Response 0x03, also illegales
Kommando angeblich. Dann hilft nur Karte von der Versorgungsspannung
trennen, die Karte wieder reseten und initialisieren. Selbst wenn ich
die Karte drin lasse, sie dann Resete und Initialisiere bleibt die
Karte bei der Initialisierung hängen. Ich habe es mit einer Standard
Sandisk SD Card 256MB einer Ultra Sandisk SD Card 1024MB und einer
Noname MMC 32MB versucht. Immer das gleiche. Ich programmiere mit einem
ATmega128l. Die Karte steuere ich mit dem SPI Bus an. Ich verstehe es
einfach nicht. Meine Read Funktion läuft einwandfrei. Bitte helft mir,
ich bin fast am verzweifeln. VIELEN DANK.

von Tobias (Gast)


Lesenswert?

hi Leute,

ich habe weiter an dem Problem gearbeitet. Ich habe irgendwo gelesen
dass man das CMD 13 Kommando schicken soll/muss um zu schauen ob
richtig geschrieben worden ist.  ABER hier kommt wieder ein illegales
Kommando als Response 0x04( R1 Response).
TOTAL KOMISCH, aber jetzt funktioniert es. Ich kann mehrere Block
hintereinander schreiben. Kann mir jemand sagen wieso es jetzt
funktioniert. Weil ich traue der Sache noch nicht. Wenn ich z.B andere
Karten nehme.

von Werner B. (Gast)


Lesenswert?

Beobachte doch einmal die 3,3V an der SD/MMC mit einem Oszi während Du
schreibst?!

von Daniel (Gast)


Lesenswert?

habe das gleiche problem....an was liegt das????!?!?!?
kann mir hier wer helfen bitte

liebe grüße
daniel

von Hannes Ebner (Gast)


Lesenswert?

?? gleiche problem ist hier auch

keiner der ne lösung hat

von Ralf (Gast)


Lesenswert?

Hast du wie oben vorgeschlagen mal mit dem Oszi geguckt, was die 
Spannung macht?

Ralf

von Hannes Ebner (Gast)


Lesenswert?

das nicht aber ich glaube auch nicht das es mit der spannung was haben 
kann.
denke hier eher das es bei den cmd ´s liegt ... hier wird irgendwo ein 
zwischenschritt reingehörn und dann wird das problem warscheinlich 
gelöst sein ... nur welcher ?! :-)

von Hannes Ebner (Gast)


Lesenswert?

hab leider kein oszi :-(

von Martin T. (mthomas) (Moderator) Benutzerseite


Lesenswert?

Thread ist uralt, dennoch "für die Akten" ein paar Binsenweisheiten:
* wie erwähnt ordentliche Spannungsversorgung, im Zweifel 100nF+10uF an 
VCC/GND nahe am Kartensockel
* Pullup an /CS und DO
* zumindest für erste Tests Controller und Karte mit 3,3V betreiben, 
schließt Problem durch Pegelwandler erstmal aus
* ChaN's Beispiele herunterladen ( 
http://elm-chan.org/fsw/ff/ffsample.zip ) und sich vom darin enthaltenen 
avr/mmc.c inspirieren lassen hilft oft (zumindest mir immer, wenn es 
darum geht, MMC/SD-Card auf einem neuen "Spielzeug" zum Laufen zu 
bringen).

von Hannes Ebner (Gast)


Lesenswert?

Herzlichen Dank Thomas hat mir fürn anfang weitergeholfen ... teste mal 
durch.... ich denke das ich die karte nicht sauber intitalisiere

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
Noch kein Account? Hier anmelden.