2009-04-16
Yet another version 14400, this one dated 13-Apr-2009 17:08. Program into HTR in slot 21 top+bottom. Cable to DCC1 in slot 19, spigots 0, 1. Reprogramming the DCC from 0x2c32 to 0x2c36 again (sigh). Upate both DCC1 run types so hopefully it will stay put this time!
2009-04-12
New version 0x14300. Works much better. No UERR or CERR. Still HTR CRC error on every event though. Here is the hex dump of a short run at 10Hz:
Note that the HTR always sends 0312 for the CRC! Here are the calculated values from dump_FED.exe for the first few events in the file above.
EvN 681 FED 27 HTR 0 CRC error calculated: ff9d stored: 0312
EvN 681 FED 27 HTR 1 CRC error calculated: ff9d stored: 0312
EvN 682 FED 27 HTR 0 CRC error calculated: 3456 stored: 0312
EvN 682 FED 27 HTR 1 CRC error calculated: 3456 stored: 0312
EvN 683 FED 27 HTR 0 CRC error calculated: 72ef stored: 0312
EvN 683 FED 27 HTR 1 CRC error calculated: 72ef stored: 0312
EvN 684 FED 27 HTR 0 CRC error calculated: b924 stored: 0312
EvN 684 FED 27 HTR 1 CRC error calculated: b924 stored: 0312
EvN 685 FED 27 HTR 0 CRC error calculated: ff9d stored: 0312
EvN 685 FED 27 HTR 1 CRC error calculated: ff9d stored: 0312
2009-04-10
Testing HTR histogramming firmware 0x14200. Program into HTR in slot 18, which
is connected to a
DCC2 in slot 11 spigots 10, 11.
Use manual triggers for now. Send 10
L1A by writing to VME register on TTCvi.
Data does not look good. DCC reports HTR CRC errors on every event, and various LRB errors.
Now try with DCC1:
$ DCCdiagnose.exe
> dcc/init 0 1 # initialize two spigots
> dcc/stop # make sure DCC is not in run mode to stop event building
> ttc/l1a # make an L1A
> lrb/stat 1 # check LRB status
mip1_conf [40] 003e0263 [44] 00003601
Chan Empty Full Blocks Header CERR UERR IDER -WORD- -NBLK-
0 Yes No No No 0000 0000 0000 000000 000000
1 No No Yes Yes 000e 0002 0000 00018a 000001
2 No No Yes Yes 0009 0006 0000 00018a 000001
>
>lrb/read 1 2
DEBUG: LRB config was 0x003e0263
DEBUG: LRB config now 0x003e0263
Set LRB to single-word PCI transfer mode
Reading one block (event fragment)
FIFO empty (status=b0001205) after 788 words
Saw Trailer
0x0314 16-bit words read
0000: 0202 H
0001: 0000 D
0002: a040 D
0003: 00cb D
0004: 065f D
0005: 5403 D
0006: a006 D
0007: 00ff D
0008: 0000 D
0009: 0000 D
...
030b: 0000 D
030c: 0000 D
030d: 0000 D
030e: 0000 D
030f: 0000 D
0310: 0000 D
0311: 0312 D
0312: 018a D
0313: 02c3 T
>
There is trouble right away. In the LRB status word at the end, we see status code
0xc3
(refer to
LRB documentation
) we see that the following bits are set:
- ODD – odd number of 16-bit words seen
- STRUC – Header/Data/Trailer order not respected (not certain what this means exactly in the world where we only send one S bit)
- UERR, CERR – both corrected and uncorrected hamming errors
Power cycle the crate, now the HTR in slot 18 will not send any data.
Doubtless there is some incompatibility in the registers between the
histogramming firmware and the real firmware.
. Going to lunch.
Another try. Send one event, look at LRB regs:
>lrb/stat 1
mip1_conf [40] 003e0263 [44] 00003601
Chan Empty Full Blocks Header CERR UERR IDER -WORD- -NBLK-
0 Yes No No No 0000 0000 0000 000000 000000
1 No No Yes Yes 000f 0003 0000 00018a 000001
2 No No Yes Yes 000b 0001 0000 00018a 000001
>ttc/l1a
1 L1A generated
>lrb/stat 1
mip1_conf [40] 003e0263 [44] 00003601
Chan Empty Full Blocks Header CERR UERR IDER -WORD- -NBLK-
0 Yes No No No 0000 0000 0000 000000 000000
1 No No Yes Yes 001e 0005 0000 000314 000002
2 No No Yes Yes 0018 0002 0000 000314 000002
>ttc/l1a
1 L1A generated
>lrb/stat 1
mip1_conf [40] 003e0263 [44] 00003601
Chan Empty Full Blocks Header CERR UERR IDER -WORD- -NBLK-
0 Yes No No No 0000 0000 0000 000000 000000
1 No No Yes Yes 002b 000a 0001 00049f 000003
2 No No Yes Yes 0023 0003 0000 00049e 000003
>ttc/l1a
1 L1A generated
>lrb/stat 1
mip1_conf [40] 003e0263 [44] 00003601
Chan Empty Full Blocks Header CERR UERR IDER -WORD- -NBLK-
0 Yes No No No 0000 0000 0000 000000 000000
1 No No Yes Yes 003c 000b 0001 000629 000004
2 No No Yes Yes 002c 0006 0000 000628 000004
>
The number of UERR and CERR varies widely from blcck to block.
The number of words is sometimes off by one (one extra 16-bit word).
Here is an example of an event with an extra word, as seen by the LRB:
0x0316 16-bit words read
0000: 0104 H
0001: 0000 D
0002: a040 D
0003: 00cb D
0004: 0017 D
0005: 7603 D
0006: a006 D
0007: 001b D
0008: 0000 D
0009: 0000 D
...
030d: 0000 D
030e: 0000 D
030f: 0000 D
0310: 0000 D
0311: 0312 D
0312: 018a D
0313: 0400 D
0314: 018b D
0315: 008b T
>
With some effort, make a
side-by-side comparison of HTR data and L2SPY
for the same event: compare2.txt
. There is clearly something funny going on as not
all the words match.
-- EricHazen - 10 Apr 2009