32
2 Front-End Electronics
0
5 6 7
9 1 0
1 9 2 0
2 3 2 4
2 8 2 9
4 8 4 9
Hamming P
H 0x0
0x000
D num 0b10101
BXID
0
Fig. 2.9 Format of heartbeat packet
0
5 6 7
9 1 0
1 9 2 0
2 3 2 4
2 8 2 9
4 8 4 9
0x13
0 0x2
0x000
0xF
0x00
0xAAAAA
0
Fig. 2.10 Format of sync packet
fields are as normally except the channel id which is set to a fixed value of 21.
The packet is initiated by a transmitting a heartbeat trigger signal to the device. At
the moment when the trigger arrives, the bunch-crossing id is added to the packet
and it is made ready to be transmitted. The heartbeat packets are only sent on the
lowest number serial link and have higher priority than normal data packets, i.e.
it will be sent after the transmission of the current packet has been completed on
the link. When the device is daisy chained the packet will be passed through the
chain. The packet are used for off-site synchronization during data analysis to
group multiple events into a groups of events, additionally it is used by the data
control system to verify that the device is alive.
Sync packet A specially crafted packet that contains a header with no payload, see
Fig. 2.10. The header has its packet type marked as sync and the other fields have
a fixed value that does not depend on the state of the chip or which chip it comes
from. The Hamming code is still valid keeping the integrity of the header encoding
intact. The sync packets are used by the receiving system to synchronize to the
incoming data stream. When there is no data to send from the channel buffers or
the daisy chain link, sync packets will be sent instead to make sure the receiving
system keeps in sync with the data stream.
The 50-bit size of the header contributes very little to the overall bandwidth usage
if zero suppression compression is in use. Assuming an event length of 1000 with 30%
of data, the header will only contribute about 1.6%. On the other hand, the bandwidth
overhead when using the MCH cluster summing compression is significantly higher
as each pulse above threshold is compressed into only 4 words each. Keeping the
header size in multiples of the data word size (10 bits) is beneficial for simplification
of the data flow and so the minimum reduction of the header would be by 10 bits. This
amount of reduction is not feasible without compromises. It would be possible to
reduce the “number of words” field by 2-4 bits as the clusters are in multiples of 4 and
as the number of clusters per event is expected to be small. A further reduction on the
device number by 1-3 bits is possible, though another form of device number would
need to be appended to each packet at the CRU to differentiate between packets
coming from different links. In addition, the bunch-crossing id would need to be
reduced by more than 3 bits, which with a reduction of 3 bits and an event length of
1024 would mean the counter would roll around every 32 packets. As discussed in
Sect. 2.4.3.3 the bandwidth is though satisfactory for the MCH application.
2 Front-End Electronics
0
5 6 7
9 1 0
1 9 2 0
2 3 2 4
2 8 2 9
4 8 4 9
Hamming P
H 0x0
0x000
D num 0b10101
BXID
0
Fig. 2.9 Format of heartbeat packet
0
5 6 7
9 1 0
1 9 2 0
2 3 2 4
2 8 2 9
4 8 4 9
0x13
0 0x2
0x000
0xF
0x00
0xAAAAA
0
Fig. 2.10 Format of sync packet
fields are as normally except the channel id which is set to a fixed value of 21.
The packet is initiated by a transmitting a heartbeat trigger signal to the device. At
the moment when the trigger arrives, the bunch-crossing id is added to the packet
and it is made ready to be transmitted. The heartbeat packets are only sent on the
lowest number serial link and have higher priority than normal data packets, i.e.
it will be sent after the transmission of the current packet has been completed on
the link. When the device is daisy chained the packet will be passed through the
chain. The packet are used for off-site synchronization during data analysis to
group multiple events into a groups of events, additionally it is used by the data
control system to verify that the device is alive.
Sync packet A specially crafted packet that contains a header with no payload, see
Fig. 2.10. The header has its packet type marked as sync and the other fields have
a fixed value that does not depend on the state of the chip or which chip it comes
from. The Hamming code is still valid keeping the integrity of the header encoding
intact. The sync packets are used by the receiving system to synchronize to the
incoming data stream. When there is no data to send from the channel buffers or
the daisy chain link, sync packets will be sent instead to make sure the receiving
system keeps in sync with the data stream.
The 50-bit size of the header contributes very little to the overall bandwidth usage
if zero suppression compression is in use. Assuming an event length of 1000 with 30%
of data, the header will only contribute about 1.6%. On the other hand, the bandwidth
overhead when using the MCH cluster summing compression is significantly higher
as each pulse above threshold is compressed into only 4 words each. Keeping the
header size in multiples of the data word size (10 bits) is beneficial for simplification
of the data flow and so the minimum reduction of the header would be by 10 bits. This
amount of reduction is not feasible without compromises. It would be possible to
reduce the “number of words” field by 2-4 bits as the clusters are in multiples of 4 and
as the number of clusters per event is expected to be small. A further reduction on the
device number by 1-3 bits is possible, though another form of device number would
need to be appended to each packet at the CRU to differentiate between packets
coming from different links. In addition, the bunch-crossing id would need to be
reduced by more than 3 bits, which with a reduction of 3 bits and an event length of
1024 would mean the counter would roll around every 32 packets. As discussed in
Sect. 2.4.3.3 the bandwidth is though satisfactory for the MCH application.
