New CLAS Level1 Trigger System: Difference between revisions

From CLONWiki
Jump to navigation Jump to search
No edit summary
No edit summary
Line 33: Line 33:
L2SEC LUT represents 8 possible combinations of 3 detectors: STOF, ECP and ECC. Config files tag is TS_L2_SECLOGIC following by the number representing LUT contents. If one of those detectors must be used alone, corresponding vertical column must be converted to decimal number and used in config file. If OR or AND logic must be implemented, corresponding operation must be performed in every of 8 lines, and resulting column converted to the decimal number as well. Following diagram explains how it works:
L2SEC LUT represents 8 possible combinations of 3 detectors: STOF, ECP and ECC. Config files tag is TS_L2_SECLOGIC following by the number representing LUT contents. If one of those detectors must be used alone, corresponding vertical column must be converted to decimal number and used in config file. If OR or AND logic must be implemented, corresponding operation must be performed in every of 8 lines, and resulting column converted to the decimal number as well. Following diagram explains how it works:


  ECC ECP STOF | ECC|ECP ECC|STOF ECP|STOF ECC|ECP|STOF ECC&ECP ECC&STOF ECP&STOF ECC&ECP&STOF
      ECC   ECP   STOF | ECC|ECP ECC|STOF ECP|STOF ECC|ECP|STOF ECC&ECP ECC&STOF ECP&STOF ECC&ECP&STOF
     0   0   0  |    0      0        0          0          0      0        0          0
        0     0     0   |    0      0        0          0          0      0        0          0
     0   0  1   |    0      1        1          1          0      0        0          0
        0     0     1   |    0      1        1          1          0      0        0          0
     1   0   |    1      0        1          1          0      0        0          0
        0     1     0   |    1      0        1          1          0      0        0          0
     1   1   |    1      1        1          1          0      0        1          0
        0     1     1   |    1      1        1          1          0      0        1          0
     0   0   |    1      1        0          1          0      0        0          0
        1     0     0   |    1      1        0          1          0      0        0          0
     0   1   |    1      1        1          1          0      1        0          0
        1     0     1   |    1      1        1          1          0      1        0          0
     1   1  0   |    1      1        1          1          1      0        0          0
        1     1     0   |    1      1        1          1          1      0        0          0
     1   1   1  |    1      1        1          1          1      1        1          1
        1     1     1   |    1      1        1          1          1      1        1          1
  hex -->          0x      0x       0x        0x        0x      0x       0x        0x
  hex:  0xF0  0xCC  0xAA  |  0xFC    0xFA    0xEE      0xFE       0xC0    0xA0    0x88       0x80
  dec -->
  dec:  240  204  170      252    250      238        254        192    160      136        128  <--- to be used in config file
 
For example

Revision as of 10:41, 1 November 2010

During G12 run preparations on spring 2008 we decided to upgrade photon part of CLAS Level1 trigger system using CAEN v1495 logic unit. Eventually those efforts resulted in full Level1 system replacement: 6 level1 router boards and event processor board were replaced with one single v1495 unit equipped with 2 extra daughter modules. Trigger was commissioned during first phase of G12 run, last significant change was applied April 20, 2008. Most of the job was completed by Ben Raydo from Fast Electronics group. Valery Kubarovsky and Pawel Nadel-Turonski made generic trigger design and conducted trigger testing. Sergey Boyarinov, Ivan Bedlinskiy, Nerses Gevorgyan and Hovanes Egiyan integrated new hardware and software components into CLAS online and slow control systems. Technical assistance was provided by Fast Electronic Group and CODA Group personal. Current document contains basic information about the system.

  • v1495-based logic: see GUI snapshots below; total propagation time is about 75ns, similar to old Level1 system
  • Windows-based control GUI (see snapshot1, snapshot2 and snapshot3) were developed by Ben Raydo; it displays basic trigger logic and allows user to control and monitor various parts of the system using controlled logic elements, delays and lookup tables; built-in scalers are providing useful information about system functionality; system includes an multi-channel logic analyzer which was extremely useful to set appropriate delays (see snapshot1, snapshot2, snapshot3 and snapshot4)
  • system incorporation into CLAS Online and Slow control: 9 OR modules were installed in sc2 crate, controlling script was provided to set appropriate masks into those units; v1495 was installed into clastrig2 trigger supervisor crate, and tcp server was developed and started under vxWorks to provide communication with Windows GUI and any other control and monitoring software running on UNIX machines; vxWorks timer-driven process is reading and reseting v1495 scalers every second placing data into semaphore-protected memory, so EPICS-related functions can extract necessary information from there; to provide EPICS support EPICS IOC was lunched along with CODA in clastrig2 crate, both systems are running together without problems (clastrig2 'i' command snapshot); EPICS GUIs were developed (see snapshot1 and snapshot2) to display trigger system scalers; Windows-based GUI was installed on clonwin2 desktop which was accessed using remote desktop software from clon04 Linux machine

March 2010 new photon version

Contains new Level2-related features and some small changes. Ben's email:

Hi Sergey,
See the attachments for the new module revision. The main changes have been
switching over the a 32bit VME interface, which made the firmware a bit easier to
write/compile and should simplify your 32bit scalar readout. This module will only
support 32bit VME transcactions (not 16bit).
Take a look at the attached TCP/VME server - I've mainly added 32bit vme messages.
If you use this file you'll need to add your controls for when EPICS is actively
reading out scalars (redirect the scalar address range to read from EPICS instead of
the VME module, but when EPICS isn't active allow the VME commands to read directly
from the module - be sure to include the scalar control register!).
I've got the GUI ready to go and the VME firmware is just about ready (just needs to
finish compiling) if you want to test soon (probably tomorrow is best still).
Ben

Manual: pdf.

Some notes

L2SEC LUT represents 8 possible combinations of 3 detectors: STOF, ECP and ECC. Config files tag is TS_L2_SECLOGIC following by the number representing LUT contents. If one of those detectors must be used alone, corresponding vertical column must be converted to decimal number and used in config file. If OR or AND logic must be implemented, corresponding operation must be performed in every of 8 lines, and resulting column converted to the decimal number as well. Following diagram explains how it works:

      ECC   ECP   STOF  | ECC|ECP ECC|STOF ECP|STOF ECC|ECP|STOF ECC&ECP ECC&STOF ECP&STOF ECC&ECP&STOF
       0     0     0    |    0       0        0          0          0       0        0          0
       0     0     1    |    0       1        1          1          0       0        0          0
       0     1     0    |    1       0        1          1          0       0        0          0
       0     1     1    |    1       1        1          1          0       0        1          0
       1     0     0    |    1       1        0          1          0       0        0          0
       1     0     1    |    1       1        1          1          0       1        0          0
       1     1     0    |    1       1        1          1          1       0        0          0
       1     1     1    |    1       1        1          1          1       1        1          1
hex:  0xF0  0xCC  0xAA  |   0xFC    0xFA     0xEE       0xFE       0xC0    0xA0     0x88       0x80
dec:   240   204   170       252     250      238        254        192     160      136        128   <--- to be used in config file