- Labornetzteil AliExpress         
Ergebnis 1 bis 10 von 13

Thema: non-volatile memory ab 100MB und schnell

Hybrid-Darstellung

Vorheriger Beitrag Vorheriger Beitrag   Nächster Beitrag Nächster Beitrag
  1. #1
    Erfahrener Benutzer Roboter Experte
    Registriert seit
    02.08.2006
    Ort
    Würzburg, Germany
    Beiträge
    716

    non-volatile memory ab 100MB und schnell

    Hallo,

    ich bin für einen Datenlogger auf der Suche nach einem nicht flüchtigen Speicher, so um die 100MB aufwärts.

    Wichtig wäre mir dabei, dass ich den Speicher sehr schnell mit einem AVR (AT90USB1287) beschreiben und lesen kann.

    Ich habe schon Experimente mit einer MicroSD-Karte mit ISP-Anbindung gemacht. Als Quarz für den AVR wurden 8MHz eingesetzt. Mehr geht leider laut Datenblatt nicht, da die Versorgungsspannung 3,3V beträgt. (Wegen komptibilität zur SD-Karte und noch anderen Bauteilen)
    Die Schreibleistung ist dabei gerade so ausreichend, aber nur mit sehr viel Optimierung. Aber die Lese-Leistung ist einfach zu dürftig.

    Beim AVR sind fast keine IO's genutzt, deshalb habe ich mir überlegt die Karte irgenwie parallel mithilfe von Schieberegistern anzubinden, die dann über eine extra (und höhere) Taktquelle getaktet werden, um eine hohe Zugriffsgeschwindigkeit, bei möglichst geringem Software- und Warte-Aufwand im AVR zu realisieren. Aber irgendwie kommt mir das alles viel zu kompliziert vor.

    Gibt es vielleicht einen nicht flüchtigen Speicher in der Größenordnung 100MB, der auch parallelen Zugriff erlaubt? SMD löten ist überhaupt kein Problem, den AT90USB1287 habe ich auch geschafft.

    Viele Grüße
    Andreas

  2. #2
    Erfahrener Benutzer Robotik Einstein Avatar von Vitis
    Registriert seit
    06.01.2005
    Ort
    Südpfalz
    Alter
    51
    Beiträge
    2.253
    ich seh keine Vorteil darin Schieberegister zwischen zu schalten, da solltest Du Dir nochmal die Ansteuerung der Karte ansehen, das kommt mir spanisch vor.
    Der schnellste nichtflüchtige Speicher der mir so direkt einfällt ist FRAM, ist aber schweineteuer. Evtl. wär ja nomales SD-RAM mit Batteriepuffer ne Option?
    Oder D-RAM mit entsprechender batteriegepufferter Refresh-Beschaltung?
    Vor den Erfolg haben die Götter den Schweiß gesetzt

  3. #3
    Erfahrener Benutzer Robotik Einstein
    Registriert seit
    11.12.2007
    Ort
    weit weg von nahe Bonn
    Alter
    40
    Beiträge
    3.416
    da wirst du es aber verdammt schwer haben, die sind schweine teuer!!!

    muss es den unbedingt NV-RAM sein!?

    Mir würde da jetzt nur ein Flashspeicherchip OHNE controller in den Sinn kommen und diesen dann selber ansteuern um die Datenträgerstruktur zu umgehen, aber die sind auch eher schwer beschaffbar, bzw. versuch bei ner SD-Karte doch einfach den Controller zu umgehen! Basteln halt ^^

    EDIT: Wie ich sehe hat sich da noch jemand etwas mehr damit beschäftigt ^^

    http://de.farnell.com/spansion/s25fl...oic/dp/1791300 sowas z.B.

    man leidet halt nur an den Schwächen von Flash, man sollte vll. einen kleinen nichtflüchtigen nicht-degenerierenden (MRAM, FRAM nur halt ganz klein) Zwischenspeicher für die Adresse haben um beim nächsten Schreiben da weiter zu amchen wo man aufgehört hat und dann erst beim erreichen der letzten Zelle wieder zum Anfang zurückkehren, damit der Speicher durchgehen gleichmäßig degenrieren kann! (Und vielleicht den Chip iwie austauschbar verbauen falls er mal ausfälle hat und gewechselt werden muss)
    Geändert von Ceos (17.05.2011 um 15:53 Uhr)
    Es gibt 10 Sorten von Menschen: Die einen können binär zählen, die anderen
    nicht.

  4. #4
    Moderator Robotik Einstein Avatar von damaltor
    Registriert seit
    28.09.2006
    Ort
    Milda
    Alter
    38
    Beiträge
    4.068
    Parallel ansteuern könntest du wohl eine Compactflash-Karte. Aber über die Geschwindigkeit kann ich dir leider nicht viel sagen.
    Read... or die.
    ff.mud.de:7600
    Bild hier  

  5. #5
    Erfahrener Benutzer Roboter Experte
    Registriert seit
    02.08.2006
    Ort
    Würzburg, Germany
    Beiträge
    716
    Hallo,

    vielen Dank erst mal für die Vorschläge.

    Erst mal zum Thema Geschwindigkeit: Ich habe mit oben genanntem AT90USB1287 einen digitalen Rekorder gebaut. Bei diesem lese ich die SD Karte und schicke die Aufzeichnungen per USB serieller Schnittstelle an den PC. Die dabei erreichte Geschwindigkeit liegt auf jeden Fall nur um die 30 bis 50 Kilobyte pro Sekunde, was mir vieeeel zu langsam vorkommt. Den Code dazu habe ich soweit optimiert, wie mir möglich war. Während der SPI das nächste Byte liest, wird das vorherige schon über USB gesendet.
    Das Projekt liegt schon fast 2 Jahre zurück, deswegen kann ich mich nicht mehr so gut an die Details erinnern. Der Code schaut mittlerweile auch aus wie "böhmische Dörfer". Da müsste man sich erst mal wieder eindenken. SPI-Takt war das schnellstmögliche. Eventuell liegt es an der USB-Übertragung, obwohl die ja im AT90USB1287 inkl. Buffer direkt integriert ist.

    Da müsste ich mal Tests machen, wie schnell ich da maximal übertragen kann, wenn ich z.B. immer das gleiche sende.

    Ich möchte aber auch aus den ISP frei halten, damit die Software-Entwicklung einfach bleibt. Es war eine ewige Bastelei den AVR über ISP vernünftig schnell zu programmieren, obwohl eine SD-Karte angeschlossen ist.
    Und wenn ich die SD-Karte nicht am integrierten ISP des AVR betreibe wird das serielle auslesen wohl sehr langsam. (Clock High/low, Bit lesen, Clock High/Low, Bit lesen...)

    Der Vorteil durch Schieberegister, den ich mir erhoffe ist, dass der AVR nicht auf das Byte vom ISP "warten" muss. Das ganze müsste mit einer anderen, schnelleren Taktquelle für den Clock der Register so gelöst werden, dass der AVR das Byte parallel einliest und nur ein Signal gibt, dass das Schieberegister das nächste Byte lesen oder schreiben soll, also den Takt quasi wieder für 8 Zyklen startet. Den Takt für die Schieberegister muss man ermitteln, was die SD-Karte verträgt. Aber irgendwas im zweistelligen MHz-Bereich sollten schon drin sein.

    Akku gebuffert muss ich mir noch mal überlegen. Die Anwendung soll optional eh am Akku betrieben werden. Aber eben nur optional...
    Falls ich mich dafür entscheide: Hat jemand einen Vorschlag für einen Speicher in meiner Größenordnung? Wie hoch ist wird der stromverbrauch im "standby" sein? (Um mal grob den Buffer-Akku abzuschätzen)

    Das mit dem rotierenden Beschreiben habe ich auch für die SD-Karte umgesetzt, da ich hier bedenken hatte. SD-Karten wären halt optimal zu tauschen, wenn sie mal zu viele Schreibzyklen haben sollten.
    Wie viele Schreibzyklen es werden kann ich noch nicht genau sagen. Ich denke mal so ca. 5000 bis 10000 Einträge pro Woche mit einer Größe von durchschnittlich 50 Kilobyte. Das sollte eigentlich ewig halten mit modernen Flash-Chips und rotierendem Beschreiben.
    Aber eventuell soll ein GPS-Datenlogger mit rein, da wirds dann heftiger. Hier müsste man sich wieder eine gute Speichermethode überlegen und ein paar Positionen sammeln, um dann auf einmal zu speichern.

    Compactflash ist eine gute Idee, ich glaube ich weiß was du meinst. (Habe sowas schon mal gesehen) Die muss ich mir mal genauer anschauen.

    Viele Grüße
    Andreas

  6. #6
    Erfahrener Benutzer Robotik Einstein
    Registriert seit
    11.12.2007
    Ort
    weit weg von nahe Bonn
    Alter
    40
    Beiträge
    3.416
    von dem Chip den ich dir gepostet habe gibt es Varianten mit Parallelinterface!
    Geändert von Ceos (19.05.2011 um 07:25 Uhr) Grund: Alkohol nix gut für lesbaren Post ^^
    Es gibt 10 Sorten von Menschen: Die einen können binär zählen, die anderen
    nicht.

  7. #7
    Erfahrener Benutzer Robotik Einstein
    Registriert seit
    07.03.2011
    Beiträge
    1.899
    Hallo,

    SD Karten können ganz schön schnell werden, aber das ist dann eine Art SPI mit 4 Datenleitungen und bis zu 50MHz. Das Protokoll dazu ist auch ziemlich aufwändig. Ich befürchte, du bewegst dich an der Grenze des mit einfachen Mitteln machbaren.

    MfG Klebwax
    Strom fließt auch durch krumme Drähte !

Ähnliche Themen

  1. Compiler ignoriert volatile ?
    Von Siro im Forum C - Programmierung (GCC u.a.)
    Antworten: 6
    Letzter Beitrag: 22.10.2010, 11:54
  2. volatile problem
    Von Siro im Forum C - Programmierung (GCC u.a.)
    Antworten: 4
    Letzter Beitrag: 27.07.2010, 20:36
  3. static beisst volatile
    Von StefPan im Forum C - Programmierung (GCC u.a.)
    Antworten: 3
    Letzter Beitrag: 02.10.2006, 17:54
  4. Volatile und Interrupt
    Von Arexx-Henk im Forum C - Programmierung (GCC u.a.)
    Antworten: 10
    Letzter Beitrag: 11.03.2006, 09:04
  5. volatile, const
    Von pebisoft im Forum C - Programmierung (GCC u.a.)
    Antworten: 16
    Letzter Beitrag: 27.03.2005, 16:40

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •  

fchao-Sinus-Wechselrichter AliExpress