Muon子鉴别器读出电子学.docx
《Muon子鉴别器读出电子学.docx》由会员分享,可在线阅读,更多相关《Muon子鉴别器读出电子学.docx(15页珍藏版)》请在冰豆网上搜索。
Muon子鉴别器读出电子学
4.10.4BESIIIμ子鉴别器读出电子学系统
μ子鉴别器由阻性板探测器(RPC)组成,阻性板探测器上布有感应条,感应条上的感应信号代表了粒子击中的位置信息。
整个μ子鉴别器共有9088(桶部:
4992;端盖部:
4096)个电子学通道。
μ子鉴别器读出电子学系统的任务是把上述位置信号转换成数据,在触发信号到来时,将好事例的数据加头文件,并存入事例缓冲器,等待DAQ的处理。
μ子鉴别器读出电子学系统由5个VME的读出插件组成;每个VME的读出插件有16个数据读出链;每个链负责收集256个阻性板探测器的感应条的数据。
这样,μ子鉴别器读出电子学系统可并行扫描10,240个数据,满足阻性板探测器9088个电子学通道数据获取的要求。
μ子鉴别器读出电子学系统还包括测试子系统。
在读出电子学系统停止取数时,测试子系统负责对其进行测试。
4.10.4.1电子学设计条件
1.探测器输出信号
BESIII的μ子鉴别器的阻性板探测器感应条信号如图4.10-40所示。
阻性板探测器的输出信号特性如下:
信号幅度典型值(50Ω):
700mV
信号最小幅度(50Ω):
100mV
信号最大幅度(50Ω):
800mV
信号延迟时间:
50ns
图4.10-40阻性板探测器典型输出信号
2.期望的事例击中率
阻性板探测器的事例率约和海平面宇宙线相当,为400Hz/m2;在该事例率的条件下,在1μs的窗口下,偶然事例的击中率约为每事例20道。
击中率和宇宙线、阻性板探测器的噪声以及本底有关。
物理事例率也相当低,每次事例也仅有几十道被击中[1]。
μ子鉴别器的阻性板探测器是低噪声和低事例占有率的探测器。
事例击中率为0.10~0.25Hz/cm2。
3.死时间
前端电子学读出板使用流水线技术,无死时间。
4.甄别阈值要求
所有电子学通道的阈值相同,统一可调,软件控制。
阈值调整精度为1%。
5.触发特性
触发延迟时间:
6.4μs
触发脉冲最大晃动:
0.2μs
平均触发率:
4kHz
6.测试
所有电子学通道的测试信号相同,测试脉冲幅度的精度为1%。
根据以上设计条件,同时根据阻性板探测器通道数大的特点,μ子鉴别器读出电子学系统必须在权衡合理造价的条件下,寻求最佳的性能价格比的设计方案。
4.10.4.2μ子鉴别器读出电子学系统结构
从系统功能来说,μ子鉴别器电子学系统可分为数据读出、甄别阈控制和系统测试等三个部分。
而就它的物理结构而言,μ子鉴别器电子学系统由放置在探测器附近的1个9U的VME机箱和4个电源机箱组成。
在探测器上方中间,放置VME系统机箱,1个系统控制插件(SystemControlModule)、1个VME读出插件(Readout)、4个扇入扇出插件(I/OModule)和14个JTAG控制插件被安置在这个机箱中。
系统控制插件从探测器主触发系统接收系统时钟和触发控制信号(L1,Check,Reset),并通过VME扩展总线将这些信号传送到I/O插件驱动输出;接受通过VMEBUS发出的前端板阈值设置命令和TEST控制命令(系统测试控制),并通过VME扩展总线送到I/O插件驱动输出;从VME扩展总线接收读出插件送来的FULL信号,驱动后送主触发系统。
扇入扇出插件(I/O插件)负责驱动时钟和触发控制信号,送到所有的前端板(FEC);从FEC接收串行数据输出和FECBufferFull信号并传送到读出插件。
每个数据链一个I/O接口;每个I/O插件配置12个I/O接口,4个插件共48个I/O接口,满足系统36-40个数据链的要求。
同时,鉴于大的RPC探测器的放电脉冲对FEC中FPGA芯片功能的可能损坏,在扇入扇出插件(I/O插件)中设有FPGA功能实时核对的数据模式(DataPattern)的输入/输出线,以便在探测到FPGA功能损坏的情况下,及时对FGPA功能数据的重新装载。
读出插件负责所有的数据链数据读出和压缩、子事例组建,并存放到缓冲区中,申请DAQ读出子事例数据;与FEC交换FULL信号控制数据链的数据传输;根据主触发的控制信号进行L1的检查和复位,并向主触发提供BufferFULL信号和RERR信号;完成数据读出和压缩的控制逻辑,包括FEC读出控制、VME读出控制、L1计数(TriggerNumber)/复位等操作。
每个muon子事例的数据为600bytes,总数据率为2.4MB/s,可以在一个VME机箱中读出(事例率估算见后4.10.4.3)。
受VME插件面积所限,一个VME插件可能放不下所有的读出模块,则需要多个读出插件,分别压缩后,采用CBLT的方式读出。
阻性板探测器读出电子学系统的整体结构框图请参见图4.10-41。
一个前端板可以并行地读入16个感应条上的数据,并将该数据存入可串行输出的移位寄存器中。
16个前端板用菊花链的形式组成一个数据链,用LVDS信号串行地把256个感应条的位置信息传送到I/O插件后送入VME读出插件中。
数据链的数据经分别压缩后,在数据链缓冲器中暂存;将所有数据链的压缩数据存入VME读出插件的子事例缓冲器中,等待DAQ的处理。
(每个数据链包括256道数据,系统共36-40个数据链,表示了4096+4992个感应条的位置信息;40个数据链最多可表示10240个感应条的位置信息,组成了一个µ子事例的数据,可以满足BESIIIRPC9088个通道的要求。
)
当测试命令传送到VME的测试信号发生器(在系统控制插件中)时,测试信号发生器将其转换为串行的DAC控制时序并通过I/O插件送到FEC中,对FEC中控制TEST信号的DAC进行设置,产生与测试命令相对应的测试模拟信号。
测试信号被加载到每个通道的比较器的输入端,测试通道电路的好坏。
JTAG控制插件负责从VMEBUS接收FEC的FPGA配置命令,并转换为JTAG控制时序,驱动后送到FEC;FEC采用串行配置方式,每个JTAG控制接口负责4个FEC的JTAG配置,总共需要40×4个JTAG控制接口(14个插件)。
图4.10-41阻性板探测器读出电子学系统整体结构示意图
甄别阈设置电路的方法与上述测试方法相似。
甄别阈设置命令将由甄别阈控制器发出,经前端板的DAC变换后,形成相应的电平,加载到比较器的甄别阈设置端,达到设置甄别阈的目的。
4.10.4.3
数据读出部分的电路
1.前端读出板电路(FEC)
前端读出板电路的任务是并行读出阻性板探测器感应条上的信号,并保存6.4μS的时间,等待触发信号的出现。
在6.4μS时,如果有触发信号出现,则表示该保存的信号是好事例数据,该数据将传送到的VME读出插件中去;如果没有触发信号到来,则清除该保存的信号,再次等待阻性板探测器感应条的信号。
当感应条信号又一次到来时,则再次保存该信号,等待触发信号的出现。
前端板电路安装在探测器的内部。
前端读出板电路的原理框图请参见图4.10-42。
RPC探测器感应条的模拟信号,由双绞线扁平电缆并行引出,并加载到前端板的甄别器(比较器)的信号输入端。
信号经甄别器甄别后,变为数字逻辑信号。
16个通道的数据,存放在FPGA中的FIFO中,等待触发信号的出现。
当触发信号出现时,数据由FPGA中的移位寄存器串行成一个16位的数据流,以便和上一块16个通道的前端板链接。
在FPGA芯片中,还使用了一个16个输入的”或”门,在触发信号出现时,将该“或”门的输出作为FASTOR信号提供给触发系统使用,以便快速地判断μ子的情况(图中未画出)。
FPGA芯片的逻辑示意图请参见图4.10-43。
图4.10-42前端板电路框图
图4.10-43前端板FPGA逻辑示意图
由图4.10-43可知,我们在FPGA中使用了流水线的技术,避免了系统的死时间。
FPGA芯片中共设置了两级缓冲器。
第一级缓冲器(FIFO)作流水线工作的缓冲器使用,其深度应该等于触发延迟时间内到达数据的个数和触发信号向后晃动的时间内到达数据个数之和。
因为LVDS数据经18m传输线传输至VME读出插件的链数据缓冲器所需要较长的时间,为避免在此传输过程中再次出现触发信号而导致数据的丢失,所以在FPGA中设置了第二级缓冲器。
关于第二级缓冲器深度设置及其对系统死时间影响的估算,请参见“附录一缓冲器深度的估算”的章节。
RPC经常会因为束流损失或其它原因而产生大的放电,造成FEC线路或其中的元件损坏,特别是FPGA芯片会由于这种放电而功能失效;同时,FPGA放置在探测器的内部,也可能由于辐射的影响,产生某些逻辑功能的失效。
为防止这种情况的产生,在VME前端板中,加入了大电荷保护。
当发现FPGA功能失效时,立即重载FPGA的源码,以避免数据的丢失。
2.VME读出插件
在FEC的数据被传送到远端的VME读出插件时,首先进行事例数据压缩,存入链数据缓冲器。
一个VME读出插件共有40个链(最大数据缓冲器,可以并行地接受40数据链的数据输入。
在每个数据链的数据传送完毕后,40个链数据缓冲器的数据将转存到子事例缓冲器中,同时加入触发号和运行号等数据头信息,等待DAQ的读入。
图4.10-44VME读出插件方框图
一个VME读出插件的框图如图4.10-44所示。
图中的联动开关是为测试设置的。
当联动开关置于“取数”挡时,数据经压缩后存入数据链事例缓冲器;当联动开关置于“测试”挡时,数据经串并转换后存入数据链事例缓冲器。
事实上,此处的联动开关可以使用多路器来实现。
1)数据量的估算和事例压缩格式
μ子鉴别器的阻性板探测器是一个低事例占有率的探测器。
根据Babar实验μ子鉴别的阻性板探测器给出的每次事例也仅有几十道被击中[1]的数据,可以估算BESIIIμ子鉴别器的数据量。
所谓按前端读出板的压缩方法,事实上是只要某一块前端读出板上任何一道有数据,就把该前端读出板上的数据全部存储起来。
由图4.10-45可知,625前端读出板(16通道×625=10,000通道)的地址可用10位编码来表示,前端读出板上的16个通道的数据可用16位数据码来表示。
图4.10-45两种数据压缩格式
零压缩的方法则是去掉数据中的数据0,仅留下数据1,并把该数据地址存储起来。
在这种压缩方法中,前端读出板的地址为10位编码,板上16个通道的地址编码为4位,2位备用,共用16位地址编码来表示一个数据。
设BESIII阻性板探测器一个事例最大的数据量为100个阻性板探测器被击中;设每个被击中的阻性板探测器有5个感应条上有感应信号输出。
由于按前端读出板压缩的方法是连续的数据都被记录在一个板的数据位上,所以100个被击中的阻性板探测器,只要按被击中阻性板探测器的数量来计算其数据总量即可。
设被100个被击中的阻性板探测器中,有50个阻性板探测器的感应条信号只出现在一个前端读出板中,另50个则在两个读出板之间。
对于前者,由于其感应条信号只出现在1块前端读出板上,所以只要用1个前端读出板的地址来记录其压缩的数据即可,其数据量为:
50×4bytes=200bytes
而对于后者,则必须用2个读出板的地址来表示其压缩的数据,其数据量为:
50×4bytes×2=400bytes
按前端读出板的压缩方法表示的100个阻性板探测器的数据总量为600bytes。
按好事例触发率4kHz来计算,按前端读出板方法压缩方法的数据速率为2.4Mbytes/秒。
如果按每道平均击中的概率相同来计算,一个VME读出插件(2048道)的数据量为:
(0.6kbyte/event÷10,000)×2048≈123bytes/event
由于按0压缩的方法表示的数据是按1数据的地址来存储的,所以200个被击中阻性板探测器感应条的数量应为:
200×5=1000条
数据总量为
2bytes×500=1Kbytes
如果按每道平均击中的概率相同来计算,一个VME读出插件(2048道)的数据量为:
(1kbytes/event÷10,000)×2048≈204.8bytes/event
0数据压缩方法的数据速率约为按前端读出板压缩方法数据速率的2倍。
本方案使用按前端读出板压缩的方法来压缩数据。
2)链数据缓冲器深度估算
按以上估算,图4.10-44中的一个链数据缓冲器(ChainDataBuffer)中的数据量为:
123byte/event÷16≈8byte/event
事实上,由于使用了按板压缩的方法,一个数据即为4个字节(32位),此处使用的是4字节为一个单元,共2个单元组织成一个组(bank)。
为保证数据读出和写入的操作不对系统死时间作贡献,即防止在数据从数据链缓冲器导入到子事例缓冲器的时间内,再来触发信号时丢失好事例数据,此处的链数据缓冲器的深度为6个组(bank),即2×4byte为1组(bank),共设置6组。
在这种设置的情况下,在4kHz触发速率的条件下,运行8小时仅损失1.97个事例。
这种损失可以忽略不计。
链数据缓冲器深度设置的估算请参见“附录一—缓冲器深度的估算”。
3)子事例缓冲器深度
图4.10-44中,数据在子事例缓冲器(Sub-EventBuffer)中被存放后,VME读出插件即向DAQ申请中断。
事实上,DAQ需要时间来处理中断,读取数据,以及把5个VME子事例数据缓冲器中的数据拼接成1个μ子事例数据,所以为防止DAQ处理中断的时间中再次有好事例数据存入子事例缓冲器,此处的事例压缩缓冲器的深度被设置为14组(bank)。
在这种设置的情况下,在4kHz触发速率的条件下,运行8小时仅损失1.24个事例。
这种损失可以忽略不计。
具体的估算请参见“附录一—缓冲器深度的估算”。
4.10.4.4系统测试部分
系统测试部分由系统测试信号控制器(系统控制插件内)和系统测试信号发生器(FEC内)组成。
系统测试部分的整体框图请参见图4.10-41的μ子鉴别器电子学系统整体结构图。
当系统进行测试时,由测试控制器发出测试命令,并把该命令送至系统测试信号发生器插件。
在系统测试信号发生器中,测试命令经由命令解码器、控制寄存器、DAC输入数据产生器和DAC等部件的作用,产生可变幅度和极性的模拟信号,再经分配器驱动,送到各VME前端插件的输入端,对系统进行测试。
测试信号控制器的VME插件相对较为简单,原理框图如图4.10-46所示。
图4.10-46测试控制器原理框图
系统测试部分规划了如下命令:
TWE写控制寄存器,控制各路输出信号的有无;
TWC写控制寄存器,控制输出信号的大小、幅度和极性;
测试控制命令通过I/O插件送到前端各个FEC中,控制FEC中的DAC产生测试所需的模拟脉冲信号,加载到甄别器输入端,供系统测试使用。
VME前端插件中FPGA信号测试部分的逻辑框图请参见图4.10-47。
图中,命令数据送入控制寄存器中,由控制寄存器送出7位宽度码、1位有无码、7位幅度码和1位极性码;DAC数据产生器收到上述控制码后,产生相应的DAC输入数据,并由DAC输出与上述命令规定的模拟脉冲,对系统进行测试。
图4.10-47测试信号发生器原理框图
4.10.4.5甄别阈设置部分
甄别阈设置部分由甄别阈设置控制器(系统控制插件内)和甄别阈设置产生器(FEC内)组成。
甄别阈设置部分由甄别阈设置控制器发出命令,该命令被送至甄别阈设置产生器后,经由该插件中命令解码器、控制寄存器、DAC输入数据产生器和DAC等部件的作用,可产生的产生一定幅度的甄别阈电压。
DAC芯片在前端读出板中,其输出的电平连接到前端板的比较器比较电平端,以便和RPC输出信号比较。
甄别阈设置控制器的VME插件与系统测试控制器基本上相同,其原理框图如图4.10-46所示。
甄别阈设置控制器规划了如下命令:
DWN写控制寄存器,给出110mV的系统常用的甄别阈电平;
DWC写控制寄存器,控制输出电平的大小。
图4.10-48测试信号发生器原理框图
甄别阈设置产生器的逻辑框图请参见图4.10-48。
图中,命令数据被送入控制寄存器,由控制寄存器送出1位常用电平码和7位幅度码;DAC数据产生器收到上述控制码后,产生相应的DAC输入数据,并由DAC输出相应的电平。
当然,在上电或系统初始化时,应该设置1个常用电平的代码,以便提供110mV的常用阈值,使系统能在该电平下正常工作。
参考文献
1.ch10,“MuonElectronicsSystem”,BabarTDR,TheBabarCollaboration,1995
2.BellecorrespondingAuthor,“TheBelledetector”,NIMinPhysicsResearchA479(2002)117-232
附录一缓冲器深度的估算
1.缓冲器深度计算公式的推导
设一个缓冲器共有0~k个单元,其输入数据为泊松分布
处理时间也为泊松分布
其中λ和μ为事件的输入率与处理率。
缓冲器的状态图如图4.10-49所示。
图4.10-49缓冲器状态图
在第i个单元上保持动态平衡的可能性为
设
与
都为平均值
和
,则
而k状态的概率为
其中,
为输入速率与处理速率之比。
据全概率公式有:
即
可得
代入
中,得
缓冲器全部有数据后,如还有速率为λ的数据到达,则损失为
其相对损失为
上述公式可以用来在一定的数据输入速率和数据服务速率条件下,对0~k个单元数据相对损失或绝对数据损失的估计。
如果缓冲器的一个组(bank)由若干个单元构成,而若干个组又构成一个大的缓冲器,且这些组的单元是相等的话,上述公式仍然成立。
原因是如果把这些组看成是上述公式中的单元,那么,由于组的深度是相同的,并不影响上述公式推导时泊松分布的假设和用其平均值来表示其各个单元的输入率和服务率的做法。
2.VME前端插件移位操作缓冲器深度的估算
前端读出板数据从缓冲器读出,经256个移位寄存器组成的菊花链移位输出,经LVDS输出将数据传输到VME读出插件的数据压缩部件,数据压缩后才能被存储到数据链速率缓冲器中。
数据流动和存储的情况如图4.10-50所示。
图4.10-50计算前端读出插件缓冲器深度的示意图(一个读出数据链)
当某个数据链的一个数据从前端读出板的缓冲器被送出,并被存储到VME读出插件中的链数据缓冲器时,这个操作的延迟时间为:
25ns+LVDSdelay+25ns+150ns+T01=350ns
其中,LVDS的延迟时间可忽略不计,T01的时间包括数据压缩和数据存入数据链事例缓冲器的时间,约为150ns。
在256个数据经菊花链输出排空后,前端读出板才能继续接受数据,该时间为:
256×25+350ns=6400+350=6.75µs
在4kHz的好事例触发率的条件下,可由上述公式来估算数据的损失率。
公式为:
其中,η为转移率,即η=输入速率与处理速率之比。
由上述公式计算可得,当输入速率为4kHz,处理速率为1/6.75µs=148.15kHz时,η=0.027,此时,在k=5的情况下,相对损失率为1.40×10-8;也即,在8小时内,在触发率为4kHz的条件下,仅损失1.61个好事例。
此损失可以忽略不计。
3.数据链事例缓冲器深度估算
在输入数据速率为4kHz和服务速率为1/12.8µs的条件下,在k=6的条件下,运用上述公式,可算得相对损失率为1.71×10-8,也即,在8小时内,在触发率为4kHz的条件下,仅损失1.97个好事例。
此损失可以忽略不计。
4.子事例缓冲器深度估算
设DAQ读出数据速率为18Mbyte/sec,按前端读出板压缩方法压缩后的数据总量为0.6kbyte,则DAQ读出所需时间约为30µs,5个VME插件中断处理时间为5µs,子事例数据在PowerPC中拼接所需的时间估计为20µs,则DAQ处理一个事例所需的时间为50µs。
在数据输入速率为4kHz和处理速率为50µs的情况下,在k=14的条件下,运用上述公式,可算得相对损失率为1.0×10-8,也即,在8小时内,在触发率为4kHz的条件下,仅损失1个好事例。
此损失可以忽略不计。