基于PICMG2.16的数据获取系统设计
2022-08-02邱永成黄龙君赵凯迪刘延旭马晓伟张子振
邱永成,黄龙君,胡 勇,赵凯迪,刘延旭,马晓伟,张子振
(中海油田服务股份有限公司 物探事业部,天津 300450)
0 引言
随着海上地震勘探的发展,地震勘探采集技术向着高密度、多分量、超多道的方向发展[1-2],地球物理勘探技术对地震勘探采集装备的需求越来越高。与传统的组合方式比较,多维高密度采集的地震数据量成倍的增长,这对地震记录仪器的数据采集能力提出了巨大的挑战。并且这种地震数据量的增长,也对数据的同步控制、实时处理、传输等技术提出了很高的要求[3-5]。同时,随着采集方法和处理技术的发展,采集密度也逐步增大,放炮密度成倍增加,致使采集时间越来越长、勘探成本越来越高,因此传统的逐炮激发的非连续采集已经不能满足勘探和数据处理的需求;现行的多船作业[6],多震源激发[7]等新作业方式和处理技术要求地震数据能够连续采集,地震数据的记录能够实现不同炮的连续重叠记录。
本文提出了一种适用于海上地震勘探的基于PICMG2.16的数据获取系统,能够有效实时地控制、采集、处理和存储来自地震勘探电缆的高速地震数据,并通过千兆网络传送到记录和显示设备,实现地震数据的采集同步控制及多缆地震数据的接受和处理功能。通过GPS及北斗授时系统的接口实现和星形命令拓扑结构的实现,提高了系统的同步采集控制精度,并且能够实现地震数据的连续采集控制和处理。
1 海上地震采集系统
海上地震采集系统如图1所示。 海上地震采集一般用采集船进行采集[8],整个采集系统包含两大部分:水下系统和船载系统[9]。水下系统可以是电缆或者海底电缆,主要完成地震检波器信号的数字化和传输;船载系统主要完成水下系统的采集控制以及水下系统地震数据的接收、处理、记录和显示等功能。数据获取系统是船载系统的核心部分,与水下系统和工作站主机相连,实现所有水下系统采集控制,地震数据的接收、处理等功能,并把所有地震数据传输给工作站主机进行记录和显示。
2 数据获取系统设计
2.1 数据率及数据量分析
在设计数据获取系统时,水下拖缆的数据量是一个很关键的参数。在地震采集系统中,水下道间距按照最小的3.125米计算,当采样率为1 000 Sps,缆长12公里时,单缆总道数为3 840道。当采样精度为24 bit,则每条缆数据净荷为:3 840*1 000 Sps*24 bit=92.16 Mbps,4条缆数据净荷为:92.16 Mbps*4= 368.64 Mbps,24条缆数据净荷为:92.16 Mbps*24= 2 211.84 Mbps。由此可见,一根千兆以太网(1 000 Mbps)理论上:
1 000 Mbps/92.16 Mbps=10
可以满足10条缆的数据传输能力,但这仅仅是从数据净荷的角度考虑,并没有考虑数据传输协议的开销,以及TCP/IP协议的开销。因此,本方案设计考虑到充分的数据冗余传输能力,每条千兆以太网只做最高支持4条缆的数据传输。
一般情况下地震勘探系统每炮数据采集的时间小于18 s,以18 s为例,则对于单缆来说,数据净荷量的大小为:92.16 Mbps*18= 1.66 Gbit,4缆数据净荷量为:92.16*18*4=6.64 Gbit,24缆数据净荷量为:92.16*18*24=39.81 Gbit。这意味着,在数据处理电路模块上进行硬件的时序道序转换,单缆系统需要的最小内存大小为1.66 Gbit,4缆的则为6.64 Gbit。
因此本系统设计四条缆数据汇集完用一个千兆以太网进行传输,且硬件存储能力需要大于6.6 4 Gbit。
2.2 系统架构设计
根据地震数据的数据量及数据率要求及系统设计指标要求,数据获取系统可以采用CPCI总线架构来进行设计。CPCI总线具有坚固、可靠、易于扩展、高速等优点,广泛应用于实时系统控制、工业自动化、实时数据采集等方面[10-11]。本数据获取系统结构如图2所示。
图2 数据获取系统结构图
图中主体是一台机箱DRC(Data Readout Crate数据读出机箱),其内部安置有4种规格的电子学插件,分别为同步控制模块SCM(Synchronizing Controlling Module)、同步接口模块SCM-r、数据处理模块SPM(Signal Processing Module)和数据接口模块SPM-r。其中SCM和SCM-r相互配对,分别为CPCI机箱的前后插板;SPM和SPM-r相互配对,为CPCI机箱的前后插板。DRC系统中,SCM和SCM-r电路只会各有一块,而SPM和SPM-r则与电缆配置数量有关,一块SPM负责处理最多4条电缆上传的数据,一个DRC机箱最多负责6块SPM共计24条水下电缆的数据处理。4种电子学插件主要功能如下。
SCM主要功能:
同步扇出系统时钟至各个SPM插件;通过千兆以太网接收主控发送来的系统控制命令(以及配置参数等),并将其同步扇出至各个SPM插件;接收来自导航、枪控系统的触发信号,并同步扇出至各个SPM插件;接收各个SPM发送过来的振子、状态等数据,并进行组装后通过千兆以太网口发送给主控工作站。
SPM插件主要功能:
接收来自SCM发送过来的同步时钟、命令;通过千兆以太网口发送本模块所接收的四条电缆数据,并完成数据的时序道序转换;抽取本模块所接收电缆的数据从而形成振子数据,并将振子数据发送给SCM模块以供监视;发送系统命令到水下电缆系统。
SCM-r插件主要功能:
系统主时钟插件,其上运行有系统的时钟源,该时钟可配置成多种不同的频率;接口功能,完成SCM网络的后出线,完成导航、枪控触发信号的接收,完成板载及外接授时系统(北斗或者GPS)的接收;级联功能,完成多机箱系统的同步功能。
SPM-r插件主要功能:
电缆通信接口,完成四条电缆的高速串行通信接口及时钟命令接口;完成高压直流电源的远程控制功能;
考虑到系统的同步性和处理的数据量要求,整个数据获取系统的结构是基于PICMG2.16(Compact PCI)规范的,PICMG 2.16规范定义了基于包交换的数据传输架构[12][13],并且通过定义J3上专用连接线(差分),实现在机箱背板(PSB:Packet Switching Backplane)上支持高性能的星形拓扑结构。在PICMG 2.16机箱中,其插槽分为两种类别,即交换槽(Fabric)和节点槽(Node)。最多的情况下,该类机箱能够支持21个插槽,包含2个交换槽(a和b)以及19个节点槽,从而能够构成双星拓扑结构(dual star)。
由以上分析可知,PICMG 2.16版本的机箱,其交换槽(fabric)最高可支持19块节点板,每块节点板(Node)支持两组共8路(LPa_DA±、LPa_DB±、LPa_DC±、LPa_DD±)(LPb_DA±、LPb_DB±、LPb_DC±、LPb_DD±)信号传递能力,其中的a和b用于构建双星拓扑。
由于本设计中,每块SCM(Fabirc)模块只需要3条独立通道连接至SPM(Node),因此现有的一个交换槽的4路信号通道足够使用。PICMG 2.16规范还规定了每个信号通道为差分线路,并且能够支持高达4 Gbps的带宽,处理速度完全能满足地震数据的要求。
2.3 系统硬件设计
SCM模块是一块6U(233.35×160 mm)大小的电路板,其上包含一片FPGA和一块PMC千兆以太网扣板,如图3所示。SCM内部包含GEM、FPGA、GTX、SCM-r等单元的接口,分别用于进行网络通信、数字信号及时序控制、指令发送、振子数据收集、同步信号及时钟处理等。FPGA具体选择Altera公司的5CGXFC5C6F27,支持6对千兆位收发器,FPGA完成对触发命令的处理和扇出、接收SPM发送过来的振子数据并送至GEM模块、根据系统配置将时钟通过PLL调整后进行扇出。
GEM模块为一个基于SOC技术的FPGA+ARM嵌入式系统(Linux),其与FPGA之间通过自定义总线接口协议进行数据的交换,GEM将FPGA与主控工作站之间进行普通数据与网络数据的透明转发,不做任何解析和处理。
SCM-r模块是一块标准的6U(233.35×80 mm)尺寸的CPCI后插板,如图3所示。SCM-r模块通过RS232串口(采用MAX3232实现)接收导航、枪控系统的触发信号,然后直接转发给SCM模块。为了实现多机箱的级联,在SCM-r上设计用于时钟和指令的扩展通道,从而形成级联菊花链。SCM-r内部包含通信接口、触发接口、时钟扇出、授时等单元的接口,分别用于进行数据通信、触发时序控制、时钟处理、授时信号处理等。
图3 SCM及SCM-r硬件设计结构图
SPM模块是一块6U(233.35×160 mm)大小的电路板,其上包含一片FPGA、一块PMC千兆以太网扣板GEM以及两片大容量DDR内存,分别用于进行网络通信、数字信号及时序控制、数据缓存、时序道序转换、指令接收、振子数据发送、同步信号及时钟处理等,如图4所示。
对于每块SPM而言,其所连接的电缆数量是可以动态配置的,系统工作时,SPM板将会自动监测所连接电缆的数量,并完成内存地址的自动分配(电缆与数据的对应关系,可在主控软件里面进行配置)。为了能够支持对于多达4条电缆数据的支持,SPM需要支持至少6.4 Gbit的内存,因此选择大容量的DDR3内存是主要的技术路线,其单片容量可高达16 Gbit。Altera Cyclone V以上的FPGA,其内嵌有硬核的DDR控制器,这极大地提高了内存的读写性能,并且也降低了逻辑设计的难度。
SPM-r模块是一块标准的6U(233.35×80 mm)尺寸的CPCI后插板,如图4所示。SPM-r模块的工作时钟由SCM-r传递过来,其与SPM模块之间采用千兆位收发器进行数据通信。其上的FPGA接收水下电缆的数据,并转发给对应的SPM插件;接收来自SPM插件发送过来的系统命令,并转发给水下电缆;最多支持4条水下电缆。同时,SPM-r具备与高压电源设备之间的数据交互接口,可用于控制电源或接收器反馈的状态信息。
图4 SPM及SPM-r硬件设计结构图
2.4 系统同步设计
地震采集系统是分布式的采集系统,采集的同步控制是一个很关键的因素,同步性能直接影响到采集到的地震数据质量[14-15]。地震采集系统的同步包含两个层面的含义,首先是指令同步,即指令执行时刻的差异性,属于相位差异;其次是指令执行后的一致性问题,即时钟同步,属于频率差异。
2.4.1 指令同步
整个地震采集系统工作时,主控系统会向各个处理节点发送控制指令,其中某些指令对于同步性能有一定的要求,比如采集控制,这关系到全局采集时刻的同步,会影响地震波形的采集及重构质量。为实现此目的,首先需要完成命令同步的处理,其过程如下:
图5 指令同步方案
主控节点接收系统控制指令,并通过网络发送给SCM的网络接收端。当该模块识别出正确的控制指令后,通过SOC片上系统接口,将指令数据发送至硬件处理模块,从而进行硬件实时的指令扇出处理。该硬件编码的指令信号,通过DRC机箱背板专用串行总线(千兆收发器),扇出至SPM插件作进一步的处理。
SPM通过千兆收发器取得指令数据的方法是利用SerDes从编码的指令bit流中提取,数据率为1.25 Gbps,由于时钟恢复相位的不确定性问题,正确识别并提取出指令的时刻与发送时刻除了固定延迟skew之外,会引入额外的不确定性,其最大值为一个发送时钟周期,即10 ns(100 MHz)。识别出来的系统控制指令除了在SPM本地执行外,还需要通过全局时钟控制,通过指令扇出端口传送至水下系统。
在图6中,系统指令经过主控网络到达SCM后,通过千兆位收发器被发送至SPM,数据率为1.25 Gbps。SPM在提取指令数据的时候,会产生一个时钟周期的晃动(10 ns)。然而,由于SPM下发至水下系统的时候,发送时钟是10 MHz的系统同步时钟,因而数据扇出会被新的低频时钟同步,从而消除因千兆收发器接收所带来的不确定性。
图6 指令同步误差分析
这种不确定性其实是可以通过调整修改千兆收发器的恢复时钟相位来解决的,只不过即便指令相对于MCLK时钟上出现的误差,最大也不过是100 ns的不确定性,这对于地震采集而言,是可以忽略的性能误差。
2.4.2 时钟同步
当水下系统进入采集模式后,如果采集模块工作在各自时钟下,由于时钟的差异性,会导致长时间运行后采样时刻的不同步,为此需要所有采集模块工作在同一个同步时钟频率下,从而保证长期运行的同步性能。否则,就需要在固定的时间间隔,由水上系统发送同步指令到水下所有采集模块,并将其内部的采集执行单元进行同步处理。为了处理这些问题,本设计中,通过数据采集箱体向水下系统扇出全局性同步时钟,从而从根本上解决采集同步的问题。
为保证系统级采集时钟的精确同步,需要在室内系统将源时钟MCLK进行精确扇出。具体实现方案如图7所示。
图7 时钟同步分发方案
整个系统的时钟源有3种选择:1)通过GPS的秒脉冲信号驯化SCM-r电路上的板载恒温时钟源(gps-CLK);2)未经过外界驯化的本地时钟(local-CLK);3)接收来自外部的时钟。这3个时钟频率均为10 MHz,并被分别送至SCM-r电路上的时钟扇出模块送至机箱内所有的插件,该时钟通过CPCI背板分别送至SCM、SPM以及SPM-r,从而使得整个DRC机箱内部所有电子学插件均能够获得10 MHz全局同步时钟,此为全局主时钟MCLK。
SPM-r电路在接收到主时钟MCLK后,将其送至指令时钟处理模块,并按照分时复用的机制,将MCLK时钟和SPM传递过来的指令数据,通过专用接口在单根传输线上逐级下传至水下系统中的每个时钟接收点,从而完成系统级时钟的同步分发。
为了实现单根传输线上进行指令和时钟的传输,本设计采用时分复用传输指令和时钟的方法,时钟和指令被复用到一条传输通道上,通过时间片的方式进行二者之间的切换。在指令时钟线路上,当发送命令的时候,线路上为指令的编码信号,而当需要发送时钟的时候,则为时钟信号。为此,需要对整个系统的工作协议进行仔细的设计,通过指令时钟状态机进行控制,从而保证时分复用的可靠和稳定。
2.4.3 级联同步
当系统规模扩大导致一个数据读出机箱不够用的时候,可通过扩展机箱来提高系统对多缆的支持能力。常规情况下,一块SPM插件支持4条拖缆,一个DRC机箱放置4块SPM插件,这样一个机箱共支持16条拖缆。当缆数增加时,通过扩充DRC机箱来提高对缆的支持能力,但这需要机箱之间具备指令及时钟的同步能力。为解决此问题,可以在SCM-r同步插件上,增加指令输入输出的接口、时钟输入输出的接口。在需要进行多机箱同步时,通过这些扩展接口,将SCM-r的指令和时钟进行级联从而构成菊花链结构,分别形成指令和时钟的两条菊花链结构。此时,系统存在一个主SCM-r模块(Master),其是指令及时钟的源头,当主模块(通过其SCM前插板)接收到来自主控工作站指令或外部TB信号的时候,处理本级机箱对其进行处理或扇出外,还会通过扩展的指令扇出接口,将该指令通过菊花链传送至从SCM-r模块,并沿着菊花链传输至每一个节点,从而实现指令在多机箱之间的传递过程。与此类似,主SCM-r模块通过时钟扇出接口,将时钟送至时钟菊花链上每一个从模块,并进一步扇出至该机箱内部每个时钟接收点。
该菊花链进行时钟及指令级联方案,可保证室内系统架构的灵活性和扩展性,从而保证多机箱、多缆的灵活支持能力。然而,由于菊花链的级联结构,会导致其上各个节点之间存在延迟(主要是指令的处理延迟),为减小该延迟所带来的影响,可以减小指令进入各个SCM-r内部的处理时间,并使其控制在亚微秒的量级,因而指令的扇出可以利用高速串行方式进行。如扇出波特率为40 Mbps时,则指令的延迟时间可以控制在百纳秒量级。对时钟扇出的处理存在类似的问题,但由于该延迟较小(纳秒量级),因而也是可以忽略的。
2.5 连续采集实现
在海上地震勘探中,包括拖缆采集、海底电缆采集、海底节点采集等作业方式,连续采集可以使得炮间距减小、覆盖次数增加、采集效率提高,已经成为最主要的采集方法[16-18]。要实现连续采集的必要条件是系统级同步能力,否则当系统连续运行一段时间后,各个采集点之间会出现跑偏的现象,从而在数据处理时无法对齐数据,影响数据质量;另外还需要保证每一炮数据能够实时上传,使得连续两炮数据采集中不存在延迟现象,这就要通过乒乓缓存来达到[19]。为实现这一点,同步是关键,包括仪器系统与导航系统的同步、缆间同步、缆内采集模块的同步。在本系统中通过授时系统的标准UTC时间实现与导航系统的同步,缆间及缆内同步采用3.4节提到的指令同步和时钟同步方案实现,确保了整个系统的同步满足连续采集的要求。
连续采集的工作流程如图8所示,其中DQ&OCM指的是室内记录与主控软件系统,包括用户界面和存储系统。SPM指的是数据获取系统中的地震数据处理模块。Cable则表示水下系统,包括电缆中所有的采集传输模块。
系统有两种工作模式,其一为配置模式,在这个模式下,整个系统不进行数据的采集和上传,仅仅允许下发各种配置。另外一种是采集模式,在这个模式下,系统连续不断的采集、上传并存储数据。两种模式的切换为两条指令:开始采集和停止采集。
刚进入连续采集模式的时候,SCM启用连续采集模式,解析北斗或者GPS授时系统的时间信息,接收授时系统的时钟信号,并同步扇出到水下系统的采集模块;此时系统仅仅是抽取数据,显示振子。当下达开始储存的命令之后,SPM开始进行时序道序转换和缓存数据,并把第一个数据根据SCM获取的时间信息打上时间戳,当缓存数据达到预先配置的大小的时候,SPM这一固定长度的数据读出并发送给上位机工作站,同时继续进行时间戳标记和数据缓存,连续运行直到退出采集。由于SPM采用了两片缓存的乒乓架构,所以发送数据并不会影响接收数据的缓存,每次开始发送数据的时间间隔也是固定的。
时间间隔 = 每次缓存的数据大小/(每次采样的数据大小×总通道数×采样率),在接收到结束储存的指令后,SPM会将最后一次缓存的数据上传,然后停止数据缓存工作。
3 试验结果与分析
为了测试本文所设计的地震数据获取系统的同步性能,进行了如下的测试。
利用示波器测试各个SPM-r板的每个电缆接口发出的指令之间的时间差。测试时包含1块SCM板、1块SCM-r板、4块SPM板、4块SPM-r板。给SPM-r板的每个电缆接口都连接一个水下数据采集板,使用信号发生器作为外触发激励源来产生TTL触发信号。SCM-r板收到TTL触发信号后会给4块SPM-r板的16个接口同时发送一条命令,利用示波器测量不同接口之间的命令时间差就能判断系统的同步性,每种测量10次取平均值RMS。
表1为数据获取系统的同步测试,可以看出单SPM-r的不同水下接口之间的同步误差在2 ns以内,不同SPM-r的水下接口之间的同步误差在20 ns之内;整个数据获取系统各个水下接口之间的同步误差小于20 ns。
表1 系统同步测试
为了验证系统的实际作业性能,对本文所述的数据获取系统进行了海上试验。图9为数据获取系统在东方明珠船上进行海上试验所采集到的地震数据剖面图。水下系统连接了4段电缆24个采集模块,所有采集模块的采集同步满足要求,系统连续运行了50个小时,采集了160 km的二维地震数据。测试结果验证了设计的预期,数据获取系统的同步性、数据采集处理和传输的性能能够满足要求。
图9 数据采集剖面图
4 结束语
海上地震勘探仪器向着高密度的方向发展,随之而来的就是数据量成倍的增加和传输速度的提高,这就带来了数据获取系统的同步控制和数据接收处理能力的挑战[20]。本文提出的地震数据获取系统基于PICMG2.16结构,利用背板的星形总线和时钟扇出网络保证了系统的同步误差在ns量级,能够满足地震数据的采集要求;同时解决了大容量地震数据的采集、处理和传输的问题,设计的数据获取系统结构紧凑集成度高,单箱体能够满足24缆地震数据的采集控制和数据处理要求,并且通过机箱的级联能够支持更多缆数。
经过室内系统的测试和海上现场作业的试验证明,本文提出的数据获取系统能够满足地震数据采集的要求,具有同步性高、集成度高等优点,对相关的数据采集控制系统的设计具有一定的参考价值。