Hi Tuan,
I just received all of the hardware to connect the LTU to the CRU, and was trying to do a loopback test with that setup to our Readout Unit to verify the clock quality in the GBT link.
First of all, Marian mentioned that I had to assign an “ONU number” to the CRU, but if I understood this correctly, when I am not using the upstream link, this is not necessary, correct?
I simply configured the CRU as follows:
python standalone-startup.py -i 3b:0.0 -c ttc
I then used the linkstat.py script to verify the GBT connection, and that one also seems to indicate the ttc frequency:
[root@gemini COMMON]# python linkstat.py -i 3b:0.0 -l0-3 -v
globalgen: | ttc240freq 240.47 MHz | lcl240freq 240.47 MHz | ref240freq 240.47 MHz | clk not ok cnt 0 |
Wrapper 0: | ref freq0 240.47 MHz | ref freq1 0.00 MHz | ref freq2 0.00 MHz | ref freq3 0.00 MHz |
Link #0: Wrapper 0 - Bank 0 - Link 0
Status | Counters
PLL locked: YES | Not ready: 3575538523
Locked to data: YES | Not locked to data: 2353903492
TX clock frequency: 240.47 MHz
RX clock frequency: 240.47 MHz
….
I then configured the 8bit counter loopback test and seem to see no errors on the connected link (0):
[root@gemini py]# ./testbench.py cru gbt stat
seconds RX EC/FEC #0 RX EC/FEC #1 RX EC/FEC #2 RX EC/FEC #3 RX EC/FEC #4 RX EC/FEC #5 RX EC/FEC #6 RX EC/FEC #7
1 0/ 394 lockedtodata/ 0 lockedtodata/ 3 lockedtodata/ 0 lockedtodata/ 0 lockedtodata/ 0 lockedtodata/ 0 lockedtodata/ 0
2 0/ 394 lockedtodata/ 0 lockedtodata/ 0 lockedtodata/ 0 lockedtodata/ 4 lockedtodata/ 0 lockedtodata/ 0 lockedtodata/ 0
3 0/ 394 lockedtodata/ 0 lockedtodata/ 0 lockedtodata/ 0 lockedtodata/ 0 lockedtodata/ 0 lockedtodata/ 0 lockedtodata/ 0
4 0/ 394 lockedtodata/ 0 lockedtodata/ 0 lockedtodata/ 125 lockedtodata/ 4 lockedtodata/ 0 lockedtodata/ 0 lockedtodata/ 0
5 0/ 394 lockedtodata/ 0 lockedtodata/ 10 lockedtodata/ 0 lockedtodata/ 0 lockedtodata/ 0 lockedtodata/ 0 lockedtodata/ 0
Just as a counter test, I then disconnected the ONU fiber, and verified that the ttc clock went away:
[root@gemini COMMON]# python linkstat.py -i 3b:0.0 -l0-3 -v
globalgen: | ttc240freq 0.00 MHz | lcl240freq 240.47 MHz | ref240freq 240.47 MHz | clk not ok cnt 0 |
Wrapper 0: | ref freq0 240.47 MHz | ref freq1 0.00 MHz | ref freq2 0.00 MHz | ref freq3 0.00 MHz |
Link #0: Wrapper 0 - Bank 0 - Link 0
Status | Counters
PLL locked: YES | Not ready: 3575538523
Locked to data: YES | Not locked to data: 2353903492
TX clock frequency: 240.47 MHz
RX clock frequency: 240.47 MHz
However, as you can see, link 0 still claims to be locked, even though the ttc clock is gone? Does that make sense? Also, the error counters in the loopback test don’t seem to affected either:
[root@gemini py]# ./testbench.py cru gbt stat
seconds RX EC/FEC #0 RX EC/FEC #1 RX EC/FEC #2 RX EC/FEC #3 RX EC/FEC #4 RX EC/FEC #5 RX EC/FEC #6 RX EC/FEC #7
1 0/ 394 lockedtodata/ 0 lockedtodata/ 0 lockedtodata/ 0 lockedtodata/ 7 lockedtodata/ 0 lockedtodata/ 0 lockedtodata/ 0
2 0/ 394 lockedtodata/ 15 lockedtodata/ 0 lockedtodata/ 0 lockedtodata/ 1 lockedtodata/ 19 lockedtodata/ 0 lockedtodata/ 0
3 0/ 394 lockedtodata/ 0 lockedtodata/ 0 lockedtodata/ 65 lockedtodata/ 3 lockedtodata/ 16 lockedtodata/ 0 lockedtodata/ 0
4 0/ 394 lockedtodata/ 0 lockedtodata/ 0 lockedtodata/ 0 lockedtodata/ 4 lockedtodata/ 16 lockedtodata/ 0 lockedtodata/ 0
5 0/ 394 lockedtodata/ 25 lockedtodata/ 0 lockedtodata/ 131 lockedtodata/ 1 lockedtodata/ 0 lockedtodata/ 0 lockedtodata/ 0
So what clock is the CRU using at this point?
And how can I verify that it is using the clock coming from the LTU?
Cheers,
Jo