Hallo,
wer hat Erfahrung mit Meßwerterfassung unter Linux? Es schwebt mir im
Moment vor, eine Analog Device Karte (RTI 820) zu programmieren. Für
andere Moeglichkeiten und Vorschlaege bin ich offen.
Ich moechte etwa 30 Thermoelemente und 5 Relasiausgaenge ansteuern.
Taktrate: moeglichst hoch, mindestens 80-100 Messwerte pro Sekunde.
Fuer Anregungen Tips und Tricks waere ich sehr dankbar.
Ingo Rudolphi
> ... wer hat Erfahrung mit Meßwerterfassung unter Linux? Es schwebt mir
> im
> Moment vor, eine Analog Device Karte (RTI 820) zu programmieren. Für
> andere Moeglichkeiten und Vorschlaege bin ich offen.
> Ich moechte etwa 30 Thermoelemente und 5 Relasiausgaenge ansteuern.
> Taktrate: moeglichst hoch, mindestens 80-100 Messwerte pro Sekunde.
> ...
Tag,
ich habe mal so einen billiges 12-Bit-ADC mit einem Takt-Eingang, zwei
Analogeingaengen (pos und neg) und einem seriellen digitalen Ausgang
gekauft. Das laeuft mit 200kHz und braucht 16 Takte fuer ein Sample.
Das serielle Ausgangssignal lasse ich in ein Schieberegister reinlaufen
und wenn fertig (also alle 16 Takte), uebertrage ich das Schieberegister
in ein D-Latch und gebe ein Data-Ready-Signal aus.
Die zwoelf Datenbits lege ich auf die 8 Datenleitungen und 4 der 5
Statuseitungen des Parallelports. Das Data-Ready-Signal liegt
auf der 5. Statusleitung, geschickterweise die ACK-Leitung,
die im PC einen Interrupt ausloesen kann.
So lese ich also interruptgesteuert mit einer Rate von 12,5kHz 12-Bit-
Werte ein. Die technische Grenze der billigen I/O-Karten duerfte bei
dieser Methode etwa bei 30kHz liegen. Fuer den Rechner ist das noch
keine allzugrosse Muehe.
Fuer Linux habe ich halt einen Device-Treiber in den Kernel
einprogrammiert; dafuer gibt es ja eine gute Anleitung:
http://www.redhat.com:8080/HyperNews/get/khg.html
Roger.
> wer hat Erfahrung mit Meßwerterfassung unter Linux? Es schwebt mir im
> Moment vor, eine Analog Device Karte (RTI 820) zu programmieren. Für
> andere Moeglichkeiten und Vorschlaege bin ich offen.
Sieh Dir mal http://www.llp.fu-berlin.de an. Das "Linux LAB Projekt".
Vielleicht findest Du 'was...
Marcus
--
More? -> http://privat.schlund.de/lindemann
>Hallo,
>
>wer hat Erfahrung mit Meßwerterfassung unter Linux? Es schwebt mir im
>Moment vor, eine Analog Device Karte (RTI 820) zu programmieren. Für
>andere Moeglichkeiten und Vorschlaege bin ich offen.
>Ich moechte etwa 30 Thermoelemente und 5 Relasiausgaenge ansteuern.
>Taktrate: moeglichst hoch, mindestens 80-100 Messwerte pro Sekunde.
>
>Fuer Anregungen Tips und Tricks waere ich sehr dankbar.
>
>Ingo Rudolphi
Falls das ganze unter Echtzeitbedingungen laufen soll
schau dir mal folgende URLs an:
RT-Linux:
http://luz.cs.nmt.edu/~rtlinux/
KURT:
hegel.ittc.ukans.edu/projects/kurt/
RT-Linux ist ein Patch der sich hauptsaechlich
um die teilweise recht lange Interrupt Latency Time
kuemmert. Die Version 0.5 fuer die 2.0.xx Kernel
laeuft recht stabil.
Kurt habe ich erst vorgestern entdeckt, kann nichts
zu sagen.
stefan
: Falls das ganze unter Echtzeitbedingungen laufen soll
: schau dir mal folgende URLs an:
: RT-Linux:
: http://luz.cs.nmt.edu/~rtlinux/
: KURT:
: hegel.ittc.ukans.edu/projects/kurt/
: RT-Linux ist ein Patch der sich hauptsaechlich
: um die teilweise recht lange Interrupt Latency Time
: kuemmert. Die Version 0.5 fuer die 2.0.xx Kernel
: laeuft recht stabil.
Wir haben hier Linux mit DAS1600 Karten im Einsatz (selbst gestrickter
Treiber.) Abtastraten bis ~3kHz problemlos auf einem alten 486DX33
(die Karte kann mehr). Das ganze laeuft wohlgemerkt *ohne* die RT-Patches.
Auf einem schnelleren Rechner kommt man auch mit der Abtastrate hoeher.
Erfahrungen aller in Kuerze:
1. Das Hauptproblem ist gar nicht die Interrupt-Latenzzeit, sondern die
Menge an Daten, die in Kuerze erzeugt wird (wohin damit so schnell...).
Eine lahme Platte stoert da viel mehr.
2. Die DAS1600 hat keinen Speicher
d.h. die Daten muessen schnellstens abgeholt werden. Das hat sich als
schweres Manko bei hohen Abtastraten erwiesen. Ich kenne die RTI 820
zwar nicht, rate aber dringend zu einer Karte mit Speicher, wenn hohe
Abtastraten (>1kHz) noetig sind.
3. Die DAS1600 hat einen eigenen Timer und kann so selbstaendig vor sich
hin samplen. Das ist ganz gut so. Wir haben es auch mal mit einer
Spottbillig-Karte ohne Timer versucht -> totaler Schrott.
4. Achte auf gute Doku zu der Karte (die DAS1600 *ist* gut dokumentiert).
"Nur" eine Liste der Ports ist zu wenig :)
Frank
PS: Meine richtige Mailadresse erhaelt man, wenn man "etecs4" durch "sent13"
ersetzt. Die andere Adresse ist fuer Mail-Robots, die gerne Killfiles
fuettern :)