mikrocontroller.net

Forum: Mikrocontroller und Digitale Elektronik MMC/SD schreib Puffer sparen


Autor: Daniel R. (zerrome)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
hallo,

wäre es möglich, byteweise auf eine mmc/sd karte zu schreiben?
also z.b. kommando block schreiben an karte und dann häppchenweise nur 
512 bytes an daten, mit pausen dazwischen (halt in dem rhythmus wie die 
daten anfallen) ...
geht die karte irgendwann in idle, oder bleibt die in der aktion, die 
sie grade ausführt, macht nur nix ohne takt?
man könnte dann so den puffer zum schreiben sparen.

ist das halbwegs verständlich erklärt?

Autor: Matthias Larisch (matze88)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hi!

Das funktioniert so, du darfst nur die Karte nicht selbst ins Idle 
schicken (Also den ChipSelect während der kompletten 512 Byte aktiv 
lassen!). Ich bin derzeit auch bei einem Projekt, bei dem ich Daten auf 
SD Karte logge (allerdings langfristig, d.h. 512 Byte fallen vll in 1 
Minute an), da puffere ich die Daten direkt in der Form, wie sie auf die 
SD Karte sollen und schreibe dann den 512 Byte Puffer, sobald er voll 
ist. In der Zwischenzeit wird die SD Karte komplett abgeschaltet, das 
spart ne Menge Strom (SD ist dann nur < 0,5s in der Minute aktiv). Wenn 
dein Ram natürlich so knapp ist, dass du keine 512 Byte entbehren 
kannst, musst du die Karte halt die ganze Zeit aktiv halten und Byte für 
Byte ausgeben, wenn du es hast/schreiben willst. Dazu nen Zähler, dass 
du weißt, wann 512 Byte rum sind und dann die SD wieder schlafen legen.

Matze

Autor: Simon K. (simon) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Matthias Larisch wrote:
> Hi!
>
> Das funktioniert so, du darfst nur die Karte nicht selbst ins Idle
> schicken (Also den ChipSelect während der kompletten 512 Byte aktiv
> lassen!).

Soweit ich weiß, muss der Chipselect während der gesamten Übertragung 
aktiv bleiben, sonst wird das Schreiben abgebrochen (wenn Anzahl Bytes < 
512)

Autor: Daniel R. (zerrome)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
hallo,

das klingt gut, wegen dem strom hab ich keine probleme, aber ram is 
knapp.
werd gleich nochmal meine schaltung auf dem steckbrett zusammenstecken 
und bischen testen.

güße daniel

Autor: J. K. (rooot)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo,

Aus eigennützigen Gründen würde mich interresieren:

Welche Libery verwendest du für die SD - Karte?

mfg
J.K

Autor: Daniel Bauer (und3rt4ker)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Melde ebenfalls Interesse, thx
Und wie hast du sie angeschlossen?(Pegelwandler etc.)

Mfg und3rt4ker

Autor: Daniel R. (zerrome)
Datum:
Angehängte Dateien:

Bewertung
0 lesenswert
nicht lesenswert
hallo,
hab meine eigene lib geschrieben, bzw bin noch dabei...
lesen ist kein problem mit bis zu 220 KBytes/sec. Bei der 
schreibunterstüzung bin ich grad die beste methode am suchen.
angeschlossen ist die karte über spannungsteiler, läuft mit 10mhz spi 
noch ohne probleme mit kurzen kabeln. als mmc/sd slot hab ich einen 
alten isa stecker etwas gekürzt, passt da super rein (siehe photo). nur 
als stromversorgung hab ich einen drop down regler genommen, weil die 
karten wohl teilweise viel strom ziehen.

das haupt problem, dass ich sehe ist das schreiben der fat, wenn man das 
nicht puffern kann ist das extrem schlecht, weil pro sektor der fat, bei 
fat32, 128 schreib vorgänge anfallen...
also verwende ich beim lesen einen 512 byte lesepuffer und beim 
schreiben wird dieser zum fat puffer und die daten werden byteweise 
sofort auf die karte geschrieben...

grüße daniel

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.