...
Code Block |
---|
cd /home/itkpix/software # Jan/2023 ITkPixV1. Previously was felix-sw/flx-sw-2022-08-11 # or another felix-sw version source setup.sh x86_64-centos7-gcc11-opt/felixcore/felixcore -d 0 --data-interface lo --elinks 0,4,8,12 # starts felixcore, check your links! |
Note that the elinks might change according your connectivity scheme. More information from Ismet here.
In a second terminal do::
- In case the optoboard setup was done previously and remained powered on, you can proceed with just a simple environmental setup:
Code Block |
---|
cd /home/itkpix/optoboard_felix-system source flx_opto_setup.sh # ifwarm FELIX server restart or stuck: start |
- In case the optoboard was just powered or got stuck, you need to do a cold start setup (this is incompatible with felixcore so that you need to terminate felixcore in the other window before doing this):
Code Block |
---|
cd /home/itkpix/optoboard-system source flx_opto_setup_fresh.sh # cold start |
At this point the master link between FELIX and optoboard should be established which you can check using the command
Code Block |
---|
flx-info link
|
which should typically show something like:
Code Block |
---|
Link alignment status ------------------------ Channel | 0 1 ---------- Aligned | YES NO Channel | 2 3 ---------- Aligned | NO NO |
which indicates the master lpGBT link (Channel 0) is established so that further configuration can proceed. The optoboards only have the master lpGBT enabled at powerup while the other lpGBTs will be brought up at the optoboard configuration stage (this requires felixcore up and running):
Code Block |
---|
cd /home/itkpix/optoboard-system/optoboard_felix python quick_start.py -v 1.3 -s 00000000 -G 0 -d 0 |
The -s
specifies the serial number used (00000000 is the default one for Optoboard V2.1), -G
is the link number of FELIX and -d
the FELIX device. If -s
is set to 00000000 and -v 1.3
, optoboard_felix sends the parameters in the config ~/optoboard_felix/configs/optoboard_lpgbtv1_gbcr2_vtrxv1_3_default.json
to the lpGBTs, GBCR and VTRx+. Check the FELIX documentation or the optoboard_felix readme for more information on this. If this succeeded, the single optoboard LV current will go up to ~900mA.
If you do flx-info link
after optoboard configuration you should now see that respective link alignedall links are aligned with YES. If you do flx-info podpower
you should see something like this (if single Optoboard outside test-Optopanel is connected similarlythen only Chan 0-3 are relevant):
Code Block |
---|
Optical power (Receive=RX or Transmit=TX) of channel in uW: | 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | |=========|=========|=========|=========|=========|=========|=========|=========|=========|=========|=========|=========| 1st TX | 983.30 | 986.10 | 892.10 | 970.00 | 937.50 | 1009.70 | 916.20 | 970.30 | 920.00 | 960.80 | 924.40 | 958.50 | 1st RX | 946.80 | 790.20 | 870.50 | 761.80 | 0.00 | 0.00 | 0.00 | 0.00 | 0.00 | 0.00 | 0.00 | 0.00 | |
In case any present link got power below 700uW, please check the VTRX+ fiber pigtail ferrule junction to the MPO splitter is fully plugged in. You can further check the optoboard configuration for link speed, tracking mode and link locking phase with the python script:
Code Block |
---|
cd /home/itkpix/optoboard-system/optoboard_felix
python opto_doc.py -v 1.3 -s 00000000 -G 0 -d 0 |
After fibre fanout installation:
...
-I 0x74
is the address for the lpGBT and the option -1
for the lpGBT version 1. Consult the lpGBT manual for all the various register names. You can also check which version of FELIX firmware we are running with the command:
Code Block |
---|
flpgbtconf -1 -I 0x74 -G 0 -d 0 ROM # Check FELIX firmware version
|
The stable version for ITkPixV1 readout since DEc/2022 was FLX712-PIXEL-2x2CH-221101-1129-GIT:rm-5.0/2749.
There are many more options with FELIX, consult the FELIX user manual.
Running ITkPixV1 Digital Calibration
Note: all procedures above related to optoboard setup are completely independent of the pixel modules so that they could be done with the pixel module powered off. After the optoboards are fully configured, we could extend the opoeration to the pixel modules. The ITkPixV1.0 SCC is typically powered with 2.0V LV and the initial current of the SCC just after powerup before configuratoin is ~3.07A. With optoboard completely configured, one can power up the module LV then check if the data link are aligned:
Code Block |
---|
flx-config list | grep DECODING_LINK_ALIGNED |
for which you7 might see some output like:
Code Block |
---|
0x2180 [R 57:00] DECODING_LINK_ALIGNED_00 0x000000030000000 Every bit corresponds to an E-link on one (lp)GBT or FULL-mode
0x2190 [R 57:00] DECODING_LINK_ALIGNED_01 0x000000030000000 Every bit corresponds to an E-link on one (lp)GBT or FULL-mode
0x21a0 [R 57:00] DECODING_LINK_ALIGNED_02 0x000000000000000 Every bit corresponds to an E-link on one (lp)GBT or FULL-mode
... |
where the none zero bit field ('3' in this example) indicated aligned links.
The current version of YARR for ITkPixV1 calibration (still being validated) resides at /home/itkpix/YARR_FELIX/ which is based on branch devel_itkpix_felixNetio.
Code Block |
---|
cd /home/itkpix/YARR-FELIX/
source setup.sh
bin/scanConsole -c configs/connectivity/example_rd53b_setup.json -r configs/controller/felix_rd53b.json -s configs/scans/rd53b/std_digitalscan.json |
During the startup of the digital calibration, the module configuration would increase the ITkPixV1.0 SCC current to 4.38A (fro, 3.07A). The calibration results are kept at /home/itkpix/YARR-FELIX/data/. Successful calibration should have an output Root file.
Test-Optopanel at SLAC:
The test-Optopanel houses one Optobox with 4 Optoboards. It has a twinax inlet (round) and a fibre outlet (rectangle). The Optobox is mounted on a cooling plate with two 8 mm pipes.
...