micro sd card hc antwortet auf cmd0 komisch

#2188723
Lesenswert?
• ▲
▼
martin schrieb:
> Hallo,
> ich versuche vergeblich eine sandisk µ SD HC Card (8GB) zu
> initialisieren.
>
> Schicke ich CMD0 (nachdem 100 Takte vorgegeben wurde), so kommt als
> Antwort:
>
> 0xC0 0x7F 0xFF 0xFF 0xFF 0xFF

Eine R1 Antwort auf CMD0 kann im SPI Modus nie mit einer 1 am Anfang 
zurückkommen. Mit welcher Geschwindigkeit arbeitet denn der SPI Bus 
während der Init Phase?
Ich hatte nämlich mal gelesen, dass während der Initialisierung nur mit 
geringer Geschwindigkeit gearbeitet werden sollte. Erst danach kann man 
den SPI Bus auf maximale Geschwindigkeit hochschalten. Ich betreibe beim 
Initialisieren den SPI Bus nur 115200Bps und schalte erst nach dem Init 
in den Mbps Bereich hoch. Damit konnte ich bisher noch alle Karten 
betreiben.

Ciao,
     Rainer
Gast #2189268
Lesenswert?
• ▲
▼
>Ich hatte nämlich mal gelesen, dass während der Initialisierung nur mit
>geringer Geschwindigkeit gearbeitet werden sollte.

Das ist richtig. Ein Pullup an MISO hilft auch ungemein bei
der Init. Ohne Pullup muss man CMD0 nach meiner Erfahrung mehrfach
wiederholen. Beim ersten CMD0 ist MISO der Karte noch kein
PushPull Ausgang sondern OpenCollector. Das ändert sich erst wenn
CMD0 einmal ausgeführt wurde.
Gast #2189336
Lesenswert?
• ▲
▼
Es sieht so aus, als ob die Antwort um 2 Bit nach rechts verschoben ist.
Vor dem eigentlichen Initialisieren die Karte abwählen (/CS auf high), 
ein Byte senden (0xFF oder so) und /CS wieder auf low hat zumindest hier 
geholfen.
#2189746
Lesenswert?
• ▲
▼
eric schrieb:
> Es sieht so aus, als ob die Antwort um 2 Bit nach rechts verschoben ist.
> Vor dem eigentlichen Initialisieren die Karte abwählen (/CS auf high),
> ein Byte senden (0xFF oder so) und /CS wieder auf low hat zumindest hier
> geholfen.

Stimmt, ist auch ein guter Hinweis. Ich sende mit /CS=1 erst mal 15 
Dummybytes bevor ich /CS=0 und dann CMD0 an die Karte sende. Vermutlich 
könnte ich auch etwas weniger Dummybytes senden, aber das hat sich 
bisher ganz gut bei mir bewährt. :)

Wegen dem Pull-Up hatte ich nie Probleme. Ich betreibe die SD-Karte an 
einem LPC935 (8051er) mit dem Portpin im quasi-bidirektionalen Modus. 
Dadurch habe ich einen schwachen Pull-up im Contoller schon drin.

Ciao,
     Rainer

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.