DXP - EPICS software for XIA Digital Signal Processing Systems

Mark Rivers

Contents

Overview

The EPICS DXP module provides support for the digital signal processor based multichannel analyzers from X-ray Instrumentation Associates (XIA).

DXP currently supports the following hardware

DXP currently supports this hardware under the following operating systems and interfaces:

The features of the EPICS software, compared with software available from XIA are:

The software consists of the following components:

Installing EPICS for the Saturn

To install the EPICS DXP software with a Saturn on a Windows or Linux computer do the following:

Installing the Saturn on Windows

To use the EPICS DXP software with a Saturn on a Windows PC do the following:

Installing the Saturn on Linux

To use the EPICS DXP software with a Saturn on a Linux computer do the following:

Running the Saturn

There are several things that should be done to run Saturn system under the EPICS software.

After verifying that you can control the Saturn from medm there are some things you should do to customize your installation. First, you should edit one of the supplied example .ini files, vortex.ini file (for reset pre-amps) or ketek.ini (for RC pre-amps). You need to set the polarity, the pre-amp gain, and the time after reset (for reset pre-amps) or the RC time constant (for RC pre-amps). Consult the Saturn User's Manual for information on how to determine and set these parameters.

The .ini files will contain lines like the following:

The example IOC directory, iocSaturn, creates EPICS process variables with names like dxpSaturn:dxp1.PKTIM, where dxpSaturn is the "prefix" for the process variable names, dxp1 is the DXP record name, and PKTIM is the field name. This is fine for installations where there will be at most one Saturn on the subnet. However, in many cases there will be the possibility of more than one Saturn running EPICS on the same subnet. If this is the case then it is essential that each one use a different prefix, because EPICS process variable names must be unique on a subnet. Here is how to give your Saturn a unique name, and still be able to upgrade the EPICS software easily.

The EPICS DXP application uses the EPICS save/restore facility. This means that all of the important parameters that you might change when running the Saturn are saved in files in the subdirectory called autosave/ under your IOC directory. These parameters include the peaking time, the update rates for displays and nearly 200 other parameters. The next time you start EPICS it will restore these values automatically from the file called autosave/auto_settings.sav. It is a good idea to make copies of this file from time to time so that you can get back to old settings if the file is lost or corrupted.

Software Architecture


EPICS DXP Software Architecture

The overall architecture of the EPICS DXP software is shown in the diagram below. At the top level are EPICS Channel Access client applications, such a the IDL MCA Display program, the IDL Multi-Element Detector (MED) Display program, medm, spec, and others. At the next level is the dxpMED State Notation Language program, which is used to synchronize acquisition and settings for multi-element detectors. This program also uses EPICS Channel Access, but it typically runs in the same EPICS IOC that is controlling the XIA hardware. Next are the DXP and MCA records, which communicate with device support. In the case of the MCA record, this device support is devMcaAsyn, which is itself device-independent, and talks to drvDxp. The device support for the dxpRecord is specific to the XIA hardware. drvDxp and devDxp both communicate with the XIA Handel library, which calls the XIA Xerxes library. Xerxes calls the machine dependent libraries, md_epics and md_win95, which call the operating system specific hardware libraries to perform the actual low-level I/O.


Suggestions and comments to: Mark Rivers : (rivers@cars.uchicago.edu)
Last modified: February 15, 2005