camac
CAMAC interface
INTRODUCTION
CAMAC was the first hardware interface supported by spec.
Supported CAMAC crate controllers include:
DSP CC-488 (GPIB)Kinetic Systems 3988 (GPIB)DSP 6001 with PC004 (ISA Board)Kinetic Systems 2926 with 3922 (ISA Board)Jorway 73A (SCSI, supported on Linux and HP)Kinetic Systems 3929 (SCSI, supported on Linux, HP and Sun)Kinetic Systems 3929 (SCSI, via KSC's kernel driver) (obsolete)DSP-6001/DCC-11/KS-3912 (via CSS's kernel driver) (obsolete)Simulated Camac (for debugging)
Supported CAMAC modules include:
BiRa 5302 ADC as countersDSP 2190 MCS AveragerDSP E250 12-Bit D/A as Motor ControllerDSP E500 Stepper Motor ControllerDSP QS-450 4-Channel CounterDSP RTC-018 Real Time ClockDSP TS-201 Dual Timer/ScalerGeneralized CAMAC I/O (any F=0/F=16 module)Joerger Single Motor ControllerKinetic Systems 3112 12-Bit D/A as Motor ControllerKinetic Systems 3116 16-Bit D/A as Motor ControllerKinetic Systems 3195 16-Bit D/A as Motor ControllerKinetic Systems 3388 GPIB InterfaceKinetic Systems 3512/14 ADC as countersKinetic Systems 3610 6-Channel 50 MHz CounterKinetic Systems 3640 Counter used as CounterKinetic Systems 3640 Counter used as TimerKinetic Systems 3655 8-Channel Timing GeneratorLeCroy 2301 interface for qVT MCALeCroy 3512 Spectroscopy ADCLeCroy 3521A Multichannel ScalingLeCroy 3588 Fast Histogram MemoryLeCroy 4434 32-Channel ScalerTechnoland 8 Channel 48-bit CounterXIA DXP-4C/4C2X MCA
Support for additional controllers and modules can be added as needed.
BUILT-IN FUNCTIONS
- ca_get(i, a)
- Returns the 24-bit value read (using F = 0) from the i-th (i = 0, 1, ...) CAMAC I/O device (from the config file) using subaddress a.
- ca_put(x, i, a)
- Writes the 24-bit value x (using F = 16) to the i-th (i = 0, 1, ...) CAMAC I/O device (from the config file) using subaddress a. Returns the value written.
- ca_fna(f, n, a [, v])
- Sends the arbitrary FNA command to the module in slot n. If the dataway command given by f is a write function, the 24-bit value to be written is contained in v. If the dataway command given by f is a read command, the function returns the 24-bit value obtained from the module. The user should avoid issuing commands that would cause a LAM and should certainly avoid issuing commands to slots that are being used for motor or counter control by spec's internal hardware code.
- ca_cntl(cmd [, arg])
Performs the selected CAMAC crate command according to the parameter cmd, as follows:
- "Z" or "init"
- performs a crate initialize (reset).
- "C" or "clear"
- performs a crate clear.
- "inhibit"
- set crate inhibit if arg is 1 and clears crate inhibit if arg is 0.
During normal operation, you should not need to issue these commands. You should probably issue a reconfig after sending a crate initialize or clear.
MULTIPLE CRATE CONTROLLERS
As of spec release 5.06.02-1, up to four CAMAC crate controllers can be configured at a time. Currently, use of more than one instance of a particular controller is supported only for the Jorway 73A, the KS-3929 and the DSP 6001 controller models. Otherwise, only only one instance of a particular type or model of a controller can be used at a time.
Also, the only CAMAC modules that currently can be installed in other than the first crate (crate 0) are the E250, KS-3655, KS-3610, KS-3112, KS-3116, KS-3195, QS-450, RTC-018 and XIA DXP-4C/4C2X MCA modules.
In addition, the user-level functions ca_get(), ca_put(), ca_fna() and ca_cntl() currently only work with the first crate.
The multiple crate support will be extended for multiple identical controllers, additional modules and to the user-level functions in the future as needed.
To configure additional controllers from the edconf configuration editor (invoked by the config macro), use ^F or ^B on the CAMAC entry of the Interfaces screen.
To configure modules in the additional crates, type C from the CAMAC crate screen to cycle through the crates associated with each controller.
For scaler modules installed in other than the first CAMAC crate, the crate number must be entered in the same field as the unit number on the Scaler screen of the configuration editor using the crate/unit notation, as in 1/0 for crate 1, unit 0.
For motor modules installed in other than the first CAMAC crate, the crate number is entered as [crate/]unit/channel in the unit/[module/]channel field of the motor screen.
If only one crate is configured, the config file syntax is the same as before. When multiple crates are configured, additional information specifying crate number for each module and controller is added to the config file.