-
中国散裂中子源(China Spallation Neutron Source, CSNS)是国家“十一五”期间重点建设的大科学装置[1]。CSNS一期由1台80 MeV的负氢直线加速器、1台1.6 GeV的快循环质子同步加速器、两条束流输运线、1个靶站和3台谱仪及相应的配套设施组成[2]。
CSNS直线加速器(Linear accelerator,Linac)一期工作在频率324 MHz、脉宽650 μs、重复频率25 Hz的射频的脉冲功率下[3-4]。直线加速器包含8套加速器单元,主要有1套RFQ(Radio-Frequency Quadrupole)、4套DTL(Drift Tube Linac)、2套聚束器和1套散束器。每套加速器单元都配备一套低电平射频控制系统。低电平射频控制系统主要完成以下几个功能:幅度相位控制、射频保护、加速器腔体频率控制、数据存储以及远程控制等。CSNS直线加速器低电平控制系统(Low Level Radio Frequency Control System,LLRF)一期主要运行指标如表1所列。
项目 指标 项目 指标 腔场幅度稳定度 ≤±1% 腔场相位稳定度 ≤±1° RF输出信号形式 脉冲 重复频率 25 pps RF脉冲宽度 650 μs 输出RF信号频率 324 MHz 采样时钟频率 144 MHz 中频频率 36 MHz LLRF闭环反应时间 <1 μs -
直线加速器低电平射频控制系统需要将加速腔高频场的幅度和相位分别控制在±1%和±1º以内。图1是CSNS LINAC低电平射频控制系统的框图,如图1所示,从腔体里耦合出来的324 MHz射频信号引入到模拟组件,在模拟组件内部与360 MHz本振(Local Oscillator,LO)信号混频至中频(Intermediate Frequency, IF),经过滤波后,送至数字组件进行ADC(Analog-to-Digital Converter),采样直接进行数字I/Q(In-phase/Quadrature)解调,然后通过PI(Proportion and Integral)控制、数字中频调制等一系列的数字信号处理后,将已调制的数字信号送到DAC(Digital-to-Analog Converter)产生模拟中频信号,然后在模拟组件里经过上变频形成324 MHz射频信号,输出的射频信号送到速调管或者固态功率源进行放大,最后信号由功率传输系统馈入加速腔中,构成控制闭环回路[4-5]。
射频保护模块用于监测功率源输出功率和驻波比,以速调管功率源为例,射频保护模块实时监测和显示速调管输出、环形器输出、环形器假负载和腔体输入四个位置的功率和驻波比,当驻波比大于设定阈值进行执行保护逻辑。弧光(ARC)打火探测器用于监测高功率设备关键部位的弧光打火情况,主要有速调管波导窗、加速器腔体、腔体脊波导、环形器、环形器假负载,当ARC打火探测器监测到打火情况时执行相应的保护逻辑。
-
低电平控制软件提供重要的交互信息界面,实现相关的数据处理和算法,提供报警、远程控制等功能。低电平控制软件的框架形式较为丰富,比如有的用微软开发的Virtual C++ MFC框架[6],不过该框架实现难度较大,可维修性相对较低,现在已经很少有加速器系统使用;也有的用美国国家仪器公司(NI)开发的一种LabView图形化编程方式的开发平台[7],但是对于大部分习惯文本编程的程序员而言不是首选;也有的在Linux操作系统搭建基于EPICS(Experimental Physics and Industrial Control System)的IOC(Input/Output Controller)控制器,在实现逻辑功能的基础上也能直接实现变量发布[8],不过单纯的IOC不适合开发复杂的逻辑。本项目低电平控制控制软件用微软的C#编程语言,该平台和Windows操作系统兼容性好,开发难度小,不容易出现内存溢出等问题,同时也有丰富的界面控件。选用C#编程语言有利于实现较为复杂的控制逻辑,缩短开发时间、降低开发难度。同时,为了解决变量发布的问题,通过在本地软件中嵌入一个C#类型的EPICS服务器程序,从而把低电平控制系统接入基于EPICS框架的控制系统中[9]。
软件框架如图2所示,软件主要包含幅相控制、射频保护、ARC打火探测器、可动调谐器等显控界面。在局域网内搭建MySQL数据库,利用SQL语句对低电平系统的运行参数和变量进行保存,关机后重新开机时,可一键恢复出束参数,不需要人工纸质记录。本地主界面如图3所示,通过软件界面提供腔场波形显示、幅度相位设置、开环闭环控制、自动变频、PI反馈参数调整、射频保护参数设置等可视化功能。
-
本小节重点介绍几个自动化功能,比如前馈自动计算的功能、可动调谐器自动调谐、频率自动计算、一键升功率等功能,这些功能发挥了软件的优势,大大提供自动化程度,减少人工干预和运行的故障率。
-
CSNS直线加速器是一种强流负氢加速器,束流通过腔体时,会产生束流负载效应。束流负载效应会使腔体幅度相位发生波动,通过PI反馈,一般可以把束流中间部分补平,但是在束流上升期和下降期由于反馈系统控制速度跟不上束流带来腔场突变的速度,往往会导致束流前后沿腔场不平整,进而影响束流品质。
由于束流在一定时间范围内每次通过直线加速器对腔体扰动的效果是可重复的,因此适合使用前馈算法进行补偿。束流既有大小又有相位,是一个矢量[10],在束流通过期间增加一个前馈矢量,这个矢量和束流的矢量幅度大小一致,方向相反,可以抵消束流通过带来的扰动。
如图4所示前馈矢量原理框图,首先将腔场信号下变频和采样,然后分别进行I路和Q路的PI反馈计算,反馈计算结束后和上位机设置的前馈矢量(FF_I, FF_Q)叠加,进而调制为36 MHz中频信号并由DAC输出,最后将信号上变频送到功率源放大馈入腔体。
如前文所述,前馈矢量必须与束流给腔体扰动的矢量幅度一致、相位相反才能起到抵消作用,而束流给腔体扰动往往是个未知量,以往的方法是通过对前馈进行扫幅扫相得到。这种扫幅扫相的方法需要很多次迭代才能完成。查阅相关文献也未见较好的解决方法[10-12]。本文将介绍一种计算方法,一次完成计算且结果准确。这个方法的基本原理是:尽管PI反馈对束流前后沿位置的扰动无法进行很好地补偿,但是由于束流有一定宽度,一般大于几十μs,这个时间足以让PI反馈将束流中心位置的扰动补偿得很好,如果提取闭环时刻PI反馈对束流中心的补偿矢量作为前馈矢量,就能将前后沿的腔场补平,很好减轻PI反馈的压力。具体实现方式如下:
(1) 使射频幅相控制系统处于闭环状态,并且使加速器出束,由于PI反馈要补偿束流的扰动,所以在束流期间,DAC输出和其他没束流时幅度相位会不一样。如图5,在束流期间(c点)、束流开始前间(a点)和结束后(b点)各选取一个点,分别记录下三个点的I-Q值。为了补偿长脉宽功率源功率跌落(主要是高压电源带来的),DAC在脉冲期间呈现一定上升的趋势,所以a点和b点数据是不一样的。通过束流前后位置可以估算出未出束时中心位置的DAC矢量信息(用I-Q表示)为
(2) 将这个矢量信息和出束期间位置DAC矢量信息相减可以得到补偿束流扰动的前馈矢量,即
(3) 调节束流与束流同步时序之间的关系。前馈矢量通过束流同步时序进行同步,由于实际束流和束流同步时序有一定的时差,脉宽也不全一样,通过调节束流同步时序的延迟和脉宽,才能使前馈效果最佳。束流与束流同步时序的关系具有长时间的可重复性,这部分工作一般只要操作一次。
这个方案在闭环出束的条件下完成前馈的计算,不影响加速器运行,结果准确,方法简单。通过在工控机界面程序自动获取DAC 三个点的矢量信息,就能自动计算出前馈矢量。图6是其中一套DTL腔体在出束期间前馈矢量使用前后幅度相位控制精度对比情况,最终幅度和相位噪声分别小于±0.2%,±0.15°,远远优于需求指标±1%,±1°。
-
CSNS直线加速器总共有8个加速腔、1个RFQ、2个散束腔、1个聚束腔、4个DTL腔体。由于RFQ要保持加速场的四极稳定性,通过水系统控制水温调节RFQ腔体的谐振频率[13]。其他加速腔采用了机械调谐,通过伺服电机控制腔体的调谐杆(Tuner)。聚束腔和2个散束腔每个腔有一个调谐杆,4个DTL每个腔有两个调谐杆。
图7是聚束腔或者散束腔的调谐控制系统框图。每个调谐杆由一个伺服电机控制,可动距离大约100 mm,每个伺服电机配备一个电机控制器,电机控制器通过串口与工控机进行通信,并由工控机发送指令对电机进行控制。每个调谐杆都安装一个位移传感器,通过TCP/IP协议实时显示调谐杆的位置。同时,在调谐杆头尾位置都安装了限位开关,避免调谐杆跑出调谐范围。由于腔体失谐是慢变化,一般腔体失谐频率变化要几s到几十s才比较明显,因此调谐控制系统用软件的方式实现能满足控制速度要求。图8是可动调谐器人机交互界面,提供电机状态显示、不同的电机转动方式、功能复位、调谐器位置获取等功能。图9是可动调谐器在加速器DTL腔体和聚束腔上的安装照片。
调谐控制系统设计了自动调谐的功能,能自动控制腔体谐振频率。自动调谐通过测量入腔RF信号和腔体Pick-up信号的相位差判断腔体失谐情况,当相位差大于设定值的时候,认为腔体失谐严重并自动驱动调谐器动作调节Tuner的位置,使腔体重新回到谐振状态。
图10是散束腔进行自动调谐的实验数据,根据之前开机情况,该腔谐振时相位差为−5°。实验刚开始,相位差为35°,自动调谐启动以后,随着相位差由35°向−5°靠近,失谐频率逐渐接近0 Hz,反射功率逐渐接近0 kW,此时调谐器停止动作。
当由于外界因素导致腔体失谐频率变化,且目标相位差偏离设定阈值范围时,调谐器将再次动作,直到相位差再次恢复到设定阈值以内。调谐器的频率控制精度远小于加速器腔体的3 dB带宽,靠调谐器动作始终能找到谐振点,将反射功率调到最小。
-
由于可动调谐器频繁动作比较容易引起腔体打火,因此也设计了自动变频功能,使低电平输出功率频率和腔体频率在加功率期间实时一致。其原理是,每个功率脉冲结束以后,功率源关闭输出功率,此时加速器腔体腔场处于自由阻尼下降,通过观测下降沿的频率即可计算出腔体的失谐频率[3]。将计算所得的失谐频率下发给FPGA对中频信号进行调制后上变频可以得到频率和腔体频率一致的功率信号。下面给出失谐频率的公式:
如图11所示是腔场下降沿通过采样得到的相位,相位呈现线性变化,其斜率隐含了失谐频率信息。在实现过程中,出现图11窗口2中相位斜率在±180°时有跳变的情况,如果将跳变的数据也引入数据计算,计算出来的相位斜率是错误的。为了规避这种情况,将一个窗口内得到的多个斜率数据进行排序,取中间的数据再求平均,这样由于跳变导致的异常数据会被规避掉并获得准确的数据。
-
加速器功率源升功率需要人工多步操作,还需要根据腔体情况实时调整加功率策略,不利于大型加速器的运行管理。一键升功率功能减少了操作难度,并且缩短了升功率过程的时间,有效减少故障机时。
一键升功率的流程如下:一键升功率功能在启动时,首先从数据库中读出最新的出束参数,接着先往腔体内馈入少量功率,通过腔场的尾场计算腔体此时失谐频率,最后切到变频模式跟踪腔体谐振频率并逐步升功率,到达目标值以后等待腔体失谐频率下降到2 kHz以内后闭环并通知出束。在这个过程中,实时监测射频保护的数据,如果出现射频保护的脉冲个数小于设定阈值,则适当降功率或者减缓升功率速度,如果保护的脉冲个数大于设定阈值,则提前结束并报警。同时,也监测功率源输出功率值和腔体内高频场幅,如果这两个值在升功率过程中,和之前的历史数据相差太大,则认为功率源可能有故障,同样提前结束并报警,等待人工恢复。图12是一键升功率的流程图。
由于只有DTL腔体在加功率过程中腔体频率变化较大,因此,变频、等待腔体谐振等环节只有DTL腔体升功率时需要,其他4套腔体并不需要。
DTL腔体升温过程十分缓慢,一般需要25~35 min,影响整个加速器工作效率和工作机时,为了减少这个时间,从以下三方面入手进行改进:
(1) 提高开环的目标幅值,让腔体入腔功率比正常功率值大5%~10%左右,这样有利于提高升温效率,腔体回到中心频率附近以后再恢复原始目标值;
(2) 有些功率源线性度并不是很理想,在低功率区间增益较小,到高功率增益才变大,所以在加功率过程中较快越过低功率区,减少浪费在低功率区间的时间;
(3) 通过修改预设Q值,在加功率过程中适当缩短每个脉冲上升沿时间。
加速器腔体是一种谐振腔,等效为一个RLC谐振回路,将射频脉冲功率馈入腔体,脉冲能量被分为两部分,一部分能量进入腔体,它的波形是一个指数包络增长正弦波[14],而没有入腔的能量反射回信号源端。为了避免脉冲开始期间加速器腔体反射过大对设备造成伤害,用指数包络来控制脉冲上升期间波形,公式(2)为所使用的指数包络公式:
其中:
$ \frac{1}{{2\tau }} = \frac{{{w_0}}}{{2Q}} $ ;$ \tau $ 是时间常数;$ {w_0} $ 是腔体谐振频率;Q为预设的腔体品质因数;t是时间。如图13所示,Q1<Q2,Q1对应脉冲更快到达平顶,往腔体馈入更多能量,腔体热得更快。闭环时,如果脉冲上升沿太陡,将会导致闭环系统出现震荡,所以闭环时再将Q值改大。
通过以上三方面的修改,DTL热腔时间一般在10 min左右,原来手动加功率需要30 min左右,且需要人工一直干预,一键升功率功能大大减少了开机时间和操作难度。图14是其中一套DTL腔体入腔功率和失谐频率随时间的变化曲线,整个过程小于10 min。
-
本项目根据加速器腔体和功率源的要求,在软件基础上实现多种自动化的功能,比如自动前馈计算、自动调谐、自动变频、一键升功率、自动老炼[16]等。随着自动化功能的逐步实现,机器操作变得更加简单,同时,随着其他设备的不断升级和优化,CSNS直线段运行效率正在逐步提高。
Design of Low Level Radio Frequency Control Software for CSNS LINAC
doi: 10.11804/NuclPhysRev.39.2021049
- Received Date: 2021-06-03
- Rev Recd Date: 2021-07-15
- Publish Date: 2022-03-01
-
Key words:
- linear accelerator /
- accelerator cavity /
- feedforward /
- tuner /
- RF power source /
- automatic
Abstract: The low-level radio frequency control system(LLRF) is mainly used to control the electric field and resonate frequency of the accelerating cavity to ensure the stable operation of the accelerator and output high-quality beam. The LLRF software provides a graphical user interface, and realize the functions such as data display and storage, as well as some algorithm like automatic logic and so on. A well-designed LLRF software improves the operability of the LLRF and reduces the amount of manual work and failure rate. This paper introduces the development and design of LLRF software for China spallation neutron source(CSNS) linac, mainly including feedforward automatic calculation, automatic frequency control of acceleration cavity, frequency detuning algorithm, automatic RF power up and so on. Finally, the amplitude and phase stability index of the system is better than the required design index, and meets the requirements of long-term stable operation.
Citation: | Zhexin XIE, Zhencheng MU, Jian LI, Linyan RONG, Song LI, Wenzhong ZHOU, Ahong LI, Xiaolei WU, Yongchuan XIAO, Yuliang ZHANG, Bo WANG, Maliang WAN, Meifei LIU, Hui ZHANG, Xin'an XU. Design of Low Level Radio Frequency Control Software for CSNS LINAC[J]. Nuclear Physics Review, 2022, 39(1): 45-53. doi: 10.11804/NuclPhysRev.39.2021049 |