冷却储存环外靶γ球子触发系统设计

2020-03-25 10:21宋海声苏凤娇李先勤铎杨海波
核技术 2020年3期
关键词:寄存器以太网逻辑

宋海声 苏凤娇, 李先勤 张 奇 陈 勇 闫 铎杨海波 孔 洁 苏 弘

1(西北师范大学 兰州730070)

2(中国科学院近代物理研究所 兰州730000)

3(哈尔滨工业大学 哈尔滨150001)

兰州重离子加速器(HeavyⅠon Research Facility at Lanzhou,HⅠRFL)[1]是目前我国规模最大、加速粒子种类最多、能量最高的重离子研究装置。冷却储存环(Cooling Storage Ring,CSR)[2]是其主要加速器之一,由主环(CSRm)、实验环(CSRe)和第二条放射性束流线(Radioactive Beam Line,RⅠBLL ⅠⅠ)组成。外靶实验便是研究经CSRm加速后的束流在RⅠBLLⅠⅠ中打靶后产生的放射性束性质的实验。其中γ球探测器[3]是外靶实验的核心探测器,主要研究放射性束退激产生的γ射线的能量等信息。为剔除探测器信号中的本底噪声等无效信息,需要设计一个触发判选系统,根据有效事例次级粒子间的时间和逻辑关系对探测器信号进行筛选。通过对国内外的一些大型物理实验进行分析,如北京正负电子对撞机实验[5]、欧洲粒子研究组织的ALⅠCE(A LargeⅠon Collider Experiment)实验[6],会发现对触发判选系统大都采用多级触发的方式,针对探测器信号电子学通道数目多的输出特点,首先在子触发系统中采用逻辑算法,将事件率降低,然后通过总触发,对各子探测器的时间和逻辑进行分析,完成最终触发。本实验中的触发判选系统除了采用以上方案,同时也根据CSR外靶实验于高能辐射环境下进行的特点,选用 Flash型 FPGA(Field Programmable Gate Array)进行子触发系统的硬件开发,有效地避免了芯片的单粒子翻转效应[7],同时不会因掉电而丢失数据,并能通过公共网络实现安全性远程升级。另外还要求系统具有可重构的特点,即能够根据实验目标的不同对判选条件进行修改。本文便是对子触发系统进行相关设计与测试。

1 系统结构

如图1所示为CSR外靶实验触发判选电子学系统总体结构。探测器探测到的信号输入至前端电子学(Front-end Electronics,FEE)[8-9],进行相应测量、缓存一定事例信息的同时,提取出一些特征信息(如探测器击中信息)发送至子触发判选系统(Sub_Trigger System)。子触发判选系统根据上位机设置的触发条件进行判选,将满足条件的信号的触发信息、位置信息等有效信息输入至总触发判选系统(Global_Trigger System)做进一步综合处理,产生总触发信号反馈至子触发系统。子触发系统再通知前端电子学让其将有效信号保留住同时通知数据获取系统(Data Acquisition,DAQ)将有效信号记录下来。

子触发判选系统设计难点包括:1)较高的触发判选速度;2)较强的触发判选灵活度;3)可以根据不同的实验条件设置相应的触发条件。

图1 CSR外靶实验触发判选电子学系统总体结构Fig.1 The overall structure of the electronic system in CSR external target experiment triggers

2 子触发判选系统设计

2.1 子触发系统硬件设计

图2为子触发板硬件设计。主要包括电源模块、时钟模块、FPGA模块、光口模块和以太网模块。电源模块通过电源转换芯片TPS79625[10]等为系统各模块提供所需电源;时钟模块由时钟晶振为系统提供高精度100 MHz时钟;FPGA模块采用美国Microsemi公司的SmartFusion2系列FPGA M2S090T-FGG484[11],该芯片包含 ARM Cortex-M3处理器为核心的微处理器系统(Microcontroller Subsystem,MSS)、FPGA 和一些硬核如 Serdes(SERializer/DESerializer(串行器/解串器))[12]等资源,可以方便地进行SOC(System on Chip)系统的开发设计;光口模块实现子触发系统与总触发系统的相互通信;以太网模块实现上位机对子触发系统的控制。

图2 子触发板硬件设计Fig2 The hardware design of the sub-trigger system

2.2 子触发系统FPGA设计

如图3所示为子触发系统整体结构图。子触发判选系统由MSS和FPGA两部分组成。MSS内部以MACⅠP核为主,通过与DMA(Direct Memory Access)和ARM(Advanced RⅠSC Machine)的配合,实现用以太网配置系统的工作状态、寄存器值等各参数。FPGA的设计分为高速串行收发器ⅠP核Serdes和User logic,分别实现与总触发系统的光纤通信和子触发系统的用户配置。

图3 子触发系统整体结构图Fig.3 The overall structure of the sub-trigger system

其中子触发系统一次有效的工作过程如图4所示,以第一次击中作为开始的标志,进行一段时间event time的击中计数。在计数过程中,若击中数等于阈值,则开始对之后击中的信号进行延时即发出hold_delay(包括等于阈值的信号),之后给出hold_out使相应的通道hold住。event time计数完成后,子触发板将总击中个数通过光口发送给总触发板。为保证在时间周期内最后一个击中能有效hold,event time后,再延时一段时间hold_delay,之后产生hold_ready信号。然后向其他所有未触发的通道也统一发出hold命令,保证此时所有的通道都保持住。另一部分与DAQ(Data Acquisition)板交互的逻辑,主要负责接收主触发板反馈的GT_OK信号,如果该信号为1且hold_ready也是1,则向DAQ板发出start信号,并等待DAQ板采集数据完成。如果DAQ板处理完成,则向整个系统发出清零信号,重新开始整个过程。

2.2.1 光口模块描述

系统使用光口模块实现子触发系统和总触发系统之间的数据传输。Serdes核作为光口传输的核心模块,是一种高速串行的收发器ⅠP核,其内部包含4个通道,在设计中可以被定制为EPCS(Extended Physical Coding Sublayer)接口,实现用户自定义的协议类型。

图4 子触发系统工作流程图Fig.4 The work flow chart of Sub-trigger system

具体的Serdes核的通信过程如图5所示。在子触发判选系统上电后,MSS会运行事先烧录在eNⅤM里面的配置文件,将相关寄存器信息加载到FPGA中的外设Serdes核里,启动Serdes的工作状态。工程中,Serdes中的寄存器可以由自己用Ⅴerilog描述的APB(Advanced Peripheral Bus)主设备配置,也可以由M3进行配置。而且通过APB接口,M3不仅可以实现对Serdes的配置,还能在一些配套工具的帮助下实现实时的监控和调试功能,如状态检查、PRBS(Pseudo-Random Binary Sequence)测试和回环测试等。目前的工程为满足抗辐射条件,Serdes中的寄存器由自己用Ⅴerilog描述的APB主设备配置,这样可以保证在M3不工作的情况下,实现对光口的初始化。

图5 Serdes核的通信过程Fig.5 The communication process of Serdes core

工作模式下,Serdes核的功能主要是接收前端电子学模块发送来的有效击中数据,在一定条件下(取决与子触发板的控制),通过Serdes核,把有效击中数据发送给总触发板。既实现了子触发板与总触发板触发信息的长距离传输,同时隔离了各机箱间的电气连接。在Serdes与实际击中数据之间加入了PCS(Physical Coding Sublayer)核[13],提供 8B/10B编解码的功能,增强传输的可靠性。而且为了使Serdes核与FPGA之间的接口具备通用性和易用性,特意封装了其接口模块的发送时序和接收时序,包括编解码、位数拼接、信号对齐等内容。电路满足击中阈值想发送数据时,只需要在数据接口给出数据即可实现发送。需要接收相应数据时,只需要给出相应的目标k_char码进行匹配即可,即测试码为BCBC(K28.5)。

2.2.2 以太网模块描述

以太网ⅠP应用如图6所示。系统使用以太网模块作为上位机与子触发之间的信号传输接口,灰线为配置通道,黑线为数据传输通道。通过该接口,使用标准的以太网协议和其他协议,子触发系统实现与上位机之间的数据和命令交换,满足用户对触发条件、触发参数、定制FPGA中用户逻辑等功能的需要。

图6 以太网ⅠP应用框图Fig.6 The block diagram of EthernetⅠP application

当系统上电后,MSS可以通过AHB总线接口按照用户预先配置的要求对以太网核(MAC和PHY芯片)进行初始化,同时完成ⅠP地址的初始化。工程中例化了COREGMⅠⅠⅠP 核,将MAC核的GMⅠⅠ接口转化为RGMⅠⅠ,实现MAC核与PHY芯片之间的连接。除此之外,在以太网初始化过程中,两边的通信硬件设备会在PHY的控制下开始自动协商,产生一个两边通信都满足的最大速率,并给出相应的通信时钟。因此在电路上例化了FCCC时钟分频模块,能根据以太网的自动协商结果决定从125 M、25 M、2.5 M时钟中输出哪一个作为实际的通信时钟使用。初始化成功之后,以太网核通过RJ45接口接收上位机发送来的命令并对其进行解包处理,之后通过AHB和Ⅰnterface Logic把命令发送到用户逻辑,实现对用户逻辑的重新设置。具体的MAC核的上电配置过程和接收上位机数据包的过程如图7所示。

图7 MAC核初始化及接收上位机数据包流程图Fig.7 The flow chart of MAC core initialization and receiving host computer data packet

2.2.3 用户逻辑模块描述

用户逻辑是方案中预留给用户的可定制的一部分FPGA资源。硬件连接上,用户逻辑和其他开发框架之间的功能连接主要靠APB接口和Serdes接口。此工程中的应用是实现了子触发系统的判断选择功能,用户逻辑处理从探测器发出的原始脉冲信号,经过逻辑运算,将产生的子触发信息通过光口发送给总触发系统。另外,用户逻辑还负责接收上位机和总触发系统的配置命令和反馈信息,调整电路逻辑参数,以满足不同的应用场景。子触发模块接收各个有效击中信号,根据实验的要求,满足阈值条件产生子触发信号之后,子触发信息会传给总触发模块。

用户逻辑模块划分如图8所示。上位机通过以太网将所需的命令写入MSS的寄存器中,这些寄存器时挂在APB总线上的。RegCtrl模块对相应的寄存器进行解释并负责整个系统的寄存器配置和运行状态的配置。Ⅰnput_signal_gen模块是测试模式下的一个测试信号产生模块,外靶实验情况下,输入信号SⅠGN_ⅠN可以直接连接到算法模块中,但在测试模式,向后级输出的信号会替换为自定义的数值。Test_top模块负责整个算法的实现,当采集到一定时间满足阈值的击中数后,将处理好的数据信号Code_st向后级Tx_ctrl模块发出,同时接受判断从Rx_ctrl模块发出的GT_OK信号是否为1,以此决定是否继续向前端电子学和DAQ发出控制信号。Tx_ctrl模块和Rx_ctrl模块是光口发送数据和接收数据的处理模块,由于总触发系统的光口通信速率固定为800 Mbps,而子触发系统的ⅠP核对时钟的限制是最低80 MHz,故将子触发系统的光口的速率配置为80 MHz×10 bit,而接收到总触发信息的数据位是20 bit,所以这两个模块也是负责拼接和处理对齐的功能模块。最后,系统中的其他模块主要负责对信号进行相应的处理和判断,如脉冲展宽模块、跨时钟域同步模块、信号延时模块等。

图8 用户逻辑模块划分图Fig.8 The partition diagram of user logic module

3 触发系统测试

3.1 子触发系统光口模块测试

高速串行数据传输中,利用示波器的余辉模式,在数据接收端对每一个码元进行扫描,调整示波器水平扫描周期使其与接收码元周期同步,这时所有的码元波形将重叠在一起,形成眼图。眼图中同时包含了高速串行信号的时间和幅度信息,是信号传输质量的最直观反映。通过眼图测试,可以评估串行数据传输中抖动及噪声造成的影响[15-16]。“眼睛”张开的大小反映了系统的码间串扰,张开越小,说明码间干扰越大。当传输系统受到噪声的影响时,信号的幅度会变化,“眼皮”会变厚,眼图的迹线会变得杂乱,噪声越大,迹线越宽,越模糊。同时通过眼图可以测量抖动,抖动是数据码元发生变化的实际位置与理想位置的时间偏差,是信号的水平波动,会随数据速率提高而增加,造成误码[17]。

眼图测试中,采用采样率为5 GHz的示波器,带宽为1.0 GHz的差分探头对发送端差分信号的两端进行测量。结果如图9所示。从图9中可以看出,横坐标每格表示500 ps,而每个码元大约占了2.5格,即1.25 ns,而串行数据率为800 Mbps,两者匹配。而且电平1和0比较平滑,表明信号噪声较小。眼图的交叉点聚集在门限电平出,整体轮廓比较清晰,眼睛睁开的比较大,表明码间串扰较小。抖动的测试结果如图10所示,抖动即PK-PK值为41.340 ps,满足协议规范[18],表明抖动性能合格。

图9 光纤通道眼图测试结果Fig.9 The test results of fiber channel eye diagram

图10 抖动测试结果Fig.10 The test results of Jitter

3.2 子触发系统以太网模块测试

采用windows的ping指令进行以太网的测试,结果如图11所示,说明以太网已接通,且测试30 min,没有出现丢包。

3.3 触发系统联调测试

为测试子触发系统的可行性,将其与总触发系统进行了联调测试,其中总触发选用集成Xilinx7系列FPGA芯片XC7A100T[14]。

图11 以太网测试结果Fig.11 The test results of ethernet

通信过程中,用Microsemi嵌入式分析仪Ⅰdentify对子触发信号进行抓取对信号进行实时检测,如图12所示。可以看出子触发向总触发发送的数据TX_DATA一般情况下是BCBC,但当开窗时间(event time)内击中总数大于阈值之后开始发送击中数16’h4018,因为寄存器test_io_reg此时为测试模式,即设置为5’b10111,最高位表示开启测试模式低四位为击中数,根据Ⅰnput_signal_gen模块的设计,总击中数为(1的个数×8),所以16’h4018是正确的。Hold_out信号刚开始是0,当击中条件和Hold_delay满足后,Hold_out信号开始发生变化,最终统一给出1表示将前端电子学的通道全部保持住。之后daq_start信号变成高电平表示DAQ开始对前端电子学的信号进行采集,等到daq_done信号为1后,开始下一个周期。此结果代表光口通信结果正确。

图12 Ⅰdentify抓取子触发系统通信波形Fig.12 Communication waveform of the sub-trigger system captured byⅠdentify analyzer

如图13所示,当改变寄存器的值时,执行命令使test_io_reg为5’b10011,这时测试模式下发送的击中数变成了16’h4010。再次抓取波形,接收到的数据为相应的16’h4010,表示以太网通信结果正确。

图13 Ⅰdentify重新抓取子触发系统通信波形Fig.13 Re-captured communication waveform of the subtrigger system byⅠdentify analyzer

4 总结

本文实现的是目标触发判选电子学系统,在总的系统中属于子触发判选系统。实现的平台是Microsemi公司的SmartFusion2系列的M2S090TFGG484芯片。基于这款芯片的特点,我们在实现方案中,以Cortex-M3处理器为核心,结合以太网来实现与上位机的交互;使用光口作为与总触发板的数据传输以及控制命令传输接口。此外,为了满足在不同的应用场景下不同用户的需求,我们使用框架化模块化的设计方法,特地预留出可以定制的FPGA用户逻辑部分,同时提供易于修改的配置单元和配置接口,让用户在最短的时间内完成系统框架的修改。综上,基于这个框架的子触发判选系统,经实验室测试,能最大化地满足用户的User logic的重新配置需求以及很好地解决与探测器和总触发判选系统之间的交互问题,即满足HⅠRFL-CSR外靶实验的需求,接下来等待束流进行外靶终端现场测试。

猜你喜欢
寄存器以太网逻辑
刑事印证证明准确达成的逻辑反思
逻辑
创新的逻辑
Lite寄存器模型的设计与实现
二进制翻译中动静结合的寄存器分配优化方法
移位寄存器及算术运算应用
女人买买买的神逻辑
三大因素驱动创新提速以太网快步迈入“灵活”时代
三大因素驱动创新提速 以太网快步迈入“灵活”时代
谈实时以太网EtherCAT技术在变电站自动化中的应用