APP下载

用于回旋加速器低电平系统的通用软硬件系统设计与实现

2021-10-09付晓亮殷治国KenFong魏俊逸卢晓通

原子能科学技术 2021年10期
关键词:固件低电平腔体

付晓亮,殷治国,Ken Fong,纪 彬,魏俊逸,汪 洋,卢晓通

(1.中国原子能科学研究院 回旋加速器研究设计中心,北京 102413; 2.TRIUMF, Vancouver V6T 2A3)

近年来,中国原子能科学研究院建造了一系列不同能量级的回旋加速器,包括CRM[1-2]、CYCIAE-14[3]和CYCIAE-100[4]回旋加速器。其中,CRM提供能量10 MeV的质子束,CYCIAE-14提供能量14 MeV的质子束,CYCIAE-100提供能量75~100 MeV连续可调、束流强度200~500 μA的质子束。目前,中国原子能科学研究院正在建造CYCIAE-230[5]和CYCIAE-14B回旋加速器,CYCIAE-230提供能量230 MeV、束流强度300 nA的质子束,用于癌症治疗,CYCIAE-14B提供能量14 MeV、束流强度1 mA的质子束,用于BNCT系统。在上述加速器中,CRM和CYCIAE-14的射频系统包含1个发射机、1组腔体、1套低电平系统。CYCIAE-100的射频系统包括两套λ/2射频腔体[6]、两台100 kW发射机[7]及两套低电平(LLRF)系统[8-9]。两台发射机分别驱动两个独立的腔体,低电平系统需对两个腔体的相位进行闭环控制。CYCIAE-230包含两组4个腔体,低电平系统除了对两组腔体的幅度相位进行闭环控制外,还需考虑两组腔体的电压平衡。CYCIAE-14B采用两个20 kW发射机分别驱动两个独立腔体,同时用300 W放大器驱动聚束器来提升束流强度。低电平系统需完成对三路信号的幅相控制和对两个腔体的调谐控制。为满足不同能量、不同高频频率、不同腔体数量的回旋加速器射频系统的控制需求,在上述回旋加速器的经验基础上,本文设计用于回旋加速器低电平系统的软硬件系统。

1 硬件设计

全数字低电平系统是对数模混合低电平系统的进一步发展。在充分发展了数模混合低电平系统的基础上,中国原子能科学研究院回旋加速器研究设计中心在2018年与TRIUMF实验室合作,开始了全数字低电平系统的研制工作[10]。国际上经典的全数字低电平系统的硬件架构为FPGA+ADC+DAC+DSP架构[11-12]。其中,FPGA负责实现高速ADC和DAC的接口和整型运算,DSP负责实现FPGA不擅长的浮点运算,二者通过数据总线在PCB板上连接。这一经典架构能有效地解决全数字低电平系统的需求。然而,分立的FPGA和DSP器件给联合调试带来了挑战;同时,FPGA和DSP之间的高速数据传输增加了PCB布局布线的难度;一些加速器的低电平系统需运行嵌入式Linux操作系统来实现远程控制,DSP本身并不是运行嵌入式操作系统的最佳选择。鉴于以上考虑,本文的硬件架构选择ZYNQ系列FPGA+ADC+DAC架构[13]。ZYNQ-7000系列FPGA是赛灵思公司推出的集成了FPGA和双核ARM-A9处理器在同一芯片内的SoC。利用该系列器件内部的高速互联总线,可在FPGA和ARM处理器之间实现高速数据传输,减少PCB布线的压力;该器件支持ARM和FPGA联合调试,加速了开发过程;该器件内部的ARM处理器含有两个核心,可分别运行裸机固件和Linux操作系统,以适应不同低电平系统的需求。

高速ADC和DAC是全数字低电平系统与腔体和发射机之间的桥梁。为满足回旋加速器低电平系统的一般性需求,本文硬件系统设计了4路ADC通道和4路DAC通道。ADC和DAC均为250 MSPS,分辨率为14位。系统采用LTC2157作为ADC芯片。该芯片具有高达1.25 GHz的带宽,可以实现欠采样;采用DDR LVDS并行差分数据总线接口。在PCB布线时,对该ADC芯片进行了等长布线和阻抗匹配,使得4路ADC通道可进行时间交织采样,来处理更高频率的信号。系统采用AD9746作为DAC芯片,该芯片为单端CMOS并行接口。为了在不同系统之间分享时钟以实现级联控制,硬件系统支持4路数字时钟输入/输出接口。系统支持两路光纤接口,传输速率最高可达10 Gbps,可用于高速数据传输。采用1 000 Mbps以太网接口作为Linux的网络接口。系统另外配备了1个USB 2.0接口,作为备用通信和扩展存储器的接口。系统同时提供了USB转串口来进行本地调试。系统的RAM为1 GB,由两片DDR3芯片构成。裸机固件程序或Linux系统存储在微型SD卡中。该硬件系统提供52个通用输入/输出接口,PCB面积为11 cm×11 cm,可独立工作,也可作为子板与母板配合使用。

2 软件设计

回旋加速器低电平系统控制腔体加速电压信号的幅度、相位、频率、腔体谐振频率及异常保护等。FPGA固件程序主要完成高频信号的解调和调制,ARM处理器主要完成系统的自动启动逻辑和与上位机通信。在ARM处理器和FPGA硬件之间存在高速和低速两种数据传输。低速传输主要应用于参数配置和数据回读,ARM处理器通过AXI-GPIO对FPGA硬件电路进行参数读写。高速传输主要应用于对ADC高速数据流的采集和存储,以便进行后续的诊断分析。对于高速数据传输,使用DMA在FPGA和ARM处理器之间进行数据传输,将DDR3作为高速数据流的缓存。FPGA固件程序设计的主要任务是设计高频信号的解调和调制系统。数字低电平系统中常用的解调采样技术有正交IQ采样、Non-IQ采样技术和数字下变频技术。相比于正交IQ采样和Non-IQ采样技术,数字下变频技术不需要被采样信号和采样时钟之间有明确的倍数关系,因而更加适合实现通用的低电平系统。以CYCIAE-14B低电平系统为例,其系统框图如图1所示。

图1 CYCIAE-14B低电平系统FPGA固件框图Fig.1 FPGA firmware of LLRF system for CYCIAE-14B

该系统包含了对两组腔体的幅度相位控制和调谐控制、对聚束器系统的幅度相位控制、异常保护等电路。

2.1 幅度相位解调

幅度相位坐标系相比于IQ坐标系具备更高的灵活性,便于通过上位机修改参数以适应不同的需求,本文的幅度相位解调使用数字下变频技术实现。腔体取样信号经过高速ADC量化后,与同频率的本地NCO进行数字混频得到IQ信号。混频后得到的信号中包含基带信号和2次谐波,经过低通滤波器滤除2次谐波后,得到包含基带信息的IQ信号。该IQ信号经过CORDIC模块后,得出高频信号的幅度和相位信息。其中,幅度信息作为幅度闭环反馈信息参与PID运算后,控制输出NCO的幅度;相位信息作为相位闭环反馈信息参与PID运算后,控制输出NCO的相位。通过上位机软件设置本地NCO与输出NCO的频率相等,则该电路可工作于带宽内的任意频率而无需修改FPGA固件程序。以73 MHz信号为例,幅度相位解调的时域仿真如图2所示。由图2可见,腔体反馈信号中的幅度和相位调制信息在下变频后可由CORDIC模块准确地计算出来。幅度相位解调的频域仿真如图3所示。在125 MHz采样时钟下,73 MHz信号的镜像位于第一奈奎斯特区内的52 MHz处。经过数字混频器混频后,得到基带和2次谐波。其中2次谐波的镜像位于第一奈奎斯特区间内的21 MHz处。经过低通滤波器后,21 MHz镜像分量被滤除,只有基带信号输出到CORDIC模块用于计算幅度和相位信息。幅度相位解调使用的低通滤波器为3阶、32倍抽取率CIC滤波器,工作频率为125 MHz。本文中CIC滤波器的输入数据宽度为28位,全精度输出宽度为46位。为节约FPGA内的硬件资源,采用截断低位的方式输出高28位,保持输入输出数据的宽度一致。该滤波器的实际测试结果如图4所示。由图4可看出,由于在硬件实现时采用了截断输出结果的方式,该滤波器的实际测试响应与理论响应存在差异,但是该滤波器仍能有效滤除高次谐波信号,保留基带信息。在不改变滤波器参数的情况下,该幅度相位解调器可用于其他回旋加速器低电平系统中。

图2 73 MHz信号解调时域仿真Fig.2 Time domain simulation at 73 MHz

图3 73 MHz信号解调频域仿真Fig.3 Frequency domain simulation at 73 MHz

图4 CIC滤波器硬件测试Fig.4 Hardware test of CIC filter

2.2 调谐控制

为了对腔体进行调谐控制,一般从腔体和传输线上各取1个取样信号,计算这两个信号的相位差,并根据相位差来确定微调电机的运动方向和幅度。调谐关注的是这两个信号的相位信息,不关心幅度信息。腔体取样信号的相位信息可直接从相位环路的反馈信息获取。而传输线取样信号的相位信息可通过ADC采样传输线取样信号来获得,也可通过数字输入/输出接口直接获取传输线取样信号的相位信息而丢弃幅度信息。为节省ADC资源,本文将传输线取样信号通过数字IO输入到FPGA后,从1位扩展到14位,使其与ADC的分辨率保持一致。然后按照处理正弦信号的方式,输入到下变频处理器中,获取基带IQ信号(图1中阴影部分)。由于方波信号的谐波分量非常丰富,经过数字下变频处理后,CIC滤波器无法有效地滤除所有的谐波分量,这些谐波分量将以高频振荡的形式出现在CORDIC模块的相位输出信号中,影响系统的稳定性和精度。因此,在CIC滤波器后,增加一FIR低通滤波器以滤除高次谐波分量,然后输入CORDIC模块计算相位信息。本文采用16阶FIR滤波器来滤除方波信号的谐波分量,该滤波器工作频率为3.9 MHz,通带频率为0.01 MHz,截止频率为0.5 MHz,阻带衰减为50 dB。图5为该FIR滤波器的硬件测试结果,该FIR滤波器有效抑制了CIC滤波器输出中的谐波。对FIR滤波器的输出进行截断后,取高28位输入到CORDIC模块计算相位信息。将CORDIC模块运算得到的相位信息与相位环路的反馈信息作差后,即可得出调谐环路需要的相位差[14]。与幅度环路和相位环路类似,调谐环路同样不受低电平系统工作频率的影响。

图5 FIR滤波器硬件测试Fig.5 Hardware test of FIR filter

2.3 CORDIC模块

CORDIC是坐标旋转数字计算机的简称,该算法通过移位和加减运算代替乘法运算来递归计算常用的超越函数值,非常适合应用于嵌入式处理器或FPGA中计算超越函数值。本文使用CORDIC模块计算IQ向量的幅度和相位信息,应用于幅度相位解调、调谐控制、反射功率检测中。本文的CORDIC模块工作于向量旋转模式,关键设计参数为数据位宽和迭代次数。位宽越宽、迭代次数越多、精度越高,则运算速度越慢。为确定迭代次数和量化位宽对计算结果的影响,对不同量化位数的误差进行比较(图6)。由图6可见,采用8位字长量化时,CORDIC算法的运算结果有比较明显的误差,14位及以上量化位数时,误差已很小;为获得较准确的结果,CORDIC算法至少要迭代10次。为进一步量化CORDIC算法的计算误差,在27位量化、迭代29次的条件下,在FPGA硬件上对CORDIC算法进行了测试,测试结果如图7所示。由图7可看出,CORDIC算法的运算误差在±0.000 002以内,满足低电平系统对幅度相位的控制精度要求。在幅度相位解调和调谐控制中,对数据的精度要求高,对延迟的要求并不苛刻,因而在这些应用中的CORDIC模块采用28位数据宽度,迭代30次。对于反射功率检测,需在尽可能短的时间内判断反射功率是否超过限制。因此,需减少数据位宽和迭代次数,在保证精度需求下的CORDIC模块设计为14位数据宽度,迭代16次,同时将CORDIC模块的时钟由125 MHz提高到250 MHz,进一步提升运算速度。

图6 CORDIC算法仿真Fig.6 Simulation of CORDIC

2.4 幅度相位调制

数字低电平系统中常用正交矢量调制器作为幅度相位调制器。正交矢量调制器需外部信号源提供一个本振高频信号,该信号经过正交矢量调制器内部的移相电路处理后,得到两路正交信号,与低电平输出的IQ信号相乘后叠加,得到最终的输出信号。对于回旋加速器低电平系统来说,使用外部信号源提供本振信号不是经济的做法。为实现可编程的幅度相位调制器,本文采用直接数字频率合成器(DDS)作为幅度相位调制器。通过对DDS的频率字、相位字、输出幅度的控制来实现对输出信号参数的全可编程控制。本文采用250 MHz时钟作为DDS的时钟,在第一奈奎斯特区间内,可使用低通滤波器直接输出125 MHz以内的信号,满足了中国原子能科学研究院现有回旋加速器的需求。对于更高的输出频率的要求,可在其他奈奎斯特区间内用带通滤波器滤波得到相应频率的信号。

2.5 异常保护

回旋加速器运行过程中,需实时处理打火、反射功率过大、外部联锁保护等异常情况。对于这些异常,采用FPGA硬件直接处理,同时通过触发处理器中断进行系统状态迁移。在本文中,打火检测和反射功率检测由数字电路实现。打火检测对实时性要求极高,需在小于1 μs时间内检测到打火异常并做出处理。本文设计了一种基于脉冲计数的快速打火检测电路(图8),该电路利用一个与腔体反馈信号同频率的、一直运行的追踪NCO来监视腔体反馈信号。将腔体反馈信号和追踪NCO输入到硬件系统的数字输入/输出接口上,使这两个信号变为数字脉冲信号。在FPGA内部用两个计数器分别对这两个信号进行计数,当两个计数器的计数差值大于1时,说明腔体反馈信号消失,在其他条件正常时,可断定腔体内部发生打火。该打火检测电路由处理器使能,调试简单,响应迅速,避免了模拟打火检测电路容易误触发和不易调试的缺点。该电路不依赖于腔体的特征时间参数,因此可适用于任意腔体而不用修改系统参数。

图8 打火检测电路框图Fig.8 Diagram of spark detection

反射功率检测电路实时计算反射功率信号的幅度。为了尽可能减少延迟,将采样时钟提高为250 MHz,且将CIC低通滤波器的抽取速率降低为20倍,同时将CORDIC模块的迭代次数设置为16次,以牺牲分辨率为代价,换取对反射功率的快速检测。反射功率检测电路不受低电平系统工作频率的影响,阈值可由上位机软件配置。实际测试结果表明,该打火保护电路的反应时间小于60 ns,反射功率保护电路的反应时间小于500 ns,满足设计要求。

2.6 ARM处理器固件

文献[15]提出了一种用于回旋加速器射频低电平系统的通用DSP固件程序设计。本文的ARM处理器固件程序对该设计进行了扩展。本文针对一套低电平系统控制两组腔体和一个聚束器系统的情况,设计了基于双核ARM的固件程序,以CPU0作为主处理器,CPU1作为从处理器。CPU0启动后,加载CPU1的代码到指定的内存空间,并启动CPU1。对于连接到AXI总线上的高速和低速设备,CPU0和CPU1都可操作。在设计软件时,人为将硬件资源按照功能划分给CPU0和CPU1,避免了两个CPU对共享资源的访问冲突导致的问题。为了简化系统通信接口的设计,指定CPU0控制通信硬件资源,负责对外通信。CPU1和CPU0之间通过共享内存和软件中断进行通信。上位机发送给CPU1的参数设置命令,首先发送给CPU0,再由CPU0通过软件中断发送给CPU1。在不需要两个状态机的系统中,CPU0作为默认的工作CPU,所有硬件资源由CPU0统一控制,此时CPU1可运行Linux系统实现远程控制。

3 系统测试

为量化系统的控制精度,在桌面环境下使用是德科技公司的信号源分析仪E5052B对该系统的幅度相位控制精度进行了闭环测试,测试结果如图9和10所示。对于幅度控制精度,对1 Hz~20 kHz区间内的噪声进行积分,再转化为噪声对信号的比率,计算结果为0.015%。对于相位控制精度,对10 Hz~20 kHz区间内的噪声进行积分,转化为RMS角度,测量结果为0.04°。本文研制的系统的幅度相位精度满足回旋加速器低电平系统的控制要求。

图9 幅度噪声测量结果Fig.9 Amplitude noise test result

图10 相位噪声测量结果 Fig.10 Phase noise test result

4 结论

根据中国原子能科学研究院已建成的和正在建造的回旋加速器的射频系统控制需求,设计了用于回旋加速器低电平系统的通用软硬件系统。该硬件系统是基于FPGA的全可编程平台,由上位机软件修改参数即可适应不同回旋加速器低电平系统的控制需求。该软件实现了一种回旋加速器低电平系统通用固件程序,并扩展了该固件程序使其适应多个腔体的情况。该系统将被应用于正在建造的CYCIAE-14B回旋加速器上,目前已完成桌面测试,所有设计功能完备,幅度控制精度为0.015%,相位控制精度为0.04°。该设计适用范围广泛,对回旋加速器低电平控制系统的设计,具有一定的参考价值。

猜你喜欢

固件低电平腔体
铁道车辆高/低电平信号智能发生器设计
高铁复杂腔体铸造数值仿真及控制技术研究
高铁制动系统复杂腔体铸造成形数值模拟
2017款凯迪拉克2.8L/3.0L/3.2L/3.6L车型低电平参考电压总线电路图
橡胶挤出装置
基于固件的远程身份认证
15-MeV电子直线加速器的低电平系统
提取ROM固件中的APP
开孔金属腔体场强增强效应分析
一种通过USB接口的可靠固件升级技术