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
Lesezeichen