quadEM

Mark Rivers, University of Chicago

This page is the home of quadEM.

quadEM supports quad electrometers/picoammeters, typically used for photodiode-based x-ray beam position monitors, or split ion chambers. They can also be used for any low-current measurement that requires high speed digital input. There is support for two models:

  1. The AH401B, AH401D, AH501, AH501C, and AH501D picoammeters originally designed by Synchrotron Trieste (elettra). They are now sold commercially by CAENels. These devices communicate using TCP/IP over 100 Mbit/s Ethernet or high-speed serial. They provide 4-channel current measurements at up to 1000 Hz (AH401 series) or 6510 Hz (AH501 series).
  2. The Quad Electrometer built by Steve Ross from the APS (called APS_EM in this document). This device consists of a 4-channel digital electrometer unit and 2 VME boards. The device provides 2 readings per diode at up to 813 Hz.

The AH401 series and the APS_EM are based on the same principle of an op-amp run as a current amplifier with a large feedback capacitor, and a high resolution ADC. The AH501 series are based on a transimpedance input stage for current sensing, combined with analog signal conditioning and filtering stages. The AH501C/D have an integrated programmable bias supply.

The quadEM driver derives from the asynNDArrayDriver base class from the EPICS areaDetector module. The driver collects the current, sum, difference and position readings during a user-defined "averaging period" and puts the time series of readings into a number of NDArray objects. The NDArrays are passed via callbacks to any NDArray plugins. These plugins include the

The quadEM software includes asyn drivers and an SNL program that provide support for the following:

Please email any comments and bug reports to Mark Rivers who is responsible for coordinating development and releases.

Where to find it

You can download the software from the links in the table below:

Module Version Release Date Filename Documentation Release Notes Known Problems
5-0 30-June-2014 quadEMR5-0beta1.tgz quadEMDoc.html Release notes See release notes
4-1 14-April-2014 quadEMR4-1.tgz quadEMDoc.html Release notes See release notes
4-0 12-March-2013 quadEMR4-0.tgz quadEMDoc.html Release notes See release notes
3-3 20-December-2012 quadEMR3-3.tgz quadEMDoc.html Release notes See release notes
3-2 6-December-2012 quadEMR3-2.tgz quadEMDoc.html Release notes See release notes
3-1 13-September-2012 quadEMR3-1.tgz quadEMDoc.html Release notes See release notes
3-0 6-September-2012 quadEMR3-0.tgz quadEMDoc.html Release notes See release notes
2-6 2-November-2011 quadEMR2-6.tgz quadEMDoc.html Release notes See release notes
2-5 9-September-2011 quadEMR2-5.tgz quadEMDoc.html Release notes See release notes
2-4 19-May-2008 quadEMR2-4.tgz quadEMDoc.html Release notes See release notes
2-3 6-Sep-2006 quadEMR2-3.tgz quadEMDoc.html Release notes See release notes
2-2 29-Mar-2005 quadEMR2-2.tar.gz quadEMDoc.html Release notes See release notes
2-1 24-Mar-2005 quadEMR2-1.tar.gz quadEMDoc.html Release notes See release notes
2-0 12-Nov-2003 quadEMR2-0.tar.gz quadEMDoc.html Release notes See release notes
1-1 20-June-2001 quadEMR1-1.tar.gz quadEMDoc.html Release notes See release notes

Required Modules

The quadEM support typically uses the synApps modules mca (for digital scope mode), std (for the EPID fast feedback support), and ipUnidig for interrupt support .  But the quadEM module does not actually depend on these other modules to be built.

Module version Requires module Release needed Required for
5-0 EPICS base 3.14.12.4 Base support
asyn 4-23 Driver support
areaDetector 2-0 Used for NDArray plugins that compute statistics, stream data to disk, etc.
mca 7-5 Fast sweep driver for time series
busy 1-6 Busy record. Used in databases to support ca_put_callback.
ipUnidig 2-9 Used in test application for interrupt callback support for APS_EM.
ipac 2-11 Used in test application for Industry Pack support for ipUnidig.
seq 2-1-10 Used by quadEM_TimeSeries to synchronize acquisition and to compute FFTs.
autosave 5-1 Used in test application for save/restore.
sscan 2-9 Used in test application for scanning.
calc 3-2 Used in test application for sscan.
4-1 EPICS base 3.14.12.3 Base support
asyn 4-22 Driver support
areaDetector 2-0 Used for NDArray plugins that compute statistics, stream data to disk, etc.
mca 7-4 Fast sweep driver for time series
busy 1-6 Busy record. Used in databases to support ca_put_callback.
ipUnidig 2-9 Used in test application for interrupt callback support for APS_EM.
ipac 2-11 Used in test application for Industry Pack support for ipUnidig.
seq 2-1-10 Used by quadEM_TimeSeries to synchronize acquisition and to compute FFTs.
autosave 5-1 Used in test application for save/restore.
sscan 2-9 Used in test application for scanning.
calc 3-2 Used in test application for sscan.
4-0 EPICS base 3.14.12.3 Base support
asyn 4-21 Driver support
areaDetector 1-9-1 Used for NDArray plugins that compute statistics, stream data to disk, etc.
mca 7-3-1 Fast sweep driver for time series
busy 1-4 Busy record. Used in databases to support ca_put_callback.
ipUnidig 2-9 Used in test application for interrupt callback support for APS_EM.
ipac 2-11 Used in test application for Industry Pack support for ipUnidig.
seq 2-1-10 Used by quadEM_TimeSeries to synchronize acquisition and to compute FFTs.
autosave 5-0 Used in test application for save/restore.
sscan 2-8-1 Used in test application for scanning.
calc 3-0 Used in test application for sscan.
3-3 EPICS base 3.14.12.2 Base support
asyn 4-20 Driver support
mca 7-2 Fast sweep driver for time series
busy 1-4 Busy record. Used in quadEM_TimeSeries.template.
ipUnidig 2-9 Used in test application for interrupt callback support for APS_EM.
ipac 2-11 Used in test application for Industry Pack support for ipUnidig.
seq 2-1-9 Used by quadEM_TimeSeries to synchronize acquisition and to compute FFTs.
autosave 5-0 Used in test application for save/restore.
3-2 EPICS base 3.14.12.2 Base support
asyn 4-20 Driver support
mca 7-2 Fast sweep driver for time series
busy 1-4 Busy record. Used in quadEM_TimeSeries.template.
ipUnidig 2-9 Used in test application for interrupt callback support for APS_EM.
ipac 2-11 Used in test application for Industry Pack support for ipUnidig.
seq 2-1-9 Used by quadEM_TimeSeries to synchronize acquisition and to compute FFTs.
autosave 5-0 Used in test application for save/restore.
3-1 EPICS base 3.14.12.2 Base support
asyn 4-20 Driver support
mca 7-2 Fast sweep driver for time series
busy 1-4 Busy record. Used in quadEM_TimeSeries.template.
ipUnidig 2-9 Used in test application for interrupt callback support for APS_EM.
ipac 2-11 Used in test application for Industry Pack support for ipUnidig.
seq 2-1-9 Used by quadEM_TimeSeries to synchronize acquisition and to compute FFTs.
autosave 4-9 Used in test application for save/restore.
3-0 EPICS base 3.14.12.2 Base support
asyn 4-20 Driver support
mca 7-2 Fast sweep driver for time series
busy 1-4 Busy record. Used in quadEM_TimeSeries.template.
ipUnidig 2-9 Used in test application for interrupt callback support for APS_EM.
ipac 2-11 Used in test application for Industry Pack support for ipUnidig.
seq 2-1-9 Used by quadEM_TimeSeries to synchronize acquisition and to compute FFTs.
autosave 4-9 Used in test application for save/restore.
2-6 EPICS base 3.14.12.1 Base support
asyn 4-18 Driver support
2-5 EPICS base 3.14.12.1 Base support
asyn 4-17 Driver support
mca 7-0 MCA record
busy 1-3 Busy record
2-4 EPICS base 3.14.8.2 Base support
asyn 4-10 Driver support
mca 6-10 MCA record
sscan 2-6 Busy record
2-3 EPICS base 3.14.8.2 Base support
asyn 4-7 Driver support
mca 6-8 MCA record
sscan 2-5-3 Busy record
2-2 EPICS base 3.14.7 Base support
asyn 4-2 Driver support
mca 6-5 MCA record
sscan 2-5 Busy record
2-1 EPICS base 3.14.7 Base support
asyn 4-2 Driver support
mca 6-4 MCA record
sscan 2-5 Busy record
2-0 EPICS base 3.14.4 Base support
mpf 2-4-2 Message passing
mca 6-2 MCA record support
std 2-3 Fast feedback
dac128V 2-2 Fast feedback
ipUnidig 2-2 Interrupt support
1-1 EPICS base 3.13.7 Base support
mpf 1-10 Message passing
mca 5-5 MCA record support
std 1-4 Fast feedback
dac128V 1-4 Fast feedback
ipUnidig 1-3 Interrupt support

Installation and Building

After obtaining a copy of the distribution, it must be installed and built for use at your site. These steps only need to be performed once for the site (unless versions of the module running under different releases of EPICS and/or the other required modules are needed).

  1. Create an installation directory for the module, usually this will end with

    .../support/
  2. Place the distribution file in this directory. Then issue the commands (Unix style)
    gunzip quadEMRX-Y.tar.gz
    
    tar xvf quadEMRX-Y.tar
    
    where X-Y is the release.
  3. This creates a <top> application.
    .../support/quadEMRX-Y
    
  4. Edit the config[ure]/RELEASE file and set the paths to your installation of EPICS base and to your versions of other required modules.
  5. Run gnumake in the top level directory and check for any compilation errors.
  6. Please email Mark Rivers so that a record can be kept of which sites are using this software.

In Use

This software was originally developed by Mark Rivers.