Hallo! Ich will mit einem Atmel auf eine MMC- bzw. auf eine SD-Karte zugreifen. Dokumentiert habe ich mich über die frei zugänglichen Auszüge der MMC-Spezifikation, wie sie z.B. Samsung oder Sandisk zu ihren Produkten Karten herausgegeben haben. Der Atmel ist in einem STK500 Development-Board, die MMC-Karte in einem MMC-Slot, der an einem Festpannungsregler (3.3V) und die Spannungsteiler angeschlossen ist. Der Mikrocontroller, ein ATMega16, läuft mit 5V und 1MHz interner Clock. Initialisieren, Lesen und Schreiben funktionieren - im Grunde. Wenn ich jetzt eine Zeichenkette von der Karte lesen möchte (z.B. die FAT-Bootmeldung "This is not a bootable device" an Adresse 0x3e5b) - sagen wir davon die ersten 12 Bytes - so wird die Zeichenkette ausgelesen. Das 7. und das 8. Byte sind jedoch kaputt! Sie enthalten statt "0x73 0x20" ein "0x72 0x00" (!!) - das geschieht unabhängig von der Speicheradresse, zumal ich die Karte am PC mit "dd" dumpen und die richtige Zeichenkette erhalte - die CRC-Prüfsumme, die die Karte liefert, entspricht auch der der "richtigen" Zeichenkette - der Fehler tritt in leicht veränderter Form auch mit anderen Karten auf - Ändern der CPU-Clock hat keine Besserung gebracht, bei internen 8MHz wird sogar ab einer falschen Adresse gelesen (Offset -1) -- während bei extern geclockten 3.6864MHz sich kein anderes Verhalten als bei 1MHz intern ergibt - der Übertragungsfehler ist mit einem Logic-Analiser schon auf dem Bus zu erkennen - schliesse ich eine 2GB SD-Karte an, liefert diese nach einem eigenen Power-On-Reset die Zeichenkette ab Offest-1 Das ist das erste Projekt dieser Art, und stehe jetzt etwas hilflos da. Für mich klingt das nach einem elektrotechnischen Problem (Übersprechen der Leitungen? Kein klarer signalverlauf?) -- hat Jemand einen Hinweis, wie ich weiter vorgehen kann? Saluti! Ludwig
Hallo! "Luftlinie" vom Sockel zum entsprechenden Portausgang des Development-Boards 4cm, dann 2+1cm Saluti! Ludwig
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.