《电子技术应用》

基于双CPCI总线的地震数据采集接口卡设计

2017年电子技术应用第5期 作者:邱永成,谢荣清,郭 轶
2017/6/19 11:48:00

邱永成,谢荣清,郭  轶

(中海油田服务股份有限公司 物探事业部,天津300450)


    摘  要: 针对地震勘探大数据量的采集要求,设计了一种基于双CPCI总线地震数据采集接口卡。接口卡采用双CPCI总线结构,使用高性能的FPGA和DDR2 SDRAM进行数据处理和存储,实现地震数据的高速采集、预处理及CPCI总线传输等功能。重点介绍了双CPCI总线结构、存储器接口以及高速通信接口的设计和实现方案。海上生产应用结果表明,板卡满足海上地震勘探对接口卡的采集、处理和存储要求。

    关键词: 地震数据采集;CPCI总线;LVDS

    中图分类号: TN919.5;TP274+.2

    文献标识码: A

    DOI:10.16157/j.issn.0258-7998.2017.05.025


    中文引用格式: 邱永成,谢荣清,郭轶. 基于双CPCI总线的地震数据采集接口卡设计[J].电子技术应用,2017,43(5):102-105.

    英文引用格式: Qiu Yongcheng,Xie Rongqing,Guo Yi. Design of seismic data acquisition interface board based on dual CPCI bus[J].Application of Electronic Technique,2017,43(5):102-105.

0 引言

    随着石油勘探开发的精细化,地震勘探方法向着多维、多分量、超多道方向发展[1-2],地球物理勘探技术对三维高精度勘探的需求越来越大,推动着高分辨三维地震勘探技术的不断发展。与传统的组合方式比较,多维高密度采集的地震数据量成倍增长,这对地震记录仪器的数据采集能力提出了巨大的挑战,并且这种地震数据量的增长,也对数据的实时处理、传输等技术提出了很高的要求。

    本文提出了一种适用于地震勘探系统设备的基于双CPCI(Compact PCI)总线的采集接口卡硬件设计方案,能够有效实时地采集、处理和存储来自地震勘探拖缆的高速地震数据,并通过两个高速CPCI总线桥接到主控设备。

1 板卡总体结构

    接口卡整体结构如图1所示。接口卡主要包括两路CPCI总线接口、高速串行数据接口和DDR2 SDRAM接口。其中,两路CPCI接口实现接口卡与上位机之间的数据通信,光接口和电接口实现拖缆地震数据上传和命令控制的下传通道,电接口和光接口实现相同的功能,根据实际的应用场合选择使用电接口或光接口,上传的地震数据由FPGA进行处理后通过CPCI总线将数据传输给上位机进行实时显示与存储。 

ck7-t1.gif

    板上的FPGA、2个DDR2的存储单元和PCI接口芯片PCI9054及QL5064构成数据处理单元。2个DDR2的存储单元完成对接收到的地震数据进行缓存;FPGA完成对接收到的地震数据进行处理,然后通过QL5064的PCI通道把地震数据上传;PCI9054通道只抽取部分振子数据及各种状态数据,并通过PCI通道上传。

2 板卡硬件设计

2.1 CPCI总线接口设计

    Compact PCI(简称CPCI)总线既有PCI总线的高带宽、高性能、即插即用、价格低廉等诸多优点,又有无源背板VME总线的可靠性[3]。地震数据采集系统需要大数据量的吞吐,并且需要处理多种不同数据的发送,因此本板卡使用了2个CPCI总线控制器,分别为专门用于传输地震数据的CPCI总线和用于传输振子、拖缆状态、错误状态以及其他辅助数据的CPCI总线。

2.1.1 QL5064接口

    传输地震数据选用了支持64 bit、66 MHz总线标准的QL5064芯片作为板卡的外部接口,这是一款反熔丝设计的芯片,它具有零等待状态猝发连接能力,可提供高达600 MB/s的PCI数据传输率。QL5064以DMA方式与主机内存交换数据;用户部分包括FPGA逻辑单元和11个RAM块。PCI内核的后端通过3条64 bit总线与内部FPGA逻辑单元相连接。在本设计中,QL5064芯片的PCI空间共支持3段内存空间,BAR0 大小为64 KB,BAR1和BAR2分别为8 MB。对BAR0的访问将映射到QL5064内部的控制寄存器。用户也可以通过 LOCAL BUS访问内部控制寄存器,包括对内部所有的FIFO直接进行拷贝性读写或破坏性读写。对BAR1和BAR2的访问将映射到本地总线端,可用于对本地总线侧设备空间进行访问,由用户编程定义。BAR1和BAR2可以设定为具有预读取功能,这可以在Slave Dma模式时提高数据传输的效率。

    FPGA程序中与QL5064芯片的接口部分设计成模块式结构,如图2所示。接口时转换成为经常使用的FIFO、RAM、寄存器等内部模块接口的时序。同时接口支持64 bit、66 MHz的PCI通信,而且接口内部对数据源缺失、DMA_burst、多次DMA等都做了相应处理。

ck7-t2.gif

2.1.2 PCI9054接口

    除了原始地震数据外,还需要将振子、拖缆状态、错误状态等各种状态及辅助数据上传到上位机,由于数据量较小且传输速率要求较低,因此本设计选用PLX公司的PCI9054来实现总线传输。PCI9054的访问方式选择DMA方式。PCI9054作为主控设备,通过其内部的DMA控制器来实现局部总线上的数据与CPCI总线上的数据之间的传输,其PCI总线端与本地总线端之间的数据传输率可达133 MB/s。PCI9054总线控制芯片有3种工作模式,分别为M模式、C模式、J模式。其中,M模式应主要用于MPC850/860;J模式的地址线与数据线复用,完全由PCI总线控制;C模式的地址线和数据线分开使用,适用于有本地端主设备的情形[4]

    J模式是一种没有local master的工作模式,其好处是地址和数据线没有分开,严格仿效PCI总线的时序,只是为了时序的控制,增加了很多的控制信号,这样为设计者了解PCI协议和更好地控制PCI通信提供了更好的空间。在本设计中使PCI9054工作在J模式。通过设置MODE0(156引脚)和MODE1(157引脚)的值来实现其工作模式的配置,将PCI9054的156脚接高电平、157脚接地后,使其工作于J模式。

    DMA访问方式下,CPCI总线向本地总线传输数据时,本地时序如图3所示。

ck7-t3.gif

2.2 存储器设计

    板卡使用了两套存储器,每套存储器使用4片MT47H32M16CC,实现64 bit数据宽度的256 MB存储空间,两套存储器共使用8片。在FPGA程序中,DDR2接口模块由FPGA厂商提供的IP加上根据自己的模块要求进行的改动形成,主要完成将FPGA中的数据存入MT47H32M16CC芯片的功能。由于DDRII的时钟速度快,而数据存入的时钟速度慢,并且DDRII_IP的时序表明,数据及地址并不是同时出现在总线上的,因此在DDRII接口处增加了异步时钟FIFO来暂存数据,并解决数据跨时钟域传输的问题;另外,还增加了数据写完成标志来配合乒乓切换及数据的DMA。DDR2接口IP的读写时序如图4和图5所示。

ck7-t4.gif

ck7-t5.gif

    由于DDR2内存的数据位宽为64 bit,且DDR2接口IP核的Burst长度为2,因此每个地址对应的为2个64 bit×2(DDR2为上升沿和下降沿采数据,因此在FPGA接口出来的数据位宽为64 bit×2=128 bit)。

    由图中可以看出,在写过程中地址和数据不是同时输出至IP核的Local总线端的,而是先输入地址,然后由DDR2接口模块的Local_wdata_req来取数据,于是可以利用FIFO缓存数据和地址,使地址和数据在FIFO的输入侧同时输入,而输出侧则按照IP核的时序进行。

    同时,通过一个状态机控制数据从FIFO读出到DDR2接口;每一个地址对应2个128 bit的数据,因此只需要控制地址FIFO中地址的数据量就可以控制存入DDR2接口的数据量而无需通过数据FIFO的empty信号来控制(DDR2接口的local_wdata_req信号与FIFO接口的读信号相连即可)。

2.3 高速通信接口设计

    本设计中使用了两路高速通信接口,如图6所示,一路是光接口,一路是电接口;电接口和光接口实现相同的功能,根据实际的应用场合是光纤还是电缆选择使用相应的接口。命令经FPGA发出,通过并/串芯片将8 bit信号转换成10 bit的高速串行信号,经过电缆驱动器或者光模块发送给拖缆采集终端;而地震数据由拖缆采集终端采集,经过电缆均衡器或者光模块进入并串芯片,将10 bit串行信号转换成8 bit并行信号后进入FPGA进行处理。

ck7-t6.gif

    光模块采用安捷伦公司的HFCT-5208AM,完成外部光信号与板内PECL格式的高速差分信号之间的双向转换。设计时需要注意光模块的SD信号是PECL格式,在本板将其接入FPGA,用于指示光模块是否检测到光信号输入,但FPGA的该输入引脚使用TTL/CMOS电平,因此需将SD信号先经过一个运放进行比较,将运放的输出再接入FPGA。

    电传输时,由于趋肤效应和介质损耗[5-6],高速信号在传输过程中会发生衰减。因此,当传输距离较长时,往往要使用电缆驱动器和均衡器来保证高速数据传输的准确性。电缆驱动器将信号以最大功率耦合到电缆上,可以延长高速数据的传输距离;电缆均衡器可以对传输的信号进行高频补偿。本设计中,驱动器和均衡器分别用国半的CLC001和CLC012,匹配电路如图7和图8所示。

ck7-t7.gif

ck7-t8.gif

    LVDS串行器/解串器分别选用Cypress公司的CY7B923和CY7B933,这组芯片的数据传输速率可大于600 Mb/s;并/串转换器CY7B923的串行输出共有3路:OUTA、OUTB、OUTC,3路输出的信号相同。在本设计中将OUTA、OUTB分别接到光模块的输出和电信号的输出,即光信号和电信号同时输出,由远端拖缆决定接收哪种信号。串/并转换器CY7B933的串行输入有INA和INB 2路,在本设计中这两路分别连接光模块的输入和电信号的输入,两者同时送到串/并转换器,由软件控制CY7B933将其中一路转为并行信号后送到FPGA。

3 海上生产应用

    在经过长期的实验室内部测试和调试等过程后,本文所设计的地震数据采集接口卡应用于物探船上,进行了多次实际的海上试验和地震勘探采集作业。其中2016年在南海海域进行了二维采集作业,作业过程中接口卡上传给上位机的拖缆地震数据为:作业采集道数2 304道,记录长度12 s,采样率1 ms,因此拖缆的实时数据率为69 Mb/s。作业过程中基于本设计的地震数据采集接口卡运行稳定,这充分验证和证明了本地震数据采集接口卡能够正确地采集拖缆的地震数据,并通过双CPCI总线上传给上位机进行处理,满足海上地震勘探的数据采集处理要求。

4 结论

    海上地震勘探仪器向着多道数方向发展,但随之而来的是数据量的增加和传输速度的提高,这就带来了接口卡的采集速度、处理能力的挑战。本文提出的地震数据采集接口卡具有双CPCI总线结构,保证了地震数据和各种状态数据的实时上传,同时解决了地震数据及状态数据相互影响的问题,有利于提高地震数据采集传输的稳定性和可靠性。

    室内和海上多次生产应用证明,本文提出的接口卡能够满足海上地震勘探仪器对船载采集接口的实时采集、处理和存储要求,对其他相关的采集接口卡的设计具有一定的参考价值。

参考文献

[1] 熊翥.高精度三维地震(I):数据采集[J].勘探地球物理进展,2009,32(1):1-11.

[2] 赵殿栋.高精度地震勘探技术发展回顾与展望[J].石油物探,2009,48(5):425-436.

[3] 张琰,王爱林,陈颖图.基于CPCI总线的PowerPC主处理板设计[J].电子技术,2011,38(6):55-57.

[4] 王旭.PCI9054局部总线三种工作模式的具体应用[J].电子与封装,2005,12(5):27-28.

[5] 孟青.多通道数据采集记录器的设计与研究[D].太原:中北大学,2013.

[6] 刘亮.外置预加重均衡器在高速背板互联中的应用[J].电子技术应用,2010,36(8):18-19.

继续阅读>>