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

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