This shows you the differences between two versions of the page.
Both sides previous revision Previous revision Next revision | Previous revision Next revision Both sides next revision | ||
trigger [2013/12/10 21:32] pereira |
trigger [2013/12/11 14:14] pereira [Trigger Box] |
||
---|---|---|---|
Line 23: | Line 23: | ||
- | ===== Trigger Box ===== | + | ==== Trigger Box ==== |
In addition to the singles and coincidence triggers, two separate trigger sources labeled " | In addition to the singles and coincidence triggers, two separate trigger sources labeled " | ||
- | Since more than one trigger source can be selected, it is possible that more than one pulse is generated at the output of the trigger box, depending on the timing and shape of the source signals. When both downscaled singles and coincidences are selected for instance, the "Raw trigger" | + | Since more than one trigger source can be selected, it is possible that more than one pulse is generated at the output of the trigger box, depending on the timing and shape of the source signals. When both downscaled singles and coincidences are selected for instance, the "Raw trigger" |
- | More details about the trigger box module and its FPGA schematics can be found [[here]]. | + | More details about the trigger box module and its FPGA schematics can be found in section |
- | ===== Gate generation | + | ==== Gate generation ==== |
All digitizer gates and start signals are derived from the live trigger signal, with the exception of the QDC gate which is directly generated from the S800 source signal. The reason is to avoid long analog delays on the scintillator signals. A fast clear circuit is provided to clear the QDC if no valid trigger was generated. | All digitizer gates and start signals are derived from the live trigger signal, with the exception of the QDC gate which is directly generated from the S800 source signal. The reason is to avoid long analog delays on the scintillator signals. A fast clear circuit is provided to clear the QDC if no valid trigger was generated. | ||
- | ===== Inspect channels | + | ==== Inspect channels ==== |
A set of four inspect channels are patched out to the Data-U6 panels. Each channel can be assigned to any connection drawn on the GUI, thereby providing a convenient way to diagnose and adjust the timings at each step of the trigger circuit. | A set of four inspect channels are patched out to the Data-U6 panels. Each channel can be assigned to any connection drawn on the GUI, thereby providing a convenient way to diagnose and adjust the timings at each step of the trigger circuit. | ||
- | ===== Busy Circuit | + | ==== Busy Circuit ==== |
As each controller and external data acquisition perform their readout sequence in parallel, they have different busy times. The busy circuit following the generation of raw triggers is mainly composed of a latch that is set by the "Raw trigger" | As each controller and external data acquisition perform their readout sequence in parallel, they have different busy times. The busy circuit following the generation of raw triggers is mainly composed of a latch that is set by the "Raw trigger" | ||
- | + | ==== Time Stamping Scheme ==== | |
- | ===== Time Stamping Scheme | + | |
Because the USB-based S800 data acquisition uses independent crate controllers that perform the readout in parallel, time stamping and busy schemes are incorporated in the trigger to synchronize events and insure no trigger is generated while readout sequences are being executed. Because of this modularity, adding an external data acquisition system (typically from an external detector), is straightforward. More details about the time stamping can be found [[Trigger# | Because the USB-based S800 data acquisition uses independent crate controllers that perform the readout in parallel, time stamping and busy schemes are incorporated in the trigger to synchronize events and insure no trigger is generated while readout sequences are being executed. Because of this modularity, adding an external data acquisition system (typically from an external detector), is straightforward. More details about the time stamping can be found [[Trigger# | ||
Line 50: | Line 49: | ||
The S800 trigger logic is built in a LeCroy ULM2367 FPGA module. Note that this module could be replaced in the future by another FPGA module provided it has enough NIM or ECL input/ | The S800 trigger logic is built in a LeCroy ULM2367 FPGA module. Note that this module could be replaced in the future by another FPGA module provided it has enough NIM or ECL input/ | ||
- | ===== CAMAC commands | + | ==== CAMAC commands ==== |
The following table lists the CAMAC codes recognized by the trigger module and their signification. | The following table lists the CAMAC codes recognized by the trigger module and their signification. | ||
Line 87: | Line 86: | ||
- | ===== Inputs and outputs | + | ==== Inputs and outputs ==== |
The following table lists the inputs and outputs to/from the trigger module and their assignment. | The following table lists the inputs and outputs to/from the trigger module and their assignment. | ||
Line 108: | Line 107: | ||
B16 (out) Time stamp clock C16 (out) D16 (out) 1 Hz | B16 (out) Time stamp clock C16 (out) D16 (out) 1 Hz | ||
- | ===== FPGA firmware | + | ==== FPGA firmware ==== |
The firmware of the trigger module is shown in the following files. The PDF file contains the schematic sheets, used for most of the design. The Verilog file contains the block dealing with CAMAC communications. | The firmware of the trigger module is shown in the following files. The PDF file contains the schematic sheets, used for most of the design. The Verilog file contains the block dealing with CAMAC communications. | ||
Line 189: | Line 188: | ||
The last step of the begin sequence allows enough time for the CCUSB crate controller to switch from its interactive mode to data acquisition mode. The end sequence script executed at the end of a run sets the " | The last step of the begin sequence allows enough time for the CCUSB crate controller to switch from its interactive mode to data acquisition mode. The end sequence script executed at the end of a run sets the " | ||
- | ===== Scalers and dead time ===== | + | ====== Scalers and dead time ====== |
The " | The " | ||