I have tested several changes to the readout list for the ARS modules in ROC26 for runtype adaq1JM, to determine why the readout is distorted on the second and following events for the first module in the readout and not for the second. In this runtype, the ARS modules are read by an Intel VME CPU, and the DAQ host is the machine adaq1.
The hypothesis was that the board is not ready when we start reading, and this leads to an incomplete readout of the first event. That was the case, and the readout from ROC26 now stays synchronized. See below for details and future plans.
Run 1581---Uses the 2013-06-18b version of the readout list to verify the faulty behavior.
Run 1582---Swapped the order of the ARS addresses in the array, thus changing which module is read out first. The faulty behavior still occurs in the first module read. [version 2013-06-19a]
Run 1583---Tried using the "NbFifo" routine in the ARS library to determine the number of words present in the FIFO. Unfortunately this routine is not consistent with the current ARS register space. Just got zeros. [version 2013-06-19b]
Run 1584---Wrote a in-line routine to access the proper register. [version 2013-06-19c] Found that the first module has a smaller number of words than the second module. The second module has 0x201 words on reading; this seems like the counter is in 64-bit words, yielding a target of 0x200.
Run 1585---Added a short loop to wait until there are more than 511 words in the FIFO before starting the read. [version 2013-06-19d] The ARS readout now seems stable for the first module in ROC26.
Run 1586---Minor cleanup in the readout list [version 2013-06-19e]. Short run.
Run 1587---Longer run without any change in readout list. Both modules seem to maintain synchronization for ~1670 events.
The readout from one ARS module using this readout list consists of 1027 words, including the marker word 0xcf000000:
The next step would be to clean up the library and readout list a little more, verify the initialization is being done correctly, and transfer these changes to ROC27's readout. Then we could start "high rate" tests.