16bit 1kSPS 150Ch Datalogger gesucht

Gast #4681103
Lesenswert?

Hallo,

ich suche einen oder mehrere Datenlogger die man triggern kann. Diese(r) 
sollte(n) insgesamt 150 separate 16bit Kanäle über I²C aufnehmen und mit 
einem Zeitstempel indizieren können.
Und eben nicht mehr als 1000€ kosten.

Ich habe bislang leider nichts geeignetes gefunden. Somit habe ich 
folgende Fragen:

- Kennt jemand eine Fertiglösung, mit der man auf SD-Karten schreien 
kann
- Wenn nein, wie geht man ran, es selbst zu machen?

Ich habe schon ein paar FPGAs und DRAM-Bausteine gesichtet. Aber 
vielleicht kann mir jemand ein Kochrezept geben, damit ich das Rad nicht 
neu erfinden muss.
Gast #4681212
Lesenswert?

Norbi schrieb:
> ich suche einen oder mehrere Datenlogger die man triggern kann. Diese(r)
> sollte(n) insgesamt 150 separate 16bit Kanäle über I²C aufnehmen und mit
> einem Zeitstempel indizieren können.

Und diese 150 Kanäle laufen über wieviele I²C-Busse rein?

Kommt jeder Datenstrom auf einem Kanal oder wie ist dein insgesamt 
2.4MBd (+Protokoll-Overhead) Rohdatenstrom aufgeteilt?

Um den Datenstrom auf einer SD-Karte mitzuschreiben, wirst du einen 
Pufferspeicher benötigen, der schon mal größenordnungsmäßig 100ms 
überbrückt.
#4681219
Lesenswert?

@ Norbi (Gast)

>ich suche einen oder mehrere Datenlogger die man triggern kann. Diese(r)
>sollte(n) insgesamt 150 separate 16bit Kanäle über I²C aufnehmen und mit
>einem Zeitstempel indizieren können.

Was heißt das GENAU? Soll der Logger nur digitale I2C EIngänge haben und 
über diese von externen ICs die Daten mit 1ksmps auslesen und speichern?
Bei einer konstanten Abtastrate braucht man keine Zeitstempel, da reicht 
es, einmalig die Startzeit zu speichern.

>Und eben nicht mehr als 1000€ kosten.

Wird eng.

>- Kennt jemand eine Fertiglösung, mit der man auf SD-Karten schreien
>kann                                                        ^^^^^^^^

NEINNNNN!!! ;-)

>- Wenn nein, wie geht man ran, es selbst zu machen?

Man nehme einen uC mit ausreichend (externem) Speicher, denn eine 
SD-Karte kann mehrere hundert Millisekunden Pausen einlegen. Der 
Speicher sollte den vollen Datenstrom für mindesten 500ms puffern 
können. Der uC liest die Sensoren aus und schreibt die Daten in den 
Speicher, der als FIFO arbeitet. Eine andere Funktion im uC liest 
diese Daten und schreibt sie auf die SD-Karte. Bei den Datenraten ist 
ein 32 Bit uC mit Hardware SD-Interface (SDIO) sinnvoll.

Sind das WIRKLICH 150 einzelne I2C Busse oder nur 150 Sensoren, die an 
deutlich weniger als 150 I2C Bussen angeschlossen sind?

>Ich habe schon ein paar FPGAs und DRAM-Bausteine gesichtet.

Und ich hab schon mal die Queen Marry II gesehen, bin aber trotzdem noch 
eine totale Landratte ;-)
Gast #4681494
Lesenswert?

Danke für die Antworten.

Es sind 150 einkanalige bzw. 50 dreikanalige digitale Sensoren, die 
direkt den I²C-Bus nutzen. Für 16 bit bei 1 kSample bedeutet das für die 
dreikanaligen Sensoren einen Datenstrom von 46 kbps je Sensor und 
insgesamt 2,4 Mbps.

Ich habe schon mal mit einem Teensy 3.2 größere Datenströme auf eine 
SD-Karte geschrieben, und weiß grob um die Tücken, die damit verbunden 
sind...
#4681499
Lesenswert?

@ Norbi (Gast)

>Es sind 150 einkanalige bzw. 50 dreikanalige digitale Sensoren, die
>direkt den I²C-Bus nutzen.

Schön, aber sind die allen an EINEM I2C Bus angeschlossen? Eher nicht, 
denn der schafft die Datenrate sicher nicht.

Eine Handvoll I2C Busse kann man vielleicht noch in Software emulieren, 
bei mehr geht auch einem schnelleren uC irgendwann mal die Puste aus 
bzw. der Bus ist einfach zu langsam. Dann braucht man ein FPGA, das kann 
sehr viele I2C Busse echt parallel einlesen.
Gast #4681644
Lesenswert?

Norbi schrieb:

> ich suche einen oder mehrere Datenlogger die man triggern kann. Diese(r)
> sollte(n) insgesamt 150 separate 16bit Kanäle über I²C aufnehmen und mit
> einem Zeitstempel indizieren können.

Welche Datenrate erwartest du?

Komisch dass immer diese komischen "Suchenden" den entscheidenden 
Knackpunkt nicht selber finden und gleich im ersten Posting 
mitspezifizieren können.

Ich habe da immer den starken Verdacht, dass es sich dabei nur um 
TrafficGenerator-Droiden handelt.
Gast #4681655
Lesenswert?

Norbi schrieb:
> Kennt jemand eine Fertiglösung

Nicht billig aber gibt es:

http://sine.ni.com/nips/cds/view/p/lang/de/nid/212723

> wie geht man ran, es selbst zu machen

Falls 14-Bit reichen gäbe es eine sehr günstige Lösung:

EFM8LB12F64E-QFP32 hat 20 Channel mit je 40 kSPS und I2CF+ mit 3.4 Mbps 
und kostet 1,50

Davon also 8 Stück

Für das SD Card Loggen kann man z.B. ein billiges Dual-Core Board 
nehmen. Ein Core holt über I2CF+ die Daten ins RAM und der andere Core 
loggt:

http://de.farnell.com/nxp/om13027-598/eval-board-cortex-m4-lpc4300-ohne/dp/2217598
Gast #4681668
Lesenswert?

> 150 Kanaele zu 16Bit
> Und eben nicht mehr als 1000€ kosten.

Sportlich.
Du arbeitest die 200+ Stunden Entwicklung gratis, ist schon klar, aber 
von welcher Stueckzahl reden wir denn ?
Bei einem Einzelstueck waere ich von minestens einer Null hintendran 
mehr ausgegangen, mit bezahlter Arbeit allerdings.
#4681673
Lesenswert?

Falk B. schrieb:
> @ Norbi (Gast)
>
>>Es sind 150 einkanalige bzw. 50 dreikanalige digitale Sensoren, die
>>direkt den I²C-Bus nutzen.
>
> Schön, aber sind die allen an EINEM I2C Bus angeschlossen? Eher nicht,
> denn der schafft die Datenrate sicher nicht.
>
> Eine Handvoll I2C Busse kann man vielleicht noch in Software emulieren,
> bei mehr geht auch einem schnelleren uC irgendwann mal die Puste aus
> bzw. der Bus ist einfach zu langsam. Dann braucht man ein FPGA, das kann
> sehr viele I2C Busse echt parallel einlesen.

Aktuelle Controller ala STM32F4/F7/L4, Renesas RX oder PIC32MZ schaffen 
bei weitem genug Durchsatz. Die RX63 hätten bspw. bis zu 13 + 4 I²C. Da 
bräuchte es mit genügend PCA9548A 8:1-I²C-Multiplexern gerade mal zwei 
Controller (nicht nachgeschaut, ob die I²Cs ohne Überschneidungen an die 
Pins gemappt werden können) ohne (falls das der Bus mitmacht) die 
Multiplexer kaskadieren zu müssen...
Anderer Ansatz wäre vielleicht, wir wissen ja weder etwas über den 
Gesamtaufbau, die Buslängen, noch ob alle Sensoren gleichzeitig 
messen/abgefragt werden sollen, n Sensoren an einen Controller mit 
Software-I²C zu hängen und die Daten von dort über was anderes als I²C 
zur "Zentrale" zu schicken.
Gast #4681742
Lesenswert?

Nun, bei Temperaturen braucht man wohl kaum sinnvoll 16 Bit und vor 
allem keine Messrate von ... hast noch nicht gesehen!
Zeig mir mal eine einzige sinnvolle Anwendung, wo Temperaturen derart 
dynamisch sind und dann der Sensor nicht das Messergebnis komplett 
verfälscht.
Gast #4681744
Lesenswert?

so ein Gast schrieb:
> Nun, bei Temperaturen braucht man wohl kaum sinnvoll 16 Bit und
> vor
> allem keine Messrate von ... hast noch nicht gesehen!
> Zeig mir mal eine einzige sinnvolle Anwendung, wo Temperaturen derart
> dynamisch sind und dann der Sensor nicht das Messergebnis komplett
> verfälscht.

Ok, sorry, dee OP schrieb nichts von schnell, sorry!
Da sind wohl die Gäule mit mir durchgegangen ;-()
#4681808
Lesenswert?

so ein Gast schrieb:
> so ein Gast schrieb:
>> Nun, bei Temperaturen braucht man wohl kaum sinnvoll 16 Bit und
>> vor
>> allem keine Messrate von ... hast noch nicht gesehen!
>> Zeig mir mal eine einzige sinnvolle Anwendung, wo Temperaturen derart
>> dynamisch sind und dann der Sensor nicht das Messergebnis komplett
>> verfälscht.
>
> Ok, sorry, dee OP schrieb nichts von schnell, sorry!
> Da sind wohl die Gäule mit mir durchgegangen ;-()

Nicht im ersten Text, aber später
> Für 16 bit bei 1 kSample bedeutet das für die dreikanaligen Sensoren einen
> Datenstrom von 46 kbps je Sensor und insgesamt 2,4 Mbps.

1 kS/s ist noch relativ langsam, je nach Anwendung...

http://www.dantecdynamics.com/hot-wire-and-hot-film-probes
Constant Temperature Anemometry

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren