TDC72VXS Data Format
Hardware TDC72VXS
TDC72VXS payload data is encapsulated in M-Stream 2.2 protocol using Data Subtype 0.
M-Stream Header |
|||||||||||||||||||||||||||||||
word # |
byte offset |
bits |
description |
||||||||||||||||||||||||||||
0 |
0 |
31:24 |
|||||||||||||||||||||||||||||
23:18 |
Flags |
||||||||||||||||||||||||||||||
17:16 |
Subtype |
||||||||||||||||||||||||||||||
15:0 |
Fragment length, 4*(N-2) |
||||||||||||||||||||||||||||||
1 |
4 |
31:16 |
Packet ID |
||||||||||||||||||||||||||||
15:0 |
Fragment offset (bytes) |
||||||||||||||||||||||||||||||
M-Stream Subtype 0, first fragment |
|||||||||||||||||||||||||||||||
2 |
8 |
31:0 |
Device Serial |
||||||||||||||||||||||||||||
3 |
12 |
31:24 |
reserved |
||||||||||||||||||||||||||||
23:0 |
Event number |
||||||||||||||||||||||||||||||
M-Stream Payload in MPD rawdata |
|||||||||||||||||||||||||||||||
4 |
16 |
31:0 |
Event TAI 64-bit Timestamp |
||||||||||||||||||||||||||||
5 |
20 |
31:0 |
|||||||||||||||||||||||||||||
6 |
24 |
31:0 |
Event Data |
||||||||||||||||||||||||||||
... |
|||||||||||||||||||||||||||||||
N-1 |
4*(N-1) |
31:0 |
|||||||||||||||||||||||||||||
M-Stream Subtype 0, next fragments |
|||||||||||||||||||||||||||||||
2 |
8 |
31:0 |
Event Data |
||||||||||||||||||||||||||||
... |
|||||||||||||||||||||||||||||||
N-1 |
4*(N-1) |
31:0 |
Event Data format
word # |
byte offset |
bits |
description |
0 |
0 |
31:0 |
Data Block #1 (S1 bytes) |
... |
|||
S1/4-1 |
S1-4 |
31:0 |
|
S1/4 |
S1 |
31:0 |
Data Block #2 (S2 bytes) |
... |
|||
(S1+S2)/4-1 |
S1+S2-4 |
31:0 |
|
... |
|||
Till the last data block |
|||
... |
Data Block format
word # |
byte offset |
bits |
description |
0 |
0 |
31:28 |
Data Type |
27:16 |
Data Block specific bits |
||
15:0 |
Data Payload length (4*(N-1) bytes) |
||
1 |
4 |
31:0 |
Data Payload |
... |
|||
N-1 |
4*(N-1) |
31:0 |
TDC Data Block
Data Type is 0x0
TDC Data Block specific bits:
- [27:17] - reserved
- [16] - event FIFO overflow
TDC Data Payload
TDC event header and TDC event trailer are optional and in most cases will not be used.
TDC event header |
|||||||||||||||||||||||||||||||
31 |
30 |
29 |
28 |
27 |
26 |
25 |
24 |
23 |
22 |
21 |
20 |
19 |
18 |
17 |
16 |
15 |
14 |
13 |
12 |
11 |
10 |
9 |
8 |
7 |
6 |
5 |
4 |
3 |
2 |
1 |
0 |
2 |
TDC ID |
Event number |
TDC timestamp |
TDC timestamp in number of 25 ns time intervals since global trigger timestamp found in event header.
TDC event trailer |
|||||||||||||||||||||||||||||||
31 |
30 |
29 |
28 |
27 |
26 |
25 |
24 |
23 |
22 |
21 |
20 |
19 |
18 |
17 |
16 |
15 |
14 |
13 |
12 |
11 |
10 |
9 |
8 |
7 |
6 |
5 |
4 |
3 |
2 |
1 |
0 |
3 |
TDC ID |
Event number |
TDC word count |
TDC data, leading/trailing edge |
|||||||||||||||||||||||||||||||
31 |
30 |
29 |
28 |
27 |
26 |
25 |
24 |
23 |
22 |
21 |
20 |
19 |
18 |
17 |
16 |
15 |
14 |
13 |
12 |
11 |
10 |
9 |
8 |
7 |
6 |
5 |
4 |
3 |
2 |
1 |
0 |
0 |
1 |
0 |
E |
channel |
data |
- E = 0 - leading egde.
- E = 1 - trailing egde.
TDC time measurement
- data bits [20:2] = number of 100 ps time intervals since global trigger timestamp found in event header;
- data bits [1:0] = rcdata[1:0].
6 - TDC error |
|||||||||||||||||||||||||||||||
31 |
30 |
29 |
28 |
27 |
26 |
25 |
24 |
23 |
22 |
21 |
20 |
19 |
18 |
17 |
16 |
15 |
14 |
13 |
12 |
11 |
10 |
9 |
8 |
7 |
6 |
5 |
4 |
3 |
2 |
1 |
0 |
6 |
TDC ID |
reserved |
TDC error flags |
TDC error flags bits:
- [0] Hit lost in group 0 from read-out fifo overflow
- [1] Hit lost in group 0 from L1 buffer overflow
- [2] Hit error have been detected in group 0
- [3] Hit lost in group 1 from read-out fifo overflow
- [4] Hit lost in group 1 from L1 buffer overflow
- [5] Hit error have been detected in group 1
- [6] Hit lost in group 2 from read-out fifo overflow
- [7] Hit lost in group 2 from L1 buffer overflow
- [8] Hit error have been detected in group 2
- [9] Hit lost in group 3 from read-out fifo overflow
- [10] Hit lost in group 3 from L1 buffer overflow
- [11] Hit error have been detected in group 3
- [12] Hits rejected because of programmed event size limit
- [13] Event lost (trigger FIFO ovefrlow)
- [14] Internal fatal chip error has been detected
Most important error bits are 12 and 13. Error bit 14 should be ignored.
7 - Padding |
|||||||||||||||||||||||||||||||
31 |
30 |
29 |
28 |
27 |
26 |
25 |
24 |
23 |
22 |
21 |
20 |
19 |
18 |
17 |
16 |
15 |
14 |
13 |
12 |
11 |
10 |
9 |
8 |
7 |
6 |
5 |
4 |
3 |
2 |
1 |
0 |
7 |
0 |
For detailed description of TDC please refer to HPTDC manual.
Statistic Data Block
Data Type is 0xF
Statistic Data Block specific bits:
- [27:18] - reserved
- [17] - RegIO Error
- [16] - RegIO Timeout
Statistic Data Payload
Consist of fixed set of module registers:
- reg 0x004B - Board Temperature
- reg 0x004C - FPGA F/W Version
- reg 0x004D - FPGA F/W Revision
- reg 0x4001 - Onboard PLL Status
- reg 0x4002 - Onboard PLL Unlock Counter
- reg 0x4003 - PLL Temperature
- reg 0x4004 - Temperature #1 from MCU
- reg 0x4005 - Temperature #2 from MCU
- reg 0x4006 - Temperature #3 from MCU
- reg 0x4007 - Temperature #4 from MCU
- reg 0x4008 - BMC F/W Revision
- reg 0x4009 - BMC F/W Version
- reg 0x400A - BMC Overal System Status
- reg 0x400B - BMC Power Status
- reg 0x400C - BMC PLL Status
See also TDC72VXS Registers
Format of statistics data word |
|||||||||||||||||||||||||||||||
31 |
30 |
29 |
28 |
27 |
26 |
25 |
24 |
23 |
22 |
21 |
20 |
19 |
18 |
17 |
16 |
15 |
14 |
13 |
12 |
11 |
10 |
9 |
8 |
7 |
6 |
5 |
4 |
3 |
2 |
1 |
0 |
RegIO Address |
RegIO Read Data |