Difference between revisions of "NPS DAQ in Hall C"
Jump to navigation
Jump to search
(28 intermediate revisions by one other user not shown) | |||
Line 1: | Line 1: | ||
+ | Official guide to NPS DAQ at [https://hallcweb.jlab.org/wiki/index.php/Hall_C_DAQ https://hallcweb.jlab.org/wiki/index.php/Hall_C_DAQ] | ||
+ | == Startup == | ||
+ | [[File:NPS_DAQ_startCoda.png|right|VNC window after 'startCoda']] | ||
+ | * login: coda@cdaql6 vnc: coda@cdaql6 :6 | ||
+ | * in fresh xterm: | ||
+ | startCoda | ||
+ | :- xterms (ROCs and PEB) and RCGUI should open | ||
+ | * Restart the components without closing the xterms | ||
+ | restartStuff | ||
+ | * Kill all components and xterms | ||
+ | kcoda | ||
+ | |||
== Environment Setup == | == Environment Setup == | ||
− | + | * The CODA environment is setup using [https://github.com/JeffersonLab/coda_scripts coda_scripts] | |
− | + | * User Defined CODA environment variables | |
− | + | ** CODA for ROC/VTP | |
setenv CODA ${HOME}/coda_3.10_devel | setenv CODA ${HOME}/coda_3.10_devel | ||
− | + | setenv CODA_SCRIPTS ${CODA}/coda_scripts | |
− | + | ||
+ | :* CODA for Platform/PEB | ||
+ | setenv CODA ${HOME}/coda/3.10_devel | ||
+ | setenv CODA_SCRIPTS ${HOME}/coda/coda_scripts | ||
− | + | :* CODA Session and EXPID | |
− | |||
setenv SESSION NPS | setenv SESSION NPS | ||
setenv EXPID NPS | setenv EXPID NPS | ||
− | + | :* source the coda scripts setup | |
+ | source ${CODA_SCRIPTS}/setupCODA3.tcsh | ||
+ | |||
=== VME ROC === | === VME ROC === | ||
Line 28: | Line 44: | ||
=== VTP ROC === | === VTP ROC === | ||
− | + | * CODA environment loaded from .tcshrc from setup script: | |
hccoda@nps-vtp1:~/setup_nps-vtp_3.10 | hccoda@nps-vtp1:~/setup_nps-vtp_3.10 | ||
− | === PEB === | + | === Platform / PEB === |
− | + | * CODA environment loaded from .cshrc from setup script: | |
coda@cdaql6:~/bin/nps_coda_user_setup | coda@cdaql6:~/bin/nps_coda_user_setup | ||
+ | * Other environment settings | ||
+ | setenv JAVA_HOME ${HOME}/coda/jdk1.8.0_152 | ||
+ | setenv COOL_HOME ${HOME}/coda/cool | ||
== VME Module Configuration == | == VME Module Configuration == | ||
Line 45: | Line 64: | ||
* readout of TI and fadc250 | * readout of TI and fadc250 | ||
* compiles as | * compiles as | ||
− | nps_vme_master_list.so | + | nps_vme_master_list.so |
− | nps_vme_slave_list.so | + | nps_vme_slave_list.so # Uses fiber 1 for TS connection (HMS) |
+ | nps_vme_slave5_list.so # Uses fiber 5 for TS connection (NPS) | ||
+ | |||
* '''master''' configured for triggers from TSINPUTS: TS#1, TS#2 | * '''master''' configured for triggers from TSINPUTS: TS#1, TS#2 | ||
* fadc250 configuration file read from "User Configuration file" | * fadc250 configuration file read from "User Configuration file" | ||
− | * ti configuration read from "User String" | + | * ti configuration read from "User String" |
− | ** '''vtp''' - | + | ** '''vtp''' - adds VTP as slave ROC |
− | ** ''' | + | ** '''npsvmeN''', N=[2,5] - adds npsvmeN as a slave ROC |
=== ti_list.c === | === ti_list.c === | ||
Line 60: | Line 81: | ||
* '''master''' configured for triggers from TSINPUTS: TS#1, TS#2 | * '''master''' configured for triggers from TSINPUTS: TS#1, TS#2 | ||
* ti configuration read from "User String" | * ti configuration read from "User String" | ||
− | ** '''vtp''' | + | ** '''vtp''' - adds VTP as slave ROC |
− | ** ''' | + | ** '''npsvmeN''', N=[2,5] - adds npsvmeN as a slave ROC |
=== event_list.crl === | === event_list.crl === | ||
Line 69: | Line 90: | ||
== CODA Configurations == | == CODA Configurations == | ||
+ | === Component priorities === | ||
− | + | These must be set to ensure the correct order of ROCs for the configuration and synchronization of serial links. The pattern: Trigger Supervisor has highest priority, VME are next. VTP have the least priority. | |
− | |||
− | |||
− | |||
− | |||
− | |||
− | + | [[File:ROC_priority_example.png|right]] | |
+ | {| class="wikitable" style="margin:left" | ||
+ | ! Component !! Priority | ||
+ | |- | ||
+ | | npsvme1 || 1210 | ||
+ | |- | ||
+ | | npsvme2 || 1110 | ||
+ | |- | ||
+ | | npsvme3 || 1110 | ||
+ | |- | ||
+ | | npsvme4 || 1110 | ||
+ | |- | ||
+ | | npsvme5 || 1110 | ||
+ | |- | ||
+ | | npsvtp1 || 1010 | ||
+ | |- | ||
+ | | npsvtp2 || 1010 | ||
+ | |- | ||
+ | | npsvtp3 || 1010 | ||
+ | |- | ||
+ | | npsvtp4 || 1010 | ||
+ | |- | ||
+ | | npsvtp5 || 1010 | ||
− | + | |} | |
− | hccoda | + | |
− | + | === Readout Lists, User Strings, User Config === | |
− | hccoda | + | |
+ | This section defines the field contents for the ROC components. The '''NPS''' configuration uses the fields as shown below. The '''NPS_5crate''' configuration has the npsvtp{1,2,3,4,5} ROCs removed, with the ''vtp'' parameter removed from the '''ROL1 User String''' | ||
+ | |||
+ | ==== npsvme1 ==== | ||
+ | ROL1: /home/hccoda/nps-vme/rol/nps_vme_master_list.so | ||
+ | ROL1 User String: vtp,npsvme2,npsvme3,npsvme4,npsvme5 | ||
+ | |||
+ | ROL2: /home/hccoda/nps-vme/rol/event_list.so | ||
+ | ROL2 User String: undefined | ||
+ | |||
+ | User Config: /home/hccoda/nps-vme/cfg/nps-vme1.cfg | ||
+ | |||
+ | ==== npsvme{2,3,4,5} ==== | ||
+ | ROL1: /home/hccoda/nps-vme/rol/nps_vme_slave5_list.so | ||
+ | ROL1 User String: vtp | ||
+ | |||
+ | ROL2: /home/hccoda/nps-vme/rol/event_list.so | ||
+ | ROL2 User String: undefined | ||
+ | |||
+ | User Config: /home/hccoda/nps-vme/cfg/nps-vme{2,3,4,5}.cfg | ||
+ | |||
+ | ==== npsvtp{1,2,3,4,5} ==== | ||
+ | ROL1: /home/hccoda/nps-vtp/rol/nps_vtp_list.so | ||
+ | ROL1 User String: undefined | ||
+ | |||
+ | ROL2: | ||
+ | ROL2 User String: undefined | ||
+ | |||
+ | User Config: /home/hccoda/nps-vtp/cfg/nps-vtp{1,2,3,4,5}.cfg | ||
− | + | == VTP uBoot configuration == | |
− | + | {| class="wikitable" style="float:right" | |
− | + | |- | |
− | + | ! port !! vtp | |
− | nps- | + | |- |
− | + | | 2001 || nps-vtp1 | |
+ | |- | ||
+ | | 2002 || nps-vtp2 | ||
+ | |- | ||
+ | | 2003 || nps-vtp3 | ||
+ | |- | ||
+ | | 2004 || nps-vtp4 | ||
+ | |- | ||
+ | | 2005 || nps-vtp5 | ||
+ | |} | ||
+ | * Access to VTP boot parameters is through the NPS portserver. | ||
+ | telnet nps-ps1 <port> | ||
+ | * [[NPS VTP Serial Connection]] |
Latest revision as of 07:41, 7 September 2023
Official guide to NPS DAQ at https://hallcweb.jlab.org/wiki/index.php/Hall_C_DAQ
Startup
- login: coda@cdaql6 vnc: coda@cdaql6 :6
- in fresh xterm:
startCoda
- - xterms (ROCs and PEB) and RCGUI should open
- Restart the components without closing the xterms
restartStuff
- Kill all components and xterms
kcoda
Environment Setup
- The CODA environment is setup using coda_scripts
- User Defined CODA environment variables
- CODA for ROC/VTP
setenv CODA ${HOME}/coda_3.10_devel setenv CODA_SCRIPTS ${CODA}/coda_scripts
- CODA for Platform/PEB
setenv CODA ${HOME}/coda/3.10_devel setenv CODA_SCRIPTS ${HOME}/coda/coda_scripts
- CODA Session and EXPID
setenv SESSION NPS setenv EXPID NPS
- source the coda scripts setup
source ${CODA_SCRIPTS}/setupCODA3.tcsh
VME ROC
- CODA environment loaded from .tcshrc from setup script:
hccoda@nps-vme1:~/setup_nps-vme_3.10
- Other environment settings
- LINUXVME
setenv LINUXVME ${HOME}/nps-vme/linuxvme setenv LINUXVME_INC $LINUXVME/include setenv LINUXVME_LIB $LINUXVME/$MACHINE/lib setenv LINUXVME_BIN $LINUXVME/$MACHINE/bin setenv PATH ${LINUXVME_BIN}:$PATH setenv LD_LIBRARY_PATH ${LINUXVME_LIB}:${LD_LIBRARY_PATH}
VTP ROC
- CODA environment loaded from .tcshrc from setup script:
hccoda@nps-vtp1:~/setup_nps-vtp_3.10
Platform / PEB
- CODA environment loaded from .cshrc from setup script:
coda@cdaql6:~/bin/nps_coda_user_setup
- Other environment settings
setenv JAVA_HOME ${HOME}/coda/jdk1.8.0_152 setenv COOL_HOME ${HOME}/coda/cool
VME Module Configuration
FADC250 Configuration
hccoda@nps-vme2:~/nps-vme/cfg/nps-vme2.cfg
VME Readout Lists
hccoda@nps-vme2:~/nps-vme/rol/
nps_vme_list.c
- readout of TI and fadc250
- compiles as
nps_vme_master_list.so nps_vme_slave_list.so # Uses fiber 1 for TS connection (HMS) nps_vme_slave5_list.so # Uses fiber 5 for TS connection (NPS)
- master configured for triggers from TSINPUTS: TS#1, TS#2
- fadc250 configuration file read from "User Configuration file"
- ti configuration read from "User String"
- vtp - adds VTP as slave ROC
- npsvmeN, N=[2,5] - adds npsvmeN as a slave ROC
ti_list.c
- readout of TI
- compiles as
ti_master_list.so ti_slave_list.so
- master configured for triggers from TSINPUTS: TS#1, TS#2
- ti configuration read from "User String"
- vtp - adds VTP as slave ROC
- npsvmeN, N=[2,5] - adds npsvmeN as a slave ROC
event_list.crl
- Required for user events from VME ROC.
- compiles as
event_list.so
CODA Configurations
Component priorities
These must be set to ensure the correct order of ROCs for the configuration and synchronization of serial links. The pattern: Trigger Supervisor has highest priority, VME are next. VTP have the least priority.
Component | Priority |
---|---|
npsvme1 | 1210 |
npsvme2 | 1110 |
npsvme3 | 1110 |
npsvme4 | 1110 |
npsvme5 | 1110 |
npsvtp1 | 1010 |
npsvtp2 | 1010 |
npsvtp3 | 1010 |
npsvtp4 | 1010 |
npsvtp5 | 1010 |
Readout Lists, User Strings, User Config
This section defines the field contents for the ROC components. The NPS configuration uses the fields as shown below. The NPS_5crate configuration has the npsvtp{1,2,3,4,5} ROCs removed, with the vtp parameter removed from the ROL1 User String
npsvme1
ROL1: /home/hccoda/nps-vme/rol/nps_vme_master_list.so ROL1 User String: vtp,npsvme2,npsvme3,npsvme4,npsvme5
ROL2: /home/hccoda/nps-vme/rol/event_list.so ROL2 User String: undefined
User Config: /home/hccoda/nps-vme/cfg/nps-vme1.cfg
npsvme{2,3,4,5}
ROL1: /home/hccoda/nps-vme/rol/nps_vme_slave5_list.so ROL1 User String: vtp
ROL2: /home/hccoda/nps-vme/rol/event_list.so ROL2 User String: undefined
User Config: /home/hccoda/nps-vme/cfg/nps-vme{2,3,4,5}.cfg
npsvtp{1,2,3,4,5}
ROL1: /home/hccoda/nps-vtp/rol/nps_vtp_list.so ROL1 User String: undefined ROL2: ROL2 User String: undefined User Config: /home/hccoda/nps-vtp/cfg/nps-vtp{1,2,3,4,5}.cfg
VTP uBoot configuration
port | vtp |
---|---|
2001 | nps-vtp1 |
2002 | nps-vtp2 |
2003 | nps-vtp3 |
2004 | nps-vtp4 |
2005 | nps-vtp5 |
- Access to VTP boot parameters is through the NPS portserver.
telnet nps-ps1 <port>