X射线安检装置实时成像系统设计

2017-09-09 16:16顾乐旭
数字技术与应用 2017年7期

顾乐旭

摘要:针对公共出行过程中大量行李物品不断考验安检设备效率的现状,本文设计了一套具有多通道采集和网络快速传输的X射线安检仪实时检测成像系统。该系统使用具有高集成度的ZYNQ芯片进行开发,利用其PL(Processing Logic)端完成实时数据多通道采集和数据处理,用PS(Processing System)完成系统的控制并利用Lwip(Light Weight IP协议)进行TCP/IP协议的以太网传输,并针对数据特点进行图像处理实现初步灰度图成像显示。

关键词:ZYNQ;多通道采集;实时成像;Lwip;TCP/IP

中图分类号:TL816.1 文献标识码:A 文章编号:1007-9416(2017)07-0160-02

由于X射线安检设备使用环境的不同,所检测的物体体积大小各异[1-3],所以其可布置的探测器序列数目需求应进行相应调整,以保证安检检测质量。但普遍安检设备,因缺少扩展接口而无法增加探测器序列,或对扩展后增加的检测数据不能进行实时传输,所以无法实现按需调整的需求。本设计应用ZYNQ中的PL端进行多通道数据采集和时序控制,其高频时钟工作范围不仅能提高数据采集的速度和精度,而且可以根据实际需求增减探测器序列的数目,扩大检测范围。同时在PS端嵌入FreeRTOS实时操作系统可以对采集端进行指令下达和实时控制调整,并实现千兆以太网功能,可以保证数据的实时传输以便上位机进行图像实时显示。

1 系统硬件设计

1.1 线阵列探测器选取

本次成像系统使用的是线阵列探测器序列来检测X射线经过物体的透射和衰减程度,根据实际性能和应用需求,选用日本滨松公司所生产的CF248-1式X射线探测模块,此探测模由多个PD阵列模块组成。采集方式是双能采集方式,每块CF248-10有4对PD,每对PD对应16个像素、32个通道,即每块CF248-10有128个通道。本次设计八串同时可连接探测器模块的接口,每串可串联15块上述探测器序列,可达到15360个通道,带载120块CF248-10。可根据实际采集状态调节积分时间和高低能增益。

1.2 系统总体设计方案

本文设计所采用的主要芯片是XILINX公司生产的ZYNQ-7000,其PL端的高频率工作时钟和快速处理能力可以满足160Mbps采集数据的速率以及对数据进行并行处理的需要,其PS端为成像系统的控制处理单元,不仅可以完成上位机对探测器序列的控制,而且可以运行实时操作系统,构建以太网传输,实现上位机的实时成像。系统主体结构框图如图1所示,数据采集模块可连接多个通道的探测器序列,增加了可检测的范围和精度,并将采集的数据经过实时操作系统处理,并会在DDR3进行缓存,然后通过PHY芯片用以太网方式传输以便上位机可以对检测物体进行实时成像检测。并通过串口功能对PS端操作系统的运行状态和数据通信进行监测。

2 系统软件程序设计

系统的硬件程序设计分为数据采集模块和数据传输模块两部分,数据采集模块(PL端)的数字逻辑将采用VHDL语言进行编写,数据传输模块(PS端)的程序设计将采用C语言配合FreeRTOS实时操作系统进行编写。系统的系统硬件逻辑架构图如图2所示,系统的实时成像将在上位机搭建显示平台,进行实时显示。

2.1 数据采集模块逻辑设计

数据采集模块的数字逻辑设计是在PL端进行的,主要包括参数设置单元、控制处理单元、数据生成转换单元、差分信号转换单元四个部分。参数设置单元是数据采集模块(PL端)对上位机指令的转换解析模块,通过接收PS端发出的指令,按照相关报文协议对接收到的数据进行分配整理,生成可供控制处理单元和数据转换生成单元的各类参数和控制命令。

控制处理单元将作为数据采集模块的核心,对探测器序列采集的数据和PS端传递过来的参数控制信息进行主要的整合处理,按照参数单元解析的指令,对采集数据进行数据截取,得到满足一定成像条件的并行数据。

数据生成转换单元将对控制单元生成的数据,按照参数设置单元对采集数据的要求,对数据进行有效部分的提取,并根据相应报文对数据打包,形成可供传输到PS端的数据包。

差分信号转换单元是将探测器序列的差分信号进行转换成可供FPGA端进行逻辑设计的单端数字信号。而采用差分信号传输也是为了保证信号传输的稳定性和完整性。

2.2 数据传输模块逻辑设计

针对实时成像的系统需求,在PS端设计时需选用合适的实时操作系统对程序进行实现,考虑到PS端运行空间大小及实时性与可靠性等因素,选择FreeRTOS作为本次设计的操作系统,并应用以太网的方式进行数据传输,采用Lwip堆栈实现TCP/IP协议,可以有效减少存储器利用量和代码尺寸,并有效的和实时操作系统结合,实现实时传输。数据传输模块程序运行框图如图3所示。

移植Lwip堆栈在FreeRTOS中进行套接字socket的设置,完成TCP/IP的握手连接以及IP地址和MAC地址的设置,再通过创建相关数据传输任务函数,而任务运行的顺序按优先级的设定进行,任务之间的信息通信经过队列进行传递。在获得上位机下达的指令后,按相关指令获取数据后将通过DMA方式进行传输,减小对PL端的中央处理单元的占用。上位机相应参数控制指令也将通過ARM进行相应转化后,调用Bram寄存器传达到数据采集模块中,使采集模块按照上位机指令进行工作。

3 系统实时成像设计与系统调试

系统实时成像软件是通过VisualC++6.0开发环境,结合Windows Socket开发方式完成TCP/IP协议的千兆以太网传输,并调用成像函数设定图像宽度,生成像素为1024*640的灰度图。通过将本系统安装在型号为THSCAN CX6550B的X射线检测机上进行性能检测,对国家统一规定的安检使用标准体(如图4)进行成像测试,得到的初步标准体成像(如图5)。根据初步实时成像灰度图效果表明,图像整体边缘显示清晰,但实物细节显示不清楚,因此用边缘检测方法进行图像去躁锐化,经过Roberts算子,Prewitt算子,Sobel算子进行图像锐化后,依然无法显示实物细节。经分析得知,在灰度值范围为0到65535范围内,像素差值小于30,人类的肉眼将无法识别,各算子所计算的梯度值差别也很小。由Kirsch算法的原理启发,将单一像素周围八个方向的像素值进行相减求绝对值运算,根据绝对值的大小和绝对值的范围,提取像素差值在15范围的像素,并对提取像素进行双对角线与水平垂直四个方向的中值滤波,进行单独成像可见原始图像无法显示的细节,但无法保证原图像的完整性。针对这一现象,通过计算提取出的像素中值,利用本系统灰度成像的范围与计算所得像素中值进行比较,调整像素值大小,收缩灰度级范围,进而得到清晰的标准体检测图(如图6)。并将相应图像处理方法在上位机中进行编程,完成成像系统的设计。

参考文献

[1]杨雷,高富强,李岭,等.高速低能X射线工业CT数据采集与传输[J].计算机应用,2014,34(11):3361-3364.

[2]马伟.X射线安检机系统设计与实现[D].南昌大学,2013.

[3]李红伟.X 射线图像采集与处理技术研究[D].长春理工大学,2012.endprint