凡例和强制包头规定

1
2
hex: ac0f
bin: 1010 1100 0000 1111

event packet

Event Packet

一个事件=事件头包+数据包+结束包
An event = event header packet + event data packet + event end packet
每个包(packet)都以0xac0f开始,之后跟随的是表征包的属性(头、数据还是结束)和大小的16位二进制数。

1
0 + SOE + EOE + packet size

0:头1位填充0;
SOE:事件头包标志,1位;
eoe:事件结束包标志,1位;
头包:010…;数据包:000…;结束包:001…;
packet size:13位。

事件头 Event Header

event packet
Event Header
event packet

1
ac0f 401c

事件强制包头,(401c)16 = (0100 0000 0001 1100)2,010… = 事件头。

1
0304

(0304)16 = (0000 0011 0000 0100)2
(03)16是8位固定位(PFX_START_OF_EVENT);中间3位用0填充(ETYPE and ST);最后5位(SOURCE ID)写入FEC的ID,这里(00100)2 = (4)16 = (4)10,即意味着这一数据来源于ID为4的FEC board。

1
d7ab 25c3 0001

48位时间戳

1
0000 0000

32位事件计数(Event Count)
除此之外的事件头中的数据没有使用。
ps. 在数据获取中,很重要的就是大小和速度,这么多无用数据,应该于大小和速度都无益。

事件数据 Event Data

event packet
Event Data
event packet

1
ac0f 0404

事件强制包头,(0404)16 = (0000 0100 0000 0100)2,000… = 事件数据。

1
c9b2

(c9b2)16 = (1100 1001 1011 0010)2 = (11 00100 11 0110010)2,头2位是固定填充的(11)2,随后依次为board(5位)、chip(2位)、channel(7位)。(00100)2 = (4)10,(11)2 = (2)10,(0110010)2 = (50)10,即说明此信号来自于4号FEC board的2号芯片的50通道。

1
34b0 34c9 34dc ...

0x3是填充的4位固定数(PFX_ADC);之后的12位是来自AGET的512个单元的12位ADC数据。

事件结束 Event End

event packet
Event End
event packet

1
ac0f 

强制协议头

1
2008

(0010 0000 0000 1000)2,前3位(001)2 = 结束包。

1
02c4

(0000 0010 1100 0100)2,前10位(0000 0010 11)2是固定数据(PFX_END_OF_EVENT),第11位(ST)填充0,最后4位(SOURCE_ID)是FEC的ID,这里是(0100)2 = (4)10,代表ID = 4的FEC板子。

1
0000 0000 0000

32位事件大小表示当前事件的总大小,但现在它们被填充为0。