mikrocontroller.net

Forum: Projekte & Code SD-Card: Random Access Verschlucker


Autor: Stephan Knecht (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Folgendes Phänomen: Lesen von SD-Karte SanDisk 1.0GB (und andere
Grössen) läuft super, wenn Sektoren seriell ausgelesen werden. Falls
aber zufällig Sektoren angesprungen werden ist die Karte bei jedem 2.
oder 3. Sektor beleidigt und bleibt stumm. Wir versuchen dann einfach
ein zweites mal zu lesen, auf exakt dieselbe Weise, und dann gehts.

Bei Toshiba und anderen Herstellern tritt der Effekt nicht auf; dort
kann beliebig gelesen werden.

Ein zu frühes Abbrechen vom Prozessor kann ausgeschlossen werden; wenn
wir 1 ganze Sekunde (oder länger) warten meldet sich die Karte immer
noch nicht. Auf das zweite, identische Read-Kommando reagiert sie dann
aber sofort.

Frage: Gibt es irgend ein Statusbit oder was ähnliches, das wir
übersehen haben? Vielleicht muss man es generell beachten, aber nur bei
SanDisk rennt man in den kritischen Bereich. Hat jemand ähnliches
beobachtet oder sogar gelöst?

Wir vermuten, SanDisk arbeitet mit internen Cache-Strukturen in der
Karte, die mittels irgendeinem Statusbit sauber abgefragt werden
wollen.

Danke,
Stephan Knecht / Zürich

Autor: Nik Bamert (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
ich kenne das Problem, allerdings tritt es bei mir auf, wenn ich nach
relativ langer Zeit wieder von der Karte lesen möchte. Bei mir verhält
sich das etwa so(baue einen mp3 player):

Ich lese die id3 Tags aus die am anfang der Datei stehen, dann spiele
ich den Song dazu ab. Bis zum nächsten Song vergeht jeweils so lange,
bis der Benutzer einen neuen Song selektiert-kann somit recht lange
gehen. Die Tags, welche ich aus dem ersten sektor der Datei auslese,
muss ich mittlerweilen sechs mal hintereinander lesen, damit auch alles
klar rüber kommt, teilweise genügen auch 3 Mal. Ich dachte bisher dass
ich irgendwie etwas falsch mache, aber es scheint wirklich die Karte zu
sein, denn ich verwende auch eine 1Gb Sandisk(standard, also keine
ultra/extreme III) vielleicht kann uns dennoch jemand helfen.. :-)

Nik

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.