JLab discriminator
There is a Hall-B page for JLab discriminator
Manuals
Manual for 16-Channel Discriminator/Scaler VME Module (by J.Proffit), 20-Nov-2002, in
(pdf)
Manual for New 16-Channel Discriminator/Scaler VME Module (draft by Ben Raydo), 6-Mar-2009, in
(pdf)
Manual for New 16-Channel Discriminator/Scaler VME Module (rev.B by Ben Raydo), 28-May-2010, in
(pdf)
Manual for New 16-Channel Discriminator/Scaler VME Module (rev.C by Ben Raydo), 11-Feb-2011, in
(pdf)
Example Program
#include "dsc2.h" int main(){ vmeOpenDefaultWindows(); /* Map the VME bus memory (For Linux only.). */ dsc2Init(0xe00000,0,1); /* Base memory: Only last 2 HW switches are relevant, the rest are lost due to shift of address. */ /* Memory size per board. */ /* Number of boards. */ dsc2Status(0,0); /* Board number and flag which is not used. */ dsc2PrintScalers(0,0xff);/* Board number and printing option */ return(0); }
Linux VME support
Brian Moffit from CODA group has setup a directory for software for Intel based VME controllers running Linux. README there is a good introduction to the subject.
/site/coda/2.6.1/extensions/linuxvme
RPMs for VME controllers running Linux located in the directory
/site/coda/2.6.1/extensions/linuxvme/RPMS
Available files are:
gefvme-kmod-common-4.1-0.i386.rpm (Development files) kmod-gefvme-PAE*.rpm (Kernel module)
To install the development RPM without kernel module will require the --nodeps option
rpm -i --nodeps gefvme-kmod-common-4.1-0.i386.rpm
Scalers readout preliminary driver
The current scheme of data flow is the following (from top to down):
VME bus |
dsc2.c mutex-ed access to the hardware |
JLabDiscr.c::JLabDiscrReadTask() a thread to poll scalers every second and stores them in the memory |
EPICS Scan Task will periodically start a record processing |
JLabDiscr_subrecord.c will copy from memory and push to CA server |
EPICS CA Server will broardcast |
Other supplemental files are:
- JLabDiscr_subMain.cpp -- The standard main program
- JLabDiscr_subConfig.c -- hooks for EPICS
- JLabDiscr_subConfig.dbd, JLabDiscr_subrecord.dbd -- DBD files
- dbJLabDiscr.db -- DB file