SD Card in SPI Modus Initilisieren

Gast #5301256
Lesenswert?
• ▲
▼
Hallo,
ich habe einen ATxmega über SPI an eine SD Karte angeschlossen.
Genauer gesagt nutze ich den USARTE0 im SPI Modus mit 200KHz.
Wie beinahe alle Artikel vorschlagen führe ich folgende Sequenz aus um 
die SD Karte im SPI Modus zu initialisieren:

1. Set CS HIGH
2. Send 100 x 0xFF Dummy Bytes
3. Set CS LOW
4. Send CMD0 (0x400000000095)
   -> Receive 0x01
5. Send CMD8 (0x48000001AA87)
   -> Receive 0x01000001AA
6. Send CMD55 (0x7700000000FF)
   -> Receive 0x01
7. Send ACMD41 (0x6940000000FF)
   -> Receive 0x01
8. Jump to 5. if 0x01

Bei den Schritten 4. & 5. Erhalte ich die richtigen Rückmeldungen von 
der SD Karte.
Die Schleife 6. & 7. wird aber nie verlassen, da die SD Karte immer im 
Idle Modus bleibt und 0x01 zurückgibt.
Ich habe schon sehr viel ausprobiert was in anderen Threads 
vorgeschlagen wurde aber ich konnte das Problem nicht lösen.
Ich habe auch 5 verschiedene SD Karten ausprobiert.
Von einer 16MB SD Karte bis zur 4GB SD HC ist alles dabei.
Im Anhang ist die Aufzeichnung vom Logic Analyzer (Saleae).
Angehängte Dateien:
#5301497
Lesenswert?
• ▲
▼
Simon B. schrieb:
> Wozu ist die 4 im Argument? Müsste das nicht 0x6900000000FF heißen?

Nein. Das ist das HCS Bit für Karten >=4GB, und der OP hat nur die.

Der Code hier aus FATFS sendet das ACMD41 solange bis das 0x01 Bit nicht 
mehr gesetzt wird (oder ein Timeout auftritt).
Danach wird noch mittels CMD58 das OCR Register gelesen - nur dann weiss 
man ob man eine SD oder SDHC Karte im Sockel hat.

Antwort schreiben

Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt. Bitte hier nur auf die ursprüngliche Frage antworten, für neue Fragen einen neuen Beitrag erstellen.

Formatierung
  • [c]C-Code[/c]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] – Link zu einem Artikel
  • Verweis auf einen anderen Beitrag: Rechtsklick auf dessen Beitrags-ID (#8078628), „Adresse kopieren“, in den Text einfügen

Mehr zur Formatierung

Längeren Sourcecode als Anhang, nicht in den Text. JPG nur für Fotos und Scans; Zeichnungen und Screenshots als PNG oder GIF. Siehe Bildformate.

Schon registriert? Anmelden

Wird nicht angezeigt. Wir schicken dir einen Link; sobald du damit bestätigst, erscheint dein Beitrag.

Mit dem Abschicken legst du einen kostenlosen Account an und erkennst die Nutzungsbedingungen und die Datenschutzerklärung an.