www.mikrocontroller.net

Forum: Mikrocontroller und Digitale Elektronik Daten schnell auf HDD schreiben. Unlösbar?


Autor: Ralf Schneider (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo,
ich stehe vor der Aufgabe große Datenmengen mit sehr hoher
Geschwindigkeit auf Festplatte zu schreiben. Die Frage ist, mit welchen
Chips kann ich soetwas realisieren, bzw. welche Hardware schafft die
Datenrate? Geht’s auch ohne FPGA? Oder was ist am einfachsten? Wer kann
mir helfen? Es geht um folgendes:
Ich habe ein Sensorchip mit 9 out-ports. Jeder dieser par. Ports hat 10
Bits und ist mit 3,9 MHZ  getaktet. Evtl. werden aber nur 8 bits
benötigt. Das sind im besten Fall also 3,9Mhz x 9 Bytes =
35MBYTE/Sekunde, die ohne Aussetzer gespeichert werden müssen.  In
einer zweiten Ausbaustufe soll ein anderer Sensor eingesetzt werden,
der 2 (10Bit) Ports mit je 25MHZ liefert. (Wegen der extremen Datenrate
können/müssten dann sicherlich 2 Festplatten eingesetzt werden, je eine
pro Port. Evtl. ist auch einfach die ganze Hardware doppelt zu bauen,
nur mit gemeinsamen clock. Das gleich gilt auch wenn im ersten Fall
doch alle 10Bits aufgezeichnet werden müssen)

Auf der Festplatte ist jedoch kein Filesystem nötig. Die Daten können
also einfach Track für Track  und Sektor für Sektor geschrieben werden,
bis die Platte voll ist. (Das Auslesen erfolgt später in einem PC mit
entsprechendem low-level HDD Zugrifft).

Autor: Sebastian (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Sers,

also erstmal brauchst du ne Platte die das mitmacht. Aber eine wo das
nich nur draufsteht sondern eine die das wirklich schafft. So wie das
aussieht wir das ja ein HighSpeed System und der "Sensor" wird auch
nicht billig sein. Wie lange soll der denn aufzeichnen?
Vielleicht ist es ja einfacher ein FPGA/CPLD zu benutzen und die Daten
erstmal in genügend SD-RAM Schreiben und dann gemütlich auf ne Platte
oder per USB oder so.

Seb

Autor: Benedikt (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Heutige Festplatten haben ja ein paar MByte Cache, das sollte eigentlich
reichen wenn die Platte schnell genug ist. Mit einem FPGA/CPLD sollte
das kein Problem sein, ein heutige Festplatte kommt auf >20MByte selbst
unter schlechtesten Bedingungen.
Die Daten in den Festplattencache, dann auf die Platte. Allerdings kann
es doch mal passieren, dass die Platte zu langsam ist. Ist es schlimm
wenn Daten verloren gehen ?
Alternative, wenn 512MB reichen: SDRAM mit 100 oder 133MHz aus einem
PC, sollte man für ein paar Euro bekommen und dürfte mit 400MByte/s
schnell genug sein (da 64bit)
Alternative: SDRAM Puffer + HDD

Autor: Matthias (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hi

die Schreibrate der Platte ist erstmal das zweite Problem. Das erste
ist das Interface. Da man für Schreibraten von >30MB/s auf jeden Fall
UDMA66 mit einem ordentlich schnellen Speicher braucht der die Platte
beim DMA-Transfer auch versorgen kann. Ist mit Sicherheit kein
Wochenendeprojekt. Ich würde auch eher zur SDRAM-Variante tendieren
wenn der Speicher ausreicht.

Matthias

Autor: Sebastian (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Sers,

den Speicher kann man doch auch auf zig GB erweitern. Manche Develop.
Boards unterstützen das schon "von Haus" aus. Ansonsten könnte man
auch ne PCI Karte entwickeln und dann den Rest nen PC machen lassen.
Wird wohl alles der selbe Aufwand sein.

seb

Autor: Ralf Schneider (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Danke für die Antworten, ich weiß das es kein Wochenendprojekt ist. Die
Sensoren kosten zwischen 850,- und 1700,-€. Mit einem PC habe ich das
Projekt bereits realisiert. Festplatten sind dabei nicht das Problem.
(Ram geht nicht, ich brauche Dauerbetrieb). Mein 1,6GHz PC hat auch im
Dauerbetrieb (160GB Platte war nach 1,5Std voll) nicht ein einziges
Byte verloren, und das obwohl der erste Sensor per USB2.0 Nadelör an
den PC angeschlossen war. (Für die höheren Daten des zweiten Sensors
gibt es eine suteure spezielle Schnittstellenkarte und man muss 2
Festplatten mit RAID0 Controller einsetzten)

Neben den Kosten ist die PC grösse das Hauptproblem. Auch ein Notebook
oder Embeddet PC ist leider viel zu groß (und zu Stromfressend usw.)
Ich brauche eine sehr kleine Lösung.

Welch Chips schffen diesen speed? Wie sieht es mit FPGAs aus? Für jede
Idee oder Tipp (und evtl auch für eine Zusammenarbeit?) wäre ich sehr
dankbar.

Autor: Sebastian (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo,

Xilinx bietet ne Menge FPGA's mit viel Speed. Die haben welche mit GHz
Speed. Allerdings kosten die dann auch mal schnell ein paar hundert
Euro.
Preiswerter ist es bestimmt nen kleinen zu nehmen und ne "PCI Karte"
draus zu machen. Dann mit dem kleinen SingleBoardComputer paaren. Der
kann sich dann um den Rest kümmern. Die Daten sollen ja auch irgendwo
mal ausgewertet werden und eine Flut von 160GB.....

seb

Autor: Jim (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Ich würde keinen FPGA nehmen.
Ich habe etwas entfernt Ähnliches mal mit einem DSP gemacht.
Der 21065L von Analog Devices hat dazu ein externes SDRAM-Interface
sowie einen DMA-Controller. Das macht der nebenher, der Prozessorkern
kann während des Transfers mit Volldampf arbeiten (eventuell
Vorverarbeitung der Sensor-Daten?).
Zwei Samples gibt es kostenlos.

Schau Dir die Datenblätter einfach mal an. Die A/D-DSPs sind auch in
Assembler sehr schön zu programmieren, insbesondere für den C-gewohnten
Programmierer. Ausserdem braucht der 21065L nicht viel zusätzliche
Hardware für Deinen Zweck.

Autor: KoF (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
schon mal an nen arm7 oder 9'er system gedacht?? ein 9'er system kann
an die 200 mips schaffen. ich war letzte woche auf dem EBV Tech Trends
2004 Symposium. dort hat atmel arm systeme gezeigt... war sehr
beeindruckt von der performance/vielschichtigkeit...

oder auch ti. die haben einen dsp mit einem arm gepaart (läuft glaube
ich unter der c5000 serie). auf jeden fall leisten diese systeme meiner
meinung nach extrem viel. auch haben sie zum teil pci, usb2.0,...

naja, auch toshiba, fujitsu,motorola ( durch freescale vertreten)...
waren anwesend... haben auch 8/16/32/64 bitter vorgestellt.... alles
sehr leistungsstarke systeme. die dürften alle etwas im programm haben,
was sich für deinen fall umschnitzen ließe....


mfg KoF

Autor: Ralf Schneider (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Alos nochmal besten Dank,
mein (persönliches) Problem ist, ich bin ein wenig "eingerostet".
Die PC Applikation hat mir graue Haare gebracht, Hochsprachen und
WINDOOF liegen mir nicht und FPGA erfahrung hab ich auch noch nicht.
Assembler ist was anderes, damit bin ich aufgewachsen und da weiss man
schließlich was passiert....
Die Lösung muss auch nicht unbedingt die preiswerteste sein. Wäre zwar
schön, aber die Entwicklungskosten, Tools und Zeit muss ich auch
berücksichtigen. Habe ich die Auswahl, dann wähle ich lieber einen für
mich einfachen Weg...

@Jim:
Ich schaue mir gleich mal die Daten des 21065L an. Du hast erwähnt so
etwas ähnliches schon mal gemacht zu haben. Darf ich fragen was?

@Sebastian:
Nein, Aufbearbeitung und Auswertung soll auf jeden Fall später in einem
PC erfolgen. Die Festplatte(n) sind dazu in einem Wechselrahmen
eingebaut. (ist eine Platte voll, kommt die nächste rein und in der
zwischenzeit kann mam, wenn man will, die erste im PC auslesen)

@KoF:
Ich weiß, es gibt bestimmt viel brauchbares, aber bevor ich monatelang
bei verschiedensten Herstellern Daten durchblättere...

Gruß Ralf

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.