www.mikrocontroller.net

Forum: Mikrocontroller und Digitale Elektronik MMC Karte / EEprom als Pufferspeicher


Autor: tubie (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo zusammen,

habe hier mal wieder ein kleines Problem, ich bin gerade bei der Planung 
meiner 2. Heizungssteuerung. Bevor ich mir mit der Software alles 
verbaue, möchte ich mal einen Gedankengang weiterverfolgen. Ich möchte 
die eingehenden Messwerte speichern und anschließend zum PC übertragen. 
TCP/IP & co fällt aus wegen zu schwer und zu komplex.

Externes EEprom (begrenzter Speicher) über I²C oder MMC (viel 
Speicher)Karte, anschließend die Daten über RS-232 abrufen.

Wenn die Karte im System verbleibt, kann man diese einfach Sektor für 
Sektor beschreiben ohne FAT16 zu benötigen? Nachteil immer mit dem 
Laptop in den Heizungskeller. Über einen gesonderten Menüpunkt würde ich
 - Daten auslesen (übertragen)
 - Daten löschen
anwählen können um damit den kompletten Inhalt der Karte zum Laptop zu 
übertragen bzw. nach erfolgreicher Übertragung die Karte zu löschen oder 
einfach weiterzuschreiben. Wenn die Daten alle 2-12 Monate ausgelesen 
werden, hält sich der Aufwand in grenzen ;)

Noch günstiger wäre natürlich ein linearer Speicherzugriff an ADDR 0 
steht die Position des letzten Eintrages und dann könnte ich die Daten 
nur noch reinschieben. Ist sowas mit einer MMC Karte möglich?


Gruß,
Tubie

Autor: tubie (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
So...

habe mich mal ein wenig in die ganze sache eingelesen...

Ich meine irgendwo mal gelesen zu haben, das die Sectorengröße bei den 
meisten MMC Cards variabel ist.

hier:
http://elm-chan.org/docs/mmc/mmc_e.html

habe ich mich informiert und habe noch ein paar fragen:

Nach der initialisierung CMD1 ist die Karte normal geöffnet und ich kann 
lese /schreib Operationen durchführen? Mit CMD16(SET_BLOCKLEN) kann man 
die größe der Blöcke, die geschrieben werden verändern. Wenn ich pro 
Schreibvorgang nun 30 Bytes schreiben möchte, so könnte ich doch diesen 
wert auch auf 30 setzen und mit CMD17 (READ_SINGLE_BLOCK) den 
entsprechenden Datensatz aus der karte wieder laden (eben diese 30 
Bytes)

gruß,
Tubie

Autor: Uwe (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hi!
<Mit CMD16(SET_BLOCKLEN) kann man die größe der Blöcke, die geschrieben 
<werden verändern.

Nein, richtig lesen. Die Schreibblocklänge ist immer auf 512 Byte 
festgelegt, nur lesen geht auch kürzer.

MFG Uwe

Autor: tubie (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo Uwe,

in der Beschreibung hinter CMD16 steht aber "Change R/W block size". Mal 
sehen, vielleicht schaffe ich es morgen mal eine MMC Karte an einen µC 
zu klemmen. Dann weiß ich genaueres. Wäre natürlich absolut Genial. Dann 
könnte ich wirklich die einzelnen Datensätze adressieren und bräuchte 
mir um deren Anfang keine Gedanken machen. Vielleicht aber nur ein 
Tippfehler.


Gruß,
Tubie

Autor: Sven DerSchreckliche (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Na da bin ich gespannt, denn die Block-size bleibt auf 512. Steht in 
jeder MMC-Spezifikation. Da gibts keine Ausnahme...

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.