www.mikrocontroller.net

Forum: Mikrocontroller und Digitale Elektronik Controller und Speicher


Autor: Marcus (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Guten Abend zusammen! :)

Ich bin gerade in der Planungsphase für ein kleines Projekt und hätte 
gerne mal Euren Rat dazu.
Also, mein Ziel ist es einen Datenlogger zu basteln, der über einen 
gewissen Zeitraum drei Zeitverläufe aufnimmt und speichert. Innerhalb 
von einer Stunde fallen nach meiner Berechnung 72,12kByte an (und eine 
Stunde sollte er schon aufnehmen können). Also ist die minimale 
RAM-Größe 128kB, damit ich auch noch etwas Spielraum für Erweiterungen 
habe.
Als µC hatte ich den Atmega8 ins Auge gefasst, da er ausreichend schnell 
ist und genügend Reserve für kleinere Erweiterungen bietet. ... Dachte 
ich zumindest, bis ich zu dem Punkt kam, als ich mich damit beschäftigen 
musste den Speicher zu Planen. 20 freie Portpins müssten ja schon dafür 
herhalten.

Liege ich damit soweit richtig?
Wenn ja: Welchen µC/SRAM-Baustein würdet Ihr empfehlen?
Wenn nein: Seid bitte nachsichtig mit mir. Ich versuche zu lernen. :)

Mit den besten Grüßen Marcus

Autor: Aufreger deluxe (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Ich würde einen seriell ansprechbaren Speicher nehmen, wie EEPROM oder 
SD-/MMC-Karte. Vorteil: brauchst nur 4 IP-Pins.

Autor: Hauke Radtki (lafkaschar) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Wieso denn SRAM? Dann is ja sofort nach nem Spannungsverlust alles wech.
Ich würde n externes Flash nehmen oder sogar ne SD karte da passt dann 
einiges drauf.

Autor: Ronny (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Ich würde ein serielles (SPI) Flash nehmen.Die gibt es preiswert in 
nahezu allen Grössen.

http://www.atmel.com/dyn/products/param_table.asp?...

Der AT25FS040 z.B ist 512KB gross,läuft mit 3V und ist vergleichsweise 
flott.Obwohl das bei deinen Datentransfers nicht so kritisch ist.

Autor: Marcus (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo Aufreger, hallo Hauke! :)

Danke schonmal für die schnelle Antwort.
Ich dachte eigentlich an SRAM, weil mir dabei auf Anhieb einleutet, wie 
ich es ansteuern muss. Also eigentlich aus Purem Respekt vor seriell 
ansprechbaren Speichern. :)
Man will sich ja als Anfänger auch nicht übernehmen.
Aber jetzt mal zu Eurem Vorschlag mit dem Flash-Speicher. Könnt Ihr mir 
dazu eine Quelle empfehlen, damit ich mich genauer einlesen kann?
Dann fällt es mir sicher leichter abzuschätzen, ob ich mir das schon 
zutrauen kann.

Gruß Marcus

Autor: Jörg B. (manos)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Was soll mit den 76,12 kByte anschließend passieren? (seriell an PC, 
Transport über Wechselspeicher, Analyse im µC...)

Wie häufig werden die Daten erfasst? (EEPROMs sind ca. 100.000x 
wiederbeschreibbar...)

Die einfachste Lösung ist bestimmt die Zwischenspeicherung auf ein 
EEPROM und anschließende serielle Übertragung.

Autor: Marcus (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
@Ronny: Danke für den Link ich schaue ihn mir gerade an. Du hast recht. 
Ich messe wirklich nicht  mit einer besonders hohen Frequenz. Daher 
sollte die Geschwindigkeit des Speichers relativ egal sein.

@Jörg: Die Daten sollen an den PC übertragen und ausgewertet werden. Ich 
denke der Lebenszyklus eines EEPROMS ist mehr als ausreichend. :)

Autor: Sonic (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hätte auch einen Datenlogger anzubieten. Ist älteren Datums (2002 oder 
so) mit Mega32, 2 Latches und 128kB SRAM. SRAM ist Batteriegepuffert, 
verliert also nix, geht aber nur bis max. 128kB, da die einen nicht 
negierten CS - Pin haben. DCF-Uhr ist dran, misst auf 8 Kanälen im 
Sekundentakt. Schaltplan hab' ich leider nur vom Nachfolger mit 3 
Latches und 512kB Speicher, wenn Interesse besteht kann ich den ja als 
JPG posten.

Autor: Marcus (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo Sonic!

Ich weiss nicht, ob ich Dein Angebot richtig verstanden habe, aber ich 
würde den Datenlogger doch sehr gerne selber bauen. Sonst lerne ich ja 
nichts. :)
Denen Schaltplan würde ich mir aber sehr gerne ansehen. Das wäre 
wirklich klasse, wenn Du bereit wärst ihn hier zu posten.
Pufferung über Batterie habe ich auch vorgesehen. Allerdings wollte ich 
das ganze Board darüber versorgen. Nur den SPeicher zu versorgen wäre 
wahrscheinlich schlauer. Danke für den Tipp.

Gruß Marcus

Autor: Sonic (Gast)
Datum:
Angehängte Dateien:

Bewertung
0 lesenswert
nicht lesenswert
OK, dann stell' ich das Teil mal 'rein. Die Batteriepufferung ist bei 
diesem Teil nicht drin, weil er keinen nicht invertierten CS-Pin hat. 
Wie gesagt - ist älteren Datums, heute würde ich auch zu SD-Karten 
tendieren. Materialkosten sind ungefähr gleich, aber um ein Vielfaches 
mehr Speicher.
Ich hoff' mal du kannst was damit anfangen!

Autor: Marcus (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Super danke!
Ich denke ich muss noch etwas lesen, bis ich mich entscheiden kann.

Die SD-Karte hat natürlich den Reiz, dass man bei ihrer Benutzung auf 
die serielle Datenübertragung zum PC verzichten könnte. Aber wie groß 
wird der Programmieraufwand, wenn man die Daten gleich in einem 
auswertbaren Format auf der Karte ablegen will?

Autor: Sonic (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Da gibt's schon einige gute Sachen, die schon eine FAT32 oder FAT16 auf 
die SD-Karte machen, dann kannste das am PC über den Kartenleser 
'rüberziehen. Hab' nur rade keinen Link parat ..

Autor: André Kronfeldt (freakazoid)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Warum benutzt Du nicht den internen Program-Flash eines AVR für's 
Loggen?
128KB sollten da doch reinpassen und viele können 'sich selbst 
programmieren'. Keine externen Bauteile und platz-/geldsparend.

Grüße, Freakazoid

Autor: Marcus (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo Andre!

128kByte hat der ATmega8 aber nicht. Oder ahbe ich mich da jetzt so 
verlesen?

Autor: André Kronfeldt (freakazoid)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo,

> Als µC hatte ich den Atmega8 ins Auge gefasst,
Nur gefaßt ;-))) Aber bevor er eine Menge Klimbim dabeikauft, 
Verdrahtungen realisiert (zusätzliche Fehlerquellen), ... kann er direkt 
mehr Geld (ca. 10 EUR) ausgeben für z.B. einen ATmega2560.
 http://www.atmel.com/dyn/products/param_table.asp?...

Grüße, Freakazoid

Autor: Sonic (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Na klar, der lässt sich in der Hobbywerkstatt absolut problemlos 
verarbeiten! Von der Programmierung mal nicht gesprochen ..

Autor: Hauke Radtki (lafkaschar) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Alle pins die man nich braucht vorher mit m cutter wegschneiden :P Dann 
ist der einfacher zu löten.

Ne mal im ernst ... SD-Karte finde ich am Sinnvollsten, da du dir so die 
Serielle PC anbindung sparst, viel Speicher zur verfügung hast, falls du 
die ganze geschichte mal erweitern willst/länger laufen lassen willst.
Und du hast sehr wenige leitungen.

Autor: Ronny (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
@André:

Hast du schonmal mit einem AVR-Program den Flash selbigen AVRs 
beschrieben?Dank Harvard-Architektur ist das nicht ganz sooo einfach.Vor 
allem wen die Anwendung nicht in den Bootloader-Bereich passt...

Autor: Sonic (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Mein Reden, Danke Ronny ..

Autor: Marcus (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo Andre :)

In der dritten Person ist wirklich lange nicht mit mehr mit mir 
gesprochen worden. lach
Nachdem ich gerade mal die Anforderungen für SD-Karten, die man mit 
einem FAT16-Dateisystem beschreiben will, überflogen habe, muss ich 
feststellen, dass ich auf jeden Fall mehr Speicher brauche. Ob ich das 
jetzt mit einem anderen Controller oder zusätzlichem Speicher mache muss 
ich mir noch überlegen. Vor möglichen Fehlern und dem größeren Aufwand 
fürchte ich mich eigentlich weniger. Ich lerne ja dabei. :)
Auch wenn die Beträge nicht die Welt ausmachen, finde ich es doch immer 
sschöner, wenn man mit möglichst wenig finanziellem Aufwand ein Aufgabe 
löst.
Aber vielen Dank für den Link. So eine Übersicht Hilft sehr beim 
Grübeln.

Gruß Marcus

Autor: Ronny (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Die seriellen Flashs (SPI) besitzen meistens(immer?) eine Chip-Enable 
Leitung.Wenn man die an einen normalen I/O hängt,kann man mehrere der 
kleinen Flashs an einen Mikrocontroller hängen.Über I/O-Multiplexer auch 
deutlich mehr Flashs als I/O-Pins am Mikrocontroller verfügbar sind.Ist 
dann natürlich jedesmal mit einem weiteren IC pro Flash verbunden.Wenn 
man nur einige MB benötigt,macht sich das wirklich gut.Wenns deutlich 
mehr als 8MB werden soll,ist dann die bereits erwähnte SD-Karte die 
bessere Wahl.Allerdings ist man dann entweder auf ein FAT-Lib angewiesen 
(die es frei verfügbar geben sollte) oder beschäftigt sich einige Tage 
mit einem antiquierten Dateisystem.Allerdings ist das Einbinden einer 
Lib bei entsprechend großen Controllern dann auch nicht mehr das 
Problem.

Autor: Marcus (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Bevor ich mich für heute verabschieden muss möchte ich mich noch 
rechtherzlich bei Euch allen für Eure Auskunftsfreude, die ANregungen 
und Tipps bedanken.
... ach ja und natürlich habe ich auch noch eine Frage ;)
Da mir die Idee mit der SD-Karte sehr gut gefällt habe ich überlegt, ob 
es Sinn machen könnte, die Daten ersteinmal auf einem EEPROM zu 
speichern, da ich ja sowieso zusätzlichen Speicher benötige. 
Anschließend könnte der µC auf Anforderung die Daten in einem FAT16 
Dateisystem auf die SD-Karte schieben. So hätte ich zwei schön 
übersichtlich getrennte Programmteile.
Andererseits hätte ich dann aber auch einen deutlich größeren Aufwand an 
Speicher, als wenn ich die Daten direkt auf die SD-Karte schiebe.

Was wäre Eurer Meinung nach die sinnvollere Lösung? Oder doch ganz 
anders?

Also bis hoffentlich Morgen. Ich wünsche eine Gute Nacht. :)

Autor: Hauke Radtki (lafkaschar) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Bei deinen Datenraten ist es eigentlich egal ... EEPROM ist aber n 
ziemlicher Umweg. Ich würde einen Block ins RAM samplen und dann wenn 
der voll ist auf die SD-Karte schreiben.

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.