Difference between revisions of "FELIX instructions for Petals"

From Atlas Wiki
Jump to navigation Jump to search
(add plots strobe delay)
Line 85: Line 85:
  
 
In the output directory, the ''OccVsStrobeDelayVsChan'' plots should look somewhat like this:
 
In the output directory, the ''OccVsStrobeDelayVsChan'' plots should look somewhat like this:
 
+
[[File:Strobe_delay_plots_PPB_R5_petal_unbiased.png|alt=Strobe delay signal vs channel number for unbiased PPB-R5-petal HCC0 Chip 0 Row 1, both at DESY and at Nikhef|none|thumb|1110x1110px|Strobe delay signal vs channel number for unbiased PPB-R5-petal HCC0 Chip 0 Row 1, both at DESY and at Nikhef]]
[[File:Strobe delay plots PPB R5 petal unbiased.png|frameless|1090x1090px]]
 
  
 
If everything worked correctly, you should see the ''XXX_StarStrobeDelayResult.json'' files in the /data folder.
 
If everything worked correctly, you should see the ''XXX_StarStrobeDelayResult.json'' files in the /data folder.

Revision as of 11:31, 3 June 2024

Back to DAQ systems


Note on repositories: The YARR repo needs to be (at least) on commit 2169a65b63c94e5eda9789908b62eab325dffb3d: https://gitlab.cern.ch/desy-atlas/itk/YARR/-/blob/2169a65b63c94e5eda9789908b62eab325dffb3d

Main instructions in this page were taken from DESY repo https://gitlab.cern.ch/desy-atlas/itk/petal-testing

PPB-R5-petal setup at Nikhef May 2024

How to configure a petal

cd into the petal-testing directory and then execute the following commands:

  • Setup the FELIX dependencies: source dependencies/setupFELIX.sh
  • Initialize the FLX card: flx-init

It's normal if it says that all the channels are not aligned even if at least one actually is, we don't know why, but SR1 with staves sees the same.

  • Invert the polarity (for lpGBTv1): flx-config set GBT_RXPOLARITY=0xFFFFFFFF
  • Verify the status of the PODs: flx-info POD
  • Check that all connected links are aligned: flx-info GBT

If testing the PPB R5 Vancouver Petal:

  • Configure the elinks on your FELIX card: source configs/elinks/elinks_petal_R5_640Mbs.sh
  • Check your config: elinkconfig

Click on Read Cfg, then you can Quit.

  • Push the lpGBT config to the petal chipset: fice -G0 -I71 configs/lpgbt/lpgbt_PT_M_LH_V1_Pri_hex.cnf

If this command takes a long time, it's because of the LV PSU, probably due to have been providing power for a long time.

  • Verify this has worked (you should see the line "Compared 336 values, found 0 differences"): fice -G0 -I71 -C configs/lpgbt/lpgbt_PT_M_LH_V1_Pri_hex.cnf
  • Start FELIXCore and don't close this terminal: startFelixcore


In a second remote terminal session cd into the petal-testing directory and then execute the following commands:

  • Configure the YARR dependencies: source dependencies/setupYARR.sh
  • Activate the AMAC: write_amac_ppb 9 1 0 0

This will increase the current in the LV PSU, typically from 165 mA to 405 mA, at least these are the numbers at Nikhef with the R5 Vancouver petal. It's important to check this change in the consumption, since it confirms there's communication with the chips.

In the terminal running Felixcore, a new line will appear saying "Opening DEVICE 0 for the To-FLX thread".

  • Confirm there's communication with the HCCs via a register dump scan: python3 scantools/run_YARR.py -c scanSetup_regDump.json --infile-dir scantools/configs_PPB_Vancouver_R5 execute it twice!! (once per HCC)

After the 2nd time, there shouldn't be lines like "There were no results for chip Stave_PPB_hcc1".

Also: after the first regsiter dump scan, the current in the LV PSU will increase from 405 mA to 514 mA, and Felixcore will show the lines "Subscription from endpoint 127.0.0.1:37645 for elink 0" and "Subscription from endpoint 127.0.0.1:39225 for elink 2". After the second regsiter dump scan the current will increase from 514 mA to 605 mA, and Felixcore will show the lines "Subscription from endpoint 127.0.0.1:42045 for elink 0" and "Subscription from endpoint 127.0.0.1:46479 for elink 2".


Trim Scan

The trimScanWithRange optimizes the trim and threshold values of the chip at the same time, thus this scan takes a while (around 45'): python3 scantools/run_YARR.py -c scanSetup_trim.json --infile-dir scantools/configs_PPB_Vancouver_R5

This scan uses the following json files:

- to configure which scans to use: /petal-testing/scantools/configs_PPB_Vancouver_R5/scanSetup_trim.json

- to define the actual scan (scan config): /YARR/configs/scans/star/std_trimScanWithRange.json

So if you want to use a different scan from YARR, you need to change it in /scantools.

In /data, you should now find a subdirectory called XXXXXX_std_trimScanWithRange, with TrimDacVsThreshold plots looking like the following ones (for HCCs 0 and 1):

Check that for both HCCs, the StarTrimDACResult JSON files exist.


Strobe Delay Scan

Before performing the scan, enter the results of the previous trim scan in the configuration of the strobe delay (SD) scan:

1) Important: Edit the scantools/configs_PPB_Vancouver_R5/scanSetup_SD.json and enter the previous run number in the field "input_trim_from_run": "/XXXXXX".

2) Run the scan using the command python3 scantools/run_YARR.py -c scanSetup_SD.json --infile-dir scantools/configs_PPB_Vancouver_R5

Important: In my case, the run_YARR.py file had some issues for the strobe delay scan: lines 121 and 156 contained "for iABC in range(10):" trying to access 10 ABCs, when there's only 9. I modified them to "for iABC in range(9):"

In the output directory, the OccVsStrobeDelayVsChan plots should look somewhat like this:

Strobe delay signal vs channel number for unbiased PPB-R5-petal HCC0 Chip 0 Row 1, both at DESY and at Nikhef
Strobe delay signal vs channel number for unbiased PPB-R5-petal HCC0 Chip 0 Row 1, both at DESY and at Nikhef

If everything worked correctly, you should see the XXX_StarStrobeDelayResult.json files in the /data folder.


Important: Additionally to the results of the trim scan, use the results of the strobe delay scan in all further scans. Edit the field *"input_strobeDelay_from_run": "/XXXXXX" to take the results from the correct run number.


3 Point Gain Scan

Execute python3 scantools/run_YARR.py -c scanSetup_3PG.json --infile-dir scantools/configs_PPB_Vancouver_R5

Important: Also in this scan, I got the same issue with the IDs of the ABC chips (as happened during the strobe delay scan).






The responseCurve plots should contain three points and look like this:

PLOTS