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 Jemand eine Idee?? Martin
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
>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.
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.
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
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
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.