γ射线工业CT数据采集传输系统

时间:2022-11-13 20:40:10 浏览量:


打开文本图片集

摘要:针对多通道γ射线工业计算机断层扫描(CT)的高速数据采集和远距离传输需求,应用点对点传输,设计了基于数据报协议(UDP)的现场可编程门阵列(FPGA)数据采集传输系统。系统增加FPGA计数单元,可扩展更多通道进行数据采集。主控以FPGA作为核心,将UDP用Verilog编程的方式在FPGA中实现,控制以太网接口芯片将数据传至上位机,上位机界面与底层传输电路的相互通信利用VC++6.0编程实现。实验结果表明:在100Mb/s全双工模式下进行网络测试,其网络利用率稳定在93%,传输速度为93Mb/s(即11.625MB/s);上位机能正确地接收到底层电路所发送的数据;能够满足γ射线工业CT高速数据采集系统在速度和距离上的传输要求。

关键词:γ射线工业计算机断层扫描;数据采集;可编程门阵列;数据报协议;上位机

中图分类号: TP274.2; TP391

文献标志码:A

0 引言

计算机断层扫描(Computed Tomography, CT)技术结合了核电子、控制、光电、图像、计算机等多门学科技术,具有非入侵式成像的特点[1-2],已广泛应用于医学和工业。γ射线工业CT工作时,首先,通过探测器进行信号采集;然后,数据采集传输系统完成转换、处理;最后,传到上位机完成计算和图像重建。所以,数据采集传输是CT系统非常重要的部分,当前工业CT探测采集传输系统逐渐向探测数量多、数据量大、传输距离长的方向发展,尤其在速度和距离方面的要求越来越高。当前γ射线工业CT大都通过数据总线接口完成同上位机通信,如工业标准结构(Industrial Standard Architecture, ISA)总线、外设部件互连标准(Peripheral Component Interconnect, PCI)总线、通用串行总线(Universal Serial BUS, USB)等 [3-6],这样的传输方式能够保证数据的传输速度,但是在传输距离上受到很大限制[7]

针对该情况,系统采用以太网实现数据的高速、远距离传输,在保证传输速度的同时,在传输距离上加以改善。同时,以现场可编程门阵列(Field-Programmable Gate Array, FPGA)作为数据处理芯片,其具有速度快、效率高、通用性强、适用于模块化设计等特点。在工业CT已有的FPGA和以太网芯片的应用中,需要通过高级精简指令系统集成计算机(Advanced RISC Machine, ARM)芯片或者可编程片上系统(System on a Programmable Chip, SOPC)移植嵌入操作系统,完成传输控制协议/因特网互联协议(Transmission Control Protocol /Internet Protocol,TCP/IP)的协议族[8],这两种方式都会占用较多的资源和成本。针对该问题,本文通过编程方式实现用户数据报协议(User Datagram Protocol,UDP)的传输控制,将以太网芯片和FPGA连接通信,充分结合两者的优势,使系统更加精简。

1 系统结构设计

在工业CT中,γ射线源探测部分主要由光电倍增管、固体闪烁晶体构成[9]。由于γ射线剂量很小,因此,必须采用有光电倍增管的探测器,实现光信号到电信号的转换。具体过程为:当γ射线穿过前端探测器的闪烁体,会使其发生闪烁现象从而产生可见光,当光照射到光阴极时,光阴极向真空中激发出光电子。这些光电子按聚焦极的电场进入倍增系统,并通过进一步的二次发射倍增放大,然后把放大后的电子用阳极收集作为信号输出。

产生的光电流信号与光子数量成正比,各采集通道输出的光电流信号在经过各自信号处理电路放大、甄别、分频后,直接送入对应的多通道FPGA计数单元进行计数,根据单位时间内得到光子数量量化γ射线的强度;主控FPGA通过时钟信号控制各个FPGA计数单元,读取其数据并通过以太网传输至上位机。图1为数据采集传输系统结构设计框图。

2 底层电路传输协议的实现

以太网传输层主要有两种协议,传输控制协议(Transmission Control Protocol, TCP)和UDP。TCP虽然有超时重传、分组排序、重复分组检查等优点,但其协议复杂,且中断后重新建立连接时会执行“三次握手”,实时性不高;UDP虽然是面向无连接的协议,其可靠性不如TCP,但其协议简单、时效高,广泛应用于实时性要求很高的场合。本系统是针对工业CT数据点对点传输,有相应算法提供保障,几乎不存在丢包现象。因此,采用UDP能很好地满足系统高实时性的要求。

系统传输部分媒体独立接口(Medium Independent Interface,MII)连接如图2所示,传输协议的实现分为UDP的实现、IP的实现和介质访问控制(Medium Access Control, MAC)协议的实现[10]

2.1 UDP的实现

UDP的实现包括UDP发送缓存模块、UDP发送模块、UDP接收缓存模块、UDP接收模块、校验和计算模块[11]。UDP发送缓存模块主要用于缓存用户数据;发送模块主要负责判断状态,打包用户数据,发送打包好的UDP数据;接收模块主要负责解包IP接收模块所发送的UDP数据报,向应用层发送解包后的UDP数据;UDP接收缓存模块主要用于缓存IP接收模块解包的UDP数据;UDP校验和作为可选部分,为节省FPGA资源,本次设计在数据报的相应部分以0作为填充。

2.2 IP的实现

IP的实现包括IP发送缓存模块、IP接收缓存模块、IP发送模块、IP接收模块、检验和计算模块。IP发送缓存模块用于缓存UDP发送模块发送的UDP数据报;IP 接收缓存模块用于缓存MAC接收模块发送的IP数据报;IP发送模块负责接收传输层所发送的UDP数据,然后计算校验和并添加报头信息,完成IP数据报的封装;IP接收模块负责接收MAC层所发送的IP数据报,解包并作相应分析,判断是否为本机数据包;IP校验和计算模块则用于对发送、接收数据报的校验和进行计算,其计算方法为:先将校验和字段置0,再对校验内容每16b进行反码求和。

2.3 MAC协议的实现

MAC协议的实现包括MAC发送模块、MAC接收模块、MII接口模块、循环冗余校验码(Cycle Redundancy Check, CRC)校验模块。MAC发送模块先接收IP发送模块发送的数据包,然后将其进行MAC帧的封装;MAC接收模块接收到命令数据后,校验是否为碎片,检查目标地址,检查数据包的完整性,完成解包后发给IP接收模块;MII接口模块负责与物理层(Physical Layer,PHY)芯片连接;CRC校验模块负责计算帧校验序列,由于系统发送和接收都是4位数据,故采用4位并行CRC-32方法[12],将传入PHY芯片的4位数据同时送至校验模块进行计算。

3 上位机程序的实现

上位机是一个完整传输系统必不可少的部分,本系统采用VC++6.0对上位机界面进行设计,其主要功能包括:接收底层传输电路所上传的数据,将上传的数据实时存储,根据接收到的数据绘制相应曲线,用于对数据进行观测。

3.1 基于UDP的套接字编程

网络通信的实现可以有多种方式,相比而言套接字(Socket)是其中比较简单实用的方法。Socket是连接应用程序与网络驱动程序的桥梁,在应用程序中编程创建,然后绑定操作进而与驱动建立联系。

针对传输系统的设计,将上位机作为接收端,底层传输电路作为发送端,完成基于UDP的套接字编程。其接收端和发送端程序设计流程如下:

接收端:

1)创建套接字(socket);

2)将套接字绑定到一个本地地址和端口上(blind);

3)接收数据(recvfrom);

4)关闭套接字。

发送端:

1)创建套接字(socket);

2)发送数据(sendto);

3)关闭套接字。

3.2 创建线程接收函数

在接收端接收数据时,如果无数据到来,recvfrom函数会阻塞,从而导致程序暂停运行。为了保证程序运行的连续性,本次设计将接收数据的操作放在一个单独的线程中完成,并给此线程传递两个参数:一个是已创建的套接字,另一个是对话框控件的句柄。其功能主要通过调用CreatThread函数实现。由于CreatThread函数只提供了一个指针类型的参数,因此,在具体实现的过程中先定义了一个结构体,在结构体中包含了需要传递的两个参数,然后将该结构体类型的指针变量传递给CreatThread函数。

3.3 将数据实时存储并绘制曲线

为了便于下一步的图像重建和数据查看、分析,应将上位机接收到的数据进行实时存储,数据的存储采用文本文档格式。同时,为了能对接收到的数据进行实时显示,观测所采集接收的数据是否正常,应根据接收到的数据绘制相应曲线。本次设计采用一个非常完美的图表控件ProEssentials v5,ProEssentials v5是应用于Windows 服务器端和客户端开发的图表组件,它是对绘制图表、图表分析功能所需要的数据和方法的简单封装。设计程序时可以很方便地调用ProEssentials v5的函数库,添加绘制图表的功能,并可以对图表进行分析。其程序片段如下:

程序前

m_hPE=PEcreate(PECONTROL_SGRAPH,WS_VISIBLE,

&dgrrect,m_hWnd,10010);

CPen pen(PS_SOLID,1,RGB(255,255,255));

m_dcCompatible.SelectObject(&pen);

m_dcCompatible.MoveTo(m_ptOrigin.x,m_pt Origin.y);

m_dcCompatible.LineTo(point.x,point.y);

程序后

4 实验结果与分析

上位机配置网络适配器为Realtek RTL8168/8111 PCI-E Gigbit Ethernet,调整到100Mbps/Full Duplex模式下,MAC层地址为00-23-89-1a-04-83,底层传输电路功能仿真如图3所示。

网络测试显示,传输过程中,网络利用率几乎恒定在93%左右这句话似不太通顺,请对语句作相应修改。,平均传输速度达到93Mb/s,即11.625MB/s,表明系统传输稳定且高效。

5 结语

由于系统计数单元单独采用FPGA计数芯片处理,其I/O接口更丰富,处理速度更快,并且具有更强的可扩展性,使得主控FPGA不必再分配资源参与计数处理,能以更快的速度实现控制与数据处理;作为底层传输电路,FPGA中UDP用Verilog语言实现,上位机作为数据接收端,对应的各项功能采用VC++6.0编程实现。该设计可以稳定高效地完成数据的传输,很好地满足了γ射线工业CT的高速、远距离采集传输要求;并且,射线无损检测的采集传输原理基本相同,因此本文所设计的传输系统理论上可以应用于其他工业CT中,具有一定的通用性。

参考文献:

[1]WANG J, HUANG S, CAI Y. Research on measuring ICT material density applications [J]. Computer Engineering and Applications, 2010, 46(2): 203-205.(王珏,黄苏红,蔡玉芳.工业CT材料密度测量方法研究[J].计算机工程与应用,2010,46(2):203-205.)

[2]LIU F, CAI Y. A γ-ray CT demonstrator based on fan-beam projection [J]. Nuclear Techniques, 2009, 32(9): 711-715.(刘丰林,蔡玉芳.一种广角扇束扫描γ射线工业CT实验仪[J].核技术,2009,32(9) :711-715.)

[3]ZHANG P, YANG Y. Realization of high speed transmission system of ICT based on USB 2.0 [J]. Journal of Chongqing University: Natural Science Edition, 2009, 32(10): 1214-1220.(张平,杨一平.USB2.0工业CT高速数据传输系统实现[J].重庆大学学报:自然科学版,2009,32(10):1214-1220.)

[4]GAO F, AN K, LU H, et al. The data acquisition system of ICT [J].Nuclear Electronics and Detection Technology, 2008, 28(3): 556-559.(高富强,安康,卢华,等.工业CT数据采集系统[J].核电子学与探测技术,2008,28(3):556-559.)

[5]YUAN X, ZHANG X, WANG P, et al. Device driver programming in Windows NT for PCI data acquisition card [J]. Optics and Precision Engineering, 2001, 9(1): 89-92.(袁晓兵,张新,王沛,等.PCI总线数据采集卡Windows NT驱动程序的设计[J].光学精密工程,2001,9(1):89-92.)

[6]ZHANG Y, LI H, MENG H, et al. Design of communication control board in photo-electrical detecting systems [J]. Optics and Precision Engineering, 2010, 18(4): 988-994.(张岳,李洪文,孟浩然,等.光电探测系统通讯控制卡设计[J].光学精密工程,2010,18(4):988-994.)

[7]MOSTAR P, MALARIC R, JURCEVIC M, et al. System for monitoring and fall detection of patients using mobile 3-axis accelerometers sensors [C]// Proceedings of the 2011 IEEE International Workshop on Medical Measurements and Applications. Piscataway: IEEE, 2011: 456-459.

[8]NYAN M N, TAY F E H, MANIMARAN M, et al. Garment-based detection of falls and activities of daily living using 3-axis MEMS accelerometer [J]. Journal of Physics: Conference Series, 2006, 34(1): 1059-1067.

[9]OOKURA H, YAMAMOTO H, YAMAZAKI K. Development and evaluation of walking path estimation system using sensors of Android device and vector map matching [C]// Proceedings of the 2012 IEEE International Conference on Information Networking. Piscataway: IEEE, 2012: 25-29.

[10]WANG H, ZHU X, CHANG J. Acceleration and orientation multi-sensor pedometer application design and implementation on the Android platform [C]// Proceedings of the First International Conference on Instrumentation, Measurement, Computer, Communication and Control. Piscataway: IEEE, 2011: 249-253.

[11]KIM S C, ISRAR A, POUPYREV I. Tactile rendering of 3D features on touch surfaces [C]// Proceedings of the 26th Annual ACM Symposium on User Interface Software and Technology. New York: ACM, 2013: 531-538.

[12]CHU S L, QUEK F, WANG Y, et al. Human-computer interaction—INTERACT 2013 [M]. Berlin: Springer, 2013: 471-478.

[13]PAL P, VAIDYANATHAN P P. Nested arrays: a novel approach to array processing with enhanced degrees of freedom [J]. IEEE Transactions on Signal Processing, 2010, 58(8): 4167-4181.

[14]FEARNHEAD P, WYNCOLL D, TAWN J. A sequential smoothing algorithm with linear computational cost [J]. Biometrika, 2010, 97(2): 447-464.

推荐访问:射线 数据采集 传输 工业 系统