一种以太网电口时钟同步方法、系统和装置转让专利

申请号 : CN201910195959.8

文献号 : CN109831268B

文献日 :

基本信息:

PDF:

法律信息:

相似专利:

发明人 : 张春艳袁涛龙汉波高繁荣吕向东

申请人 : 武汉电信器件有限公司

摘要 :

本发明涉及网络通信领域,特别是涉及一种以太网电口时钟同步方法、系统和装置。其中以太网电口时钟同步方法,包括以下步骤:系统接收数据时,本侧PHY和FPGA恢复出接收到的数据包中的时钟信号,并将数据包转换为包含恢复校准后的时钟信号的SGMII数据,发送给系统;系统发送数据时,系统的MAC发出的包含时钟信号的SGMII数据,经本侧FPGA和PHY逐级恢复并传输,转换为包含时钟信号的数据包,传送至线路侧。本发明通过在电口模块中集成FPGA,利用FPGA的时钟恢复和数据传输功能,使用FPGA对SGMII数据中的时钟信号进行提取、恢复、传递,使同步时钟信号能够随数据包在进行通信的多个系统间传递并恢复,在不改变电口模块原有外部接口和通信协议的基础上,达到电口时钟同步的目的。

权利要求 :

1.一种以太网电口时钟同步方法,其特征在于,包括以下步骤:

在第一系统处于数据接收时,第一PHY接收线路侧发出的第一数据包,并恢复出所述第一数据包中的第一时钟信号;所述第一PHY根据第一时钟信号,将所述第一数据包内容转换为第一SGMII数据;所述第一PHY将所述第一SGMII数据和第一时钟信号传输给第一FPGA,所述第一FPGA根据所述第一时钟信号校准第一SGMII数据的时钟后,将校准后的第一SGMII数据转发给第一系统的MAC;

在第一系统处于数据发送时,第一系统的MAC发出的第二SGMII数据进入第一FPGA,所述第一FPGA恢复出所述第二SGMII数据中的第二时钟信号,所述第二时钟信号输入至位于与所述第一FPGA相连的第一PHY,以便所述第一PHY将所述第二时钟信号更新为自身的时钟信号,所述第一PHY根据更新后的时钟信号,将第二SGMII数据转换为线路侧传输的第二数据包。

2.根据权利要求1所述以太网电口时钟同步方法,其特征在于:

所述第一系统为Master-Slave模式中的Slave端,则所述第一系统接收到的线路侧过来的第一数据包源自网络中的第二系统,其中,所述第二系统为Master端;

则所述第二数据包的接收端为所述第二系统,其中,所述第一系统生成的第二SGMII数据中的第二时钟信号与所述第一SGMII数据中的第一时钟信号相同。

3.根据权利要求2所述以太网电口时钟同步方法,其特征在于:

所述第一PHY在第一系统与第二系统建立Master-Slave模式连接的时候,确定为所述Slave端。

4.根据权利要求1-3任一所述以太网电口时钟同步方法,其特征在于,所述第一系统在通电启动后,第一系统的MAC便向所述第一FPGA发送默认SGMII数据,以便所述第一FPGA从所述默认SGMII数据恢复出供第一PHY使用的时钟信号。

5.一种以太网电口时钟同步方法,其特征在于,第二系统为Master-Slave模式中的Master端,则方法包括:在第二系统处于数据发送时,第二系统的MAC发出的第三SGMII数据进入第二FPGA,所述第二FPGA恢复出所述第三SGMII数据中的第三时钟信号,所述第三时钟信号输入至位于与所述第二FPGA相连的第二PHY,以便所述第二PHY将所述第三时钟信号设定为自身的时钟信号,所述第二PHY根据所述时钟信号,将第三SGMII数据转换为线路侧传输的第三数据包;

在第二系统处于数据接收时,所述第二PHY接收线路侧过来的第四数据包,所述第二PHY根据所述时钟信号,将所述第四数据包内容转换为第四SGMII数据;所述第二PHY将所述第四SGMII数据传输给所述第二FPGA,所述第二FPGA将所述第四SGMII数据透传给第二系统的MAC。

6.根据权利要求5所述以太网电口时钟同步方法,其特征在于,所述第二FPGA根据所述第四SGMII数据透传给第二系统的MAC,预先包括:根据第二系统的Master端设定,所述第二FPGA的SGMII层预先被设置为环回模式,以便所述第二FPGA将所述第四SGMII数据透传给第二系统的MAC。

7.根据权利要求5所述以太网电口时钟同步方法,其特征在于,所述第二FPGA恢复出所述第三SGMII数据中的第三时钟信号,具体包括:第二FPAG从第三SGMII数据恢复出125M时钟信号,再经1/5分频处理得到25M的第三时钟信号,然后通过与PHY的连接端口,发送给PHY。

8.一种以太网电口时钟同步系统,其中,在Master-Slave模式中,第二系统为Master端,第一系统为Slave端,其特征在于,系统包括:第二系统发出的第三SGMII数据进入第二FPGA,所述第二FPGA恢复出所述第三SGMII数据中的第三时钟信号,所述第三时钟信号输入至位于与所述第二FPGA相连的第二PHY,以便所述第二PHY将所述第三时钟信号设定为自身的时钟信号,所述第二PHY根据自身设定的时钟信号,将第三SGMII数据转换为线路侧传输的第三数据包;

第一系统的第一PHY接收线路侧过来的第三数据包,并恢复出所述第三数据包中的第三时钟信号;所述第一PHY根据第一时钟信号,将所述第三数据包内容转换为第一SGMII数据;所述第一PHY将所述第一SGMII数据和第三时钟信号传输给第一FPGA,所述第一FPGA根据所述第三时钟信号校准第一SGMII数据的时钟后,将校准后的第一SGMII数据转发给第一系统的MAC;

所述第一系统的MAC发出第二SGMII数据进入第一FPGA,所述第一FPGA恢复出所述第二SGMII数据中的第二时钟信号,所述第二时钟信号输入至位于与所述第一FPGA相连的第一PHY,以便所述第一PHY将所述第二时钟信号更新为自身的时钟信号,所述第一PHY根据更新后的时钟信号,将第一SGMII数据转换为线路侧传输的第二数据包;

在第二系统的第二PHY接收线路侧过来的第二数据包,所述第二PHY根据自身设定的时钟信号,将所述第二数据包内容转换为第四SGMII数据;所述第二PHY将所述第四SGMII数据传输给所述第二FPGA,所述第二FPGA将所述第四SGMII数据透传给第二系统的MAC。

9.根据权利要求8所述以太网电口时钟同步系统,其特征在于,所述第一系统和第二系统在建立一轮Master-Slave模式关系时,对于第二系统其默认确定所述第二数据包来自接收第三数据包的第一系统。

10.一种以太网电口时钟同步装置,其特征在于,包括至少一个处理器;以及,与所述至少一个处理器通信连接的存储器;其中,所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被程序设置为执行如权利要求1-4任一项所述的以太网电口时钟同步方法,或者执行如权利要求5-9任一项所述的以太网电口时钟同步方法。

说明书 :

一种以太网电口时钟同步方法、系统和装置

【技术领域】

[0001] 本发明涉及网络通信领域,特别是涉及一种以太网电口时钟同步方法、系统和装置。【背景技术】
[0002] 近年来数据与接入应用中可插拔的电口模块非常普及,电口模块可以直接插入交换机的相应插槽,便于维护和系统扩展,电口模块内部自带晶振,在工作的时候系统侧MAC数据传输给模块,模块内置的PHY芯片对SGMII数据流打包成以太网帧,经过隔离变压处理之后输给线路侧网线传送出去。线路侧的以太网帧数据经过网线接入隔离变压网络,输送给PHY的MDI层和PCS层之后,以SGMII格式经过金手指传送系统侧的MAC。
[0003] 以太网远端设备需要保持和本地系统时钟同源,实现同步以太网的相关功能。现有可插拔的电口模块内置晶振,所以发射到线路侧的信号携带的是模块内置晶振的时钟信息。即使有具备支持恢复线路侧时钟的PHY,但是SFP金手指并没有定义时钟输入脚和时钟输出脚,所以必须要电口模块内部具备分别从系统侧和线路侧恢复时钟并对数据进行重新译码编码的能力。
[0004] 鉴于此,如何克服该现有技术所存在的缺陷,使电口模块同时具备从系统侧和线路侧获得同步时钟信号,并对本侧所有相关设备进行时钟同步校准的功能,提供具备时钟同步恢复功能且稳定易用的电口模块,是本技术领域亟待解决的问题。【发明内容】
[0005] 针对现有技术的以上缺陷或改进需求,本发明解决了原有电口模块无法分别从线路侧和数据侧恢复时钟信号,并将恢复出的时钟信号传递至下一级设备的问题。
[0006] 本发明实施例采用如下技术方案:
[0007] 第一方面,本发明提供了一种以太网电口时钟同步方法,包括以下步骤:在第一系统处于数据接收时,所述第一PHY接收线路侧发出的第一数据包,并恢复出所述第一数据包中的第一时钟信号;所述第一PHY根据第一时钟信号,将所述第一数据包内容转换为第一SGMII数据;所述第一PHY将所述第一SGMII数据和第一时钟信号传输给第一FPGA,所述第一FPGA根据所述第一时钟信号校准第一SGMII数据的时钟后,将校准后的第一SGMII数据转发给第一系统的MAC;在第一系统处于数据发送时,第一系统的MAC发出的第二SGMII数据进入第一FPGA,所述第一FPGA恢复出所述第二SGMII数据中的第二时钟信号,所述第二时钟信号输入至位于与所述第一FPGA相连的第一PHY,以便所述第一PHY将所述第二时钟信号更新为自身的时钟信号,所述第一PHY根据更新后的时钟信号,将第二SGMII数据转换为线路侧传输的第二数据包。
[0008] 优选的:所述第一系统为Master-Slave模式中的Slave端,则所述第一系统接收到的线路侧过来的第一数据包源自网络中的第二系统,其中,所述第二系统为Master端;则所述第二数据包的接收端为所述第二系统,其中,所述第一系统生成的第二SGMII数据中的第二时钟信号与所述第一SGMII数据中的第一时钟信号相同。
[0009] 优选的:所述第一PHY在第一系统与第二系统建立Master-Slave模式连接的时候,确定为所述Slave端。
[0010] 优选的:所述第一系统在通电启动后,第一系统的MAC便向所述第一FPGA发送默认SGMII数据,以便所述第一FPGA从所述默认SGMII数据恢复出供第一PHY使用的时钟信号。
[0011] 优选的:第二系统为Master-Slave模式中的Master端,则方法包括:在第二系统处于数据发送时,第二系统的MAC发出的第三SGMII数据进入第二FPGA,所述第二FPGA恢复出所述第三SGMII数据中的第三时钟信号,所述第三时钟信号输入至位于与所述第二FPGA相连的第二PHY,以便所述第二PHY将所述第三时钟信号设定为自身的时钟信号,所述第二PHY根据所述时钟信号,将第三SGMII数据转换为线路侧传输的第三数据包;在第二系统处于数据接收时,所述第二PHY接收线路侧过来的第四数据包,所述第二PHY根据所述时钟信号,将所述第四数据包内容转换为第四SGMII数据;所述第二PHY将所述第四SGMII数据传输给所述第二FPGA,所述第二FPGA将所述第四SGMII数据透传给第二系统的MAC。
[0012] 优选的:所述第二FPGA根据所述第四SGMII数据透传给第二系统的MAC,预先包括:根据第二系统的Master端设定,所述第二FPGA的SGMII层预先被设置为环回模式,以便所述第二FPGA将所述第四SGMII数据透传给第二系统的MAC。
[0013] 优选的:所述第二FPGA恢复出所述第三SGMII数据中的第三时钟信号,具体包括:第二FPAG从第三SGMII数据恢复出125M时钟信号,再经1/5分频处理得到25M的第三时钟信号,然后通过与PHY的连接端口,发送给PHY。
[0014] 另一方面,本发明提供了一种以太网电口时钟同步系统,其中,在Master-Slave模式中,第二系统为Master端,第一系统为Slave端,其特征在于,系统包括:第二系统发出的第三SGMII数据进入第二FPGA,所述第二FPGA恢复出所述第三SGMII数据中的第三时钟信号,所述第三时钟信号输入至位于与所述第二FPGA相连的第二PHY,以便所述第二PHY将所述第三时钟信号设定为自身的时钟信号,所述第二PHY根据自身设定的时钟信号,将第三SGMII数据转换为线路侧传输的第三数据包;第一系统的第一PHY接收线路侧过来的第三数据包,并恢复出所述第三数据包中的第三时钟信号;所述第一PHY根据第一时钟信号,将所述第三数据包内容转换为第一SGMII数据;所述第一PHY将所述第一SGMII数据和第三时钟信号传输给第一FPGA,所述第一FPGA根据所述第三时钟信号校准第一SGMII数据的时钟后,将校准后的第一SGMII数据转发给第一系统的MAC;所述第一系统的MAC发出第二SGMII数据进入第一FPGA,所述第一FPGA恢复出所述第二SGMII数据中的第二时钟信号,所述第二时钟信号输入至位于与所述第一FPGA相连的第一PHY,以便所述第一PHY将所述第二时钟信号更新为自身的时钟信号,所述第一PHY根据更新后的时钟信号,将第一SGMII数据转换为线路侧传输的第二数据包;在第二系统的第二PHY接收线路侧过来的第二数据包,所述第二PHY根据自身设定的时钟信号,将所述第二数据包内容转换为第四SGMII数据;所述第二PHY将所述第四SGMII数据传输给所述第二FPGA,所述第二FPGA将所述第四SGMII数据透传给第二系统的MAC。
[0015] 优选的:所述第一系统和第二系统在建立一轮Master-Slave模式关系时,对于第二系统其默认确定所述第二数据包来自接收第三数据包的第一系统。
[0016] 再一方面,本发明提供了一种以太网电口时钟同步装置,其特征在于,包括至少一个处理器;以及,与所述至少一个处理器通信连接的存储器;其中,所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被程序设置为执行如权利要求1-4任一项所述的以太网电口时钟同步方法,或者执行如权利要求5-9任一项所述的以太网电口时钟同步方法。
[0017] 与现有技术相比,本发明实施例的有益效果在于:使用FPGA对SGMII数据中的时钟信号进行封装或解析,使其能够通过没有时钟输入输出接口的SFP金手指,从而达到向下一级传递同步时钟信号的功能,最终实现整个系统的时钟信号传递及同步。通过该方法,可以使以太网电口模块具备分别从线路侧和系统侧获取同步时钟信号的能力,使电口模块具备时钟同步功能。
[0018] 本发明提供了一种以太网电口时钟同步方法、系统和装置,其目的在于在不改变原电口模块物理接口和通信协议的基础上,通过使用FPGA的时钟数据恢复和传输功能,对SGMII和同步时钟信号数据进行封装和解析,使时钟信号能在通信系统两端进行交互传递,使电口模块具备时钟同步功能,从而使整个通信系统完成时钟同步。【附图说明】
[0019] 为了更清楚地说明本发明实施例的技术方案,下面将对本发明实施例中所需要使用的附图作简单地介绍。显而易见地,下面所描述的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
[0020] 图1是本发明实施例提供的一种以太网电口时钟同步方法时序图;
[0021] 图2是本发明实施例提供的另一种以太网电口时钟同步方法时序图;
[0022] 图3是本发明实施例提供的一种以太网电口时钟同步系统数据流图;
[0023] 图4是本发明实施例提供的一种以太网电口时钟同步装置结构示意图;
[0024] 图5是本发明实施例提供的另一种以太网电口时钟同步装置结构示意图。【具体实施方式】
[0025] 为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
[0026] 本发明是一种特定功能系统的体系结构,因此在具体实施例中主要说明各结构模组的功能逻辑关系,并不对具体软件和硬件实施方式做限定。
[0027] 此外,下面所描述的本发明各个实施方式中所涉及到的技术特征只要彼此之间未构成冲突就可以相互组合。下面就参考附图和实施例结合来详细说明本发明。
[0028] 实施例1:
[0029] 在网络数据传输中,现有可插拔电口模块内置晶振,因此发射到线路侧的信号所携带的并不是系统侧时钟信号,而是电口模块内置晶振所产生的时钟信号,这一时钟信号与系统侧时钟信号不一定完全同步。即使电口模块包括具备恢复线路侧时钟功能的PHY,由于电口模块SFP金手指未定义时钟输入脚和时钟输出脚,因此也并不具备从系统侧恢复时钟信号的功能。本实施例提供了一种从系统侧和线路侧恢复以太网电口时钟信号的方式,保证了与电口模块相连的系统侧和线路侧时钟信号同步,保证以太网数据传输中需时钟同步的功能正常进行。
[0030] 本实施例所提供的以太网电口时钟同步方法在某些具体实施场景中由第一PHY、第一FPGA和第一系统的MAC实现。
[0031] 包括以下步骤,图1为本实施例提供的时钟同步方法时序图:
[0032] 在本实施例的某些具体使用场景中,第一系统处于数据接收状态,根据自身时钟校准收到的数据中的时钟信号,并依次传输至下级设备,作为本地系统与线路侧通信时的工作时钟信号。如图1(A),数据传输方向自线路侧至第一系统MAC:
[0033] 步骤A1、第一数据包由线路侧传输至第一系统侧的第一PHY。
[0034] 步骤A2、第一PHY接收线路侧发出的第一数据包,并从中恢复出第一时钟信号。
[0035] 步骤A3、第一PHY根据第一时钟信号将第一数据包内容转换为第一SGMII数据。
[0036] 步骤A4、第一PHY将转换后的第一SGMII数据和第一时钟信号发送给第一FPGA。
[0037] 步骤A5、第一FPGA接收第一PHY发出的第一SGMII数据和自身时钟信号,根据自身时钟信号校准第一SGMII数据的时钟,并将校准后的第一SGMII数据传输给第一系统的MAC。
[0038] 在本实施例的某些具体实施场景中,第一系统处于数据发送状态,将本地系统时钟信号打包进发出的SGMII数据中,并依次传输至下级设备,直至发送至线路侧对端接收设备,作为本地系统与线路侧通信时的工作时钟信号。如图1(B),数据传输方向自第一系统MAC至线路侧:
[0039] 步骤B1、第一系统的MAC发出第二SGMII数据。
[0040] 步骤B2、第一FPGA接收第一系统MAC发出的第二SGMII数据,并从中恢复出第二时钟信号。
[0041] 步骤B3、第一FPGA将第二SGMII数据及恢复出的第二时钟信号发送至第一PHY。
[0042] 步骤B4、第一PHY以第二时钟信号为参考时钟更新自身的工作时钟。
[0043] 步骤B5、第一PHY根据第二时钟信号将第二SGMII数据根据线路侧所需数据格式转换为第二数据包,并将转换后的第二数据包发送至线路侧。
[0044] 当通信的本端系统同时与多个对端系统通信时,上述步骤中的B3更改为B3-2:第一FPGA恢复出第二SGMII数据中的第二时钟信号,并按照收到的时间顺序将恢复出的第二时钟信号依次进行偏移,得到新的第二时钟信号-2,并将相应的第二SGMII数据及第二时钟信号-2发送至第一PHY。这一更改可避免多个同步时钟信号造成的信号冲突,保证网络通信时序正确,避免因时序错误导致的通信错误。
[0045] 通过以上时钟同步方法,无论系统处于接收状态或发送状态,都可通过数据中恢复出的时钟信号作为参考时钟进行时钟信号同步,并将恢复出的时钟信号发送至下一级,实现电口两侧时钟信号的同步功能。
[0046] 实施例2:
[0047] 在网络数据传输中,某些情况下,电口两侧的数据发送端和接收端需工作在Master-Slave模式下,以实现命令分发、并行控制、错误监测等通信功能要求。
[0048] 在以太网数据通信系统中,为便于多设备通信或管理,一般仅存在一个Master端,可能有多个Slave端。因此,进行以太网时钟同步时,一般以Master端的时钟为作为系统工作时钟,对Slave端和系统中其它设备的工作时钟进行校准。
[0049] 在本实施例的某些应用场景中,网络中同时存在两个系统:第一系统和第二系统。
[0050] 第一系统和第二系统分别处于Master-Slave模式中的Master和Slave模式之一,两系统不可同时处于Master模式或Slave模式。其中,处于Master模式的系统称为Master端,处于Slave模式的系统称为Slave端。
[0051] 在本实施例的某些应用场景中,第一系统处于接收状态,且第一系统设置为Slave端,则根据协商机制,处于发送状态的第二系统为Master端,因此整个系统以第二系统工作时钟为系统工作时钟,第一系统及其它设备的工作时钟都由第二系统所发出的时钟信号为准进行校准更新。
[0052] 在本实施例提供的时钟同步方法中,第二系统发出的第三数据包中包含第二系统的时钟信号,即Master端提供的系统时钟信号,该时钟信号即为第三时钟信号,在第一系统和第二系统进行通信时作为工作时钟使用。
[0053] 包含第三时钟信号的第三SGMII数据由第二系统发出,经第二FPGA恢复出第二时钟信号,再将将三SGMII数据和恢复出的第三时钟信号一同传输至第二PHY,由第二PHY将第三SGMII数据和第三时钟信号打包成第三数据包,发生至第三系统。
[0054] 第二系统作为Master端发送数据的具体时钟同步步骤如下,如图2(A),数据传输方向自第二系统至第一系统:
[0055] 步骤A1、第二系统的MAC发出第三SGMII数据。
[0056] 步骤A2、第二FPGA接收第二系统MAC发出的第三SGMII数据,并恢复出第三SGMII数据中的第三时钟信号。
[0057] 步骤A3、第二FPGA将第二SGMII数据及第二时钟信号发送至第一PHY。
[0058] 步骤A4、第二PHY以第三时钟信号为参考时钟更新自身的工作时钟。
[0059] 步骤A5、第二PHY根据第三时钟信号将第三SGMII数据转换为第三数据包,并将转换后的第三数据包发送至线路侧。
[0060] 在此种方式下,第二系统通过将第三时钟信号打包进第三SGMII数据中,并依次向下级传递,直至通过第三数据包发送向第一系统。第一系统作为Slave,接收到通过线路侧传来的第三数据包后,从第二系统发出的第三数据包中获取第二系统的工作时钟信号(即第三时钟信号),并根据该工作时钟信号校准自身及自身相关设备工作时钟信号,完成与第二系统的时钟同步。
[0061] 相对的,在本实施例的某些应用场景中,第一系统处于发送状态,且第一系统设置为Slave端,则根据协商机制,处于接收状态的第二系统为Master端,因此整个系统以第二系统工作时钟为系统工作时钟,第一系统及其它设备的工作时钟都由第二系统所发出的时钟信号为准进行校准更新。
[0062] 在本实施例提供的时钟同步方法中,第一系统使用最近一次通信时接收到的第二系统时钟信号,即最近一次通信时收到的Master端发出的数据包中打包的系统时钟信号作为系统工作时钟,该时钟信号即为第四时钟信号,在第一系统和第二系统进行通信时作为工作时钟使用。
[0063] 第四数据包经通信线路传输至第二系统侧的第二PHY,第一PHY不进行时钟恢复,直接将第四数据包转换为第四SGMII数据中,发送至第四系统MAC,第二系统的所有设备都使用自身时钟信号,即Master系统时钟信号进行工作。
[0064] 第一系统作为Slave端接收数据的具体时钟同步步骤如下,如图2(B),数据传输方向自第一系统至第二系统:
[0065] 步骤B1、第四数据包由第一系统发出,经通信线路传输至第二系统侧的第二PHY。
[0066] 步骤B2、第二PHY接收线路侧发出的第四数据包。
[0067] 步骤B3、第二PHY将第四数据包内容转换为第四SGMII数据。
[0068] 步骤B4、第二PHY将转换后的第四SGMII数据发送给第二FPGA。
[0069] 步骤B5、第二FPGA接收第二PHY发出的第四SGMII数据,并透传给第二系统的MAC。
[0070] 在此种模式下,作为Slave端的第一系统与第二系统通信的工作时钟需以第二系统工作时钟为准,因此需要在每次接收到第二系统发送的数据时保存时钟信号校准自身时钟,作为下次数据发送时的时钟信号,即第四数据包中所包含的时钟数据即为第二系统上次通信时所发出的第三时钟数据,与第二系统自身时钟数据相同,因此第二系统在接收到第一系统的数据包时,不需进行时钟恢复及校准。
[0071] 当通信系统工作在Master-Slave模式下时,系统中的相关设备一般与本侧系统模式保持一致,以避免因工作模式不同而造成的数据错误和故障。
[0072] 在通信中使用Master-Slave模式,可加强与多个设备通信时的控制,保证通信的一致性和准确性。
[0073] 实施例3:
[0074] 在网络数据传输中,某些情况下,当参与通信的两侧系统工作在Master-Slave模式下时,相关接口设备如PHY等也需进行工作模式设置,以和本侧系统工作模式保持一致,实现同步通信。
[0075] 在本实施例的某些实际使用场景中,第一系统工作在Master模式下,第一FPGA和第一PHY也都工作在Master模式下。此时,第一FPGA和第一PHY直接可直接获取第一系统的系统时钟校准自身工作时钟,并将该时钟信号打包进通信数据包中,传输至Slave端,使Slave端设备可根据此信号进行时钟同步校准。
[0076] 在本实施例的某些实际使用场景中,第一系统工作在Slave模式下,第一FPGA和第一PHY也都工作Slave模式下。和Master端通信时,第一系统、第一FPGA和第一PHY都需要以通信另一端的Master端工作时钟为准,即使用前一次通信时接收到的SGMII数据中恢复出的时钟信号作为工作时钟。
[0077] 在第一系统为Slave模式的情况下,当第一系统第一次接收到Master端数据前,第一系统未接收到Master端的时钟信号,此时无法以同步时钟作为工作时钟。但系统工作时由于许多功能与时序相关,必须有参考时钟,因此暂时以自身时钟作为初始工作时钟,在第一次接收到Master端时钟信号后再进行时钟同步校准。
[0078] 此时,系统中其它设备也需设置初始工作时钟:
[0079] 对于第一FPGA,使用自带外接时钟源作为工作时钟。优选的,外接时钟源为125M时钟信号源。
[0080] 对于第一PHY,由于没有专用的外接时钟源,因此无法依靠自身获得工作时钟,也就无法接受从Master端传输来的数据,整个通信系统无法正常启动工作。因此,第一PHY需从第一系统获取初始工作时钟信号,保证能够正常启动工作。从系统获取初始时钟的具体方法如下:
[0081] 步骤1、第一系统通电启动后,通过第一系统MAC向第一FPGA发送包含初始时钟信号的默认SGMII数据。
[0082] 步骤2、第一FPGA从默认SGMII数据中恢复出初始时钟信号,并发送给第一PHY。
[0083] 步骤3、第一PHY将接收到的初始时钟信号作为工作时钟信号使用。
[0084] 在某些具体实施场景中,步骤2中第一FPGA恢复出的初始时钟信号,还可作为第一FPAG的参考时钟信号,对FPGA的工作时钟信号进行同步校准,使FPGA的工作时钟与本侧系统保持同步。
[0085] 通信系统中,一侧所有设备保持工作状态和工作时钟同步,一方面便于管理和控制,一方面防止了因工作状态或时钟不同步造成的通信错误甚至无法通信。本实施例提供的时钟同步方法,保证一侧所有设备的处于同样的工作模式,并将同步时钟信号逐级传递,保证每一级设备都能获得时钟同步信号进行工作时钟的同步校准。
[0086] 实施例4:
[0087] 在网络通信的实际应用中,通信系统的任一端一般都不单作为发送端或接收端工作,而是根据当前通信的需求切换发送和接收状态。当两系统根据通信协议互相匹配进行通信时,本端发送数据时另一端即为接收端,另一端发送数据时本端即为接收端,发送端和接收端根据当前数据流向互换。
[0088] 在本实施例中,第一系统和第二系统互相通信,并在通信过程中传递时钟信号,两系统与系统相关接口设备和附加设备组成电口时钟同步系统,时钟同步系统对时钟信号进行传递、恢复、校准,以实现整个通信系统中的时钟同步。
[0089] 在本实施例的某些具体实施方式中,第一系统和第二系统工作在Master-Slave模式中。如图3,本实施例中以第二系统作为Master端,第一系统为Slave端为例进行说明。也可根据需要设置第二系统为Slave模式,设置第一系统为Master模式,下述系统中第一系统和第二系统操作与功能互换。
[0090] 第二系统做为Master,提供自身工作时钟作为通信时的工作时钟,该时钟信号即为图3中第三时钟信号。
[0091] 第二系统作为发送端时:
[0092] 第二系统发送出的第三SGMII数据中包含第三时钟信号,第三时钟信号随第三SGMII数据传输至第二FPGA。第二FPGA恢复出第三时钟信号再传送至第二PHY,第二FPGA和第二PHY接收到第三时钟信号并根据其更新自身时钟信号后,第二FPGA和第二PHY的自身时钟信号和第二系统时钟信号相同,为第三时钟信号。第二PHY将自身时钟信号和第三SGMII数据打包为第三数据包,即将第三数据信号和第三SGMII数据打包为第三数据包,第三数据包中包含第三时钟信号。
[0093] 第三时钟信号随第三数据包传输至第一系统侧,被第一PHY从第三数据包中提取恢复。第一PHY根据自身时钟信号将第三数据包转换为第一SGMII数据,再将恢复出的第三时钟信号和转换后的第一SGMII数据发送至第一FPGA。第一FPGA根据第三时钟信号对第一SGMII数据进行时钟校准,校准后的第一SGMII数据中包含第三时钟信号,再将第一SGMII数据发送至第一系统,第一系统在接收通信传输数据的同时也接收到了第二系统的时钟信号,可根据第一SGMII数据中包含的第三时钟信号校准自身时钟。
[0094] 第一系统作为发送端时:
[0095] 第一系统发送出的第二SGMII数据中包含第二时钟信号,第二时钟信号随第二SGMII数据传输至第一FPGA。第一FPGA恢复出第二时钟信号再传送至第一PHY,第一FPGA和第一PHY接收到第二时钟信号并根据其更新自身时钟信号后,第一FPGA和第一PHY的自身时钟信号和第一系统时钟信号相同,为第二时钟信号。第一PHY将自身时钟信号和第二SGMII数据打包为第二数据包,即将第二时钟信号和第二SGMII数据打包为第二数据包,第二数据包中包含第二时钟信号。
[0096] 第二时钟信号随第二数据包传输至第二系统侧,第二PHY根据自身时钟信号将第二数据包转换为第四SGMII数据并发送给第二FPGA,第二FPGA将第二SGMII数据透传至第二系统。
[0097] 至此,第一系统和第二系统间通过时钟信号数据的打包、传输、恢复、校准,完成了两端时钟信号的互传,实现了时钟信号的同步。
[0098] 在上述时钟信号传递同步系统中,第一系统作为Slave端,应该使用Master端第二系统的时钟信号作为工作时钟,以保持通信两端的时钟信号同步。在图3中,第二系统的自身时钟信号为第三时钟信号,第二系统的相关设备第二PHY和第二FPGA的自身时钟信号也与第二系统保持一致,与第三时钟信号相同,保持整个系统的同步工作。
[0099] 但是,在第一系统首次接收到第二系统发出的数据前,第一系统无法获得第二系统的时钟信号数据,但又必须具备工作时钟信号才能正常工作,触发第一次数据接收。因此,第一系统首次接收到第二系统发出的数据前,暂时以自身时钟作为工作时钟使用,图3中第二时钟信号为第一系统本身的工作时钟信号,此时第二时钟信号和第三时钟信号不一定相同。第一系统的相关设备第一PHY所使用的自身时钟信号也为第一系统的工作时钟,即第二时钟信号,第一FPGA使用自带的外部时钟信号源作为自身工作时钟信号。具体的,第一系统通电启动后,第一系统通过MAC向第一FPGA发送默认SGMII数据,该SGMII数据包含空数据和第一系统自身时钟信号,即第二时钟信号,第一FPGA从默认SGMII数据中恢复出第二时钟信号作为自身时钟信号使用,并将恢复出的第二时钟信号发送至第一PHY作为第二PHY的时钟信号使用。
[0100] 在第一系统首次接收到第二系统发出的数据后,第一系统获得了第二系统的工作时钟信号,即第三时钟信号,根据第三时钟信号校准自身及相关设备的时钟信号。经同步校准后,第一系统的自身时钟信号与第三时钟信号相同,即第二时钟信号与第三时钟信号相同。第一系统的附加设备第一PHY和第一FPGA的时钟信号也经同步校准,与第三时钟信号相同。
[0101] 本实施例提供的电口时钟同步系统,通过将时钟信号打包进通信数据包进行传输,无需额外传输时钟信号增加通信负荷。时钟信号打包进通信数据包传输,再被接收设备恢复的方式,也避免了某些设备没有专门的时钟输入输入口无法获得时钟信号的问题。通过简单的时钟信号打包/恢复过程,即可使用现有的通信协议及标准实现时钟同步的效果,不需对协议底层数据或接口做出复杂的改变,能够简单有效的实现时钟同步的目的。
[0102] 实施例5:
[0103] 目前,作为标准普遍使用SPF接口作为以太网电口与系统间的接口。但是,目前所使用的SPF金手指并没有定义时钟输入和输出接口,无法获得上一级设备传输的时钟信号,也无法将时钟信号传递给下一级。改进后的SPF+接口虽具备时钟恢复功能,但仅能对信号做简单的恢复整形,也不能输出作为下一级使用的同步时钟信号。因此需要在电口中增加具有时钟恢复及传输功能的设备,以实现时钟同步功能。
[0104] 本实施例提供了一种以太网电口时钟同步装置,如图4。包括:处理器1,存储器2,SFP金手指3,FPGA-4,PHY-5,Flash-6,125M时钟7,隔离变压器8,RJ45接头9。
[0105] 处理器1,存储器2,FPGA-4,PHY-5为电口模块中的设备。处理器1对装置中的各设备进行整体管理和调度。存储器2中储存处理器1需执行的指令,即时钟同步指令。时钟同步功能主要由FPAG-4和PHY-5实现,FPGA-4恢复时钟信号并向下一级设备传递,PHY-5从线路侧获得的数据包中提取出时钟信号并将以太网帧格式数据包转换为SGMII数据,或将时钟信号和系统侧发出的SGMII数据打包为以太网帧格式数据包。
[0106] SFP金手指3为电口和系统侧MAC的物理接口,支持工业标准多边协议,即SFF-8472协议,在某些应用场景中,SFP接口也可用SFP+接口代替。RJ45接头9为电口和通信线路的物理接口,为以太网设备和线路连接的标准8位模块化接口。隔离变压器8也称数据泵,将PHY-5传送出的差分信号进行增强并耦合到不同电平的通信线路上。
[0107] Flash-6,125M时钟7为FPGA-4的辅助设备。Flash-6中保存FPGA执行程序,即从SGMII数据中恢复时钟信号,或将时钟信号打包如SGMII数据,系统上电后,FPGA-4从Flash-6内加载程序,实现所需的功能。125M时钟7为FPGA-4提供工作时钟,由于FPGA工作是需使用
125M工作时钟,与通信系统使用的25M时钟不同,因此需要附加专用时钟源。
[0108] 在本实施例的某些具体使用场景中,时钟同步装置作为数据发送端使用。系统侧MAC发出的SGMII数据经SFP金手指3传输至时钟同步装置内部,FPGA-4接收SGMII数据后恢复出其中包含的时钟信号,再将SGMII数据透传至PHY-5,同时也将恢复出的时钟信号传输至PHY-5,PHY-5将SGMII数据和时钟信号打包为以太网帧数据包,经隔离变压器8隔离变压,经RJ45接头9传输至线路侧。
[0109] 在本实施例的另一些具体使用场景中,时钟同步装置作为数据接收端使用。线路侧的以太网帧数据包经RJ45接头9传入时钟同步装置内部,以太网帧数据包传输入PHY-5内部,经过PHY-5的MDI层和PCS层转换为SGMII数据,提取出其中的时钟信号,并使用该时钟信号校准自身工作时钟。转换后的SGMII数据和提取出的时钟信号传入FPGA-4,FPGA-4使用时钟信号校准自身时钟,并将时钟信号打包如SGMII数据,打包后包含时钟信号的SGMII数据经SFP金手指3传入系统侧。
[0110] 在本实施例的某些具体使用场景中,系统工作在Master-Slave模式下。此时,系统中的设备也需根据系统的工作模式设置相应模式,以和系统工作状态保持一致。具体的,当系统工作在Master模式下时,FPGA-4设置为Master模式,PHY-5的MII寄存器9,即master_slave control寄存器设置为Master模式。当PHY-5设置为Master模式时,PHY-5自带的回复时钟输出功能关闭,不输出PHY-5自带时钟,而输出PHY-5由系统获得的时钟信号,保持PHY-5的工作时钟和系统工作时钟一致,PHY-5传输给下一级的时钟也和系统工作时钟一致。当系统工作在Slave模式下时,FPGA-4设置为Slave模式,PHY-5的master_slave control寄存器设置为Slave模式。
[0111] 时钟同步装置中使用FPGA作为主要的时钟恢复模块,FPGA为可编程器件,并自带内部时钟恢复模块,因此可实现时钟的恢复功能,提取时钟信号并对外输入,为下一级设备提供高质量的时钟信号。与其它外部时钟恢复设备相比,一方面FPGA作为可编程器件,能够通过向Flash中写入程序指令实现功能定制,控制FPGA中功能单元完成时钟信号恢复及SGMII数据打包解包功能,功能实现及修改较为灵活简便。另一方面FPGA可方便的封装入电口模块内部,封装后的电口模块可通过原有的SFP金手指和RJ45接头与外部相连,不需改变系统和电口模块原有的物理接口和电路连接方式,增加了电口模块的通用性和可移植性,使电口模块使用更加简便,也降低了电口模块的成本和整个通信系统的改造成本。
[0112] 实施例6:
[0113] 在本实施例的某些具体实施方式中,时钟同步装置中FPGA和PHY是电口模块中时钟信号恢复和传输的主要设备,负责时钟信号与SGMII数据的打包及解包。
[0114] 具体的,如图5,FPGA-4中包含以下功能模块:时钟处理单元1-41,接收数据处理单元42,发射数据处理单元43,时钟处理单元2-44。其中,接收数据处理单元42包含FIFO层和serdes层。
[0115] 当时钟同步装置用于信号接收,且系统处于Slave状态时。通过I2C接口预先配置PHY-5的master_slave control寄存器为Slave模式,并预先配置PHY-5的工作时钟信号为125M。通过I2C接口预先配置FPGA-4的master_slave control寄存器为Slave模式,且打开FPGA-4的loopback功能,将serdes层设置为环回模式。线路侧输入的以太网帧数据进入时钟同步装置,由PHY-5恢复出125M时钟信号并转换为SGMII数据。FPGA-4的时钟处理单元1接收PHY-5中恢复出的125M时钟信号,输入FPGA-4的FPGA_TXREFCLK中,作为FPGA-4的工作时钟参考,125M时钟信号经TX_PLL的分频处理,得到25M时钟信号从PULSE_SYNC端输出,并将
25M时钟信号输入至PHY-5的时钟输入脚,作为PHY工作的时钟参考,完成时钟同步。同时,SGMII数据经FPGA-4的FIFO层进入serdes层,不做处理直接经透传至SERDES_TX端,经SFP金手指3到达系统侧,完成数据传输。
[0116] 当时钟同步装置用于信号发送,且系统处于Master模式时。通过I2C接口预先配置PHY-5的master_slave control寄存器为Master模式,并关闭PY-5的时钟恢复功能。通过I2C接口预先配置FPGA-4的master_slave control寄存器为Master模式,且打开FPGA-4的loopback功能,将serdes层设置为环回模式。系统侧输入的SGMII数据经FPGA-4的时钟处理单元2-44得到125M时钟信号,将其作为SERDES_TX端的工作时钟,125M时钟信号再经TX_PLL做1/5分频处理,得到25M时钟信号,从PULSE_SYNC输出至PHY-5的时钟输入脚,作为PHY的工作时钟参考,完成单侧的时钟同步。同时,SGMII数据进入FPGA-4的serdes层,透传至PHY-5。PHY-5将接收到的25M时钟信号和SGMII数据进行串并转换和PCS之后输出,经MDI介质层转送给线路侧,完成通信数据和同步时钟信号的传输。
[0117] 本实施例在具体实施时,FPGA可根据功能模块、速度等级、flash容量、封装难度、尺寸、成本等选用合适的芯片类型,以便能够实现时钟同步功能,并能封装在电口模块内部。PHY需使用具备同步以太网功能的PHY,以实现从线路侧接收的数据包中恢复时钟信号的功能。
[0118] 本发明实施例通过在现有电口模块中添加FPGA,利用FPGA获取系统时钟信号或线路侧传输来的时钟信号,并将时钟信号传输至下一级,将原有不带时钟恢复功能的电口模块改进为带有时钟恢复功能的电口模块,使电口模块同时具备从线路侧和系统侧恢复时钟信号的功能,为网络通信过程提供高质量的同步时钟信号,保证了通信两端系统正常同步工作。