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