基于以太网物理层芯片速率连续可变的收发器及传输方法与流程

文档序号:12490003阅读:288来源:国知局
基于以太网物理层芯片速率连续可变的收发器及传输方法与流程
本发明涉及地震勘探
技术领域
,特别涉及一种基于以太网物理层芯片速率连续可变的收发器及传输方法。
背景技术
:目前,在地震物理勘探领域中,最常用的仪器是地震仪,随着地震仪采集道数的不断增加,数据的传输方法也在不断的改进。传统的数据传输方法主要包括低速串行传输和高速串行传输。但是这两种传统的数据传输方法均不能同时满足高速传输和低速传输的需要,因此,技术人员在公开号为CN102692642A的专利文献中提出了基于以太网物理层收发器的数据传输方案,该方案可以根据数据传输需要选择10Mbps、100Mbps、1000Mbps之一作为工作频点。但是这种数据传输方案仍具有较为严重的缺陷在于其工作频率无法连续可调。在实际应用中,这就带来了一系列的问题:一是,假如一条测线上最大数据传输速率是16Mbps,传统的RS485可以直接调到此频点传输,而使用以太网物理层收发器则只能采用100Mbps的模式,而在地震仪的两个采集站之间的电缆可以长达200米甚至更长,这样长的电缆如果要求工作在100Mbps以下,对电缆品质的要求非常的高,增大了使用成本。二是,现有的以太网物理层收发器的数据传输方案必须通过FPGA和CPU配合来完成数据传输,CPU用来完成对PHY的工作模式的配置,但是使用CPU后,极大的增加了系统的复杂度以及使用成本,降低了系统的可靠性。三是,现有的以太网物理层收发器无法通过FPGA直接驱动以太网工作在1000Mbps模式。技术实现要素:本发明的目的在于提供一种基于以太网物理层芯片速率连续可变的收发器及传输方法,以解决现有以太网物理层收发器使用成本较高的问题。为实现以上目的,本发明采用的技术方案为:第一方面,提供一种基于以太网物理层芯片速率连续可变的收发器,该收发器包括FPGA控制芯片、和第一、第二PHY芯片,FPGA分别通过时钟接口与第一、第二PHY芯片的输入接口连接、通过数据输入输出接口RGMII或MII与第一、第二PHY芯片连接以及通过数据管理输入输出接口MDIO与第一、第二PHY芯片连接。第二方面,提供一种基于以太网物理层芯片速率连续可变的传输方法,该方法包括:第一PHY芯片接收底层的数据,并通过RGMII或MII接口将接收的底层数据发送至FPGA控制芯片;FPGA控制芯片通过RGMII或MII接口将底层数据发送至第二PHY芯片。与现有技术相比,本发明存在以下技术效果:本发明中仅采用FPGA主控芯片通过MII接口与PHY芯片连接,进行数据传输,而且本发明中采用FPGA直接驱动参考时钟,节省了CPU、无源25MHz晶振等器件的使用,大大减少了数据传输所需要的器件,降低了收发器的成本和功耗,对野外施工及地震勘探等领域具有重要的意义。附图说明图1是本发明一实施例中基于以太网物理层芯片速率连续可变的收发器的结构示意图;图2是本发明一实施例中中基于以太网物理层芯片速率连续可变的收发器与模数转换器连接的结构示意图图3是本发明一实施例中的FPGA控制芯片的结构示意图;图4是本发明一实施例中的基于以太网物理层芯片速率连续可变的收发器应用在地震仪数据传输系统中的结构示意图;图5是本发明一实施例中基于以太网物理层芯片速率连续可变的传输方法的流程示意图;图6是本发明一实施例中另一种基于以太网物理层芯片速率连续可变的传输方法的流程示意图;图7是本发明一实施例中MDIO总线写入时序图;图8是本发明一实施例中MDIO总线读取时序图;图9是本发明一实施例中FPGA主控芯片发送端相关信号时序图;图10是本发明一实施例中FPGA主控芯片接收端相关信号时序图。具体实施方式下面结合图1至图10所示,对本发明做进一步详细叙述。如图1所示,本实施例公开了一种基于以太网物理层芯片速率连续可变的收发器,其特征在于,包括FPGA控制芯片10、和第一、第二PHY芯片21、22,FPGA10分别通过时钟接口与第一、第二PHY芯片21、22的输入接口连接、通过数据输入输出接口RGMII或MII与第一、第二PHY芯片21、22连接以及通过数据管理输入输出接口MDIO与第一、第二PHY芯片21、22连接。具体地,本实施例中的第一、第二PHY芯片21、22指的是以太网物理层芯片(Physicallayer,PHY)。本实施例通过现场可编程门阵列(Field-ProgrammableGateArray,FPGA)取代CPU来通过MDIO总线配置PHY和读取PHY的状态,极大的降低了系统的复杂度和功耗,同时节省了使用成本。其中,如图2所示,上述的收发器还包括与FPGA控制芯片(10)输入端连接的模数变换器ADC30。需要说明的是,本实施例中还可设置一个以太网变压器,用以保护FPGA控制芯片10和第一、第二PHY芯片21、22内部的电路不受外部强脉冲的干扰。具体地,本实施中采用Broadcom公司生产的BCM54610型号的PHY芯片,使用的是Altera公司生产的EP3C40F484型号的FPGA,其中,FPGA与PHY之间的连接主要包括三个部分:(1)参考时钟refclk,由FPGA直接根据具体速率参照表1来选择相应频率的参考时钟信号发送至PHY芯片。表1实际速率20Mbps30Mbps40Mbps50Mbps60Mbps80Mbps模式选择10Mbps10Mbps100Mbps100Mbps100Mbps100Mbps参考时钟50MHz75MHz10MHz12.5MHz15MHz20MHz(2)数据接口,在1000Mbps模式下是RGMII接口,而100Mbps或者是10Mbps下是MII接口。以MII接口为例,其包括接收和发送两个部分。FPGA需要按照标准的MII接口时序来驱动相应信号即可,具体来说就是发送数据时是将发送使能信号txen置成高电平的同时将数据按照每4个bit一齐在发送时钟txclk的上升沿驱动到txd[3:0]上,而接收数据时是在接收数据有效信号rxdv为高电平同时在rxclk的上升沿将rxd[3:0]上的4个bit数据存储下来。而对于RGMII模式区别是需要在txclk或者rxclk的上升沿和下降沿均驱动或者存储数据。(3)数据管理输入输出接口MDIO,这部分主要是用来配置PHY的相应寄存器以使其工作在特定配置以及查询PHY工作状态。此接口仅包含MDC和MDIO两根信号线。FPGA作为主设备当其访问PHY相应寄存器时就需要输出时钟信号给MDC,写寄存器时需要在MDC上升沿同时驱动MDIO信号线,读寄存器时需要MDC上升沿读MDIO信号线。具体地,如图3所示,FPGA10包括调度模块11和第一、第二双倍数据输入输出DDIO12、13;第一双倍数据输入输出DDIO12的输入端通过RGMII或MII接口与第一PHY芯片21连接、上/下沿输出接口并线后与RXFIFO14的输入端连接;第二双倍数据输入输出DDIO13的输出端通过数据接口RGMII或MII接口与第二PHY芯片22连接、上/下沿输入接口并线后与TXFIFO15的输出端连接;RXFIFO14的输出端通过调度模块11与TXFIFO15的输入端连接。需要说明的是,RXFIFO14为接收队列(ReceiveFirstInFirstOut),TXFIFO15为发送队列(TransmitFirstInFirstOut),ADCFIFO16为模数变换器队列(AnalogDigitalConverterFirstInFirstOut)。具体地,本实施例中的主控芯片10还包括ADC控制模块16,ADC控制模块17的输入端通过ADC接口与模数变换器ADC30连接、输出端与ADCFIFO16连接。具体地,主控芯片10中包括如下几部分:(1)FPGA主控芯片10使用第一双倍数据输入输出DDIO12即DDIO模块将rxd[3:0]上的数据在rxclk的上升沿和下降沿分别取出第一PHY芯片21的数据,生成datap[3:0]和datan[3:0],这两个4位数据再合二为一写入到RXFIFO13中,最后数据会在调度模块11控制下被读出来继续处理。(2)ADC控制模块17负责驱动模数变换器ADC30进行数据采集并将模数变换器ADC30采集的数据全部写入到ADCFIFO16中,最后数据同样会在调度模块11控制下读出继续处理。(3)调度模块11将ADCFIFO、RXFIFO14、14中待发送的数据写入到TXFIFO15中,当第二PHY芯片22准备好接收数据时,从TXFIFO15中读出8位数据txdata,此数据被分成两个4位数据发送到第二双倍数据输入输出DDIO13,第二双倍数据输入输出DDIO13会在txclk的上升沿和下降沿分别将两个4位数据驱动到txd[3:0]上。(4)调度模块11负责持续监听RXFIFO14状态,当其到达最小帧长度的时候,就会启动读RXFIFO14,并将读到的数据写入TXFIFO15中。另一方面会将ADC控制模块17采集到的数据按照既定格式组成一帧一帧的数据并写入TXFIFO15。需要说明的是,调度模块11还在每次复位的时候通过MDIO总线去配置第一、第二PHY芯片21、22,但一般情况下仅仅需要配置地址是0x0的控制寄存器,使其选择合适的速度模式。需要说明的是,虽然本方案仅仅利用以太网收发器的物理层,本可不采用IEEE802.3定义的帧格式。但是由于实际PHY芯片在工作中还是需要发送前导码(PREAMPLE),FPGA通过PHY发送数据的时候需要遵守一定的帧格式要求,具体来说就是在需要发送的有效数据之前需要加上7个字节的前导码(01010101),接着发送帧起始符(11010101)。同样数据接收部分需要在接收到帧起始符之后再存储有效数据。具体地,如图4所示,将本实施例公开的基于以太网物理层芯片速率连续可变的收发器应用在地震仪数据采集系统中时,极大的提升了以长距离电缆作为传输介质地震仪的实用性。具体过程如下:整个地震仪由主控站、交叉站、采集站、交叉线和传感器组成。其中采集站是构成整个系统的基本单元,采集站将传感器的信号采集并数字化之后逐级向上传输即朝交叉站方向,交叉站负责将一条测线上所有采集站传输上来的数据汇总后再往上级交叉站传输,最后一级交叉站连接主控站,所有的采集数据最终汇总在主控站上并保存。主控站负责所有命令的下发以及所有上传数据的存储以及格式转换。由于单条测线上速率不会超过100Mbps,所以采集站与采集站之间的传输是PHY工作在10Mbps模式或者100Mbps模式,交叉站与交叉站之间采用100Mbps模式或者1000Mbps模式。采集站之间仅需通过两对双绞线直接相连接,这两对双绞线连接到采集站中PHY芯片上的TRD0和TRD1这两对差分管脚,可以全时双工的完成发送和接收的功能。而交叉站之间工作在1000Mbps模式下则需要使用所有4对差分管脚,TRD0到TRD3。一般情况下PHY芯片使用25MHz的时钟作为参考源,由XTALI和XTALO这两个管脚之间接入无源25MHz晶振来实现。本实施例中由FPGA从其PLLCLKOUT即专用的时钟输出管脚直接输出不同频率时钟给PHY芯片,在10Mbps模式下升频运行而在100Mbps下降频运行的方式来达到基本覆盖10Mbps到100Mbps之间所有的频率点。这里双绞钱负责将PHY芯片中的数据连接到电缆,根据实际的速度模式的需要选择两对或者四对双绞线,比如,在100Mbps模式下使用两队双绞线,在1000Mbps模式下使用四对双绞线。这里需要说明的是,由于现有的时钟信号的基准是25Mbps,如表1所示,比如测线上实际需要的数据传输速率是20Mbps,可以通过FPGA主控芯片10改变时钟信号的频率为50Mbps,即比基准频率增加了一倍,因此,测线上的数据传输速率也会增加一倍,即为20Mbps。因此,本实施例中通过改变输出的时钟信号的频率,即可控制测线上的数据传输速率进行连续的变化。其中,本实施例在测线上速率要求为30Mbps以下时,采用从10Mbps模式下升频的方式进行速率的连续变化,在40Mbps以上时,采用从100Mbps模式下降频的方式进行速率的连续变化。如此,便可覆盖10Mbps到100Mbps之间所有的频率点,以使测线上数据传输速率在10Mbps到100Mbps之间连续可变。具体地,如图5所示,本实施例公开了一种基于以太网物理层芯片速率连续可变的传输方法,包括如下步骤S1至S2:S1、第一PHY芯片21接收底层的数据,并通过RGMII或MII接口将接收的底层数据发送至FPGA控制芯片10;S2、FPGA控制芯片10通过RGMII或MII接口将底层数据发送至第二PHY芯片22。具体地,如图6所示,上述数据传输方法还包括如下步骤S3至S4:S3、FPGA控制芯片10通过时钟接口输出不同频率的时钟信号至第一、第二PHY芯片21、22;S4、第一、第二PHY芯片21、22根据接收到的时钟信号的频率,改变与第一、第二PHY芯片21、22连接的测线上的数据传输速率。具体地,步骤S2还包括:FPGA控制芯片10将模数变换器ADC30采集的数据通过RGMII或MII接口将底层数据发送至第二PHY芯片22。具体地,FPGA控制芯片10根据第一、第二PHY芯片21、22的工作频点,选择数据输入输出接口为RGMII接口或MII接口。其中,在1000Mbps模式下采用RGMII接口,在100Mbps模式下采用MII接口。具体地,步骤S2包括如下步骤:第一双倍数据输入输出DDIO13在rxclk的上升沿和下降沿分别读取出第一PHY芯片21上传的数据,并合二为一写入到RXFIFO14中;调度模块11通过将ADCFIFO16中的数据和RXFIFO14中的数据写入到TXFIFO15中,第二双倍数据输入输出DDIO13在txclk的上升沿和下降沿分别读取TXFIFO15中的数据,并合二为一输出至第二PHY芯片22。具体地,对FPGA主控芯片10取代CPU来通过MDIO总线配置PHY和读取PHY状态如图7和图8所示。图7是朝PHY的地址为0的寄存器写入16位数0x3100相应波形,总写入的是64位数据0xffffffff50023100,前32位都是比特1是前导符,接下里的0101分别是开始码和写入操作的操作码,后面5位0表示PHY的地址,再接下来的5位0表示寄存器起始地址,接下来的2位10是读写转换所使用的,再往后的16位数是具体的写入到寄存器的值。配置完成之后需要轮询PHY的连接状态,这时读取偏移地址是0x11的寄存器即PHY状态寄存器的值,判断其第十位即链接状态位是否为1。如果是1表示PHY已经与另一个PHY建立了连接。图8展示了读的过程,具体做法是先朝PHY写入48位数0xffffffff6046,前32个比特1还是前导符,接下来的0110分别是开始码和读取操作的操作码,后面的五位0是PHY地址,在接下来的5位10001是寄存器地址,接下来的2位10是读写转换所使用的。然后MDIO总线切换到读状态,16位寄存器值被读到名为rd_buf[15:0]的寄存器中,通过实测其为0xBC5C,这表明当前已经建立起全双工的1000Mbps模式的链接。FPGA的逻辑可以据此判定PHY已经准备好可以进行传输。具体地,在1000Mbps模式下对本实施例中的数据传输方法进行了测试,采用一块电路板发送另一块电路板接收的方法。图9是采用Altera公司在线调试FPGA专用的工具SignaltapⅡ抓取的发送方FPGA内部寄存器状态图。图中每一个刻度代表8ns即对应125MHz频率,rgmii_txen就是发送使能信号,rgmii_txd_n[3:0]和rgmii_txd_p[3:0]是发送到DDIO模块的上升沿和下降沿的信号,这两个信号经过DDIO之后合成上下沿变化的txd[3:0]输出到PHY。图10是SignaltapⅡ抓取的接收方FPGA内部寄存器状态图,同样每个刻度代表8ns。rgmii_rxdv是接收数据有效信号,下方两个信号是其经过DDIO之后产生的,分别对应着rgmii_rxd[3:0]经过DDIO之后产生的dataout_h[3:0]和dataout_l[3:0]有效。对比图9和图10可以发现发送端的数据完整无误的被接收端接收保存,并且在100米的超五类线上进行了16小时的长时间的测试,也未发现有误码产生。以上显示和描述了本发明的基本原理、主要特征和本发明的优点。本行业的技术人员应该了解,本发明不受上述实施例的限制,上述实施例和说明书中描述的只是本发明的原理,在不脱离本发明精神和范围的前提下本发明还会有各种变化和改进,这些变化和改进都落入要求保护的本发明的范围内。本发明要求的保护范围由所附的权利要求书及其等同物界定。当前第1页1 2 3 
当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1