EPICURE Design Note 24.1
Protocol for Data Acquistion Via Test Camac
Therese M. Watts
.5cm
The Data Acquisition Engines (DAE) acquire requests from and pass replies back to
MicroVAX hosts via queues established in a Common Memory (CM). This note
describes the format of messages to be sent and the replies to be received to
perform Test Camac operations.
The Test Camac User Interface
A few simple facts must be known in order to talk test camac. The following
itemizes just about everything one needs to know to use this interface.
- Acquisition of data using test camac is identical to standard devices with
the exception that the list to be processed must be sent in a data array. This
means that DAR must be able to send data on a read request. A new set of routines
(da_add_camac_request_) have been defined to make this possible.
- The user will send the test camac list to be processed
in the data array of a da_add_camac_request.
Once the DAE receives the request,
it will get the responses as fast as it can and return them.
The format of the request packet is shown in the DAP description to follow.
- Return data is obtained, by
the user, by issuing a call to da_get_data.
The format of the response packet and returned data array,
is shown in the DSP and DA_GET_DATA RETURN DATA descriptions to follow.
- The timer tells the camac DAE each time it needs to collect test camac
data. The test camac device can be on a timed list with other devices. This
means that the camac DAE gets the list to process at each time expiration.
- When the DAE begins to process a test camac list, it timestamps the DSP.
When the hardware has collected all replies, the DAE again stamps the time.
Therefore, the return DSP for a test camac list bares two timestamps. The
first indicates when the execute request list was started, and the second
indicates when the hardware execution was completed.
- The maximum number of consecutive camac requests allowed in a single dap is 32.
- The raw Camac status response is the Termination error and Camac response
reported with the exact state as received from the hardware.
- The DAE defines the termination mask as 0x02 to terminate only on a
timeout condition. Since the DAE doesn't know what kind of card it is about
to talk to, it doesn't know what the proper setting of the termination mask
should be. Consequently, the user is returned the raw camac response and
termination response. If the termination response indicates timeout and
the camac response is zero, the caller should assume TIMEOUT. In this manner,
the user can distinguish between a link timeout and crate off-line. Both
conditions set the timeout bit in the termination status, but only the
off-line condition returns a camac response. Since the DAE zeroes the camac
status response prior to execution, the absence of any bits raised in the
camac status response returned, indicates that in fact no response was
ever received.
Descriptions of camac response status, and formats for DAP's and DSP's follow.
Calling Sequence
The following subroutines are called in order to request that
a list of commands for test camac be issued. These routines are used
in conjunction with other DAR subroutines such as da_init, da_declare_list,
da_get_data, etc.
- sts = da_add_camac_request_di( di, property, [mode], [ftd],
[list_id], request_count, camac_data, data_length, handle);
- sts = da_add_camac_request_name( name, property, [mode], [ftd],
[list_id], request_count, camac_data, data_length, handle);
- sts = da_add_camac_request_prev( property, [mode], [ftd],
[list_id], request_count, camac_data, data_length, handle);
The arguments are defined as follows:
Security, Privacy, Legal
rwest@fsus04.fnal.gov