DAQserver - Data acquisition control program and library
The DAQserver for Linux contains most basic software for an S-Link
based data acquisition system, and supports the FEMCTRL
and FEMADC boards.
The DAQserver consists actually of two entities: A subroutine
library (for use with any compiled program) and a server program, which
uses this library to allow interactive and client/server applications.
Features of the DAQserver library:
-
Runs on Linux (currently libc5* based systems with 2.0.* kernel)
-
Access to all data acquisition functions of an S-Link / FEMCTRL based system
-
Fast Direct Memory Access (DMA) transfer to memory for maximum acquisition
speed
-
Uses bigphysarea
reservation of arbitrarily large DMA buffers
-
Uses user-space mapped Autobahn device driver (modified version for large
DMA blocks > 64 MB)
-
Full control of the AMCC S5933 ("Matchmaker") PCI bus interface chip
-
Supports the SLink-to-PCI
board (ROMB): Data word, control word and test pattern transfer
-
Full control of link return lines
-
Tested with ES-Link
and FCS-Link card
sets. Other S-Link systems are likely to work without modification
-
Supports FEMCTRL functions: remote
setting of system clock, external input enable, internal/external clock
reference, reset, arm, start, linktest functions
-
Free programming of FEMCTRL's external
serial interface lines
-
High level functions for FEMADC control
in preparation
-
Provided with source code to allow easy modification
-
Easy extension for user-specific acquisition and control functions
-
Simple oscilloscope demonstration program included
Features of the DAQserver program:
-
Command interpreter for data acquisition functions
-
Uses DAQserver library for all data acquisition and control functions.
One-to-one correspondence of most library routines and DAQserver commands
-
Built-in command-line editor for interactive use
-
Commands can be executed from script files
-
Commands can be given as command-line arguments, which is useful for embedding
into shell scripts
-
TCP/IP server mode. Accepts multiple simultaneous connections to a user-defined
IP socket. In this mode, only the raw data buffer is shared between sessions
which are otherwise fully independent.
Status
The DAQserver library and program have been used for several months in
a production environment, but are still considered beta because new functions
are implemented continuosly and some of the targeted high level functions
are not yet complete. Basically all documentation is missing as well. Nevertheless
the program is being used for our systems and has worked fairly reliably.
Download
The current version 0.3 requires no kernel patch and can be used with 2.4.*
kernels and libc6. The sspci-1.7
device driver is used.
femdaq-0.3.tar.gz
Older versions:
Versions <= 0.2 need libc5, bigphysarea-patch
installed and use the Autobahn device driver (below).
Version 0.1: 2.0.* kernel. libc5, bzip2 file compression
femdaq-0.1-alpha.tar.gz
Version 0.2: 2.2.* kernel, Huffman-coding of result files:
femdaq-0.2.tar.gz
`AutoBahn' driver module:
A Linux kernel module driver for the S5933 ('Matchmaker') chip, originally
written by Andrea Cisternino (for CERN). The driver is quite generic
and can in fact be used for many S5933-based boards. The code allows to
run with very little CPU overhead and is very flexible to use by application
programs. It supports mapping of all S5933 registers into user space. I/O
is done by DMA into bigphysarea-reserved space, which is also mapped into
user space. No data needs to be copied. (No write() or read() calls are
supported, in fact). I modified the driver to support DMA transfers >64MBytes
at a time (DMA setup by short latency interrupt handler). Porting
to 2.2.* is on-going (alpha-version available).
The original version by Andrea Cisternino (acister@pcape1.pi.infn.it)
is contained in the femdaq-0.2 package.
Large DMA version for 2.0.36 kernels: autobahn-0.1.tgz
(quite stable)
Development version for 2.2.13 and 2.0.36 kernels: autobahn-0.2.tgz
My computer notes on installing bigphysarea
patch and femdaq may perhaps be helpful.
Back to the main page.
Wolfgang Suttrop,
last modification: 17-Apr-2002