Forum: Mikrocontroller und Digitale Elektronik MMC/SD Karte geben kein Antwort von sich (ARM)


von opacer (Gast)


Angehängte Dateien:

Lesenswert?

Hallo,
ich bin bald am Verzweifeln ...

Ich versuche eine SD/MMC Karte (teste mit beiden Typen) zum laufen zu 
bringen an dem MCI Interface vom AT91SAM9260. Erstmal wollte ich "nur" 
die Karte initialisieren.

Dazu habe ich mir einiges bei den Atmel Beispielen für SAM9263 und 
RM9200 abgeschaut. Wenn ich ein Command sende (z.B. CMD1) das ein 
Responde hat, dann muss ich laut Datenblatt ja das Kommando in das CMDR 
schreiben. CMD1 hat gibt eine Rückgabe (48Bit) zurück. Diese Rückgabe 
soll man dann sobald im Statusregister CMDRDY auf 1 ist aus dem RSPR 
Register lesen können.

Nur egal wieoft/wieviel/wann ich lese, ich bekomme immer nur 0 aus dem 
Register. Sowohl mit MMC als auch SD-Karte. Und jetzt weis ich echt 
nichtmehr weiter.. Egal welcher Befehl, egal wie lang der Responde sein 
soll.

Zur Hardware..

Angeschlossen ist die Karte an PA6-PA11 also MCDA0-4/MCCK/MCCDA. An 
MCCDA (CMD) habe ich einen 4.7k Pull-Up angeschlossen. MCCK ist über 
einen 10k Widerstand an SCK0 angeschlossen (so wie im EK). Auf dem 
Oscilloskop kann ich den Takt beobachten der soweit auch gut aussieht. 
Taktrate sind etwa 200kHz (laut Softwareberechnung und Messen mit dem 
Oscar). Auf der CMD Leitung tut sich zwar auch was, aber im Register ist 
trotzdem gähnende leere.

Anbei mein Testcode. Die Funktionen MCI_Init() und MCI_InitCard() rufe 
ich aus der main() auf.

Grüße & Hoffe ihr könnt mir weiterhelfen

von opacer (Gast)


Lesenswert?

Jetzt bin ich mal etwas weiter gekommen ..

Wenn ich ein CMD1 mache, erhalte ich auch das OCR zurück -- jedenfalls 
fast. Im Debug Fenster habe ich an Speicher 0xFFFA8020, also wo Responde 
stehen soll auch das Register tatsächlich stehen.

Aber leider bekomme ich das nicht in irgendeine Variable rein ;(

g = AT91F_MCI_GetRSP0Reg(AT91C_BASE_MCI);

liefert mir immer nur 0x00000000 obwohl laut Memory Window was anderes 
drin steht. Ist übrigens Keil µVision.

Grüße

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.