mikrocontroller.net

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


Autor: Bronco (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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.

Autor: Martin (Gast)
Datum:

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

Autor: Martin S. (smartinick)
Datum:

Bewertung
0 lesenswert
nicht 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...

Autor: Bronco (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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.

Autor: Jean Player (fubu1000)
Datum:

Bewertung
0 lesenswert
nicht 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ß

Autor: Bronco (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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.

Autor: Bronco (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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

Autor: Jean Player (fubu1000)
Datum:

Bewertung
0 lesenswert
nicht 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ß

Autor: Bronco (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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.

Antwort schreiben

Die Angabe einer E-Mail-Adresse ist freiwillig. Wenn Sie automatisch per E-Mail über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.

Wichtige Regeln - erst lesen, dann posten!

  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [avrasm]AVR-Assembler-Code[/avrasm]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel
  • Verweis auf anderen Beitrag einfügen: Rechtsklick auf Beitragstitel,
    "Adresse kopieren", und in den Text einfügen




Bild automatisch verkleinern, falls nötig
Bitte das JPG-Format nur für Fotos und Scans verwenden!
Zeichnungen und Screenshots im PNG- oder
GIF-Format hochladen. Siehe Bildformate.
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.

Mit dem Abschicken bestätigst du, die Nutzungsbedingungen anzuerkennen.