HGCal DAQ instruction

SYNCH board instruction

  • Copy into the pi the last version of the code which can be found in svhgcal01 : /home/daq/FINAL_CODES/SYNCHBOARD/pi/SYNCH_BOARD

  • Program the ORM board:
    • Connect into the raspberry on the sync board:
      ssh pi@IP_ADDRESS_OF_THE_RPI 
    • Available IP addresses can be checked in svhgcal01 : ~/.ssh/config. Example
      cd ~/SYNCH_BOARD/prgm_fpga
      sudo ./ProgramFPGA 4 < sync_orm1_busy2.hex # sync_orm1_27July.hex also possible if the busy signal coming out of the Sync board is not needed 
    • If incorrect chip ID or other error messages occured:
      1. Try to run again could resolve the problem
      2. If not, physical power cycle the sync board and try again step1.
      3. Re-program the sync board ORM using the windows PC and the xilinx usb blaster
  • Check the RDOUT_MASK in ~/SYNCH_BOARD/src/sync_debug.c. The READOUT boards should be connected to the SYNC board according to this bit mask.
  • Run the script in ~/SYNCH_BOARD
    • The script will print out the firmware version (0x1004 if sync_orm1_busy2.hex is used, 0x1002 if sync_orm1_27July is used), the rdout_mask and the cable_mask should have the same value.

READOUT board instruction

  • Last version of the READOUT board code in svhgcal01: /home/daq/FINAL_CODES/RDOUTBOARD/RDOUT_BOARD_IPBus/
  • Program othe ORM boards:
    • Connect into the raspberry (available IP addresses can be checked in svhgcal01 : ~/.ssh/config, example
      ssh pi@IP_ADDRESS_OF_THE_RPI
      cd ~/RDOUT_BOARD_IPBus/prgm_fpga
      sudo ./prog_all_orms.sh
    • If incorrect chip ID or other error messages occured:
      1. Try to run again could resolve the problem
      2. If not, physical power cycle the readout board and try again step1.
      3. Re-program the readout board ORMs using the windows PC and the xilinx usb blaster. Control ORM and data ORM have not the same firmware and they have different JTAG input: the top(bottom) is for the control(data) ORM.

Building and installing eudaq

  • Download the HGCal eudaq code
git clone https://github.com/HGCDAQ/eudaq.git
  • Build and install:
cd eudaq
source setup_eudaq_cmshgcal.sh
cd build
cmake -DBUILD_cmshgcal=ON ../ #other options: -DBUILD_tlu=ON -DBUILD_ni=ON ...
make install -j16
cd ../
  • Create the directories "data", "raw_data", "logs" and "data_root" if they are not already there. They can be symbolic links.

Change the readout mask in the Online Monitoring

  • In case the ORM slots are changed by plugging in the HDMI cables from the modules into different slots, one has to adjust a certain file in the eudaq monitoring and recompile.
  • On svhgcal01 open EUDAQ_DIR/producers//cmshgcal/src/HexaBoardConvertPlugin.cc. For the default online monitoring from last year EUDAQ_DIR=~/eudaq-DESY-2018, for the combined monitoring with e.g. CrossCorrelations EUDAQ_DIR = ~/dev-eudaq-thorben/eudaq.
  • Adjust the const uint32_t skiMask[1] to the pattern by which the ORMs are connected with the LSB starting from the top.
  • cd <EUDAQ_DIR>; source setup_eudaq_cmshgcal.sh; cd build; make -j4 install;

Starting eudaq

  • Make sure no executables are running on the RPIs:
  • Set the IP addresses of the control ORM boards (source config_ipbus will not work)
It power cycles the ORM boards and the hexaboards. At the end of the power cycling, all connected hexaboards should have their LED on. Then it sets the IP addresses of the control ORM boards (of each readout boards) by running the script RDOUT_BOARD_IPBus/rdout_software/ip_mac_addr.sh in the RPI of the readout boards. Finally it tries to ping the IP addresses of all the control ORM boards. If it fails (i.e. the ping command are never satisfied):
  1. Check the print out of the ip_mac_addr.sh script. "0"s indicate that the IP address was not set properly.
  2. Make sure that the executables were not running on the RPI of the readout boards. If needed re-run the "stop_exe_on_rpi.sh" script.
  3. Make sure the readout board is receiving clock: the control ORM and the 4 data boards must all have a green blinking LED.
  4. Re-programming ORM boards might help (see instruction)
  5. Physical power-cycling usually resolves the problem
  • Make sure all the hexaboards have their LED on and then start executables on the RPIs:
It starts ~/SYNCH_BOARD/bin/sync_debug.exe on the RPI of the sync board and ~/RDOUT_BOARD_IPBus/bin/new_rdout.exe on the RPI of the readout boards. They both set registers using spi bus. The SKIROC2CMS chip configuration is done by the executable "new_rdout.exe". The print out of new_rdout.exe is dumped in the RPI in /home/pi/log.log . From this, it is possible to check the number of connected hexaboards in the readout board by checking the "loop error" messages ("loop error = 0" means that there is a powered HB connected).
  • Start eudaq run control:
    source setup_eudaq_cmshgcal.sh
    ./STARTRUN option
    • Available options: "ped" for pedestal run, "all" for running with AHCAL, wire chambers, DQM...
    • Several GUIs should open and the producers should appear in the run control GUI. Sometimes the DQM GUI fails to open and usually re-running the "STARTRUN" helps.
  • On the run control GUI, follow the procedure:
    • Load the init file if not already done : /home/daq/eudaq/producers/cmshgcal/conf/cmshgcal.init
    • Click the Init button, all running producers should have their state turning to Initialised
    • Load the configuration file if not already done : /home/daq/eudaq/producers/cmshgcal/conf/AllInOneProducer.conf
    • Click the Configure button. After few seconds, all producers should be in Configured state. On the HGCalProducer xterm window, check that the connection with the control ORM boards is correct (it is OK if the print out are in blue). Also the number of connected hexaboards can be checked by looking at the RDOUT_MASK print out for each readout board. The RDOUT_MASK is a 32 bits word. Example RDOUT_MASK=0x00f00fff means 4 boards are connected (4 "f"), 3 boards are connected in the top 3 first HDMI slots, 1 is connected in the 6th HDMI slot.
    • Click the Run button. The run will start after few secs. In the HGCalProducer window, the RDOUT_MASK can be checked for each event.
Edit | Attach | Watch | Print version | History: r8 < r7 < r6 < r5 < r4 | Backlinks | Raw View | WYSIWYG | More topic actions
Topic revision: r8 - 2018-04-06 - ArnaudSteen
    • Cern Search Icon Cern Search
    • TWiki Search Icon TWiki Search
    • Google Search Icon Google Search

    Main All webs login

This site is powered by the TWiki collaboration platform Powered by PerlCopyright & 2008-2022 by the contributing authors. All material on this collaboration platform is the property of the contributing authors.
or Ideas, requests, problems regarding TWiki? use Discourse or Send feedback