-
重离子治疗肿瘤技术[1]相比于传统治疗手段具有对健康组织损伤小、对癌细胞杀伤效果佳、定位精度高等优势。中国科学院近代物理研究所依托兰州重离子加速器提供的重离子束流与当地医院合作,建立了兰州重离子治癌装置[2-3]。为了实时监测重离子治疗肿瘤靶区的辐照剂量和位置分布,在束正电子发射断层扫描装置(In-beam PET)作为关键组成部分被设计用于获取重离子治疗中离子束产生湮灭事件所发射的伽马射线的时间、能量和位置信息,从而实现对辐照剂量和位置分布信息的实时监测,并对治疗效果进行图像重建。在束PET系统的示意图如图1所示。
在束PET系统包含四个部分:探测器单元(即双平面探测器阵列)、前端数据获取单元(DAQU)、中央处理模块(CPM)和时钟同步单元(CSU)。探测器单元获取事件数据后发送至前端数据获取单元进行数字化,数字化后的数据通过光纤发送至中央处理模块,经处理后进行打包通过PCIe接口发送至上位机,时钟同步单元为前端数据获取单元和中央处理模块提供系统时钟和同步信号。
双平面探测器阵列包含16个探测器,每组即是一个2×4的单面探测器阵列。这两组探测器阵列按照探头相对的位置摆放,间距为30 cm,束流从两个阵列正中经过。重离子束击中靶区时,会与靶区物体发生弹核碎裂反应,进而经β+衰变产生正电子湮灭,在空间中形成一对等大反向的伽马射线[4-5],从而被探测阵列探测。该在束PET样机系统中,每两个探测器单元由一个前端数据获取单元完成数据读出,共包含8个前端数据获取单元。前端数据获取单元是以FPGA为控制核心的模块,其功能是将探测器探测到的事件数字化,并提取出有效事件的能量、时间和位置信息传输给中央处理模块。中央处理模块的主要功能有二:一是接收经前端数据获取单元数字化后的数据,将多路前端数据获取单元传输的数据进行汇总,并生成按照事件发生时间序列的数据流,利用符合事件甄别算法甄别出有效符合事件通过PCIe接口发送至上位机;二是通过光纤链路向前端数据获取单元发送控制指令。时钟同步单元为所有模块提供100 MHz的时钟,并且提供同步信号。
该系统中,核反应事件率高达106 Events/s,在多探头探测时数据量极高,这也对前端数据获取单元与中央处理模块间通信的带宽提出了较高的要求。由于前端数据获取单元的核心控件是Cyclone V系列FPGA,中央处理模块的核心控件是Kintex-7系列FPGA,实现不同公司的FPGA间可靠的实时通信是一个挑战。本文将介绍前端数据获取单元与中央处理模块间光纤链路的设计,包括硬件和软件实现,并对重要性能指标进行测试。
-
高速光纤链路用于中央处理模块和前端数据获取单元间的高速数据传输。前端数据获取单元如图2(a)所示,在束PET样机系统中共8个该模块,通过光纤与中央处理模块连接。中央处理模块如图2(b)所示,该模块可以通过8通道光纤(4通道光纤使用SFP光模块和4通道光纤使用QSFP光模块)与8个前端数据获取单元连接,通过PCIe接口与上位机连接。
高速接口实现的核心器件是FPGA芯片,综合考虑了逻辑资源、IP封装、成本和功耗等方面,前端数据获取单元选用Intel公司的Cyclone V系列芯片,通过单通道SFP模块与中央处理模块连接,最大支持速率3.125 Gbps的数据传输。中央处理模块选用了Xilinx公司Kintex-7系列FPGA芯片[6-8]。该款FPGA提供了16个GTX收发器,每个通道可以进行最大速率为10Gbps的数据传输[9]。其中8个收发器用于和前端数据获取单元进行光纤传输,4个用于QSFP模块,4个用于SFP模块。另外8个收发器模块用于x8 Gen2 PCIe接口,为了同时接收和发送数据采用全双工工作模式[10],故其最大速率为40 Gbps。中央处理模块由板上可编程时钟晶振SI5338[11]为高速数据传输提供稳定时钟,该时钟晶振可由FPGA编程控制扇出4路时钟:为DDR3 (Double Data Rate SDRAM)内存芯片提供200 MHz时钟,为PCIe提供100 MHz时钟,为SFP和QSFP分别提供125 MHz时钟。
-
高速光纤链路的实现是基于FPGA内部的高速硬核进行开发。中央处理模块的高速光收发接口设计采用Xilinx FPGA提供的GTX IP核,需设计SFP和QSFP共8通道与前端数据获取单元进行通信。前端数据获取单元的高速光收发接口实现采用Cyclone FPGA提供的Native_Phy IP核,每个前端数据获取单元通过单通道SFP经光纤与中央处理模块进行通信。为保证数据传输准确,双方光口均配置为带宽3.125 Gbps,单通道有效传输带宽2.5 Gbps。SI5338提供的125 MHz时钟作为参考时钟,通过FPGA内部的PLL[12](锁相环,Phase Locked Loop)倍频为156.25 MHz的用户时钟提供至收发器。单通道的光口通信的示意图如图3所示。
每个光口都分为发送器(Transmitter)和接收器(Receiver)两个模块,由一对差分时钟驱动。当FPGA向外发送数据时,逻辑部分通过发送器的PCS(物理编码子层)和PMA(物理介质接入层)实现信号的高速串行化[13-15],然后完成数据发送。并行数据及其控制码首先并行进入相位补偿FIFO对FPGA的工作时钟和发送器PCS内工作的并行时钟的相位差进行补偿。从相位补偿FIFO输出的数据会进行编码,PCS采用的是常规的8B/10B编码模式,根据输入的控制码,将8位输入数据按照K28.5编码规则转换为10位数据。根据输入控制信号的不同转换为有效数据代码组或特殊控制代码组K28.5。如果输入控制信号为高则转换为10位控制字,如果输入控制信号为低则转换为10位数据字。编码后的数据输入并串转换器完成低速并行数据向高速串行数据的转换,然后经由缓冲器输出。当FPGA接收数据时,高速串行数据经接收器的PMA和PCS完成解串,从而在逻辑部分获得完整的数据。当SFP或QSFP将光信号转换为电信号后,接收器缓存数据后通过差分通道将获取到的信号发送至时钟恢复单元,根据直流平衡等信号传输的基本约束初步恢复信号的时钟。随后将初步恢复时钟的信号进行串并转换,得到并行数据后发送至字节对齐单元,并按照预定义的修正模式从解串后的数据中找到数据的边界值,并从中得到8B/10B转换的正负偏置值[16],从而完成数据的对齐修正。修正后的数据经过数据率适配模块完成时钟域补偿后进行8B/10B解码获得正常的数据。
在通过软件对FPGA内部电路进行实现时,由于不同公司的FPGA内部协议有所差异,所以需要对IP核进行一些特殊的配置。对于Kintex-7 FPGA的GTX IP核,为保证传输数据的准确、传输协议与前端数据获取单元适配,故传输协议选择了 gigabit ethernet CC ,每通道发送和接收传输速率选择3.125 Gbps,参考时钟频率选择125 MHz,由CPLL提供,如图4(a)所示。对于Intel公司的Cyclone V FPGA的 Native_phy IP核,协议选择GIGE-2.5Gbps,输入时钟频率选择125 MHz,如图4(b)所示。
在本设计中,光纤传输的数据分为事件信息、指令和指令响应,为保证传输的准确性,均需要进行光纤协议层和用户层的打包和解包。光纤协议层包含包头、数据长度信息、校验码、用户层数据和包尾。包头包尾用于甄别光纤传输的数据是否有效,数据长度信息使用标明用户层数据的长度,校验码确保整包数据的准确性。包头包尾无误的数据包被接收后,通过校验码进行校验,发生错误的数据包被舍弃,无误的数据包借由长度信息解包出用户层数据。用户层数据包括包头、事件或指令信息和包尾,事件信息和指令信息的种类由包头进行识别。在本设计中事件信息使用4位16进制数“55aa”作为包头,指令信息使用4位16进制数“f8f8”作为包头,以此对数据的种类进行区分。光纤链路可以同时进行数据的接收与发送。链路的内部数据流如图5所示,为确保数据传输的实时性,每单通道数据分别并行进行解包处理,解包后的事件信息和指令信息被分别送入宽度为128 bit、深度为1024的事件FIFO与指令回读FIFO。各通道被送入FIFO的数据通过状态机按照先入先出的令牌环结构进行多通道选通输出,即将8通道并行数据转为串行数据以便后续处理。经过处理后的事件信息被送至输入位宽为128 bit、输出位宽为512 bit、深度为1024的FIFO,并送入DDR3芯片进行缓存,然后经PCIe接口与上位机进行通信。选通后的指令回读数据无需进行缓存,直接通过PCIe接口与上位机进行通信。
-
在束PET工作时,前端数据获取单元与中央处理模块间数据交互每单通道最大可达2.2 Gbit/s。高速光纤链路的传输带宽是实现大量数据实时通信的基础。高速光纤链路的传输稳定性保证数据可以准确发送和接收。本文为了验证高速接口的传输带宽、实时性和稳定性指标,分别进行了以下测试:发送校验帧对传输稳定性进行测试、在3.125 Gbps速率下进行了眼图测试、使用频率1 MHz的信号作为前端数据获取板的激励在实验室条件下对链路的有效传输速率进行了测试、使用22Na放射源对高速接口的传输带宽进行了测试。
为验证光纤链路传输的稳定性,通过链路自检的方法进行测试,即在前端数据获取板注入有规律的校验帧通过整个链路传输至上位机后对数据进行离线分析。图6是校验帧的组成结构,每个校验帧分为16组,每组64 bit,以“55aa”为组头,帧计数32位,组计数8位,组内循环计数16次,从而可以计算出每帧的长度为1 024 bit。每帧组内用循环计数来完成16组的顺序标定,每次循环组内计数值加1。完成16次组内计数后发送下一帧,帧间每帧帧计数加1。使用MATLAB对这些位的关系进行分析检测,就可以判断是否存在传输上的错误。测试时各前端数据获取板每1 μs发送一组数据帧,在上位机对数据进行实时采集。在测试中,由于数据量庞大,采用了在同一测试过程中每隔30 min进行一次采集,每次采集分析2 GB数据文件的方式。在长达72 h的测试中未发现错误,可以证实链路的稳定性。同时,对光纤链路的眼图也进行了测试,光纤链路在3.125 Gbps下交互测试的眼图结果如图7所示,其眼图覆盖率达45%,眼图UI等于事件采样周期,可以表明高速接口具有较好的稳定性。
由于前端数据获取单元计数率最大为1 M events/s,事件数据包长度为140 Byte,每个前端数据获取单元传输双探头数据,可以计算出前端数据获取单元的最大数据率为2.2 Gbit/s。为测试链路在高计数率下的有效传输速率,在实验室条件下使用了频率为1 MHz的指数式增长信号作为前端数据采集板的激励源。使用Vivado内逻辑分析仪ILA IP核对单通道接收数据包进行抓取,其结果如图8所示,图中采集的数据分别为单通道接收数据与K码,ILA的每个刻度表示一个时钟周期。每次接收的数据包长度为384 bit,在24个时钟周期内接收完毕。由于收发器用户时钟频率为156.25 MHz,可以计算出链路有效传输速率为2.5 Gbps,大于前端数据获取单元获取的最大数据量2.2 Gbit/s,即在最大计数率下,链路传输速率满足系统要求。在本设计中链路延时不大于111.2 ns,其中每个收发器的PCS层延时为12.8 ns,PCS层接口延时为6.4 ns,8B/10B编解码延时为6.4 ns,数据通过缓存器到达FIFO的延时约为29.785 ns。
为了验证光纤链路对前端事件数据的实时传输与处理,实验中使用22Na放射源对在束PET样机进行测试验证,前端数据获取单元获取到的数据经数字化后传输至中央处理模块,再由上位机接收。图9给出了一次采集中各通道计数率直方图。可以看出,3.125 Gbps的传输带宽完全满足前端数据获取单元传输的事件计数率要求。该测试说明了高速通信链路的实时性和稳定性,实现了对高计数率前端的在线事件获取,为完整PET数据的实时分析提供基础。
-
本文设计了应用于在束PET的光纤链路,实现了前端数据获取单元与中央处理模块间的大量数据实时传输。本设计实现了Xilinx公司Kintex-7系列FPGA与Intel公司Cyclone V系列FPGA之间高速光纤的稳定数据交互。光纤链路设计共8通道,采用8B/10B编码方式,每个单通道数据传输速率为3.125 Gbps。通过长期老化误码测试和眼图测试,验证了高速接口的稳定可靠性。通过实验室的高计数率测试结果表明,链路有效传输速度达到了2.5 Gbps,大于前端数据获取单元获取的最大数据量,链路数据传输无误码、稳定可靠。通过22Na放射源测试,说明了实际运行时的传输带宽符合大量数据实时性传输的性能要求。该高速接口实现了对高计数率前端的数据传输,为完整在束PET的数据实时分析奠定了基础,也为多通道大量数据在线实时获取的场景提供了思路。
Design of Optical Fiber Link for In-beam PET
doi: 10.11804/NuclPhysRev.39.2021040
- Received Date: 2021-05-12
- Rev Recd Date: 2021-05-31
- Publish Date: 2022-03-01
-
Key words:
- Heavy-Ion Medical Machine(HIMM) /
- optical fiber communications /
- in-beam positron emission tomography /
- FPGA
Abstract: To monitor the irradiation dose and position of heavy ion beam with the imaging methods in the treatment of the heavy ion tumor radiotherapy, an In-Beam Positron Emission Tomography(In-beam PET) will be mounted in Heavy-Ion Medical Machine(HIMM) in China. In In-beam PET, the event data is collected by the detector array and digitized by front-end Data Acquisition Units(DAQU). Then digitized data will be sent to the Central Processing Module (CPM) through the optical fiber link, and finally transmitted to the host sever via the PCIe interface. A single DAQU can obtain a maximum data rate of 2.2 Gbit/s, which imposes high requirements on the transmission bandwidth of the optical fiber link accordingly. As the core of DAQU is Cyclone V FPGA and the core of CPM is Kintex-7 FPGA, the realization of reliable real-time communication between FPGAs of different companies is a challenge. This paper presents a new design and the implementation of the optical fiber link for In-beam PET, aiming to realize the stable communication between Cyclone V FPGA and Kintex-7 FPGA. The performance of the design shows that it can meet the demand of high stability and high accuracy in real-time.
Citation: | Minchi HU, Lingyun KE, Junwei YAN, Changxin WANG, Yi QIAN, Qianshun SHE, Hongyun ZHAO, Jie KONG. Design of Optical Fiber Link for In-beam PET[J]. Nuclear Physics Review, 2022, 39(1): 88-94. doi: 10.11804/NuclPhysRev.39.2021040 |