提高ptp时间同步精度的方法及系统的制作方法

文档序号:7978796阅读:469来源:国知局
专利名称:提高ptp时间同步精度的方法及系统的制作方法
技术领域
本发明涉及以太网传输技术领域,尤其涉及一种提高PTP时间同步精度的方法及系统。
背景技术
在分布式网络中,由于网络传输时延的不确定性,导致采用网络命令触发的同步精度存在误差,同时,由于分布式网络各个节点位置的分散性,不适合采用硬件同步提供高精度的同步要求。而基于时间信息报文的同步触发方式成为当前比较可行的方案。IEEE 1588定义了一种精确时间协议PTP,主要用于同步以太网网络中不同节点的时间,在主从系统之间提供了网络连接、基于信息报文的同步功能。在一个IEEE1588应用系统中,报文发送一般要依次经过应用程序、操作系统、网络协议栈和以太网控制器,最后通过网络发送到达接收端,接收端再按以太网控制、网络协议栈、操作系统,最后到应用程序,如图1 所示。这里可以看出,报文经过网络传输会存在协议栈的延时和抖动,以及网络的延时和抖动。为了消除协议栈和网络的延时和抖动,可以在靠近物理层(PHY)或介质访问控制层 (MAC)去打时戳,然而,漂移与传输延时的不确定性仍然影响分布式系统时钟同步的精度。因此,有必要提供一种提高PTP时间同步精度的方法及系统,以克服上述问题。

发明内容
本发明的目的在于提供一种提高PTP时间同步精度的方法。本发明的另一目的在于提供一种提高PTP时间同步精度的系统,该系统应用于提高PTP时间同步精度的方法。相应地,本发明的一种提高PTP时间同步精度的方法,包括以下步骤 S10,在靠近物理层处,对发出或接收到的每个PTP消息报文打上时间戳; S20,通过时间漂移调整和时间偏差调整得到调整后的PTP计数时间;
S30,PTP消息报文在秒脉冲触发时,判断PTP计数时间是否落在整秒的-l/2f与+l/2f 之间,只有落在整秒的_l/2f与+l/2f之间,才送出秒脉冲。作为本发明的进一步改进,所述PTP计数时间通过一 PTP时间计数器来显示,该 PTP时间计数器由1个32位秒计数器,1个30位的纳秒计数器和1个32位的分数纳秒计数器组成。作为本发明的进一步改进,对时间漂移进行调整是通过对所述分数纳秒计数器调节来实现的。作为本发明的进一步改进,时间偏差是当前时间与基准时间的偏差值,这个偏差值由PTP引擎设置的内部寄存器来配置。相应地,本发明的一种提高PTP时间同步精度的系统,包括
PTP引擎,安装于介质访问控制层和物理层的接口处,用以对发出或接收到的每个PTP 消息报文打上时间戳;时间漂移调节器,用以对PTP时间计数器进行时间漂移调整;
内部寄存器,用以对PTP时间计数器进行时间偏差调整,通过时间漂移调整和时间偏差调整得到调整后的PTP计数时间;
误差判断模块,PTP消息报文在秒脉冲触发时,判断PTP计数时间是否落在整秒的-l/2f与+l/2f之间,只有落在整秒的_l/2f与+l/2f之间,才送出秒脉冲。作为本发明的进一步改进,所述PTP时间计数器由1个32位秒计数器,1个30位的纳秒计数器和1个32位的分数纳秒计数器组成。作为本发明的进一步改进,所述时间漂移调整是通过对所述分数纳秒计数器调节来实现的。作为本发明的进一步改进,所述时间偏差是当前时间与基准时间的偏差值。作为本发明的进一步改进,所述PTP引擎为现场可编程门阵列或专用集成电路实现的PTP引擎。本发明的有益效果是本发明通过PTP计数器秒翻转时,对纳秒落在允许的精度范围时做出是否送出PTP时钟输出信号的判断,从而使同步精度相比PTP计数分辨率提高一倍,在PTP使能的主从节点连接中实现纳秒级的同步精度。


图1示出了 PTP信息报文交换时的延时和抖动状态图2示出了本发明一实施方式一种提高PTP时间同步精度的方法的流程图; 图3示出了图2的具体流程图4示出了本发明一实施方式中秒脉冲判断范围示意图; 图5出了本发明一实施方式一种提高PTP时间同步精度的系统的模块图。
具体实施例方式以下将结合附图所示的各实施方式对本发明进行详细描述。但这些实施方式并不限制本发明,本领域的普通技术人员根据这些实施方式所做出的结构、方法、或功能上的变换均包含在本发明的保护范围内。如图2所示,为本发明一实施方式一种提高PTP时间同步精度的方法,包括以下步骤
S10,在靠近物理层处,对发出或接收到的每个PTP消息报文打上时间戳; S20,通过时间漂移调整和时间偏差调整得到调整后的PTP计数时间; S30,PTP消息报文在秒脉冲触发时,判断PTP计数时间是否落在整秒的-l/2f与+l/2f 之间,只有落在整秒的_l/2f与+l/2f之间,才送出秒脉冲。具体参图3所示,为了消除协议栈和网络的延时和抖动,达到较高的同步精度,对传输报文的时戳打标点应该越靠近物理层越好。在连接介质访问控制层(MAC)和物理层 (PHY)的接口处安装一个现场可编程门阵列(FPGA)或专用集成电路(ASIC)实现的PTP引擎对发出或接收到的每个PTP消息报文打上时间戳。因此,如何实现PTP时间计数的精确性成为关键。PTP时间计数器由1个32位秒计数器,1个30位的纳秒计数器和1个32位的分数纳秒计数器组成。32位的分数纳秒计数器能够精确到2_32nS。系统参考时钟如设为 f=125MHz,则PTP时间计数器以每次8ns递增。由于通过外部晶振产生的参考时钟存在漂移和抖动,所以用一个时间漂移调节器调节分数纳秒计数器实现时钟的精细调整。通过PTP 引擎设置的内部寄存器配置当前时间与基准时间的偏差值,那么时间漂移调整后的时钟加上时间偏移值就可以得到调整后的当前时间,即时间戳单元。利用以太网帧起始分界符后第一比特第1位的前边沿作为报文时间标识点,即时间戳插入。这样,通过时间漂移调整和时间偏差调整得到调整后的PTP计数时间。当从器件与主器件同步时,PTP消息报文通常以秒脉冲触发,内部PTP时间计数器在f=125MHz时钟下,调整后的PTP计数时间会落在整秒的-8ns和+8ns范围内,如图4所示。如果PTP时间计数器落在-8ns与-4ns之间,或者+4和+8ns之间产生秒脉冲信号,那么,整秒的误差范围即为正负8ns。这里,当PTP时间落在-8ns和-4ns之间时,我们不会产生秒脉冲信号输出,在125MHz时钟下,调整后的PTP计数时间累加8ns后则落在了整秒与+4ns之间,此时再输出秒脉冲信号;同理,如果调整后的PTP计数时间落在+4ns和+8ns 之间,则其之前一定会落在-4ns和整秒之间,所以,可以在-4ns和整秒之间即输出秒冲脉, 而在+4ns和+8ns时不输出秒脉冲,这样,我们就可以实现PTP消息报文在秒脉冲触发时, 误差范围在正负如s,也即误差范围在正负l/2f,从而使同步精度相比PTP计数分辨率提高一倍。在逻辑实现时,采用一误差判断模块,只要判断秒翻转时,调整后的PTP时间是否落在-4ns和+4ns之间(也即~l/2f和+l/2f之间),送出秒脉冲。本实施方式中取f=125MHz 来进行说明,当然也可以采用其它频率,本发明不对其构成限制。如图5所示,为本发明一实施方式一种提高PTP时间同步精度的系统,包括
PTP引擎,安装于介质访问控制层和物理层的接口处,用以对发出或接收到的每个PTP 消息报文打上时间戳;
时间漂移调节器,用以对PTP时间计数器进行时间漂移调整;
内部寄存器,用以对PTP时间计数器进行时间偏差调整,通过时间漂移调整和时间偏差调整得到调整后的PTP计数时间;
误差判断模块,PTP消息报文在秒脉冲触发时,判断PTP计数时间是否落在整秒的-l/2f与+l/2f之间,只有落在整秒的-l/2f与+l/2f之间,才送出秒脉冲。本发明通过在连接介质访问控制层(MAC)和物理层(PHY)的接口处安装一个FPGA 或ASIC实现的PTP引擎,通过PTP计数器秒翻转时,对纳秒落在允许的精度范围时做出是否送出PTP时钟输出信号的判断,从而使同步精度相比PTP计数分辨率提高一倍,在PTP使能的主从节点连接中实现纳秒级的同步精度。为了描述的方便,描述以上系统时以功能分为各种单元分别描述。当然,在实施本申请时可以把各单元的功能在同一个或多个软件和/或硬件中实现。通过以上的实施方式的描述可知,本领域的技术人员可以清楚地了解到本申请可借助软件加必需的通用硬件平台的方式来实现。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在存储介质中,如ROM/RAM、磁碟、光盘等,包括若干指令用以使得一台计算机设备 (可以是个人计算机,服务器,或者网络设备等)执行本申请各个实施方式或者实施方式的某些部分所述的方法。
以上所描述的系统实施方式仅仅是示意性的,其中所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施方式方案的目的。本领域普通技术人员在不付出创造性劳动的情况下,即可以理解并实施。本申请可用于众多通用或专用的计算系统环境或配置,或通信设备中。例如个人计算机、服务器计算机、手持设备或便携式设备、平板型设备、多处理器系统、基于微处理器的系统、置顶盒、可编程的消费电子设备、网络PC、小型计算机、大型计算机、包括以上任何系统或设备的分布式计算环境等等。本申请可以在由计算机执行的计算机可执行指令的一般上下文中描述,例如程序模块。一般地,程序模块包括执行特定任务或实现特定抽象数据类型的例程、程序、对象、组件、数据结构等等。也可以在分布式计算环境中实践本申请,在这些分布式计算环境中,由通过通信网络而被连接的远程处理设备来执行任务。在分布式计算环境中,程序模块可以位于包括存储设备在内的本地和远程计算机存储介质中。应当理解,虽然本说明书按照实施方式加以描述,但并非每个实施方式仅包含一个独立的技术方案,说明书的这种叙述方式仅仅是为清楚起见,本领域技术人员应当将说明书作为一个整体,各实施方式中的技术方案也可以经适当组合,形成本领域技术人员可以理解的其他实施方式。上文所列出的一系列的详细说明仅仅是针对本发明的可行性实施方式的具体说明,它们并非用以限制本发明的保护范围,凡未脱离本发明技艺精神所作的等效实施方式或变更均应包含在本发明的保护范围之内。
权利要求
1.一种提高PTP时间同步精度的方法,其特征在于,包括以下步骤S10,在靠近物理层处,对发出或接收到的每个PTP消息报文打上时间戳;S20,通过时间漂移调整和时间偏差调整得到调整后的PTP计数时间;S30,PTP消息报文在秒脉冲触发时,判断PTP计数时间是否落在整秒的-l/2f与+l/2f 之间,只有落在整秒的_l/2f与+l/2f之间,才送出秒脉冲。
2.根据权利要求1所述的提高PTP时间同步精度的方法,其特征在于,所述PTP计数时间通过一 PTP时间计数器来显示,该PTP时间计数器由1个32位秒计数器,1个30位的纳秒计数器和1个32位的分数纳秒计数器组成。
3.根据权利要求2所述的提高PTP时间同步精度的方法,其特征在于,对时间漂移进行调整是通过对所述分数纳秒计数器调节来实现的。
4.根据权利要求1至3中任一项所述的提高PTP时间同步精度的方法,其特征在于,所述时间偏差是当前时间与基准时间的偏差值,这个偏差值由PTP引擎设置的内部寄存器来配置。
5.一种提高PTP时间同步精度的系统,其特征在于,包括PTP引擎,安装于介质访问控制层和物理层的接口处,用以对发出或接收到的每个PTP 消息报文打上时间戳;时间漂移调节器,用以对PTP时间计数器进行时间漂移调整;内部寄存器,用以对PTP时间计数器进行时间偏差调整,通过时间漂移调整和时间偏差调整得到调整后的PTP计数时间;误差判断模块,PTP消息报文在秒脉冲触发时,判断PTP计数时间是否落在整秒的-l/2f与+l/2f之间,只有落在整秒的-l/2f与+l/2f之间,才送出秒脉冲。
6.根据权利要求5所述的提高PTP时间同步精度的系统,其特征在于,所述PTP时间计数器由1个32位秒计数器,1个30位的纳秒计数器和1个32位的分数纳秒计数器组成。
7.根据权利要求6所述的提高PTP时间同步精度的系统,其特征在于,所述时间漂移调整是通过对所述分数纳秒计数器调节来实现的。
8.根据权利要求5所述的提高PTP时间同步精度的系统,其特征在于,所述时间偏差是当前时间与基准时间的偏差值。
9.根据权利要求5至8中任一项所述的提高PTP时间同步精度的系统,其特征在于,所述PTP引擎为现场可编程门阵列或专用集成电路实现的PTP引擎。
全文摘要
本发明提供一种提高PTP时间同步精度的方法及系统,其中方法包括以下步骤在靠近物理层处,对发出或接收到的每个PTP消息报文打上时间戳;通过时间漂移调整和时间偏差调整得到调整后的PTP计数时间;PTP消息报文在秒脉冲触发时,判断PTP计数时间是否落在整秒的-1/2f与+1/2f之间,只有落在整秒的-1/2f与+1/2f之间,才送出秒脉冲。本发明通过PTP计数器秒翻转时,对纳秒落在允许的精度范围时做出是否送出PTP时钟输出信号的判断,从而使同步精度相比PTP计数分辨率提高一倍,在PTP使能的主从节点连接中实现纳秒级的同步精度。
文档编号H04L7/00GK102404103SQ20111036760
公开日2012年4月4日 申请日期2011年11月18日 优先权日2011年11月18日
发明者杨崇朋, 许俊 申请人:盛科网络(苏州)有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1