Microcontroller + SD = Fehler im Bootsektor

OP #2997614
Lesenswert?

Hallo zusammen,

ich habe einen AT91SAM9XE und versuche damit eine SD-Karte zulesen. 
Soweit funktioniert das auch. Aber beim lesen des Bootsektors kommt in 
den Bytes 510 und 511 0xEE55 (soll 0xAA55) oder manchmal auch 0xEE11. 
Ich habe auf der gesamten Platine eine 3,3V Spannung (der GDB-Server 
zeigt 3,28V an) benutze also keine Levelshifter.

Kann mir jemanden sagen woher diese Problem kommen kann? In Windows habe 
ich die Bytes gelesen und dort sind die Korrekt also muss es irgendwo 
einen Fehler geben!

Vielen Dank schonmal vorab.
OP #2999461
Lesenswert?

Ich habe mal das Internet bemüht. Dann bin ich zu dem Entschluss 
gekommen, einen Abblockkondensator zu verbauen nun (100nF). Nun ist es 
so das es nicht mehr nur noch die oben genannten werte gibt (0xEE55 und 
0xEE11) sondern jetzt kommt es selten vor das der richtige Wert kommt 
(0xAA55) und ein weiterer Falscher Wert kommt nun vor (0x0000).

Hat jemand eine Idee wie ich das beheben kann?
Gast #2999482
Lesenswert?

so

1bit mode
4bit mode
welche frequenz?
umschaltung der pullups lief?

Treiber selber geschriebenen / zugekauft?
Was wird alles verwendet, DMA  FIFO  ...

stimmt nur die letzten bytes nicht oder auch andere? mit dem PC mal ein 
schönes muster auf die karte schreiben, damit man weiss was da drauf 
sein sollte. ggf spinnt ja nur eine der Datenleitungen (sollte aber dann 
zu nem crc fehler führen) oder die daten werden ncith schnell genug aus 
dem fifo ausgelesen / ....

Signalgüte auf den Datenleitungem messen / Pegel,

Portkonfiguration überprüfen (pullups)

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren