Forum: Mikrocontroller und Digitale Elektronik SD-Karte und SPI-Baudrate


von Bronco (Gast)


Lesenswert?

Mit welcher Baudrate sollte man nach der Initialisierung die 
SPI-Schnittstelle takten damit die meisten Karten unterstützt werden?

Ich hatte den Takt auf 5MBaud gesetzt was auch mit meiner ersten 
Testkarte wunderbar funktionierte. Schon die 2te Karte mag aber gar 
keine Baudraten über 400kBaud.

von Martin (Gast)


Lesenswert?

Nach der Initialisierung bis 25MHz. Deine 2. Karte wurde dann evtl. 
nicht richtig initialisiert. Welchen Code benutzt du?

von Martin S. (smartinick)


Lesenswert?

Wie ist denn die SD-Karte angeschlossen...?

Ich habe z.b. einen mega168 mit 20mhz:
Läuft der µC mit 3.3 Volt & direkt angeschlossener sd-karte, so geht das 
maximum, verwende ich aber 5V am µC und einen Spannungsteiler um auf die 
3.3V zu kommen, so geht's in der regel nur mit der halben 
geschwindigkeit... sieht mit richtigem levelshifter sicher auch wieder 
anders aus...

von Bronco (Gast)


Lesenswert?

Ich habe die Karte direkt an einem uC angeschlossen der mit 3,3V läuft.

Die initialisierung mit 400kBaud läuft sauber durch, danach schalte ich 
auf 5MBaud um und mit der 2ten Karte kommten falsche Daten beim Lesen 
eines Blocks. Belasse ich die Baudrate auf 400kBaud funktioniert es. 
Aber sobald ich eine höhere Baudrate wähle (1MBaud...) nicht mehr. Das 
kann doch nicht sein, ich dachte, dass jede Karte zumindest 5MBaud kann, 
da ich auch die 20MHz im Kopf hatte.

von Jean P. (fubu1000)


Lesenswert?

Hi,
wie sieht denn deine Ini für die SD-Karte aus und wartest du beim Lesen 
von Blöcken auch auf das ACK 0x00 von der SD und dem Block Anfang 0xFE ?

Gruß

von Bronco (Gast)


Lesenswert?

Ich warte auf den Block-Anfang 0xFE. Und eben an dieser Stelle bleibt 
meine 2te Karte hängen bei 5MBaud, da kommen erst einige andere Daten 
und dann nur noch 0xFF.

von Bronco (Gast)


Lesenswert?

Hier mal zum vergleich die Antworten auf ein Read Single Block Kommando:

Karte die funktioniert: (SanDisk)

0xFF 0xFF 0xFF 0xFF 0xFE -> Daten

Karte die nicht funktioniert (Kingston):


0  3F  E0  80  0  0  0  0  0  0  0  0  0  0  0  0  0
  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0 
0  0
0  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0 
0  0  0
 0  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0 
0  0  0
  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0 
0  0
0  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0 
0  0  0
 0  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0 
0  0  0
  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0 
0  0
0  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0 
0  0  0
 0  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0 
0  0  0
  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0 
0  0
0  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0 
0  0  0
 0  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0 
0  0  0
  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0 
0  0
0  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0 
0  0  0
 0  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0 
0  0  0
  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0 
0  0
80  80  1  61  F9  F9  FF  E0  0  0  0  3F  E7  60  0  0  0  0  0  0  0 
0  0  0
  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0 
0  0
0  0  0  0  0  0  0  0  0  0  0  0  A  B5  54  75  BF  FF  FF  FF  FF  F
-> FF forever

von Jean P. (fubu1000)


Lesenswert?

Zwar nur überflogen, aber wenn da nochn 0x55 0xAA am Schluß wäre hätte 
ich ja fast darauf getippt, daß das der MBR deiner Karte ist.
Kannste das mal formatieren, so daß man besser sieht was was ist. Am 
besten immer in 16byte Blöcke.

Ist die Kingston vielleicht ne SDHC ? Und zeig mal deine SD-Ini !

Gruß

von Bronco (Gast)


Lesenswert?

Ne, ist keine SDHC, ist eine 2GB-Karte. Wie gesagt, das komische ist ja, 
dass es mit 400kHz Takt funktioniert. Ich kann die Daten oben auch auf 
der Karte nicht finden, hab sie schon mit einem Hex-Editor geöffnet und 
danach gesucht.

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.