首页> 中国专利> 一种分布式系统中实时时钟的同步方法、主控板和线卡板

一种分布式系统中实时时钟的同步方法、主控板和线卡板

摘要

本发明提供了一种分布式系统中实时时钟的同步方法、主控板和线卡板。所述方法包括:A,主用主控板周期性地将时钟信息编码为串行数据帧并通过所述第一信号线发送出去,所述时钟信息为所述第一实时时钟芯片的当前实时时钟与发送所述串行数据帧所需要的时长之和;B,线卡板接收主用主控板周期性地下发的所述串行数据帧,获取其中的时钟信息并保存为线卡板的当前实时时钟。按照本发明,可以节约实现实时时钟同步所需成本。

著录项

  • 公开/公告号CN101296066A

    专利类型发明专利

  • 公开/公告日2008-10-29

    原文格式PDF

  • 申请/专利权人 杭州华三通信技术有限公司;

    申请/专利号CN200810115945.2

  • 发明设计人 赵磊;徐在水;

    申请日2008-06-30

  • 分类号H04L7/00(20060101);H04L1/00(20060101);H04L1/16(20060101);

  • 代理机构11243 北京银龙知识产权代理有限公司;

  • 代理人张敬强

  • 地址 310053 浙江省杭州市高新技术产业开发区之江科技工业园六和路310号华为杭州生产基地

  • 入库时间 2023-12-17 20:58:06

法律信息

  • 法律状态公告日

    法律状态信息

    法律状态

  • 2023-08-25

    专利权的转移 IPC(主分类):H04L 7/00 专利号:ZL2008101159452 登记生效日:20230809 变更事项:专利权人 变更前权利人:新华三技术有限公司 变更后权利人:北京紫光通信科技集团有限公司 变更事项:地址 变更前权利人:310052 浙江省杭州市滨江区长河路466号 变更后权利人:100088 北京市海淀区知春路7号致真大厦B座24层

    专利申请权、专利权的转移

  • 2017-05-24

    专利权人的姓名或者名称、地址的变更 IPC(主分类):H04L7/00 变更前: 变更后: 申请日:20080630

    专利权人的姓名或者名称、地址的变更

  • 2010-12-08

    授权

    授权

  • 2009-01-14

    实质审查的生效

    实质审查的生效

  • 2008-10-29

    公开

    公开

说明书

技术领域

本发明涉及分布式系统中的实时时钟的同步技术,具体涉及一种分布式系统中实时时钟的同步方法、主控板和线卡板。

背景技术

分布式双主控网络设备通常包括主用主控板、备用主控板和多个线卡板。在分布式系统中,业务通常是由线卡板处理,因此,主控板和线卡板的上层软件都需要看到本板上的系统绝对时间,包括年/月/日/时/分/秒/毫秒,而不仅仅是主控板和线卡板之间的相对时间。例如,线卡板上的上层软件需要在线卡板入口处对数据以1ms精度打上时间戳,在主控板上则根据该时间戳对该数据进行相应处理。可以看出,主控板和线卡板之间的系统绝对时间还需要保持同步,通常误差不能超过1ms。

实现分布式双主控系统中实时时钟同步的最简单的方案是:在各个主控板和线卡上分别设置实时时钟(RTC,Real-Time Clock)芯片,用于对本板的实时时钟进行计时:在系统启动时,由主控板统一系统中的各个RTC芯片的起始时间后,各RTC才开始计时,以保证双主控板和各个线卡板的实时时钟相一致。该同步方案至少存在以下缺点:

1、主控板和各个线卡上都需要增加实时时钟芯片,这会在一定程度上增加系统的成本;

2、主控板和线卡板上的实时时钟芯片都是自行计时,由于芯片器件之间必然存在一定的差异性,即使统一了起始计时时间,仍然会导致实时时钟之间存在一定的误差,而且随着运行时间的不断增加,该误差会越来越大。

发明内容

本发明所要解决的技术问题是提供一种分布式系统中实时时钟的同步方法、主控板和线卡板,降低实现实时时钟同步所需要的成本、减小板卡间的同步误差。

为解决上述技术问题,本发明提供方案如下:

一种分布式系统中实时时钟的同步方法,所述分布式系统包括线卡板和设置有第一实时时钟芯片的主用主控板,所述主用主控板和线卡板之间连接有第一信号线,所述方法还包括以下步骤:

A,主用主控板周期性地将第一时钟信息编码为第一串行数据帧并通过所述第一信号线发送出去,所述第一时钟信息为所述第一实时时钟芯片的当前实时时钟与发送所述第一串行数据帧所需要的时长之和;

B,线卡板接收主用主控板周期性地下发的所述第一串行数据帧,获取其中的第一时钟信息并保存为线卡板的当前实时时钟。

上述方法中,所述分布式系统还包括设置有第二时钟芯片的备用主控板,所述备用主控板与所述主用主控板之间连接有串行传输速率与第一信号线相同的第二信号线;

所述步骤A中,所述主用主控板进一步将所述第一串行数据帧通过第二信号线发送至备用主控板;

所述备用主控板接收主用主控板下发的第一串行数据帧,获取其中携带的第一时钟信息,并根据该第一时钟信息设置所述第二时时钟芯片的当前实时时钟。

上述方法中,所述备用主控板与线卡板之间还连接有第三信号线,所述方法还包括:

备用主控板进一步周期性地将第二时钟信息编码为第二串行数据帧并通过所述第三信号线发送出去,所述第二时钟信息为所述第二实时时钟芯片的当前实时时钟与发送所述第二串行数据帧所需要的时长之和;

线卡板进一步在判断所述主用主控板的时钟源发生故障时,从所述第三信号线上接收所述第二时钟信息,并保存为自身的当前实时时钟。

上述方法中,所述第一串行数据帧的帧长为第一预定值,所述步骤A具体包括:

主用主控板根据所述第一串行数据帧的帧长和所述第一信号线的串行传输速率,确定发送所述第一串行数据帧的所需要的时长;

主用主控板按照预定周期执行:获取所述第一实时时钟芯片的当前实时时钟,并与所述时长相加得到第一时钟信息;按照预定帧格式将所述第一时钟信息编码为所述第一串行数据帧并通过所述第一信号线发送出去。

上述方法中,所述步骤B中,线卡板进一步在当前第一串行数据帧接收完成时,将从当前第一串行数据帧中获取的所述第一时钟信息保存为线卡板的当前实时时钟。

上述方法中,所述第一预定值等于所述预定周期与所述第一信号线的串行传输速率之积;所述第一串行数据帧中包括有用于指示本串行数据帧结束的帧结束位,所述帧结束位的数据为第二预定值,且所述第一串行数据帧中只有所述帧结束位的数据为该第二预定值;

所述步骤B具体包括:

B1,线卡板设置时钟计数器,通过接收时钟对第一信号线上的串行数据流进行采样接收,并在第一次接收到所述第二预定值的帧结束位后,启动该时钟计数器从零开始对所述接收时钟进行累加计数,该计数器在计数值达到所述第一预定值时,将清零自身的计数值并重新计数;

B2,将在该时钟计数器的计数值从零到所述第一预定值的计数过程中接收到的第一串行数据作为当前第一串行数据帧,并在计数值达到所述第一预定值时,判断当前第一串行数据帧接收完成,并从当前第一串行数据帧中获取所述第一时钟信息并保存为线卡板的当前实时时钟。

上述方法中,所述线卡板还设置有第一计数器,所述第一串行数据帧还包括有校验位和具有预定数值的位置固定的比特组,所述步骤B2具体包括:

将在该时钟计数器的计数值从零到所述第一预定值的计数过程中接收到的第一串行数据作为当前第一串行数据帧,并判断:

如果当前第一串行数据帧中的所述比特组对应位置上接收到的数据与该比特组的预定数值相匹配,且当前第一串行数据帧校验位校验正确,则判断当前第一串行数据帧没有发生错误,对第一计数器执行清零操作,并将当前第一串行数据帧中的第一时钟信息保存为线卡板的当前实时时钟;

如果当前第一串行数据帧校验位校验错误,或者当前第一串行数据帧中的所述比特组对应位置上接收到的数据与该比特组的预定数值不匹配,则判断当前第一串行数据帧发生错误,对第一计数器执行累加计数,并将上次保存的线卡板的实时时钟与所述预定周期的和值保存为线卡板的当前实时时钟。

上述方法中,所述线卡板进一步在所述第一计数器达到预定阈值时,判断所述主用主控板的时钟源发生故障。

上述方法中,主用主控板进一步将本板上发送所述第一串行数据帧的发送时钟下发到线卡板和备用主控板,线卡板或备用主控板进一步根据所述发送时钟接收所述第一串行数据帧。

本发明还提供了一种主控板,包括有第一实时时钟芯片,,还包括时钟信息单元和时钟下发单元,其中,

所述时钟信息单元,用于按照预定周期,周期性执行:从所述第一实时时钟芯片处获取当前实时时钟,并与所述时钟下发单元发送帧长为第一预定值的串行数据帧所需要的时长相加得到时钟信息,并触发所述时钟下发单元;

所述时钟下发单元,通过第一信号线连接至外部的线卡板,用于根据所述触发,将所述时钟信息单元得到的时钟信息编码为帧长为第一预定值的串行数据帧,并通过所述第一信号线发送出去。

上述主控板中,所述时钟信息单元,进一步用于根据所述第一串行数据帧的帧长和所述第一信号线的串行传输速率,确定发送所述第一串行数据帧的所需要的时长。

上述主控板中,还包括:

发送时钟下发单元,用于将本板上的发送所述第一串行数据帧的发送时钟下发到线卡板。

本发明还提供了一种线卡板,包括:

接收单元,通过第一信号线与外部的主用主控板连接,用于接收主用主控板按照预定周期下发的第一串行数据帧,所述第一串行数据帧是:所述主用主控板将自身的当前实时时钟与本主控板发送该第一串行数据帧所需要的时长相加得到第一时钟信息,并对该第一时钟信息进行编码后得到的串行数据帧;

时钟存储单元,用于从所述第一串行数据帧中获取所述第一时钟信息,并保存为线卡板的当前实时时钟。

上述线卡板中,所述接收单元,还通过第三信号线与外部的备用主控板连接,用于接收备用主控板按照预定周期下发的第二串行数据帧,所述第二串行数据帧是:所述备用主控板将自身的当前实时时钟与本主控板发送该第二串行数据帧所需要的时长相加得到第二时钟信息,并对该第二时钟信息进行编码后得到的串行数据帧;

时钟存储单元,进一步用于在判断所述主用主控板的时钟源发生故障时,从所述第二串行数据帧中获取所述第二时钟信息,并保存为线卡板的当前实时时钟。

上述线卡板中,所述时钟存储单元,进一步用于在所述接收单元对当前第一串行数据帧的接收完成时,将从当前第一串行数据帧中获取的所述第一时钟信息保存为线卡板的当前实时时钟。

上述线卡板中,所述第一串行数据帧的帧长为第一预定值,该第一预定值等于所述预定周期与所述第一信号线的串行传输速率之积,且所述第一串行数据帧中设置有用于指示本串行数据帧结束的帧结束位,所述帧结束位上的数据为第二预定值,且所述第一串行数据帧中只有所述帧结束位上的数据为该第二预定值;

所述接收单元,还用于在第一次接收到所述第二预定值的帧结束位后,启动时钟计数器从零开始对所述第一串行数据帧的接收时钟进行累加计数,并在计数值达到所述第一预定值时,将时钟计数器的计数值清零并重新计数;并将在该时钟计数器的计数值从零到所述第一预定值的计数过程中接收到的第一串行数据作为当前第一串行数据帧,并在计数值达到所述第一预定值时,判断当前第一串行数据帧接收完成。

上述线卡板中,所述第一串行数据帧还包括有校验位和具有预定数值的位置固定的比特组,所述线卡板还包括:

判断单元,用于设置第一计数器,并在当前第一串行数据帧中的所述比特组对应位置上接收到的数据与该比特组的预定数值相匹配,且当前第一串行数据帧校验位校验正确时,判断当前第一串行数据帧没有发生错误,对第一计数器执行清零操作;以及在当前第一串行数据帧校验位校验错误,或者当前第一串行数据帧中的所述比特组对应位置上接收到的数据与该比特组的预定数值不匹配时,判断当前第一串行数据帧发生错误,对第一计数器执行累加计数;

所述时钟存储单元,还用于在所述判断单元判断当前第一串行数据帧没有发生错误时,将当前第一串行数据帧中的第一时钟信息保存为线卡板的当前实时时钟;以及在所述判断单元判断当前第一串行数据帧发生错误时,将上次保存的线卡板的实时时钟与所述预定周期的和值保存为线卡板的当前实时时钟。

上述线卡板中,所述判断单元,还用于在所述第一计数器达到预定阈值时,判断所述主用主控板的时钟源发生故障。

从以上所述可以看出,本发明提供的一种分布式系统中实时时钟的同步方法、主控板和线卡板,至少具有以下的有益效果:

1、本发明中线卡板通过接收主用主控板下发的时钟信息,将该时钟信息作为自身的实时时钟进行保存,从而无需在线卡板上设置RTC芯片,节约了实时时钟同步所需成本。

2、由于主控板是按照预定周期持续地将时钟信息下发到各线卡板,线卡板据此周期性地更新自身的实时时钟,因此,本实施例所述同步方法不存在现有技术中同步误差随着运行时间的增加而增大的问题。

3、本发明中主控板周期性地下发时钟信息,因此,能够对新插入的板卡快速地实现时钟同步。并且,本发明还可以通过额外的另一根信号线下发发送时钟,线卡板根据该发送时钟对串行数据帧进行采样,提高了线卡板对串行数据采样的准确性和可靠性。

4、本发明中线卡板同时接收来自主用主控板和备用主控板的时钟信息,从而线卡板能够在主用主控板的时钟源发生故障时,能够快速的将时钟源切换到备用主控板,提高了系统的可靠性。

附图说明

图1为本发明实施例所述分布式系统的结构示意图;

图2为本发明实施例所述实时时钟的同步方法的流程图。

具体实施方式

本发明只在分布式系统中的主控板上设置RTC芯片,而在线卡板上不再设置RTC芯片,由主控板周期性地向线卡板下发时钟信息,线卡板接收该时钟信息,并将该时钟信息作为自身当前的实时时钟进行保存。以下结合附图通过具体实施例对本发明作进一步说明。

如图1所示,本发明实施例所述分布式系统中包括有主用主控板、备用主控板、线卡板1和线卡板2。当然,该系统中还可以包括更多的线卡板,每张线卡板都具有与线卡板1相同的结构。图1中,主用主控板和备用主控板上都设置有用于对实时时钟计时的RTC芯片,而各线卡板上都没有RTC芯片。主用主控板和各线卡板之间通过一根第一信号线连接,该第一信号线用于向线卡板传送主用主控板上的时钟信息。由于实时时钟包括年/月/日/时/分/秒/毫秒等部分,因此,需要将时钟信息按照预定的帧格式编码为串行数据帧后,然后,再通过该第一信号线将时钟信息以串行数据流的方式发送到线卡板。

由于主控板通过第一信号线将一个串行数据帧完整的发送出去需要一定的时间,假设该段时间为ΔT,假设主控板发送该串行数据帧的起始时间为T0,则在(T0+ΔT)时刻该串行数据帧发送完毕。考虑到电信号的传输速度很快,串行数据帧在第一信号线上的传输时延可以忽略,因此,可以认为,几乎在该串行数据帧发送完毕的同时,线卡板就已经完全接收到该串行数据帧,并能够得到该串行数据帧中的时钟信息(本实施例对主控板和线卡板上的数据处理时延忽略不计时)。可以看出,为了保证主控板和线卡板之间的同步,主控板下发的时钟信息应该为主控板的当前实时时钟与主控板通过第一信号线发送一个完整的串行数据帧所需要的时长的和值。其中,通过将该串行数据帧的帧长除以所述第一信号线的串行传输速率,就可以得到发送一个完整的串行数据帧所需要的时长。

本实施例中,第一信号线上的串行传输速率为1MHz,主控板每隔0.1ms发送1个串行数据帧,如果主控板持续地通过第一信号线发送串行数据流,那么,每个串行数据帧的帧长是1MHz×0.0001s=100bit。因此,本实施例中所述串行数据帧采用如表1所示的帧格式。该串行数据帧的帧长为100比特(bit),顺序包括2bit的帧起始位、48bit的时钟信息位(包括年/月/日/时/分/秒/毫秒)、8bit的校验位、2bit的时钟终止位和40bit的帧结束位。各部分的数值如表1所示,其中“XX”表示非固定数值。

  帧  起始位  年  月  日  时  分  秒  毫  秒  校验位  时钟  终止位  帧  结束位 位数(bit)  2  12  4  5  5  6  6  10  8  2  40 数值  全0  XX  XX  XX  XX  XX  XX  XX  XX  全0  全1

表1

按照表1所示的帧结构,对时钟信息进行编码只需要将时钟信息中的年/月/日/时/分/秒/毫秒各部分的数值转化为对应的2进制的数值既可,例如,2008年可以转化为12位的“011111011000”(12位的二进制数最多能标识到4096年,已经能完全满足一般应用),12时可以转化为五位的“01100”。

根据表1中的帧结构中,帧结束位是连续40比特位的高电平(数字信号“1”),在正常情况下,具有该帧结构的串行数据帧中只有在该帧结束位才可能出现连续的40个高电平,因此,线卡板在接收到40个高电平后,即可判断当前串行数据帧接收完成,紧接着的下一位数据就是下一个串行数据帧中的帧起始位,从而开始下一个串行数据帧的接收。当然,这里40个高电平只是本实施例采用的一种帧结束位。帧结束位还可以采用其它类似的特定数值,只要满足在串行数据帧中只有所述帧结束位的数据为该特定数值,使得线卡板能够据此为串行数据帧定界即可。

表1中的帧结构中,各部分的位置和长度都是固定的,因此,线卡板可以在对第一信号线上的串行数据流按照串行数据帧定界后,即可以在串行数据帧的各个位置上接收对应的数据。上述帧结构中,还存在有位置和数值都是预先确定的比特组,包括:用于指示本串行数据帧起始的帧起始位(在串行数据帧中的第1~2比特位,取值为“00”)、用于指示时钟信息结束的时钟终止位(在串行数据帧中的第59~60比特位,取值为“00”)和用于指示本串行数据帧结束的帧结束位(在串行数据帧中的第61~100比特位,取值为40个“1”),因此,线卡板还可以进一步根据当前串行数据帧的上述比特组上接收到的数据是否与该比特组的预定数值相匹配,来判断当前接收到的串行数据帧是否发生错误。上述帧结构中,还包括有校验位,校验位中保存有按照预定的校验算法对时钟信息位进行校验后得到的校验结果。线卡板还可以对接收到的时钟信息位进行校验,并根据接收到的校验位中的数据,来判断当前接收到的串行数据帧是否发生错误。

参照图2,本实施例所述实时时钟的同步方法包括以下步骤:

步骤21,主用主控板按照预定周期(0.1ms),周期性地执行:从本板上的RTC芯片处获取当前实时时钟,并与发送一个完整的串行数据帧所需要的时长相加得到时钟信息;按照表1中的帧结构将所述时钟信息编码为所述串行数据帧并通过所述第一信号线发送出去。

本步骤中,串行数据帧的帧长为第一预定值(帧长的单位是bit,本实施例中第一预定值为100),发送该串行数据帧所需要的时长可以根据帧长和第一信号线的串行传输速率计算得到。

步骤22,线卡板接收主用主控板周期性地下发的所述串行数据帧,获取其中的时钟信息并保存为线卡板的当前实时时钟。

本步骤中,线卡板周期性地接收到所述串行数据帧:按照该数据帧的帧结构,对当前串行数据帧中的时钟信息位进行解码,得到时钟信息;并在当前串行数据帧接收完成时,将从当前串行数据帧中获取的所述时钟信息保存为线卡板的当前实时时钟。

本步骤中,线卡板可以根据帧结束位对第一信号线上的数据流进行帧定界,确定每一串行数据帧的范围。具体的,本步骤可以包括:

步骤221,线卡板设置时钟计数器,通过接收时钟对第一信号线上的串行数据流进行采样接收,并在第一次接收到帧结束位后,启动该时钟计数器从零开始对所述接收时钟进行计数,该计数器在计数值达到所述第一预定值(本实施例为100)时,将清零自身的计数值并重新计数;

步骤222,将在该时钟计数器的计数值从零到所述第一预定值的计数过程中接收到的串行数据作为当前串行数据帧,并在计数值达到所述第一预定值时,判断当前串行数据帧接收完成,并从当前串行数据帧中获取所述时钟信息并保存为线卡板的当前实时时钟。

由于串行数据帧的传输过程中,系统中可能插入或拔出备用主控板和/或线卡板,这些插拔动作以及其它的干扰都可能对串行数据帧的传输带来影响,导致线卡板接收到的串行数据帧的某些比特位发生错误,从而可能造成同步结果出现误差或错误。根据表1所示的帧结构,本实施例的串行数据帧中还包括有校验位和设置在固定位置处的具有预定数值的比特组。为了提高同步的准确性,本实施例还进一步在线卡板处对接收到的串行数据帧,利用所述校验位进行校验,以及判断串行数据帧的上述比特组对应位置上接收到的数据是否与该比特组的预定数值相匹配,来判断当前串行数据帧是否发生错误,因此,上述步骤222可以具体包括:

设置有第一计数器,对连续发生错误的串行数据帧进行计数;

将在时钟计数器的计数值从零到所述第一预定值的计数过程中接收到的串行数据作为当前串行数据帧,并判断当前串行数据帧是否发生错误:

如果当前串行数据帧中的所述比特组对应位置上接收到的数据与该比特组的预定数值相匹配,且当前串行数据帧校验位校验正确,则判断当前串行数据帧没有发生错误,此时,对第一计数器执行清零操作,并将当前串行数据帧中的时钟信息保存为线卡板的当前实时时钟;

如果当前串行数据帧校验位校验错误,或者当前串行数据帧中的所述比特组对应位置上接收到的数据与该比特组的预定数值不匹配,则判断当前串行数据帧发生错误,此时,对第一计数器执行累加计数(加1计数),并将上次保存的线卡板的实时时钟与所述预定周期(本实施例中为0.1ms)的和值保存为线卡板的当前实时时钟。

这样,通过上述处理,在串行数据帧发生错误时,本实施例中使用上一次保存的时钟和预定周期之和作为当前的实时时钟,从而减小了同步误差和避免出现同步错误,提高了时钟同步的准确性。

以上说明了线卡板如何与主用主控板之间实现同步。本实施例的双主控系统中,备用主控板上也设置有RTC芯片。本实施例中,备用主控板也可以按照与主用主控板相同的方式,将自身的时钟信息发送给各线卡板。在正常情况下,线卡板使用主用主控板下发的时钟信息作为时钟源,进行实时时钟同步;当所述第一计数器达到预定阈值(本实施例中该预定阈值取3)时,即线卡板连续接收到3个错误的串行数据帧(该错误可能是主用主控板的RTC芯片发生故障或主用主控板和线卡板之间的串行数据传输故障所引起)时,线卡板将时钟源切换到备用主控板,根据备用主控板下发的时钟信息,并保存为自身的实时时钟。

为避免不平滑的实时时钟切换,备用主控板的实时时钟要跟踪主用主控板的实时时钟,因此,本实施例中备用主控板与所述主用主控板之间还可以连接有一根串行传输速率与所述第一信号线相同的第二信号线,主用主控板进一步将所述串行数据帧通过第二信号线发送至备用主控板;备用主控板接收主用主控板下发的所述串行数据帧,获取其中携带的时钟信息,并根据该时钟信息设置所述第二时时钟芯片的当前实时时钟,使得主控板之间的实时时钟保持一致。

在上述同步过程中,线卡板和备用主控板都是使用自身的接收时钟信号接收主用主控板发送的串行数据帧,线卡板(备用主控板)和主用主控板之间只需一根信号线就可以实现实时时钟同步。本实施例中,还可以在线卡板(或备用主控板)和主用主控板之间增加一根信号线,由主用主控板通过该信号线将自身发送所述串行数据帧的发送时钟统一下发到各线卡板(或备用主控板),线卡板(或备用主控板)将该发送时钟作为接收所述串行数据帧的接收时钟,从而可以进一步提高对串行数据采样的准确性和可靠性。

从以上所述可以看出,本实施例所述实时时钟的同步方法,线卡板通过接收主用主控板下发的时钟信息,将该时钟信息作为自身的实时时钟进行保存,使得主控板和线卡板之间的实时时钟同步的精度达到1ms。对于实时时钟的获取、发送以及接收处理,则可以利用各个板卡上的原有的CPU或复杂可编程逻辑器件备(CPLD,Complex Programmable Logic Device)进行处理,从而无需在线卡板上设置RTC芯片,即可实现实时时钟同步,节约了实时时钟同步所需成本。并且,由于主控板是按照预定周期持续地将时钟信息下发到各线卡板,线卡板据此周期性地更新自身的实时时钟,因此,本实施例所述同步方法不存在现有技术中同步误差随着运行时间的增加而增大的问题。本实施例所述方法,由于主控板周期性地下发时钟信息,因此,能够对新插入的板卡快速地实现时钟同步。本实施例最少只需要一根信号线即可在主控板和线卡板之间实现实时时钟同步,并且,还可以通过额外的另一根信号线下发发送时钟,线卡板根据该发送时钟对串行数据帧进行采样,提高了线卡板对串行数据采样的准确性和可靠性。最后,本实施例还提供了一种实时时钟冗余备份的系统,在来自主用主控板的时钟信息发生故障时,能够快速的将时钟源切换到备用主控板。

以下再结合图1,说明主用主控板和线卡板的具体结构。

如图1所示,所述主用主控板包括:

第一实时时钟芯片,用于对实时时钟进行计时;

时钟信息单元,用于按照预定周期,周期性执行:从所述第一实时时钟芯片处获取当前实时时钟,并与所述时钟下发单元发送帧长为第一预定值的串行数据帧所需要的时长相加得到时钟信息,并触发所述时钟下发单元;其中,所述第一预定值等于所述预定周期与所述第一信号线的串行传输速率之积;

时钟下发单元,通过第一信号线连接至外部的线卡板,用于根据所述触发,将所述时钟信息单元得到的时钟信息编码为帧长为第一预定值的串行数据帧,并通过所述第一信号线发送出去。

这里,所述时钟信息单元,还可以进一步用于根据所述串行数据帧的帧长和所述第一信号线的串行传输速率,确定发送所述串行数据帧的所需要的时长。所述时钟下发单元,进一步用于在所述串行数据帧中设置用于指示本串行数据帧结束的帧结束位,所述帧结束位上的数据为第二预定值,且所述串行数据帧中只有所述帧结束位上的数据为该第二预定值。

为了提高线卡板对串行数据采样的准确性和可靠性,所述主用主控板还可以包括:发送时钟下发单元,用于将本板上的发送所述串行数据帧的发送时钟下发到线卡板。

图1中还包括有备用主控板,该备用主控板包括有与主用主控板功能相类似的实时时钟芯片(第二实时时钟芯片)、时钟信息单元和时钟下发单元外,还包括有接收单元,用于接收主用主控板发送的所述串行数据帧,获取其中携带的时钟信息,并根据该时钟信息设置所述第二时时钟芯片的当前实时时钟。

如图1所示,所述线卡板具体包括:

接收单元,通过第一信号线与外部的主用主控板连接,用于接收主用主控板按照预定周期下发的第一串行数据帧,所述第一串行数据帧是:所述主用主控板将自身的当前实时时钟与本主控板发送该第一串行数据帧所需要的时长相加得到第一时钟信息,并对该第一时钟信息进行编码后得到的;

时钟存储单元,用于从所述第一串行数据帧中获取所述第一时钟信息,并保存为线卡板的当前实时时钟。

在系统中还包括有备用主控板时,所述接收单元,还可以通过第三信号线与所述备用主控板连接,用于接收备用主控板按照预定周期下发的第二串行数据帧,所述第二串行数据帧是:所述备用主控板将自身的当前实时时钟与本主控板发送该第二串行数据帧所需要的时长相加得到第二时钟信息,并对该第二时钟信息进行编码后得到的串行数据帧;所述时钟存储单元,进一步用于在判断所述主用主控板的时钟源发生故障时,从所述第二串行数据帧中获取所述第二时钟信息,并保存为线卡板的当前实时时钟。

这里,所述时钟存储单元,还可以进一步用于在所述接收单元对当前第一串行数据帧的接收完成时,将从当前第一串行数据帧中获取的所述第一时钟信息保存为线卡板的当前实时时钟。

这里,所述第一串行数据帧的帧长为第一预定值,该第一预定值等于所述预定周期与所述第一信号线的串行传输速率之积,且所述第一串行数据帧中设置有用于指示本串行数据帧结束的帧结束位,所述帧结束位上的数据为第二预定值,且所述第一串行数据帧中只有所述帧结束位上的数据为该第二预定值。所述接收单元,还可以在第一次接收到所述第二预定值的帧结束位后,启动时钟计数器从零开始对所述第一串行数据帧的接收时钟进行计数,并在计数值达到所述第一预定值时,将时钟计数器的计数值清零并重新计数;并将在该时钟计数器的计数值从零到所述第一预定值的计数过程中接收到的第一串行数据作为当前第一串行数据帧,并在计数值达到所述第一预定值时,判断当前第一串行数据帧接收完成。

为了减小时钟同步误差,避免出现同步错误,所述第一串行数据帧还可以包括有校验位和具有预定数值的位置固定的比特组,并且,所述线卡板中还可以包括有判断单元,用于设置第一计数器,并在当前第一串行数据帧中的所述比特组对应位置上接收到的数据与该比特组的预定数值相匹配,且当前第一串行数据帧校验位校验正确时,判断当前第一串行数据帧没有发生错误,对第一计数器执行清零操作;以及在当前第一串行数据帧校验位校验错误,或者当前第一串行数据帧中的所述比特组对应位置上接收到的数据与该比特组的预定数值不匹配时,判断当前第一串行数据帧发生错误,对第一计数器执行加1计数。从而,所述时钟存储单元,还用于在所述判断单元判断当前第一串行数据帧没有发生错误时,将当前第一串行数据帧中的第一时钟信息保存为线卡板的当前实时时钟;以及在所述判断单元判断当前第一串行数据帧发生错误时,将上次保存的线卡板的实时时钟与所述预定周期的和值保存为线卡板的当前实时时钟。所述判断单元,还可以用于在所述第一计数器达到预定阈值时,判断所述主用主控板的时钟源发生故障。

为了提高线卡板对串行数据采样的准确性和可靠性,所述接收单元,还可以用于通过与所述主用主控板连接的第二信号线接收主用主控板用于发送所述串行数据帧的发送时钟,并使用该发送时钟接收所述串行数据帧。

综上所述,本发明实施例所述分布式系统中实时时钟的同步方法、主控板和线卡板,通过周期性下发主控板的实时时钟,从而无需线卡板设置RTC芯片,即可实现实时时钟同步。

本发明所述分布式系统中实时时钟的同步方法、主控板和线卡板,并不仅仅限于说明书和实施方式中所列运用,它完全可以被适用于各种适合本发明之领域,对于熟悉本领域的人员而言可容易地实现另外的优点和进行修改,因此在不背离权利要求及等同范围所限定的一般概念的精神和范围的情况下,本发明并不限于特定的细节、代表性的设备和这里示出与描述的图示示例。

去获取专利,查看全文>

相似文献

  • 专利
  • 中文文献
  • 外文文献
获取专利

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号