程虎军,罗兰兵,颜 良
(英洛瓦(天津)物探装备有限责任公司,河北 涿州 072750)
近年来,石油天然气的需求日益增加以及油气开采日益困难给地球物理勘探带来的压力越来越大,因此促进了地球物理勘探采集技术的全面发展,如全波形、高分辨率、高密度、宽方位角采集等先进的地球物理勘探技术得到了飞速发展和广泛应用;这些先进的采集技术要求地震仪器具有实时道能力更强、采集精度更高、稳定性及可靠性更高等特点,传统的铜缆交叉线传输已经不能满足勘探需求。
为了解决地震仪器的实时道能力和系统同步等问题,设计了一种基于PCI-E总线的光纤接口卡。光纤卡安装在地震仪器主机中的PCI-E总线上,主机软件通过光纤卡与野外站单元通信。光纤卡主要功能是对上层应用模块发送出去的命令数据包进行转发,对野外站单元返回的数据包进行处理和存储到数据缓冲区;此外,光纤卡的时钟通过外部GPS校准,进而校准整个地震数据采集系统,因此光纤卡在整个系统中起着至关重要作用。
光纤卡是“连接”主机软件上层应用模块和野外站单元的中间模块,它起着承上启下的作用,因此光纤卡的稳定性、性能和功能对整个地震仪器系统的运行起着至关重要的作用。光纤卡的关键设计有以下几个方面。
PCI-Express 1.0a发送和接收的数据速率可达2.5 Gb/s[1]。由于技术的延续性和开发的可靠性,考虑兼容性和主机的处理能力,光纤卡设计为PCI-E接口的单端口卡,一张接口卡可以接一根光纤。
在PCI-E系统中,CPU有两种事务来访问其架构中的存储器映射输入输出和配置映射输入输出位置。一种是程控输入输出(Programmed Input Output,PIO)方式,另一种是直接内存访问(Direct Memory Access,DMA)方式,后者在实现高速外设和主存储器之间成批交换数据时,不需要CPU的直接参与,而在RAM与设备之间完成传输时,该方式可减少CPU的占用率,大大提高了数据的吞吐率,使系统的性能大幅度提升[2]。
数据从光线口进入到缓冲区,经过FPGA进行处理,再经过PCI总线主控接口将其数据包地址映射至缓冲区,同时数据经过PCI总线DMA到数据缓冲区,上层应用模块通过缓冲区中的数据包地址取得数据,接口结构设计如图1所示。
图1 接口结构设计
光纤卡FPGA选用Xilinx公司Virtex-5系列,它提供了PCI-E的IP核[3-4],支持以上两种事务访问方式,在核中固化了物理层和数据链路层的相关设计,向用户开放事务层接口,在进行PCI-E相关设计时,物理层和数据链路层的设计只需要配置相关参数即可完成,而将研发重点放在事务层设计,降低了开发风险,缩短了研发周期。
采集和控制模块、光纤卡管理和数据包缓冲区(Buffer)之间通过TCP/IP Sockets进行通信。采集和控制首先会与光纤卡管理模块连接,完成连接后与野外站单元的通信通过光纤卡管理建立起来,此时上层应用模块可以对野外站单元进行控制,各部分关系之间结构如图2所示。
图2 光纤卡关系图
DMA方式有两种类型:第三方DMA(third-party DMA),通过系统主板上的DMA控制器的仲裁来获得总线和传输数据;第一方DMA,完全由接口卡上的逻辑电路来完成,与快取内存结合在一起,提高了数据的存取及传输性能。因此,设计中选择后者来完成数据DMA。
光纤口进来的数据包DMA到Packet Buffers,光纤卡将Packet Buffers的指针地址发送到采集和控制的处理队列,采集和控制根据指针地址处理对应的数据包或者拷贝数据包到采集和控制处理队列。
光纤卡的存储器用来存储用于DMA处理的scattergathers,一个scatter-gathers(32 B)用于DMA一个数据包,存储芯片容量为32 MB,一次每个光纤卡最多能DMA 1 MB个数据包;第一个scatter-gathers与最后一个链接,形成一个“环形”。采集和控制处理数据包的速度不能比DMA的速度慢,否则缓冲区的数据包会溢出,导致系统不稳定。
GPS能全天候向用户提供高质量的位置、速度及精确的时钟信息,其时钟同步信号覆盖全球,具有实用性强、准确性高的特点[5]。光纤卡利用GPS提供的精确每秒脉冲(PPS)作为同步对时的信号,可以实现地震仪整个系统的准确对时和采集同步,其时间最大误差在μs级。
编码器上的GPS卡向光纤卡输出PPS信号,通过串口向主机输出时间信息码,光纤卡上的时钟每经过一秒被PPS信号同步一次,能保证其脉冲前沿与UTC(世界协调时)具有1 μs的同步精度。
光纤卡选用恒温晶振OCXO提供工作时钟,该晶振采用精密控温,使晶体工作在晶体的零温度系数点的温度上,具有很高的频率精度和稳定度,是目前石英晶振器件中频率稳定度最高的一种。GPS的PPS秒脉冲信号输入到鉴相鉴定器,鉴相鉴定器在1 s内对时钟芯片输出的12.8 MHz时钟进行计数,过滤掉干扰数据,计算出相位偏差,将此相位偏差转换为OCXO控制寄存器的变化,以此变化值来调节OCXO,使它达到稳定的精度。将输出的时钟通过光缆和大线传输到各模块从而来实现整个地震数据采集系统的同步,同步流程如图3所示。
图3 GPS同步流程
光纤卡主机采用“一体化”的结构,光纤卡插在主机PCI插槽上,野外设备通过光纤与主机光纤卡接口连接,主机与野外设备的通信通过光纤卡来完成,所有的外设(编码器、磁带机、绘图仪、磁盘阵列)都连接在主机上。
光纤卡插在主机PCI插槽中,这种结构的优点是:系统集成度高,模块之间通信高效;系统的连接更简洁,提高了系统稳定性。采用此结构也有缺陷,光纤卡及辅助设备控制都由主机完成,消耗了主机的硬件资源,影响主机的处理速度和系统道能力;此外,系统的扩展性受主机PCI插槽数量的限制。
其他类型地震勘探仪器结构,比如采用客户机(Client)和服务器(Server)结构,客户端与服务端通过交换机连接。客户端软件用来显示参数并作为操作的接口,操作员通过客户端完成对整套系统的控制。主机对野外排列的控制通过中继箱体来实现,中继箱体通过交换机将野外采集数据返回服务器,服务端的软件执行计算、存储和处理本地或者远程客户端的任务。
中继箱体对返回的数据进行了预处理,减轻了主机系统的压力;系统采用的C/S的架构,将任务分配在客户端和服务端执行,使得系统的负载更加均匀,能充分发挥系统各个部分的处理能力;系统道能力扩展方便,增加中继箱体即可扩展;服务器的外设接口没有特殊要求,选型更加便捷。不足之处是系统结构相对复杂,客户端和服务端需要针对不同的操作系统开发不同版本的软件,增加了开发难度和成本。
经过野外勘探的多次应用,光纤卡主机取得了良好的应用效果,在地震仪器实时道能力、系统稳定性方面达到了同类先进水平。光纤卡仪器与其他仪器所实现的功能没有本质区别,只是在设计和实现方式上有所区别。随着计算机技术的飞速发展,现在已经有了速度更快的PCIE 3.0版本的接口,通过提高存储容量和使用传输速度更快的PCI-E接口,光纤卡的性能还有很大提高空间。
[1]PCI Special Interest Group PCI-ExpressTM base specification Revision 1.0a base[S].2003.
[2]董永吉,陈樵,李玉峰,等.Xilinx PCI-Express核总线接口设计与实现[J].电子技术应用,2011,37(8):135-138.
[3]XILINX INC.Virtex-5 integrated endpoint block for PCI express designs[R].2009.
[4]XILINX INC.Logic core IP endpoint block plus v1.14 for PCI express[R].2010.
[5]张国琴,吴玉蓉.基于GPS校准晶振的高精度时钟设计[J].仪表技术,2010(4):23-24.