SHINE丝扫描截面测量系统样机数据采集系统研制

2022-06-09 01:51冷用斌赖龙伟陈方舟曹珊珊
核技术 2022年5期
关键词:束流电机芯片

万 钧 冷用斌, 赖龙伟 陈 杰 高 波 陈方舟 陈 健 曹珊珊

1(中国科学院上海应用物理研究所 上海 201800)

2(中国科学院大学 北京 100049)

3(中国科学院上海高等研究院 上海 201204)

目前,国内对于自由电子激光(Free Electron Laser,FEL)的束流截面测量还都依靠荧光靶[1]和多丝靶[2]等传统手段。这些传统手段对于束流有阻挡作用,无法在不影响束流运行的情况下完成在线测量。同时由于信号的采集使用相机,测量精度将受到影响[3]。丝扫描截面测量系统(Wire scanner)[4-5]是国内外各大加速器装置普遍采用的技术,用于半阻拦束流截面测量。作为一种常用于直线加速器束流截面测量的方法,其在国外FEL装置:如第二代直线加速器相关光源(Linac Coherent Light Source-II,LCLS-II)[6]、瑞士自由电子激光(SwissFEL)[7]、欧洲X射线自由电子激光(European X-ray FEL,EXFEL)[8]、韩国浦项X射线自由电子激光(Pohang Accelerator Laboratory XFEL,PAL-XFEL)[9]等加速器装置上应用并取得了很好的效果。该技术在国内应用于电子束团截面测量目前主要是中国科学院高能物理研究所的北京正负电子对撞机(Beijing Electron Positron Collider,BEPC)[10]的 改 进 项 目BEPC-II,该装置将电子加速至能量为1.89 GeV,束流重复频率为50 Hz。中国科学院高能物理研究所的中国散裂中子源(China Spallation Neutron Source,CSNS)[11]和中国科学院近代物理研究所的加速器驱动次临界系统(Accelerator-Driven Subcritical System,ADS)[12]是将丝扫描系统应用于质子或H-离子的束团截面测量。从整体上虽然各个加速器实验室在丝扫描截面测量系统的总体结构大致相同,但由于加速器的粒子种类、粒子能量、束团重复频率等参数不同,各装置使用丝扫描系统的各项参数和工作模式存在很大不同。对于SHINE[13-14]装置,其重复频率可达1 MHz,电子能量达8 GeV,丝扫描截面测量系统应用于SHINE,是国内首次将该技术应用于高重频自由电子激光装置,其数据采集系统将面临数据吞吐量大、探测器输出数据同步难度高等问题。因此,国内目前有的丝扫描截面测量数据采集系统技术方案无法满足需求。基于以上原因,以SHINE的建设为契机,开始自行研发用于SHINE丝扫描截面测量系统样机的数据采集系统。

1 背景

SHINE的丝扫描截面测量系统的组成结构如图1所示,大致结构包括丝靶探测器、束损探测器、数据采集系统[15]。丝靶探测器使用LinMot直线电机带动装有扫描丝的探头,电机带动探头在束流管道截面方向直线扫描运动,实现探头和束流的相互接触和分离。在丝靶探测器安装位置的下游,装有光电倍增管和闪烁体组成的束损探测器,探测束流和扫描丝相互作用产生的次级粒子。次级粒子在束损探测器中产生的信号称束损信号,可以根据每一次束损信号提取出一个束损强度值,完成一次扫描过程中多次同步记录束损信号并得到束损强度值和对应的扫描丝位置,最后对这一列束损强度值和对应的一列扫描丝位置值进行高斯拟合即可得到束流的截面尺寸信息。

图1 SHINE的丝扫描截面测量系统组成结构Fig.1 Structure diagram of wire scanner system for SHINE

束损探测器包含:塑料闪烁体、石英光纤、光电倍增管(H10720-110)。当束流与扫描丝碰撞发生作用产生的次级粒子入射闪烁体时,将沉积部分能量并激发光子,光子通过光纤进入光电倍增管转化为电信号(称为束损信号),该信号为脉冲信号,信号的宽度约为200 ns。对于束损探测器产生的束损信号采集主要需要考虑采样时间和采样率的选择。为扣除本底噪声,需要选取大于200 ns的时间窗口采集数据。为确保束损强度值提取的准确性,要求对脉冲信号采集至少100个数据点,因此数据采集系统需要高于500 MHz的采样率对束损信号进行采样。

2 数据采集系统方案设计

对于扫描丝位置的测量,我们可以使用以下方式实现:

1)上位机通过COM端口与电机通信,发送命令字并等待电机回复内部磁栅尺的位置测量值;2)电机控制芯片直接读取磁栅尺读数并存入片上的随机存取存储器(Random Access Memory,RAM)中,扫描结束后再把数据通过COM端口发送给上位机;3)在电机上安装光栅尺(分辨率为2.5 μm),将光栅尺平行于电机运行轨道固定在支架上,滑动头固定于电机运动机构,当电机运动时带动滑动头与光栅尺相对运动,实现扫描丝相对位置的测量。为了实时存储扫描丝位置即光栅尺读数,采取将光栅尺输出信号通过Pmod接口(Peripheral Module Interface)连接现场可编程门阵列(Field Programmable Gate Array,FPGA)管脚后对信号处理的方式,通过对FPGA编程实现读出电机位置测量值。

如果使用方式1),从电机控制芯片接收指令再到该芯片回复上位机位置数据,整个过程数据经历了多次协议转换和编解码的过程,这将导致较大的延迟(可达1 ms)和较大延迟时间抖动,这使得同一个触发来临时,采集到的束损信号和扫描丝位置的数据是不同步的,最终将增大拟合实验数据得到的束流截面尺寸的误差,显著降低丝扫描系统的分辨率。如果使用方式2),该电机控制芯片最高支持每秒钟采集并存储1 000次磁栅尺的读数,其片上随机存取存储器(Random Access Memory,RAM)大小为1 Mb,无法满足实际测量中以1 MHz的频率采集扫描丝位置读数并持续约1 s的需求。而如果我们选择方式3),采集扫描丝位置数据,可以在FPGA内部对扫描丝位置信号进行处理,控制其与束损探测器产生的束损信号保持可调的时延。这种方案数据流不需要进行额外的协议转换,从而使得信号从产生到转换成FPGA内部信号的时间延迟变化小于1个FPGA内部时钟的周期,该周期远小于1 μs,实现同步采集束损信号和扫描丝位置。

此外,在直线加速器实际运行中,电子束流可能会有微米量级的横向抖动[16],因此即使扫描丝不动,扫描丝与束团的相对位置也会不断变化,如果只测量扫描丝位置和束损信号并拟合得到的横向截面尺寸有较大误差,将极大地影响丝扫描系统的分辨率和精度。目前,SHINE装置尚未完成建设,其束流横向截面尺寸理论上可至20 μm,以上海软X射线自由电子激光装置(Shanghai Soft X-ray Free-Electron Laser,SXFEL)[17]为例,其束流横向位置测量值的标准差约为20 μm。如图2所示,假如SHINE装置实际运行时横向截面尺寸20 μm的束流抖动情况类似SXFEL装置,其重复频率为1 MHz,电机扫描速度0.5 m·s-1,则实际测得的束损信号序列为圆圈部分,与理想的束损信号序列(图2中曲线部分)相差较大。为了更准确地测量扫描丝与束团的相对位置,我们将在丝扫描系统丝靶探测器的上游安装腔式束流位置测量系统(Cavity Beam Position Monitor,CBPM)[18]用于测量束团的横向位置。CBPM的测量原理如图3所示,对位置腔和参考腔输出信号处理可得束团横向位置,采用CBPM测量到的束团横向位置补偿光栅尺的测量值,可以得到更精确的扫描丝与束团相对位置。目前根据SHINE装置的C波段CBPM样机研制情况[19],该CBPM的分辨率好于1 μm,该系统用于图2例子的校正,可以得到三角形部分表示的束损信号序列,满足改善扫描丝位置测量值的需求。另外CBPM系统输出信号衰减时间为200 ns,它的最佳采样窗口约为250 ns[20],CBPM系统输出的原始信号由前端调理模块下变频至约为60 MHz的低中频段(中心频率不超过100 MHz)。

图2 丝扫描系统测量值校正示意图Fig.2 Diagram of correction for wire scanner system

图3 CBPM的测量原理Fig.3 Measurement principle of CBPM

综上所述,该数据采集系统可由射频采集板卡和数字母版组成。射频采集板卡对来自束损探测器和CBPM的模拟信号进行采样和数字化,经高速接插件进入数字信号处理板卡,利用FPGA对数据进行处理、传输、存储。光栅尺信号经过外部接口与FPGA管脚相连接并进行处理和存储。ARM处理器的应用程序将存放于内存中的数据进行计算,计算结果通过以太网口传输到上位机供科研人员进行分析研究。

3 系统开发

该数据采集系统的总体设计框图如图4所示,开发内容包括4部分:高速射频采集板卡设计、数字母版设计、FPGA固件开发和应用程序开发。

图4 丝扫描数据采集系统设计框图Fig.4 Design block diagram of data acquisition system for wire scanner

3.1 高速射频采集板卡

高速射频采集板卡由高速ADC模块、外部触发模块、时钟模块和FMC(FPGA Mezzanine Card)连接器组成。高速ADC模块共4通道,其中分别用于对来自束损探头原始信号、经过下变频的CBPM位置腔X方向信号和Y方向信号以及CBPM参考腔输出信号的模拟信号进行模数转换。信号输入采用单端交流耦合方式,模拟信号经过巴伦耦合实现单端转差分以增强信号的抗干扰性,并传输给ADC芯片。模拟输入阻抗为50 Ω,ADC模块使用了两块德州仪器公司设计的ADS54J60芯片,最高1 GHz采样率,有效位约11.5 bit,模拟输入带宽1.2 GHz。外部触发模块支持LVTTL/LVCMOS电平输入方式,通过板上单端转差分电平芯片转换成LVDS信号,连接到FMC连接器。时钟模块的核心部分是德州仪器公司设计的LMK04828芯片,其参考时钟由122.88 MHz的晶振产生。通过对该芯片内部寄存器的赋值来配置ADC芯片的采样时钟,能实现以晶振输出122.88 MHz为参考的内时钟最高采样率1 GHz,或使用外部采样时钟输入最高采样时钟1 GHz。FMC连接器采用HPC形式,最多能够支持80对LVDS(160根LVTTL/LVCMOS),80对LVDS分别从属于三个块(BANK)。

3.2 数字母版

数字母版由主控模块、存储模块、外设接口、电源模块组成。主控模块包括Xilinx公司设计的Zynq MPSoC芯片,即支持该芯片正常工作的外围电 路。Zynq MPSoC芯 片 分 为PS(Processing System)端和PL(Programmable Logic)端两部分。在本设计中使用的芯片型号为ZU9EG,包括四核ARM Cortex-A53处理器、双核Arm Cortex-R5F处理器、16 nm FinFEL+工艺的嵌入式FPGA。存储模块包括DDR4(Double-Data-Rate Fourth Generation)内存、64 MB Quad SPI Flash、SD卡槽。其中PS端有存储空间4 GB的64 bit DDR4 SODIMM(小型双列直插式内存模块),PL端有存储空间512 M的DDR4 SDRAM(同步动态随机存取内存)。DDR4内存的数据传输速率为2 133 MT·s-1,保证了实验数据完整地存储。Flash和SD卡用来存储FPGA固件和应用程序,提供Flash启动或SD卡启动两种启动方式。外设接口包含USB-JTAG接口、USB-UART接口、RJ45以太网接插件、SFP光口、FMC连接器。电源模块为数字母版上各芯片提供工作电源。由于各芯片需要的电压幅度不全相同,且主控芯片启动时对各芯片上电顺序有要求,电源分为三级:0.85 V、1.2 V和1.8 V,配合控制上电顺序,确保电子学稳定运行。

3.3 FPGA固件开发

在SHINE丝扫描截面测量系统数据采集电子学中,FPGA负责多项任务。主要包括ADS54J60芯片和LMK04828芯片的寄存器初始化配置;射频子板采集数据的接收、处理、传输、存储;用于开发过程中调试的在线逻辑分析模块。根据任务需求对Zynq MPSoC芯片的PL端进行固件开发,在IDE软件Vivado平台上使用verilog硬件描述语言编写底层逻辑。

3.4 软件应用程序开发

在ARM处理器上运行Linux操作系统,上位机可以通过网口登录Linux Shell用户登录界面。编写的Python脚本在Linux本地运行,接收命令行输入的参数,通过串口发送命令字对电机进行初始化配置,使得电机按照预定的模式运动。数据处理程序由C语言开发,程序逻辑如图5所示,负责在电机一次扫描结束后计算出束流横向截面尺寸。

图5 软件应用程序逻辑框图Fig.5 Software application logic block diagram

4 实验室功能验证

4.1 扫描丝位置读取

扫描丝位置的测量由安装于电机支架上的光栅尺完成,光栅尺的滑动头与电机运动机构连接,保持滑动头的运动方向与扫描丝运动方向一致,通过读取光栅尺信号可以间接测量扫描丝的位置。

光栅尺是通过摩尔条纹原理[21],通过光电转换,以数字方式表示位移量的高精度位移传感器。光栅尺输出数字信号主要包括3种:串行信号、正弦波信号和方波信号。本系统采用输出A和B两路方波信号(TTL接口输出信号)的光栅尺,其信号如图6所示,两路信号A和B的相位差为90°。

图6 光栅尺输出信号示意图Fig.6 Schematic diagram of grating ruler output signal

A或B信号每输出一个方波表示光栅尺滑动头移动了一个栅距,A和B的相位前后关系表示光栅尺的运动方向,因而可以使用FPGA对该两路信号进行处理,得到实时的光栅尺相对位置的读数。根据上述光栅尺信号的特点,设计了状态机对信号进行处理,其状态转移图如图7所示。当状态机状态变为Forward时,FPGA内部计数器加1,当状态机状态变为Back时,FPGA内部计数器减1。这样,当FPGA接收到触发信号时直接存储该计数器的值即可实现扫描丝实时位置读取。

图7 读取光栅尺信号状态转移图Fig.7 State transition diagram for reading grating ruler signal

在实验室条件下,对扫描丝位置读取进行了测试验证。实验中我们使用上位机发送串口命令设置电机按一定周期往复运动,如图8所示,对比了电机内置磁栅尺测量结果和FPGA读取光栅尺信号的结果。其中磁栅尺的数据率为10 Hz,而FPGA读光栅尺则是外部输入与SHINE重复频率相同的触发信号,其数据率为1 MHz。由于两种测量方法结果一致,因此验证了使用FPGA读取光栅尺信号得到同步于触发的实时位置数值的方法是可靠的。

图8 光栅尺信号读取值与磁栅尺测量结果对比图Fig.8 Comparison between results of grating ruler signal and magnescale

4.2 射频采集板卡数据采集功能验证

在实验室使用任意波形发生器提供1 MHz的触发信号,通过在线逻辑分析模块(Integrated Logic Analyzer,ILA)观察FPGA内部信号来验证该系统采集CBPM信号和束损信号的功能。FPGA电路设计中实现了每当定时系统的触发到来时,射频采集板卡的4个通道数据开始通过DMA模块存入内存中,其相应信号的变化如图9所示。

图9 ILA模块对FPGA内部关键信号抓取图Fig.9 Collection of the key signals captured by ILA module inside FPGA

由于该型ADC的特性,每个通道的数据为64位,是由4个250 MHz采样率的ADC的采样数据互相延迟1 ns合成。设计中每个触发后每个通道存200个64位数值入内存,即该丝扫描数据采集系统在1 MHz的触发下,每个触发可以同步采集单通道800个16位采样点。将通道in1连接束损信号,通道in2连接CBPM位置强X方向信号,通道in3连接CBPM位置腔Y方向信号,通道in4连接CBPM参考腔信号即可获得相应数据。为了保证在触发后的800 ns内可以采集到有效信号,可以配置延迟线调节每个通道的延时。该方法有效的原因是束流产生离开电子枪的时刻即发生触发信号的电平转换,而束流从产生到与扫描丝发生碰撞还需经过固定延时约1 μs(假设电子枪距离丝扫描装置300 m)。另外,对于不同频率的触发信号,单次触发的采样点数可以在软件应用程序内进行修改,通过GPIO(General-Purpose Input/Output)接口输入配置FPGA内AXI总线控制信号,从而实现可变采样点数。

综上所述,该系统满足SHINE丝扫描数据采集系统的需求。该丝扫描样机数据采集系统在SHINE装置的1 MHz高重频下工作时的流程如下:首先,外部的运动控制模块发送指令给直线电机,使其以一定速度前进,与此同时,数据采集系统启动,每当直线加速器装置的1 MHz触发信号的上升沿到来时,存储ADC采样数据和光栅尺当前位置值于PS端内存中,当电机完成扫描到达指定位置后数据传输存储完毕,之后,ARM运行应用程序对内存中的数据进行处理并得到束流横向截面尺寸测量值。

5 结语

本工作为SHINE丝扫描截面测量系统研制了专用的数据采集系统,经过实验室测试达到了设计要求,目前可用于SHINE丝扫描样机的数据采集处理需求。

作者贡献声明万钧:负责文章的实验设计,数据处理,起草撰写以及最终版本的修订;冷用斌:负责文章的修改和整体把握;赖龙伟:负责优化实验方案的和实验仪器的提供;陈杰:负责实验仪器的组装和参与实验;高波:负责文章资料的查阅整理并参与实验;陈方舟:负责文章资料的查阅整理并参与实验;陈健:负责文章资料的查阅和整理并参与实验;曹珊珊:负责文章资料的查阅和整理并参与实验。

猜你喜欢
束流电机芯片
同步加速器慢引出束流频谱定量分析及其应用
中国原子能科学研究院紧凑型强流质子回旋加速器剥离引出技术研究
芯片会议
激光同轴送粉增材制造粉末束流关键特征表征与分析
《防爆电机》期刊
泵用电机水润滑轴承选择与应用
关于电机滚动轴承的选择与计算
人体微芯片
中国散裂中子源加速器前端运行及改进
瞻望电机的更新换代