基于以太网物理层收发器的地震数据传输装置
技术领域
本发明涉及地震勘探数据传输技术,特别是涉及一种基于以太网物理层收发器的地震数据传输装置。
技术背景
1、地震勘探仪器数据传输技术发展现状及对地震勘探仪器的相关要求:地震数据采集记录系统是地震勘探开发中最重要的核心设备之一。它是集数据传感、采集、传输、处理和控制于一体的高精度复杂系统,其采集精度、数据传输方式直接影响地震勘探开发的精度和效率。同其它设备一样,随着电子和通讯技术的不断发展,地震勘探仪器由于不断采用先进、成熟的技术也得到了很大地发展,在数据传输方面也有了很大的发展。目前地震仪器中常用的有线传输技术主要是低速的串行通讯技术,如RS-232、RS-485等通讯技术。随着通讯技术的发展,高速的串行通讯技术,如LVDS、网络通讯(譬如WLAN)等技术也越来越广泛地应用到地震仪器的数据传输和控制中。而以太网络通信经过多年的发展,其传输速率已经从最早的10Mbps到100Mbps,以及现在的1000Mbps,传输也从最早的同轴电缆,双绞线发展到现在的光纤,其技术已经发展得相当成熟。由此,提出一个基于以太网物理层(phy)的数据传输的新用法。以太网物理层收发器具有连接的节点数和传送范围不受限制、传输速度快(达到100Mb/s或更高)、错误冲突处理机制全面和传输介质多样化的特点,具备满足地震仪器提高数据传输率、灵活的扩展性和远程应用的多种条件,成为网络地震仪器最佳的数据传输解决方案。
2、目前常用地震仪的数据传输的相关处理现状:对物探技术进步引发的采集规模和生产效率急剧提高的需求,地震勘探仪器实现了以计算机软件控制和处理为核心的网络化采集。加拿大ARAM24仪器率先引入了网络化思想,以网络数传替代了传统数据链的传输。而传统的数据链的传输主要包括低速的串行技术和高速的串行技术。低速的串行技术包括RS-232、RS485等通讯技术;高速的串行技术包括LVDS、网络通讯(譬如WLAN)。一些地震仪器在数据传输的部分通路中尝试使用现成计算机以太网传输数据,如428XL仪器的交叉站传输,但均未开发用以太网物理层收发器进行数据传输的专用电路。
3、目前地震仪器网络的传输标准和发展:当前地震仪器网络就是采用OSI/RM标准,以传统的数据链传输经验为基础形成的专用协议来协调进程间通讯,从而完成地震数据的传输。因此当前网络地震仪器不仅没有采用统一的网络标准,而且更重要的是由于OSI/RM模型过于庞大和复杂,导致其网络性能不高,主要表现在数据传输率低(一般不超过36Mb/s)和对数传电缆的性能要求较高等。所以对更高速度和应用效率高有了需求。
4、以太网物理层收发器发展现状:以太网是当今应用最广泛、最为常见的网络技术,其发展经历了10Mbps标准以太网、100Mbps快速以太网、千兆以太网和万兆以太网,而以太网物理层收发器也跟发展起来了。产生了大量的高性能和低功耗的产品。
发明内容
本发明目的在于克服现有技术的上述缺陷,提供一种能提高地震仪器的实时带道能力和传输效率的基于以太网物理层收发器的地震数据传输装置。
为实现相这目的,本发明基于以太网物理层收发器的地震数据传输装置是基于以太网物理层收发器PHY的地震数据传输设备,其中地震数据采集记录系统由主机、交叉节点XU(Cross Unit)、电源节点PU(Power Unit)和采集单元AU(Acquisition Unit)四部分组成;采集链由若干个采集单元通过两对双绞线连接而成;采集单元采用以太网物理层收发器的地震数据传输技术完成野外数据采集和传输,并实现电源节点之间的接力传输;电源节点同步接收采集链的数据,并通过以太网物理层收发器实现电源节点之间的高速异步数据包传输;交叉节点与电源节点之间是建立在光纤上的千兆数据传输;主机则实现与交叉节点的千兆互联,对交叉站进行问询及命令管理,并且对回收的数据进行管理。所述以太网物理层收发器不仅传输速度可达到100Mbps或更高,而且具有错误冲突处理机制全面和传输介质多样化的特点,连接节点数也可任意多,应用于地震数据采集记录系统的数据传输中,具备满足地震仪器提高数据传输率、灵活的扩展性和远程应用的多种条件。因此成为网络地震仪器最佳的数据传输解决方案。所以具有能提高地震仪器的实时带道能力和传输效率的优点。这种传输方法不仅提高了负载能力和传输距离,而且也提高了数据传输的通讯速度和通信可靠性。
作为优化,所述地震数据采集系统是网络一体化的遥测系统,交叉节点、采集链与电源节点仅由两对双绞线相连,其中一对实现同步数据采集传输,速率要求不高,所以采用常规通讯方式(例如LVDS、RS485等),则另一对通过以太网物理层收发器相连接,实现高速异步电源节点和交叉节点之间的数据传输,速度可以达到100Mb/ps。这种设计兼顾了低功耗、低成本和高数据传输速率之间的平衡考虑。
作为优化,以太网物理层收发器应用于通过采集单元连接的电源节点之间的数据传输,以提高传输速率,提高整条测线的实时带道能力。决定带道能力的主要是电源节点间的数据传输速率,为了提高采集链路和电源节点的数据速率,采用了以太网物理层收发器的数据传输方法。
作为优化,由现场可编程门阵列FPGA和嵌入式CPU配合以太网物理层收发器完成高速数据传输。即其是基于以太网物理层收发器的地震数据传输技术,由FPGA(现场可编程门阵列)和嵌入式CPU配合完成数据传输。
作为优化,在基于以太网物理层收发器的地震数据传输中,系统的数据链路层控制器用FPGA(可编程逻辑门阵列)实现,主要应用于数字信号处理和数据交换算法设计,而嵌入式CPU则主要是对PHY的工作状态进行配置。
作为优化,使用以太网物理层接收器作为数据传输方向提高交叉节点的带道能力。电源节点之间的传送速度为100Mbps,则可实现二维数据传输具有每毫秒4000道以上的实时带道能力。而在数据传输方向若采用了以往的数据传输电路,电源节点之间的传送速度为16Mbps只能实现二维单线有线传输每毫秒1000道的实时带道能力。
作为优化,采集单元由现场可编程门阵列FPGA和嵌入式CPU配合以太网物理层收发器完成的数据采集和传输;电源节点也是由嵌入式CPU和FPGA配合以太网物理层收发器实现电源节点之间和与交叉节点之间的高速异步数据传输,但是嵌入式CPU在电源节点的应用中还要接收交叉节点的命令,来控制采集单元。
作为优化,采集链路主要负责把采集的数据向电源节点发送;当电源节点之间数据传输和电源节点向交叉节点发送收集好的数据时,野外采集单元的作用是过路转发。
作为优化,在地震仪器的数据传输中,将以太网物理层收发器PHY看作两个独立的发送器和接收器,实现对下级节点的数据接收和对上级节点的数据发送,完成高数据速率方向的异步数据收发。
作为优化,当以太网物理层收发器在收发数据过程中,必须考虑到收发时钟的差异问题。由于以太网芯片允许工作晶振有±1.0×10-4的频率误差,因此收发双方会有最大±2.0×10-4的频率差异。而体现在FPGA的工程设计中,就是必须考虑PHY接收接口与PHY发送接口的工作频率差异。在接收时钟比发送时钟快的情况下,必须增大FIFO深度,以容纳接收的数据,一定程度上保证了接收数据的正确性。
采用上述技术技术方案后,本发明基于以太网物理层收发器的地震数据传输装置具有不仅提高负载能力和传输距离,而且也能提高数据传输的通讯速度和通信可靠性,显著提高地震仪器的实时带道能力和传输效率的优点。
附图说明
图1是本发明基于以太网物理层收发器的地震数据传输装置的地震数据传输网络结构图;图中:
-数据采集通路,
-单向高速数据传输通路,
-光纤千兆数据传输通路;
图2是本发明基于以太网物理层收发器的地震数据传输装置采集单元硬件实现框图;
图3是本发明基于以太网物理层收发器的地震数据传输装置的电源节点硬件实现框图;
图4是本发明基于以太网物理层收发器的地震数据传输装置的电源节点系统结构图;图中:SDRAM——同步动态随机存储器(Synchronous Dynamic Random Access Memory)
DPRAM——双口RAM(Dual Ported Random Access Memory)
SRAM——静态RAM(Static Random Access Memory)
FIFO——先入先出队列(First Input First Output)
PHY(A)——以太网PHY芯片的接收端
PHY(B)——以太网PHY芯片的发送端
图5是本发明基于以太网物理层收发器的地震数据传输装置的FPGA系统设计框图;
图6是本发明基于以太网物理层收发器的地震数据传输装置的FPGA的工程设计框图;
图7是本发明基于以太网物理层收发器的地震数据传输装置的KSZ8041NL读时序多周期波形;
图8是本发明基于以太网物理层收发器的地震数据传输装置的KSZ8041NL读时序单周期波形;
图9是本发明基于以太网物理层收发器的地震数据传输装置的KSZ8041NL写时序多周期波形;
图10是本发明基于以太网物理层收发器的地震数据传输装置的KSZ8041NL写时序单周期波形。
具体实施方式
地震数据传输网络结构图如图1所示,地震数据传输系统由大量野外采集单元和电源节点以及主机和交叉节点构成,网络传输有两个方向,从主机出发,远离主机,称之为下行方向,该方向上的数据主要是主机往下发送的控制命令以及野外采集单元(FDU)向电源节点传输的采集数据,该方向的数据传输速率相对较低,由此采用常规方式实现通讯(例如LVDS、RS485等);从下面的采集单元经过电源节点和交叉节点,指向主机,称之为上行方向,该方向上的数据主要是电源节点接收的各采集单元实时采集的数据,需要的传输带宽较大,由此采用基于以太网物理层收发器的数据传输方式。
决定带道能力的主要是电源节点间的数据传输速率,以太网物理层收发器应用于野外采集单元连接的电源节点之间的数据传输,以提高传输速率,提高整条测线的实时带道能力。
1、硬件设计
数据传输过程中,每个数据采集单元仅用一个以太网PHY芯片,并仅用一对双绞线完成野外采集链路中的数据接收和发送工作,从而实现电源节点之间的数据中继功能。这样的连接方法,节省了系统功耗,同时也降低了系统的成本。
(1)采集单元硬件实现框图,如图2所示。主要由四部分组成:FPGA(现场可编程)、PHY(以太网物理层收发器)、嵌入式CPU和网络变压器。他们具体完成以下功能:
●网络变压器:主要用来实现信号隔离功能和网络终端器功能。
●PHY:以太网物理层收发器,本发明中所用型号是KSZ8041NL。
●FPGA:本发明中,采集野外采集单元FPGA采用ALTERA品牌Cyclone III系列的EP3C5E144,电源节点采用ALTERA品牌Cyclone III系列的EP3C25Q240,主要功能是数字信号处理和MII数据格式交换等设计。
●嵌入式CPU:本发明中,野外采集单元采用C8051F320,模数转换器通过SPI总线出来的数字信号(即采集的数据),送到给FPGA处理,以及对PHY的工作状态进行配置,即对MDC和MDIO进行配置。
(2)电源节点硬件实现框图,如图3所示,主要由四部门组成:FPGA(现场可编程)、PHY(以太网物理层收发器)、嵌入式CPU和网络变压器。他们具体完成以下功能:
●网络变压器:主要用来实现信号隔离功能和网络终端器功能。
●PHY:以太网物理层收发器,本发明中所用型号是KSZ8041NL。
●FPGA:本发明中,电源节点采用ALTERA品牌Cyclone III系列的EP3C25Q240,主要功能是数字信号处理和MII数据格式交换等设计。
●嵌入式CPU:本发明中,电源节点采用的是PowerPC405,它的主要功能是配置PHY的工作状态和负责接收交叉节点的命令,控制采集站,并且对电源站数据进行差错校验。
(3)配置以太网PHY芯片的工作状态
MDC是配置接口时钟;MDIO是配置接口I/O。根据管理配置接口控制PHY的特性,该接口有32个寄存器地址,每个地址16位。要求使用寄存器[0:6],且它们定义的功能要符合IEEE 802.3规范,其它寄存器则用于以后的扩展操作。KSZ8041NL的MII管理帧格式见下表。
KSZ8041NL的MII管理帧格式表
MIIM(MDC/MDIO)接口在上电复位后,单片机则通过I/O口对PHY芯片的寄存器进行配置,从而设定其工作方式(10Base-T/100Base-Tx/1000Base-T)。或者,采用专用的上拉电路或下拉电路设定芯片特殊管脚的电平,芯片在复位后的上一段时间(小于10ms)内将特殊引脚的电平锁存到相应寄存器,从而设定芯片的工作状态。KZS8041NL是本发明所选用的芯片,以它为例,它的状态配置则是控制LED0/NWAYEN和LED1/SPEED的电平,具体控制方法参考KZS8041NL的数据手册。如果工作期间芯片的工作状态不需要更改,后一种方法使用起来较为快捷简单。
2、FPGA工程系统设计
基于以太网物理层PHY芯片的FPGA工程设计,采集单元和电源节点是相同的,因为他们的作用都是数据传输。物理传输层由以太网PHY芯片实现,数据交换算法的设计则由FPGA来实现。系统设计框图(见图5)包括接收模块、发送模块、控制信号和FIFO四个部分。
●接受模块:接收并识别串行数据线上的数据帧
●发送模块:发送模块可将上层协议提供的数据封装之后通过PHY接口发送给PHY。
●控制信号:主要是送时钟给PHY芯片以及对其复位。
●FIFO模块:FPGA内设置一个FIFO(First Input First Output),用来储存MII输入的数据FIFO_RD。实现是基于FPGA芯片提供的硬件资源,FPGA提供了足够大的RAM可以用来储存数据;而在程序方面,则可以直接调用厂家提供的IPCore,从而生成一个先进先出的FIFO,用于存储这个通道上的数据。FIFO模块缓存了部分的接收数据,一定程度保证了接收数据的正确性。
3、FPGA工程设计
KSZ8041NL一次传输4位(一个半字)。因此前导符会成为7组01010101(0X55),而帧开始分隔符成为01011101(0X55)。8位数据会先发送低4位,再发送高4位。而1000MPHY(GMII)一次传输8位,先传输7个01010101然后传输11010101。由于8位数据的低4位先发送,所以先发送帧开始符的0101,之后发送1101。
FPGA有两个MII接口,即接收和发送。MII数据输入接口,驱动时钟RXC;MII数据输出接口,驱动时钟TXC。RXC与TXC都由PHY提供,RXC是KSZ8041NL从端口接收到的数据中恢复出来的时钟,而TXC是KSZ8041NL从本地输入的晶体振荡器,通过PLL锁相出来的时钟。
如图6所示,发送模块按照帧的格式将数据进行封装,分别在数据的前端添加前导序列和帧起始分隔符,然后再加上数据,封装后的整个数据包以串行格式从TXD[3:0]发送出去。因此,发送部分的功能包括前导序列和帧起始分隔符插入、帧发送和自动应答等功能。如果接收模块的RXDV信号有效,则启动数据接收模块,数据从RXD[3:0]进入。通过对接收模块的控制,按帧格式顺序接收不同的数据域。当接收到1Byte数据(2个4bit的MII接口的数据)后,且DIN_EN信号有效时,数据被写入到接收缓存FIFO_RD中。当FPGA的MII发送接口空闲时,FPGA监测FIFO的数据有效位(DOREADY),以确定发送FIFO中的数据。发送数据时,从FIFO中读出的数据被放到FPGA中的数据发送模块,然后再发给MII接口,使数据发送出去。当发送模块的译出OUT_EN为1时,说明发送模块已准备好发送数据,FIFO的DOUT_EN则也为1,这时才会从FIFO发出数据。检测从FIFO中读出的数据,首先找到数据帧的前导码与帧起始码定界符,然后根据数据帧格式找到帧长度,最后根据帧长度将FIFO中该数据帧的剩余部分发送完毕。或者当所选中的FIFO被读空后,该数据帧也就发送完毕。一个数据帧发送完毕后,状态机将会一直发送无数的01010101,以待命。直到检测到帧起始码,然后继续以上述流程发送数据。
对于FIFO的深度选取问题也必须斟酌。主要是根据所发包的大小。比如:一个数据包为为8K,则FIFO的深度设置为能容得下8K数据即可。
FPGA通过MII接口从KSZ8041NL接收数据时各管脚的仿真时序波形,如图7和图8所示。KSZ8041NL的写操作仿真时序波形如图9和图10所示.
4、CRC差错校验
在传输过程中,如果在数据帧中长度位出错,或数据字节缺失、多余的情况下,在这里就该引入CRC差错校验的概念了。循环冗余校验CRC(Cyclic Redundancy Check)是用来在网络传输中进行信息的校对。由于其原理简单,实现方便,因此在通信系统中也得到了广泛的应用。
在电源节点间传送需CRC差错校验,当接收到CRC校验值时,通过它再计算出一个CRC码,然后将新生成的CRC码与接收到的CRC码进行比较,若相同则传输过程中没有出现错误;若不相同则由接收端的电源节点发送命令给发送端电源节点,让其重传。