Forum: Mikrocontroller und Digitale Elektronik Microcontroller + SD = Fehler im Bootsektor


von Max B. (bommel2012)


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.

von Davis (Gast)


Lesenswert?

Könnte an den SPI-Einstellungen liegen. Z. B., wann das Bit abgetastet 
wird.

von Max B. (bommel2012)


Lesenswert?

Danke erstmal für die Antwort, aber das kann ich auschließen, weil...

Ich habe leider vergessen darauf hinzuweisen, das ich das nicht mit SPI 
mache sondern mit der Hardware MCI.

von CSelect (Gast)


Lesenswert?

Max Bommel schrieb:
> Aber beim lesen des Bootsektors kommt in
> den Bytes 510 und 511 0xEE55 (soll 0xAA55) oder manchmal auch 0xEE11.

Was soll man dazu sagen, ohne zu wissen, welche libraries du benutzt 
oder ohne dass du den Code zeigst?

Was erwartest Du?

von Max B. (bommel2012)


Angehängte Dateien:

Lesenswert?

Entschuldigung. Daran habe ich nicht gedacht. Aber ich bin auch ziemlich 
sicher das es an der Hardware liegt.

Ich benutze das Demo-Projekt von Atmel.

Macht vllt. auch Sinn den Schaltplan auszug mit zu Posten.

von Max B. (bommel2012)


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?

von 123 (Gast)


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)

von Schrippe (Gast)


Lesenswert?

Max Bommel schrieb:
> Ich benutze das Demo-Projekt von Atmel.

Muß man sich das selber suchen, oder kannst Du keinen Link darauf legen?

von Max B. (bommel2012)


Lesenswert?

So anbei ein zum der Projektsammlung. Es geht um das SD-Projekt mit FAT 
(basic-fatfs-sdcard-project-at91sam9xe-ek-gnu).

http://atmel.com/Images/at91sam9xe-ek.zip

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.