mikrocontroller.net

Forum: Mikrocontroller und Digitale Elektronik SD-Card,, SPI, Geschwindigkeit erhöhen


Autor: Tilo L. (katagia)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo

Ich verwende gerade ein ADUC7026 Evaluationboard. an das
Board habe ich einen SD zu Micro-SD Adapter über Pfostenstecker
verbunden. Die Leitungen habe ich sehr kurz gehalten, max 2cm.
Direkt an den Adapter habe ich einen 10uF Tental angebracht,
um die Versorungsspannung zu stabilisieren.

In dem Adapter steckt eine MicroSD Karte

Mit ca. 5MHz läuft die Karte ganz gut. Die Datenrate liegt bei
ca. 200kb/sek (getestet mit Stoppuhr und großer Datei).

Jetzt würde ich gerne den SPI-Takt erhöhen. Bei höheren Taktraten
wird die Karte nicht mehr richtig initialisiert und sie lässt
sich nicht mehr richtig ansprechen.

Ich habe mir also auf einem Oszi das CLK-Signal und MOSI-Signal
angesehen (getriggert auf CLK). Mit einem Rechtecksignal
hat das ganze nicht mehr so viel Ähnlichkeit. Wenn 0xAA,
also 10101010 gesendet wird, sieht das schon eher wie ein Sinus
aus.

Ausserdem ist auf der Versorgungsspannung ein leichter Sinus
zu erkennen, der synchron CLk ist. Die Amplitude liegt unter 150mV,
bei Vdd=3,3V.

Leider kenne ich mit höheren Frequenzen nicht mehr so aus.
Ich hätte als erstes einen Treiber in die Signalleitungen gesetzt.

Ich konnte zu diesem Thema viel finden, also viele die Probleme
bei hohen Taktraten haben. Ich konnte allerdings wenig konkrete
Lösungen finden.

Was würdet ihr mir empfehlen?

Vielen Dank, Tilo

Autor: Jörn Kaipf (joern)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Vor dem gleichen Problem stand ich auch schon. Dabei hat sich 
herausgestellt, dass der SPI Bus des ADUCs nur bis ~3.5 MHz funktioniert 
und gespect ist und alles andere purer Zufall ist.

Gruß Jörn

Autor: Tilo L. (katagia)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Wie hast du das herausgefunden, bzw. was tat bei dir nicht?
Im Datenblatt ist eine Tabelle, die bei 3,482MHz aufhört.
Dort steht aber auch drin, dass dies nur eine "Zusammenfassung"
ist und sich nach der angegebenen Formel fSPI=41MHz/(2*(1+SPIDIV))
berechnen lässt.
Andererseits steht weiter vorne, dass bei 3,48MHz Schluss ist.
Als Slave sollen aber bis zu 10MHz drin sein.

Vielleicht sollte ich mal das Datenblatt richtig lesen.

Schade, dann geht wohl nicht mehr. Wobei ich dann wohl schon Glück
habe, dass es mit 5MHz läuft.

Autor: Jörn Kaipf (joern)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Bei mir war es so, dass die Beziehung zwischen Takt und Daten nicht mehr 
gepaßt haben. Eine Nachfrage bei Analog Device hat die traurige 
Gewissheit gebracht, dass der SPI Bus nicht mehr kann...

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.