CN117478263A - 一种时间同步方法、fpga相位测量系统 - Google Patents

一种时间同步方法、fpga相位测量系统 Download PDF

Info

Publication number
CN117478263A
CN117478263A CN202311660305.0A CN202311660305A CN117478263A CN 117478263 A CN117478263 A CN 117478263A CN 202311660305 A CN202311660305 A CN 202311660305A CN 117478263 A CN117478263 A CN 117478263A
Authority
CN
China
Prior art keywords
clock signal
time stamp
local clock
signal
signal clk
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
CN202311660305.0A
Other languages
English (en)
Inventor
牛博阳
寿国础
姚辰龙
张晓东
杨一恒
李洪星
刘雅琼
胡怡红
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Beijing University of Posts and Telecommunications
Original Assignee
Beijing University of Posts and Telecommunications
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Beijing University of Posts and Telecommunications filed Critical Beijing University of Posts and Telecommunications
Priority to CN202311660305.0A priority Critical patent/CN117478263A/zh
Publication of CN117478263A publication Critical patent/CN117478263A/zh
Pending legal-status Critical Current

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04JMULTIPLEX COMMUNICATION
    • H04J3/00Time-division multiplex systems
    • H04J3/02Details
    • H04J3/06Synchronising arrangements
    • H04J3/0635Clock or time synchronisation in a network
    • H04J3/0638Clock or time synchronisation among nodes; Internode synchronisation
    • H04J3/0658Clock or time synchronisation among packet nodes
    • H04J3/0661Clock or time synchronisation among packet nodes using timestamps
    • H04J3/0667Bidirectional timestamps, e.g. NTP or PTP for compensation of clock drift and for compensation of propagation delays
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04JMULTIPLEX COMMUNICATION
    • H04J3/00Time-division multiplex systems
    • H04J3/02Details
    • H04J3/06Synchronising arrangements
    • H04J3/0602Systems characterised by the synchronising information used
    • H04J3/0617Systems characterised by the synchronising information used the synchronising signal being characterised by the frequency or phase

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Synchronisation In Digital Transmission Systems (AREA)

Abstract

本申请公开了一种时间同步方法、FPGA相位测量系统,所述方法包括:获取任意网络节点之间报文交换过程中产生的时间戳信号;分别测量每个网络节点的时间戳信号与本地时钟信号的相位差,并根据相位差分别校准本地时钟的时间戳。本申请通过在PHY层与MAC层之间的GMII接口处获取时间戳信号,无需额外设备支持就可完成测量工作,简化了时间同步的测量过程,节约了硬件资源成本;通过选取接收时间戳信号和本地时钟信号为被测对象,并且测量时间戳信号产生的相位误差值,既突破了由驱动时钟带来的硬件时间戳的精度限制,又满足技术标准化要求且通用性较强,由此达到了提高网络节点之间的时钟同步能力、满足纳秒级时间同步需求的技术效果。

Description

一种时间同步方法、FPGA相位测量系统
技术领域
本申请涉及时间同步技术领域,具体涉及一种时间同步方法、FPGA相位测量系统。
背景技术
通信网络基础设施离不开时间同步,移动通信网络、时间敏感网络(TSN,Time-Sensitive Networking)和确定性网络的持续演进正在推动下一代网络朝向高精度网络迈进。例如,5G对时间同步的要求从±1.5微秒提升到±130纳秒(CoMP)、65纳秒(MIMO)。在垂直行业应用中,智能电网从频率同步网向时间同步网方向演进,当时间同步精度达到100纳秒时,智能电网中的行波故障定位可以在几百英尺内确定故障位置。在工业领域中,车间、产线上的机器设备要求时间同步精度优于1微秒。为实现远程医疗、智能交通、虚拟现实等场景中的人与人、人与机器之间的触感互联,未来6G、触感互联网以及工业互联网、车联网、全息通信等新兴时间工程应用(Time Engineered Applications)的发展将进一步增加网络对于高精度时间同步的需求。目前,通常使用精确时间协议(PTP或gPTP)构建的时间同步网络,可以满足各种应用的亚微秒级的时间同步要求。
然而,在现有技术实现的网络同步设备中,时间戳精度受到本地时钟频率的限制,由于硬件时间戳的加盖方式是通过本地时间戳单元实现,受到本地时钟影响,例如,典型的千兆节点通常采用本地125MHz时钟信号直接用于PTP的时间戳,时间戳精度为8ns,成为限制时间同步性能提升的瓶颈;同时,时间戳记录时间不够准确,由于数据包到来的信息是由识别帧起始符SFD完成的,当数据包有效时,帧起始符SFD的识别信号会拉高,但是帧起始符SFD的识别与本地驱动时钟存在一定的时间误差,导致接收端记录的时间戳信息并不准确。
发明内容
鉴于上述问题,提出了本申请以便提供一种时间同步方法、FPGA相位测量系统,以达到提高本地设备接收时间戳的精度、提高网络节点之间的时钟同步能力、满足纳秒级时间同步需求的技术效果。
依据本申请的第一方面,提出了一种时间同步方法,所述方法包括:
获取任意网络节点之间报文交换过程中产生的时间戳信号;
分别测量每个网络节点的所述时间戳信号与本地时钟信号的相位差,并根据所述相位差分别校准本地时钟的时间戳。
可选地,所述时间戳信号包括每个网络节点的发送时间戳信号、以及接收时间戳信号,
所述分别测量每个网络节点的所述时间戳信号与本地时钟信号的相位差,包括:
将所述本地时钟信号的其中一个上升沿到下一个上升沿之间的时间间隔作为第一参考值T,所述本地时钟信号的其中一个上升沿为所述本地时钟信号的下一个上升沿的前一个上升沿;
将所述接收时间戳信号的上升沿到所述本地时钟信号的所述其中一个上升沿的时间间隔作为第二参考值δTS
测量所述第一参考值T与所述第二参考值δTS之间的误差值T-δTS,并根据所述误差值T-δTS校准本地时钟。
可选地,所述测量所述第一参考值T与所述第二参考值δTS之间的误差值T-δTS,包括:
将所述接收时间戳信号作为开始信号sig_start,将所述本地时钟信号作为结束信号sig_end,其中,当所述接收时间戳信号的上升沿到来时开始一次测量,并且当所述本地时钟信号的上升沿到来时结束一次测量;
对所述本地时钟信号进行倍频移相处理,并得到多个经处理的本地时钟信号;
根据所述开始信号sig_start、所述结束信号sig_end、以及所述多个经处理的本地时钟信号,确定所述误差值T-δTS
可选地,所述经处理的多个本地时钟信号包括:第一时钟信号CLK_0、第二时钟信号CLK_45、第三时钟信号CLK_90、第四时钟信号CLK_135;
所述确定所述误差值T-δTS,包括:
根据所述第一时钟信号CLK_0,确定第一时钟信号CLK_0的周期T0、以及所述第一时钟信号CLK_0的周期个数n;
根据所述第二时钟信号CLK_45、所述第三时钟信号CLK_90、以及所述第四时钟信号CLK_135,确定第一测量值T1和第二测量值T2
可选地,所述误差值T-δTS满足如下计算条件:T-δTS=nT0+T1-T2
其中,所述第一测量值T1为开始信号sig_start上升沿到来时其与所述第一时钟信号clk_0的下一个上升沿之间的时间间隔;所述第二测量值T2为结束信号sig_end上升沿到来时其与所述第一时钟信号clk_0的下一个上升沿之间的时间间隔。
可选地,所述根据所述相位差分别校准本地时钟的时间戳,包括:
在每个网络节点的所述本地时钟信号的下一个上升沿到来之前,将每个网络节点的所述误差值T-δTS与所述本地时钟的当前时间戳相加,并产生新的本地时钟时间戳。
可选地,所述获取任意网络节点之间报文交换过程中产生的时间戳信号,包括:
基于PTP/gPTP协议,进行任意网络节点之间的报文交换;
在PHY端口物理层,识别报文交换过程中每个网络节点的有效数据包;
根据所述有效数据包生成时间戳信号,并且在PHY端口物理层与MAC链路层之间的GMII接口中取出所述时间戳信号。
可选地,所述方法还包括:
通过所述PHY端口物理层与MAC链路层之间的GMII接口,将新的本地时钟时间戳传输至应用层协议栈。
依据本申请的第二方面,提出了一种FPGA相位测量系统,所述FPGA相位测量系统包括:
获取模块,用于获取任意网络节点之间报文交换过程中产生的时间戳信号;
相位测量模块,用于分别测量每个网络节点的所述时间戳信号与本地时钟信号的相位差,并根据所述相位差分别校准本地时钟的时间戳。
可选地,所述获取模块包括:
FEP接口单元,用于获取并输入开始信号sig_start以及结束信号sig_end,其中所述开始信号sig_start包括任意网络节点之间报文交换过程中产生的接收时间戳信号,所述结束信号sig_end包括任意网络节点的本地时钟信号;
所述相位测量模块包括:
计数器单元,用于存储由所述本地时钟信号经过倍频移相处理后产生的第一时钟信号CLK_0的周期个数;
状态机单元,用于确定多个时钟信号的时间状态,其中所述多个时钟信号包括由所述本地时钟信号经过倍频移相处理后产生的第二时钟信号CLK_45、第三时钟信号CLK_90、以及第四时钟信号CLK_135;
第一测量单元,用于根据所述第一时钟信号CLK_0,确定第一时钟信号CLK_0的周期T0、以及所述第一时钟信号CLK_0的周期个数n;
第二测量单元,根据所述第二时钟信号CLK_45、所述第三时钟信号CLK_90、以及所述第四时钟信号CLK_135,确定第一测量值T1和第二测量值T2
相位误差确定单元,用于根据所述第一时钟信号CLK_0的周期T0、以及所述第一时钟信号CLK_0的周期个数n、所述第一测量值T1和所述第二测量值T2,确定所述时间戳信号与本地时钟信号的误差值T-δTS
时间戳生成单元,用于在每个网络节点的所述本地时钟信号的下一个上升沿到来之前,将每个网络节点所述误差值T-δTS与所述本地时钟的当前时间戳相加,并产生新的本地时钟时间戳。
由上述可知,本申请实施例采用的上述至少一个技术方案能够达到以下有益效果:一方面,通过在PHY与MAC之间的GMII接口处获取任意网络节点之间产生的时间戳信号,无需额外专用设备支持就可完成测量工作,硬件结构较为简单,进而简化了时间同步的测量过程,节约了硬件资源成本;另一方面,通过选取每个网络节点中接收时间戳信号和本地时钟信号为被测对象,并且测量时间戳信号产生的相位误差值,既突破了由驱动时钟带来的硬件时间戳的精度限制,又满足技术标准化要求且通用性较强,由此达到了提高本地设备接收时间戳的精度、提高网络节点之间的时钟同步能力、满足纳秒级时间同步需求的技术效果。
上述说明仅是本申请技术方案的概述,为了能够更清楚了解本申请的技术手段,而可依照说明书的内容予以实施,并且为了让本申请的上述和其它目的、特征和优点能够更明显易懂,以下特举本申请的具体实施方式。
附图说明
通过阅读下文优选实施方式的详细描述,各种其他的优点和益处对于本领域普通技术人员将变得清楚明了。附图仅用于示出优选实施方式的目的,而并不认为是对本申请的限制。而且在整个附图中,用相同的参考符号表示相同的部件。在附图中:
图1为本申请一个实施例中的时间同步方法的流程示意图;
图2为本申请一个实施例中的报文交换过程的示意图;
图3为本申请一个实施例中的接收时间戳信号的误差分析示意图;
图4为本申请一个实施例中的采用时钟移相内插法计算相位差的原理示意图;
图5为本申请一个实施例中的基于PTP/gPTP协议的时间同步过程示意图;
图6为本申请一个实施例中的两个网络节点之间的时间同步示意图;
图7为本申请一个实施例中的FPGA相位测量系统的结构示意图之一;
图8为本申请一个实施例中的FPGA相位测量系统的结构示意图之二;
图9为本申请一个实施例中的FPGA相位测量系统与PHY端口物理层以及MAC链路层之间的信号传输示意图;
具体实施方式
下面将参照附图更详细地描述本申请的示例性实施例。虽然附图中显示了本申请的示例性实施例,然而应当理解,可以以各种形式实现本申请而不应被这里阐述的实施例所限制。相反,提供这些实施例是为了能够更透彻地理解本申请,并且能够将本申请的范围完整的传达给本领域的技术人员。
本申请的技术构思在于,基于PTP/gPTP协议构建的时间同步网络,在PHY端口物理层与MAC链路层之间的GMII接口处进行相位测量工作,通过FPGA相位测量系统测量当前节点的帧起始符SFD识别信号与本地接收时钟的时间误差,并且将测量误差值用于接收时间戳信号中以补偿时间误差,由此通过提升同步数据包接收端的时间戳精度,突破以太网固有时钟分辨率的限制,并将时间同步的精度控制在8ns以内,达到提高本地设备接收时间戳的精度以及时钟同步能力、满足纳秒级时间同步需求的技术效果。
以下结合附图,详细说明本申请各实施例提供的技术方案。
如图1所示,图1为本申请一个实施例中的时间同步方法的流程示意图,在本实施例中,提出了一种时间同步方法,所述方法包括:
步骤S110,获取任意网络节点之间报文交换过程中产生的时间戳信号。
具体地,本申请所述方法可通过基于PTP/gPTP协议构建的时间同步网络实现,在本申请实施例中,PTP协议(Precision Timing Protocol,精密时间同步协议,即IEEE1588v2协议),是一种用于通过计算机网络同步时钟的协议,其可以满足亚微秒级的时间同步要求;gPTP(generalized precision time protocol,广义时钟同步协议,即IEEE802.1AS协议),其是IEEE 1588协议的延伸,可以为TSN网络提供全局精准的时间服务。
可以理解,本申请实施例中的网络节点,指的是指一台计算机或其他设备与一个有独立地址和具有传送或接收数据功能的网络相连,例如,节点可以是工作站、网络用户或个人计算机,还可以是服务器和其他网络连接的设备,参考图2所示,图2中的发送端(Peerdelay initiator)和响应端(Peer delay responder)即可认为是任意的两个网络节点。
在PTP时间同步网络中,主时钟和从时钟在两个PTP实例(网络节点)的路径上交换时间消息同步,基础的消息交换路径如下:(1)主时钟会周期性发送Sync报文,并记录下报文离开主时钟的精确时间t1;(2)从时钟会记录Sync报文到达的精确时间t2;(3)Sync报文发送后,主时钟将发送Follow_up报文,该报文中包含精确时间t1;(4)从时钟发送Delay_Req报文,并记录报文离开从时钟的精确时间t3;(5)主时钟会记录Delay_Req报文到达的精确时间t4,并会发送包含t4时间的Delay_Resp报文给从时钟;由此从时钟会通过记录的t1、t2、t3、t4的时间戳信息,进行路径延时和时钟偏差的计算,并通过矫正从时钟的本地时钟,来完成时间同步。
在gPTP时间同步网络中,时间同步的主要流程如下:(1)从钟会发出一个信息Pdelay_Req报文,并在本地记录发送时间t1;(2)当数据包传送到主时钟时,会在主时钟本地记录一个时间t2;(3)随即主时钟会发出Pdelay_Resp报文,并会记录一个发送时间t3,当从时钟收到报文信息,会在本地记录接收时间t4;(4)主时钟会将时间t3存放在Pdelay_Resp_Follow_Up报文中,传输到从时钟;至此,从时钟拥有四个时间戳信息,在本地进行链路延时和时钟偏差的计算,进行本地时钟的校正;进一步地,根据如下公式可以算出单向传输时延δMS、主从时钟时间偏移offsetMS
offsetMS=t1MS-t2
具体到本实施例中,在两个网络节点之间,可通过交换带有时间戳信息的报文完成同步工作,如图2所示,t1和t3表示发送端发送报文时记录的发送时间戳,也就是说,t1、t3用于记录发送报文的具体时间,是由本地时钟的上升沿生成,默认准确;t2和t4表示响应端接收报文时记录的接收时间戳,也就是说,t2、t4用于记录接收报文的具体时间,其是由帧起始符(Start Frame Delimiter,SFD)确定RX_DV信号生成决定的。因此,本实施例中获取的时间戳信号为t1、t2、t3、t4的时间戳生成信号。
帧起始符SFD是一个固定的二进制编码串,可用于指出以太网帧的起始位置,由于帧起始符SFD到达节点的时间存在不确定性,帧起始符的识别是根据PHY芯片发送的RX_DV信号给出,所以当RX_DV信号拉高为高电平时,表示当前数据包是有效的。
这也意味着,当RX_DV信号为高电平,只有在下一个接收时钟RX_CLK信号的上升沿,才会将时间戳单元锁存,再加上时钟可能存在抖动,所以并不能十分准确地表示数据包到来的时间,在接收节点接收数据包的过程中,时间戳存在不准确性,进而影响同步的精度。因此,在本实施例中,通过选取每个网络节点中接收时间戳信号和本地时钟信号为被测对象,就可以完成时间戳信号产生的相位误差值的测量工作。
步骤S120,分别测量每个网络节点的所述时间戳信号与本地时钟信号的相位差,并根据所述相位差分别校准本地时钟的时间戳。
在本申请实施例中,对于一个被测的网络节点,可以基于该节点的接收时间戳t2或t4,并通过比对接收时间戳信号与其本地时钟信号的相位差,将测量的相位误差值用于修正接收端记录的接收时间戳,以实现对于本地时钟的补偿,并完成时间同步工作。
进一步地,在本申请实施例中,所述时间戳信号包括每个网络节点的发送时间戳信号、以及接收时间戳信号,所述发送时间戳信号为前述时间戳t1、t3的生成信号,所述接收时间戳信号为前述时间戳t2、t4的生成信号。
如图3所示,所述分别测量每个网络节点的所述时间戳信号与本地时钟信号的相位差,包括:将所述本地时钟信号的其中一个上升沿到下一个上升沿之间的时间间隔作为第一参考值T,所述本地时钟信号的其中一个上升沿为所述本地时钟信号的下一个上升沿的前一个上升沿;
将所述接收时间戳信号的上升沿到所述本地时钟信号的所述其中一个上升沿的时间间隔作为第二参考值δTS
测量所述第一参考值T与所述第二参考值δTS之间的误差值T-δTS,并根据所述误差值T-δTS校准本地时钟。
具体地,参考图3所示,本申请实施例中的所述接收时间戳信号记作RX_DV信号(即为图3中位于上方的深色线条TS sigal),所述本地时钟信号记作RX_CLK信号(即为图3中位于下方的浅色线条Local clock)。
所述第一参考值T为图3中浅色线条上方箭头所指示的本地时钟信号的两个上升沿之间的时间间隔,所述第二参考值δTS为图3中深色线条上方箭头所指示的接收时间戳信号的上升沿与本地时钟信号的前一个上升沿之间的时间间隔。
如图3所示,在时间戳生成信号的上升沿(tTS位置),应该立即将时间戳单元进行锁存,并将其中的信息记录下来,但是图中tTS位置位于本地时钟信号的两个上升沿之间,由于时间戳单元是组合逻辑,并且是由时钟驱动的模块,因此,只有在下一个时钟上升沿(图中间隔T的第二上升沿),才能够生成时间戳,在这样的时间戳生成机制下,存在一个时间误差T-δTS
进一步地,在本申请的一个实施例中,如图4所示,当采用时间内插相移法进行测量时,所述测量所述第一参考值T与所述第二参考值δTS之间的误差值T-δTS,包括:
将所述接收时间戳信号作为开始信号sig_start,将所述本地时钟信号作为结束信号sig_end,其中,当所述接收时间戳信号的上升沿到来时开始一次测量,并且当所述本地时钟信号的上升沿到来时结束一次测量;
对所述本地时钟信号进行倍频移相处理,并得到多个经处理的本地时钟信号;
根据所述开始信号sig_start、所述结束信号sig_end、以及所述多个经处理的本地时钟信号,确定所述误差值T-δTS
优选地,信号倍频是由锁相环和计数器实现,利用倍频技术对本地时钟信号(RX_CLK)进行移相;所述经处理的多个本地时钟信号包括:第一时钟信号CLK_0、第二时钟信号CLK_45、第三时钟信号CLK_90、第四时钟信号CLK_135;
可以理解,上述第一时钟信号CLK_0、第二时钟信号CLK_45、第三时钟信号CLK_90、第四时钟信号CLK_135分别代表了经过倍频移相处理后的不同相位的本地时钟信号;其中,0、45、90、135表示相移的度数;优选地,所述第一时钟信号CLK_0的信号频率采用400MHz;
所述确定所述误差值T-δTS,包括:
根据所述第一时钟信号CLK_0,确定第一时钟信号CLK_0的周期T0、以及所述第一时钟信号CLK_0的周期个数n;
根据所述第二时钟信号CLK_45、所述第三时钟信号CLK_90、以及所述第四时钟信号CLK_135,确定第一测量值T1和第二测量值T2
也就是说,在本实施例中,sig_start、sig_end是被测信号的开始标志与结束标志,当sig_start信号上升沿到来时,开始测量,当sig_end信号上升沿到来时,停止测量;使用计数器,记录在被测量时间内,测量的第一时钟信号clk_0经过多少个周期并记录为n值。同时,第二时钟信号CLK_45、第三时钟信号CLK_90、第四时钟信号CLK_135之间的相位差可分为图4中的8段,进而可分别计算出各段的时间间隔,以计算出sig_start信号的上升沿与第一时钟信号CLK_0的下一个上升沿之间的时间间隔T1;第二测量值T2的计算过程同理,不做赘述。
优选地,所述误差值T-δTS满足如下计算条件:T-δTS=nT0+T1-T2
其中,所述第一测量值T1为开始信号sig_start上升沿到来时其与所述第一时钟信号clk_0的下一个上升沿之间的时间间隔;所述第二测量值T2为结束信号sig_end上升沿到来时其与所述第一时钟信号clk_0的下一个上升沿之间的时间间隔。
由上可知,结合图4可以看出,T1、T2都小于一个测量信号的周期值,由此引起的时间误差为T1-T2,在这个过程中,通过准确地减小上述误差的间隔,能够使测量的时间精度上升。
在本实施例中,时间测量包括如下过程,第一,需要通过FPGA相位测量系统中的第一测量单元进行“粗测”,获取时间间隔nT0,此过程通过计数器单元实现;第二,通过FPGA相位测量系统中的第二测量单元进行“细测”,获取时间差T1-T2,将两个时间间隔nT0和T1-T2相加,就可以得到最后的相位差T-δTS
进一步地,所述根据所述相位差分别校准本地时钟的时间戳,包括:
在每个网络节点的所述本地时钟信号的下一个上升沿到来之前,将每个网络节点的所述误差值T-δTS与所述本地时钟的当前时间戳相加,并产生新的本地时钟时间戳。
在本申请实施例中,如图5所示,所述获取任意网络节点之间报文交换过程中产生的时间戳信号,包括:
基于PTP/gPTP协议,进行任意网络节点之间的报文交换;
在PHY端口物理层,识别报文交换过程中每个网络节点的有效数据包;
根据所述有效数据包生成时间戳信号,并且在PHY端口物理层与MAC链路层之间的GMII接口中取出所述时间戳信号。
具体地,基于PTP/gPTP构建的时间同步网络的时间同步过程如下:首先,在Network网络中获取收发数据包(TX/RX);其次,在PHY端口物理层识别有效数据包,通过Hardware硬件结构生成时间戳信号并在GMII接口中取出;再次,将接收时间戳信号再传送至MAC链路层;最后,通过Kernelspace系统内核,传输至PTP或者gPTP的应用层协议栈中,由此通过协议栈完成时间同步的工作。而本实施例中,就是在GMII接口处取出原始的接收时间戳信号,以实现对于所述接收时间戳信号与本地时钟信号的相位差测量工作,进而,在完成相位差测量之后,所述方法还包括:
通过所述PHY端口物理层与MAC链路层之间的GMII接口,将新的本地时钟时间戳和新的接收时间戳信号按照原链路传输至应用层协议栈。
具体地,图6示出了本申请的一个实施例中两个设备之间的时间同步原理,可以看出,从其中一个设备的GMII接口中取出时间戳信号,并且通过FPGA相位测量系统完成相位误差值测量,再补偿至本地时钟以完成时间同步;当然,另一个设备的误差测量工作同理,此处不再赘述。
由此可见,本申请所述时间同步方法在标准化技术的基础上增加了时间戳误差测量功能,不需要额外的硬件设备支持,既简化了时间同步的布置和管理过程,可在各种传输媒介中实现,又具备通用性,满足技术标准化需求;由此,本申请技术方案可以提高网络节点之间的时钟同步能力,改善时钟同步性能,为现代网络应用提供更高效、可靠的基础设施支持。
在本实施例的另一个实施例中,提出了一种FPGA相位测量系统,如图7所示,所述FPGA相位测量系统200包括:
获取模块210,用于获取任意网络节点之间报文交换过程中产生的时间戳信号;
相位测量模块220,用于分别测量每个网络节点的所述时间戳信号与本地时钟信号的相位差,并根据所述相位差分别校准本地时钟的时间戳。
进一步地,所述的FPGA相位测量系统200,如图8所示,所述获取模块210包括:
FEP接口单元211,用于获取并输入开始信号sig_start以及结束信号sig_end,其中所述开始信号sig_start包括任意网络节点之间报文交换过程中产生的接收时间戳信号,所述结束信号sig_end包括任意网络节点的本地时钟信号;
所述相位测量模块220包括:
计数器单元221,用于存储由所述本地时钟信号经过倍频移相处理后产生的第一时钟信号CLK_0的周期个数;
状态机单元222,用于确定多个时钟信号的时间状态,其中所述多个时钟信号包括由所述本地时钟信号经过倍频移相处理后产生的第二时钟信号CLK_45、第三时钟信号CLK_90、以及第四时钟信号CLK_135;
第一测量单元223,用于根据所述第一时钟信号CLK_0,确定第一时钟信号CLK_0的周期T0、以及所述第一时钟信号CLK_0的周期个数n;
第二测量单元224,根据所述第二时钟信号CLK_45、所述第三时钟信号CLK_90、以及所述第四时钟信号CLK_135,确定第一测量值T1和第二测量值T2
相位误差确定单元225,用于根据所述第一时钟信号CLK_0的周期T0、以及所述第一时钟信号CLK_0的周期个数n、所述第一测量值T1和所述第二测量值T2,确定所述时间戳信号与本地时钟信号的误差值T-δTS
时间戳生成单元226,用于在每个网络节点的所述本地时钟信号的下一个上升沿到来之前,将每个网络节点所述误差值T-δTS与所述本地时钟的当前时间戳相加,并产生新的本地时钟时间戳。
优选地,所述FPGA相位测量系统还可设置本地晶振230和MMCM单元240,其中所述本地晶振230用于提供稳定的时钟信号,所述MMCM单元为混合时钟管理单元,其与锁相环配合并用于生成倍频和移相时钟;同时,所述计数器单元221和状态机单元222可采用Verilog语言设计。
图9示出了FPGA相位测量系统与PHY端口物理层以及MAC链路层之间的信号传输过程,为了简洁,图9中简化了FPGA相位测量系统的相关硬件单元结构。
硬件时间戳单元是由PHY产生的接收时钟RX_CLK驱动,在千兆以太网中,该时钟信号为125MHz,本申请技术方案可通过前述方法实现相位差的测量,因此,当测量精度越高时,时间戳的精度也会提高,所以本申请并不会受到频率的影响,同时会将提高测量精度并且将时间戳精度控制在8ns以内。本领域相关技术人员可以理解,图9中所述FPGA相位测量系统可通过信号处理接口接收来自PHY端口物理层芯片发送的各类信号,其中RX_DV表示接收时间戳信号(有效信号)、RX_CLK表示本地时钟信号,COL表示冲突检测信号、CRS表示载波检测信号、RX_ER表示接收数据错误信号、RXD[7:0]表示八位延时接收数据信号;
不难理解,在进行相位测量之前,需要将上述信号均延时一个接收时钟RX_CLK,并产生对应的信号,例如,产生新的冲突检测信号NEW_COL、新的载波检测信号NEW_CRS、新的接收数据错误信号NEW_RX_ER,以及新的八位延时接收数据信号NEW_RXD[7:0]。
同时,通过将RX_DV信号与RX_CLK信号输入FPGA相位测量系统,运用前述方法进行高精度相位误差测量,并通过所述相位误差确定单元产生一个64位偏差时间戳值TE_TS[63:0],即前述误差值T-δTS;之后再经过一个时钟周期的时间,在本地时钟信号的下一个上升沿来临时,通过所述时间戳生成单元将测量值与本地时间戳进行相加,产生最后的64位时间戳TS_NEW[63:0];由此使得接口信号在PHY端口物理层接收数据有效之后的第三个RX_CLK信号的上升沿读取该64位时间戳数据TS_NEW[63:0],并且将TS_NEW[63:0]分割成8bit的时间戳分段数据,再将时间戳分段数据通过新的八位延时接收数据信号NEW_RXD[7:0]发送到MAC链路层芯片,以按照原链路传输至应用层协议栈。
需要说明的是,本申请的改进点在于测量时间戳信号与本地时钟信号的相位差,并将所述时间相位差纠正到存在误差的本地时间戳生成单元内;而对于TS_NEW[63:0]的数据分割过程、以及冲突检测信号COL、载波检测信号CRS、接收数据错误信号RX_ER等由PHY端口物理层传输至MAC链路层的传输过程不作为本申请的改进点,本领域相关技术人员可结合惯用技术手段对上述信号的传输过程进行设置和调整。
当然,以上所述仅为了便于理解及简化描述,不能理解为对本申请的限制,在本申请技术方案中,无论MAC层与PHY层之间使用的是GMII/MII接口,或者是RGMII/RMII接口,其处理过程均相同或近似,本申请只是以GMII接口为例详述其处理过程。此外,所述FPGA相位测量系统的相关硬件可以嵌入网络节点中,也可以外接以实现测量。
本申请所述相位测量系统是基于TDC测量技术搭建,也就是说,是以FPGA逻辑编程为测量工具,并使用时钟内插相移法进行测量,当然,本领域相关技术人员也可选择其他的时间测量技术以对误差值T-δTS进行测量。
需要说明的是,上述FPGA相位测量系统,能够实现前述实施例中提供的时间同步方法的各个步骤,关于时间同步方法的相关阐释均适用于FPGA相位测量系统,此处不再赘述。
综上所述,本申请的技术方案至少达到了如下的技术效果:一方面,通过在PHY与MAC之间的GMII接口处获取任意网络节点之间产生的时间戳信号,无需额外专用设备支持就可完成测量工作,硬件结构较为简单,进而简化了时间同步的测量过程,节约了硬件资源成本;另一方面,通过选取每个网络节点中接收时间戳信号和本地时钟信号为被测对象,并且测量时间戳信号产生的相位误差值,既突破了由驱动时钟带来的硬件时间戳的精度限制,又满足技术标准化要求且通用性较强,由此达到了提高本地设备接收时间戳的精度、提高网络节点之间的时钟同步能力、满足纳秒级时间同步需求的技术效果。
需要说明的是,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、商品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、商品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、商品或者设备中还存在另外的相同要素。
本领域技术人员应明白,本申请的实施例可提供为方法、系统或计算机程序产品。因此,本申请可采用完全硬件实施例、完全软件实施例或结合软件和硬件方面的实施例的形式。而且,本申请可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
以上所述仅为本申请的实施例,并不用于限制本申请。对于本领域技术人员来说,本申请可以有各种更改和变化。凡在本申请的精神和原理之内所作的任何修改、等同替换、改进等,均应包含在本申请的权利要求范围之内。

Claims (10)

1.一种时间同步方法,其特征在于,所述方法包括:
获取任意网络节点之间报文交换过程中产生的时间戳信号;
分别测量每个网络节点的所述时间戳信号与本地时钟信号的相位差,并根据所述相位差分别校准本地时钟的时间戳。
2.根据权利要求1所述的同步方法,其特征在于,所述时间戳信号包括每个网络节点的发送时间戳信号、以及接收时间戳信号,
所述分别测量每个网络节点的所述时间戳信号与本地时钟信号的相位差,包括:
将所述本地时钟信号的其中一个上升沿到下一个上升沿之间的时间间隔作为第一参考值T,所述本地时钟信号的其中一个上升沿为所述本地时钟信号的下一个上升沿的前一个上升沿;
将所述接收时间戳信号的上升沿到所述本地时钟信号的所述其中一个上升沿的时间间隔作为第二参考值δTS
测量所述第一参考值T与所述第二参考值δTS之间的误差值T-δTS,并根据所述误差值T-δTS校准本地时钟。
3.根据权利要求2所述的同步方法,其特征在于,所述测量所述第一参考值T与所述第二参考值δTS之间的误差值T-δTS,包括:
将所述接收时间戳信号作为开始信号sig_start,将所述本地时钟信号作为结束信号sig_end,其中,当所述接收时间戳信号的上升沿到来时开始一次测量,并且当所述本地时钟信号的上升沿到来时结束一次测量;
对所述本地时钟信号进行倍频移相处理,并得到多个经处理的本地时钟信号;
根据所述开始信号sig_start、所述结束信号sig_end、以及所述多个经处理的本地时钟信号,确定所述误差值T-δTS
4.根据权利要求3所述的同步方法,其特征在于,所述经处理的多个本地时钟信号包括:第一时钟信号CLK_0、第二时钟信号CLK_45、第三时钟信号CLK_90、第四时钟信号CLK_135;
所述确定所述误差值T-δTS,包括:
根据所述第一时钟信号CLK_0,确定第一时钟信号CLK_0的周期T0、以及所述第一时钟信号CLK_0的周期个数n;
根据所述第二时钟信号CLK_45、所述第三时钟信号CLK_90、以及所述第四时钟信号CLK_135,确定第一测量值T1和第二测量值T2
5.根据权利要求4所述的同步方法,其特征在于,所述误差值T-δTS满足如下计算条件:T-δTS=nT0+T1-T2
其中,所述第一测量值T1为开始信号sig_start上升沿到来时其与所述第一时钟信号clk_0的下一个上升沿之间的时间间隔;所述第二测量值T2为结束信号sig_end上升沿到来时其与所述第一时钟信号clk_0的下一个上升沿之间的时间间隔。
6.根据权利要求5所述的同步方法,其特征在于,所述根据所述相位差分别校准本地时钟的时间戳,包括:
在每个网络节点的所述本地时钟信号的下一个上升沿到来之前,将每个网络节点的所述误差值T-δTS与所述本地时钟的当前时间戳相加,并产生新的本地时钟时间戳。
7.根据权利要求1至6任一项所述的同步方法,其特征在于,所述获取任意网络节点之间报文交换过程中产生的时间戳信号,包括:
基于PTP/gPTP协议,进行任意网络节点之间的报文交换;
在PHY端口物理层,识别报文交换过程中每个网络节点的有效数据包;
根据所述有效数据包生成时间戳信号,并且在PHY端口物理层与MAC链路层之间的GMII接口中取出所述时间戳信号。
8.根据权利要求7所述的同步方法,其特征在于,所述方法还包括:
通过所述PHY端口物理层与MAC链路层之间的GMII接口,将新的本地时钟时间戳传输至应用层协议栈。
9.一种FPGA相位测量系统,其特征在于,所述FPGA相位测量系统包括:
获取模块,用于获取任意网络节点之间报文交换过程中产生的时间戳信号;
相位测量模块,用于分别测量每个网络节点的所述时间戳信号与本地时钟信号的相位差,并根据所述相位差分别校准本地时钟的时间戳。
10.根据权利要求9所述的FPGA相位测量系统,其特征在于,
所述获取模块包括:
FEP接口单元,用于获取并输入开始信号sig_start以及结束信号sig_end,其中所述开始信号sig_start包括任意网络节点之间报文交换过程中产生的接收时间戳信号,所述结束信号sig_end包括任意网络节点的本地时钟信号;
所述相位测量模块包括:
计数器单元,用于存储由所述本地时钟信号经过倍频移相处理后产生的第一时钟信号CLK_0的周期个数;
状态机单元,用于确定多个时钟信号的时间状态,其中所述多个时钟信号包括由所述本地时钟信号经过倍频移相处理后产生的第二时钟信号CLK_45、第三时钟信号CLK_90、以及第四时钟信号CLK_135;
第一测量单元,用于根据所述第一时钟信号CLK_0,确定第一时钟信号CLK_0的周期T0、以及所述第一时钟信号CLK_0的周期个数n;
第二测量单元,根据所述第二时钟信号CLK_45、所述第三时钟信号CLK_90、以及所述第四时钟信号CLK_135,确定第一测量值T1和第二测量值T2
相位误差确定单元,用于根据所述第一时钟信号CLK_0的周期T0、以及所述第一时钟信号CLK_0的周期个数n、所述第一测量值T1和所述第二测量值T2,确定所述时间戳信号与本地时钟信号的误差值T-δTS
时间戳生成单元,用于在每个网络节点的所述本地时钟信号的下一个上升沿到来之前,将每个网络节点所述误差值T-δTS与所述本地时钟的当前时间戳相加,并产生新的本地时钟时间戳。
CN202311660305.0A 2023-12-05 2023-12-05 一种时间同步方法、fpga相位测量系统 Pending CN117478263A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202311660305.0A CN117478263A (zh) 2023-12-05 2023-12-05 一种时间同步方法、fpga相位测量系统

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202311660305.0A CN117478263A (zh) 2023-12-05 2023-12-05 一种时间同步方法、fpga相位测量系统

Publications (1)

Publication Number Publication Date
CN117478263A true CN117478263A (zh) 2024-01-30

Family

ID=89638077

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202311660305.0A Pending CN117478263A (zh) 2023-12-05 2023-12-05 一种时间同步方法、fpga相位测量系统

Country Status (1)

Country Link
CN (1) CN117478263A (zh)

Similar Documents

Publication Publication Date Title
US8355476B2 (en) Timestamping method and apparatus for precise network synchronization
US10178009B2 (en) Method, a computer program product, and a carrier for indicating one-way latency in a data network
WO2018006686A1 (zh) 一种通信网络设备间时间同步的优化方法、装置及设备
CN102104475B (zh) 基于ieee1588的同步系统及其同步方法
TW201123792A (en) Network slave node and time synchronization method in network applying the same
CN103929293A (zh) 非对称延迟的时间同步方法及系统
CN111106894B (zh) 一种时间同步方法和系统
EP1290839A2 (en) Method for ensuring access to a transmission medium
JP2009111654A (ja) 時刻同期処理システム、時刻情報配信装置、時刻同期処理装置、時刻情報配信プログラム、および時刻同期処理プログラム
CN112217588B (zh) 时间戳抖动补偿方法及系统
CN115801175A (zh) 时间频率同步方法、系统、存储介质及电子设备
WO2021018407A1 (en) Clock synchronization in packet communications networks
CN111628914B (zh) 一种周期通信网络的链路延时测量方法、系统及fpga
CN115865246A (zh) 时间同步装置、系统及方法
CN114389735A (zh) 一种基于ieee802.1as冗余主时钟的时钟同步方法
CN117478263A (zh) 一种时间同步方法、fpga相位测量系统
KR100954170B1 (ko) 다중 rf 수신장치 및 이를 이용한 위치 측정 방법
CN112751639A (zh) 时间同步的方法、通信设备和系统
Li et al. Time synchronization of white rabbit network based on kalman filter
JP2001244932A (ja) 網遅延測定方法およびそのシステム
CN114884605A (zh) 基于fpga实现网络节点时间同步的方法
CN113411157A (zh) 用于时钟同步的方法、从时钟设备、主时钟设备和系统
WO2022160283A1 (zh) 一种采样方法、采样电路及分布式网络的时钟同步方法
WO2023023912A1 (zh) 一种节点间测距的方法及装置
CN117015024A (zh) 时间同步方法、网络设备及通信系统

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination