Gast
#726166
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