一种医疗CT数据采集系统解决方案

  引言

  伴随着科技的飞速发展,人类对医疗卫生的重视程度也越来越高,对医疗器械的现代化程度要求也越来越高,然而作为全球高新技术产业竞争的焦点领域,我国的医疗器械产业发展相对落后,从整个产业链来看,我国医疗器械基础薄弱,缺乏核心竞争力,与欧美等国家差距较大;从整个市场来看,国内医院的大型医疗器械设备基本被西门子,GE,东芝等大型跨国公司垄断。

  CT:电子计算机X射线断层扫描技术,由于其较好的成像能力和诊断能力是每个医院不可缺少的医疗诊断设备。然而长期以来我国的CT系统都主要依靠进口,无自主研发能力。本文提出的一种医疗CT数据采集系统解决方案是目前国内仅有的几家能够自主研发CT系统的某公司的核心部分。

  1、系统方案

  在临床诊断过程中要求诊断设备对病人的伤害越小越好,CT(计算机X射线断层扫描技术)采用X线成像原理,要求对病人的辐射剂量越小越好。因此,CT扫描时间极短,单位时间内采集到的数据量大。CT数据采集系统就需要在短时间内将大量数据传送到数据重建柜进行数据的重建。由于短时间内要进行大量的数据传输,因此数据率就大,整个系统的频率就高。本系统采用XILINXSPRTAN6LXT系列FPGA进行整体的方案实现,采用源同步LVDS差分信号进行近端数据传输,采用自定制光纤协议进行版级之间的数据传输,采用基于IEEE802.3Z的标准UDP以太网进行数据的远距离传输。整个系统的主要部分在单块FPGA内纯逻辑实现,不调用软核,不外挂芯片,功耗较低,频率高,速度快。本系统的核心模块包括:源同步模块,标准以太网模块和自定义光纤通信模块。本文重点介绍整个数据采集系统的实现原理及具体方式。

  2、源同步模块

  2.1同步方式的选择

  在数字信号传输的过程中,根据数据和时钟的关系通常可以将系统的同步方式分为三种:系统同步方式,自同步方式和源同步方式。系统同步方式指传输数据的双方工作在同一系统时钟下,不需要进行复杂的时钟恢复过程,因此采用系统同步的方式进行数据传输实现简单,但是系统同步不适用于较高数据率的传输。自同步方式指在数据发送端经过数据的编码调制将时钟嵌入到数据中,在接收端通过CDR电路对时钟和数据进行再恢复,自同步方式适用于高数据率的远距离传输,但其实现过程较复杂,成本较高。CT数据系统近端的数据传输采用源同步方式,源同步指发送端将数据和时钟对应于某一特定关系进行传送,在接收端通过接收相应的时钟对数据进行再恢复。源同步的方式通常采用LVDS低压差分信号进行数据的传输,抗干扰能力较好,数据率最高能够达到1Gbit/s,满足近端数据的传输要求。

  2.2编码方式的选择

  在高速数据传输的过程中由于数据率较高,为了保证较低的误码率,通常需要对数据进行编码和差错控制。本系统采用基于IEEE802.3标准的CRC-32编码及8B10B编码。在FPGA中,采用并行CRC算法能够充分提高数据的编码效率,本系统在采用主频时钟125M的情况下,能在仅有32ns的延迟下将一组任意长度的数据进行编码并传送。采用串行源同步方式进行数据的传输,经过8B10B编码以后保证了数据的直流平衡,并且能够利用编码以后的K码进行数据帧的识别,有效保证了数据帧的完整性。

  2.3源同步模块的具体实现

  本CT数据采集系统采用SPARTAN6FPGA进行数据源同步的发送和接收。本小节具体介绍源同步数据的接收部分,数据的发送部分的实现方式基本相同。在源同步的接收端,将IOB配置成双端模式,通过IOB接收来自发送端的时钟和数据,将接收到的LVDS双端信号经过IBUFGDS模块变为单端信号。由于SPARTAN6的IOB中自带IDELAY数据延迟模块和ISERDES数据串并转换模块,因此将单端的时钟信号输入到IDELAY模块进行时钟的延迟控制和ISERDES串并转换,然后再将该时钟通过BUFIO2输入到BUFPLL进行倍频得到接收端的快时钟和供内部使用的慢时钟。数据的对齐则是通过状态机控制其IOB中的SERDES模块和IDELAY模块,数据的接收是通过BUFPLL得到的快速时钟,数据的处理是通过BUFPLL得到的慢时钟。

  3、标准以太网帧的实现

  3.1方案论证

  传统的以太网通信通

  常会有10M,100M,1000M,甚至更高的速率,在CT数据采集卡中,传统的100M以太网无法满足要求,必需采用1000M甚至更高的以太网进行数据的传输。用FPGA实现以太网最简单的方法是使用FPGA的软核或者自带的硬核,比如通常我们所说的NOISII,EDK,嵌入在FPGA里面的ARM等,甚至我们可以采用传统的FPGA+ARM的方式来达到我们所要求的设计目标。为了最大限度的降低成本,本设计采用SPARTAN6LX45T进行数据的采集,在FPGA中实现以太网,最先考虑的是用软核去实现,软核实现不需要深入了解底层原理及具体的通信协议,相对简单。但软核有个不足,软核的速率达不到我们的要求,据有关资料显示,基于spartan6系列的软核实现以太网,主频不到100M,通信速率远远达不到1000M,因此要在spartan6中实现标准1000M以太网只能采用纯逻辑的方式进行数据桢格式的转换。

  3.2以太网标准及实现手段

  传统的OSI七层体系:应用层,表示层,会话层,运输层,网络层,数据链路层,物理层;TCP/IP的结构体系分为:应用层,运输层,网络层,数据链路层和物理层,实现完整的以太网通信必须具备完整的4层结构体系。完整的以太网协议簇庞大,用纯逻辑实现整个协议簇将消耗大量的FPGA资源,且工作量大,仿真工作复杂。考虑到CT数据采集的特点,采用点对点的以太网通信并不需要绝对完整TCP/IP协议簇,采用自定制的方式将达到我们的设计要求且实现方便。因此,采用MAC地址固定,IP地址自获取的方式(接收arp广播并提取对方IP,将对方IP最后一位加1,设定为FPGA端的IP地址),不另外编写ICMP等协议,将大大减少项目开发的时间。

  对于FPGA底层,采用运输层接入用户数据,按照标准以太网形式将数据封装成完整的UDP数据格式,向下再封装成IP数据报形式:增加IP数据报的版本号,生存时间,原地址及目的地址等信息,向下再封装成MAC数据帧,增加数据的MAC地址及CRC校验等信息。在实现完整的四层以太网的过程中均采用HDL语言进行描述,不调用IPCORE。

  为了充分利用FPGA并行处理的优势,增加数据处理的速率,数据通常采用并行的方式进行打包和编码。但是光纤通信传输的是串行数据,一对,两条,一收一发的方式。因此,借助于FPGA的ROCKETIO模块,将并行的数据输入到FPGA的GTPIPCORE将数据串行化及8B10B编码等,GTP就相当于传统意义的PHY,在内部完成了PCS(物理编码子层)和PMA(物理媒介适配层),从PHY出来的信号直连MDI接入现成的光模块,光模块经过光电转换将电信号转换成光信号在链路中进行传输。

  4、IEEE802.3z光纤协议的实现

  自协商协议:

  由于在以太网通信过程中,有10M的、100M、1000M甚至10G的,为了支持多种不同标准的混合通信,IEEE802.3Z提出了一套自协商协议(Auto-nego),通信的双方通过互发各自的通信能力信息,进行协商,从而达到最佳的通信模式,且只有当自动协商完成以后双方才能进行通信。自协商通常用于通信速率、流量控制,状态等信息的交互,其基本单元为一个16bit的寄存器,通过配置这个寄存器达到协商的目的。如下图所示:rsvd为保留位,默认为0,D5为全双工标志位,D6为半双工标志位,为1时有效D7和D8和流量控制相关,RF1、RF2表明通信双方自协商的结果。D14为应答标志位,NP为下一页标志位,通常用于协商更为具体的内容,在本数据采集系统中将其置为0。

  在本系统的设计过程中,由于数据量大,且连续,因此采用传统的Annex31B标准进行流量控制及重传基本不可能,数据的可靠性只能靠系统的设计及链路的链接进行加固,且用FPGA实现流量控制较复杂且需消耗大量的逻辑资源,因此我们不进行流量的控制,数据直接编码进行实时传送。又由于上行数据量大,下行数据量较少,因此,上行链路采用UDP协议进行以太网格式的传送,下行链路直接用串口替代。这样做还有一个好处就是将数据和指令进行了完全的分离。具体实现过程如下:

  本设计用6个状态实现自动协商的过程:IDLE,READY,CONF,ACK_CONF,SYNC,AUTO_OK;上电复位以后,FPGA进入IDLE状态,连续发送IDLE指令,使对端能正确识别FPGA的通信速率,当接收到3个以上的对方IDLE反馈以后,状态机跳转到READY状态,发送配置准备状态,表明FPGA方已准备进行配置,在收到3个以上的PC反馈过来的配置准备状态指令以后,提取对端的通信模式的信息,写入FPGA的寄存器,然后将其D14置1,作为反馈(FPGA的实际通信能力也许并不和对方对等,这样设计简化了自动协商的过程,消耗的逻辑资源更低),表明FPGA和PC具有相同的通信能力,一直发送反馈,直到接收到PC反馈的具有3个连续相同的配置能力的配置指令的字符,则跳入到SYNC,发送到同步指令,如果收到对方的3个连续的SYNC指令表示自动协商成功,否则协商失败,重新跳入到IDLE进行协商,当跳入到AUTO_OK状态则可以进行用户数据的发送,为自动协商的过程。

  5、实测数据分析

  5.1CT数据采集系统要求

  在医疗诊断过程中,尤其是医疗影像成像系统中对诊断设备的成像精度有着较为严格的要求,对设备的故障率有着严格的控制,在医疗CT中,数据采集系统作为纽带连接着前端探测器和数据重建柜,其传输误码率将对整个系统的性能起着关键性作用,在实际应用中,探测器离数据重建柜大概有4米左右的距离,单次曝光平均数据率最高达800Mbit/s,每次成像曝光达1000多次,CT数据采集系统要求从探测器接收数据,实时无误差的传送到数据重建柜。

  5.2测试手段及可行性分析

  以太网传输性能测试的最实用简单的方法是采用网络测试仪等相应的测试仪器,但应用于测试网络丢包的仪器往往价格昂贵,且产品性能不一。在本CT数据采集系统中,不采用相关的仪器进行数据的完整性测试。本测试采用在FPGA底层自动发送固定数量的含有特征值的大数据包,通过wireshark接收并计数观察发送的数据包与收到的数据包个数是否相等,如果相等则无丢包现象;观察wireshark接收到的数据包是否有CRC错误判断是否出现了误码(出现误码则wireshark接收到的相应数据帧将变红)。在经过大量测试可知:CT数据采集系统不停转发探测器数据包,并经过8米光纤传输到数据重建柜,在发送百万组数据包的情况下数据无丢包现象,且只有1~2组数据出现误码,满足设计的要求。wireshark抓包结果如图5(此测试源IP固定,数据量为100万组)。

  6、结语

  采用纯逻辑以太网UDP协议,根据CT数据传输的特点采用自定制的方式进行CT数据采集系统的开发在保证数据可靠性的前提下降低了整个系统的成本,且消耗的逻辑资源较少。具有开发周期短,上层软件开发简单等优势。

  缪永龙 深圳市贝斯达医疗器械有限公司 CT研发工程师

……
关注读览天下微信, 100万篇深度好文, 等你来看……
阅读完整内容请先登录:
帐户:
密码: