|
NAME dxp - XIA DXP CAMAC MCA
DESCRIPTION
The X-ray Instrumentation Associates Digital X-ray processors
(CAMAC models DXP 4C and DXP 4C2X and parallel port model X10P)
have one to four MCA channels per module. Each channel of the
device contains a digital signal processor (DSP). The DSP chips
require firmware and parameter downloads for initialization.
As of spec release 4.05.10-8,
spec must be linked with a special vendor-
supplied application library to use the DXP modules. The XIA
libraries have not yet stabilized, so one must be sure to use a
version of the libraries compatible with the
spec release. Contact CSS for advice on
determining compatible versions.
In addition, the many XIA configuration files that will be
read by routines in the DXP library must be installed on the
system. Finally, the environment variable
XIA_CONFIG must be set to the location of DXP system
configuration file.
The source files for creating the DXP library can be obtained
from the XIA Web page at http://www.xia.com, or in a
slightly more convenient format at
ftp://ftp.certif.com/pub/misc/xia_dxp_css.tgz. The
latter includes a Makefile to build a library called
libdxp.a.
When running the spec Install script,
you must indicate the location of the libdxp.a library in
response to the "Extra library flags" query from the
Install script. Use, for example
/usr/local/xia/libdxp.a or "-L/usr/local/xia
-ldxp".
The many XIA configuration files associated with the DXP
modules need to be carefully constructed to avoid the code in the
DXP library from failing. Please consult XIA documentation or
XIA technical support for details related to the format of these
files.
Note, the CAMAC slot numbers listed in the dxp.module
(or equivalent) file must agree with those in the
spec hardware config file. For the
parallel port device, the hexadecimal base address of the I/O
port listed in the dxp.module file must also agree with
the value set in the spec config file.
FUNCTIONS
Since each DXP module can have up to four channels, the usual
numbering scheme in spec for selecting MCA
devices has been extended. For commands that require access to
individual channels beyond channel zero, the
mca_spar() and mca_sget() must be used
(instead of mca_par() and mca_get())
where the first argument (that selects which MCA device) is a
string. The string contains the number of the selected MCA,
followed by a colon and a DXP channel number from 0 to 3. For
the commands to set the DSP parameters, if the channel number is
-1, the parameter will be set in all DXP modules. For example,
mca_spar("1:3", "finegain", 100) would set the
finegain parameter to the value 100 for MCA number
1, DXP channel 3, while mca_spar("0:-1", "finegain",
100) would set the finegain parameter in all
channels in all DXP modules, not just those associated with
module 0.
For commands that act on all channels, such as
"run", assuming that MCA 0 and MCA 1 are DXP
modules, the commands mca_par("run"),
mca_spar(1, "run"), mca_spar("0:3",
"run") and mca_spar("0:-1", "run") would each
start all channels in all DXP modules.
Besides reading the spectrum data, the
mca_sget() function can read the baseline values or
the DSP parameters. Again, the first argument is a string,
formatted as described above, but with 16 (0x10) added to the
channel number to read back the baseline or 32 (0x20) added to
the channel number to read back the parameters. For example,
|