时钟同步方法、装置及网络设备的制作方法

文档序号:7869109阅读:168来源:国知局
专利名称:时钟同步方法、装置及网络设备的制作方法
技术领域
本发明涉及时钟同步技术,尤其涉及一种时钟同步方法、装置及网络设备。
背景技术
在现代通信网络中,大多数电信业务的正常运行要求全网设备之间的频率或时间差异保持在合理的误差水平内,即网络时钟同步。网络时钟同步包括频率同步和时间同步两个概念。所谓频率同步就是时钟同步,是指信号之间的频率或相位上保持某种严格的特定关系,信号在其相对应的有效瞬间以同一平均速率出现,以维持通信网络中所有的设备以相同的速率运行,即信号之间保持恒定相位差。伴随计算机 网络的快速发展,越来越多的应用对时钟同步精度提出了较高的需求,IEEE1588协议的诞生满足了该需求,使用IEEE1588协议设计或集成的系统能够在不增加网络负荷的情况下,实现整个系统中各类不同精度、不同稳定性的时钟的高精度同步,有效解决分布式系统中的实时性问题,进一步改善与提高系统精度。IEEE1588协议实际上是网络测量和控制系统的精确时间同步协议(Precision Clock SynchronizationProtocol For Networked Measurement and Control Systems),通常简称为精确时间协议(Precision Time Protocol,简称为 PTP)。在现有技术中,最先是基于嵌入式系统实现ΙΕΕΕ1588协议,以进行时钟同步,但是在实现过程中,由于嵌入式系统受到数据帧多级缓冲时延不稳定、晶振频率漂移、中断服务程序响应时间等因素限制,很难达到微秒级的同步精度。为此,出现一种采用硬件协助打时间戳的方式实现ΙΕΕΕ1588协议,采用硬件协助打时间戳的方法,即在物理层芯片或是交换芯片打上时间戳,实现了亚微秒级的精度同步,满足高实时性、高精度的同步数据采集、记录和分析的需求,但是,在硬件芯片上维持PTP完整80比特时间计数器的话,大大增加了硬件的代价,并且中央处理器(Central Processing Unit,简称为CPU)频繁读取物理层芯片或交换芯片打上的时间戳,大大影响了系统效率。

发明内容
本发明提供一种时钟同步方法、装置及网络设备,用以提高时钟同步的精度,降低对系统效率的影响并降低硬件上的实现代价。第一方面提供一种时钟同步装置,包括至少一个硬件芯片、中央处理器CPU和逻辑控制芯片;所述硬件芯片,用于接收对端装置发送的第一精确时间协议PTP事件报文,并记录所述第一 PTP事件报文到达所述硬件芯片的第一时间戳,将所述第一 PTP事件报文的校正CF域中的校正值减去所述第一时间戳,然后将所述第一 PTP事件报文发送给所述CPU ;所述CPU,用于接收所述硬件芯片发送的所述第一 PTP事件报文,将所述第一 PTP事件报文发送给所述逻辑控制芯片;所述逻辑控制芯片,用于接收所述CPU发送的所述第一 PTP事件报文并记录所述第一 PTP事件报文到达所述逻辑控制芯片的PTP时间戳,根据所述第一 PTP事件报文和所述PTP时间戳,计算出所述逻辑控制芯片的第一 PTP系统时间与所述对端装置的第二 PTP系统时间之间的第一时间偏差,并根据所述第一时间偏差与所述对端装置进行时钟同步。第二方面提供一种时钟同步方法,包括时钟同步装置的硬件芯片接收对端装置发送的第一精确时间协议PTP事件报文,记录所述第一 PTP事件报文到达所述硬件芯片的第一时间戳,将所述第一 PTP事件报文的校正CF域中的校正值减去所述第一时间戳,然后将所述第一 PTP事件报文发送给所述时钟同步装置的中央处理器CPU;所述CPU将所述第一 PTP事件报文发送给所述时钟同步装置的逻辑控制芯片;所述逻辑控制芯片记录所述第一 PTP事件报文到达所述逻辑控制芯片的PTP时间戳,根据所述第一 PTP事件报文和所述PTP时间戳计算出所述逻辑控制芯片的第一 PTP系统时间与所述对端装置的第二 PTP系统时间之间的第一时间偏差,并根据所述第一时间偏差与所述对端装置进行时钟同步。第三方面提供一种网络设备,包括第一方面提供的任一时钟同步装置。本发明提供的时钟同步方法、装置及网络设备,通过独立于硬件芯片的逻辑控制芯片实现IEEE1588协议以与对端装置进行时钟同步,CPU只需要将硬件芯片发送的PTP事件报文发送给逻辑控制芯片即可,不需要频繁的从PTP事件报文中读取时间戳,提高了系统效率,另一方面,由独立于硬件芯片的逻辑控制芯片的实现IEEE1588协议,硬件芯片上不需要维持PTP完整80比特时间计数器,无需做大的改动,有利于降低现有硬件芯片的实现代价,另外独立于硬件芯片的逻辑 控制芯片的实现也相对简单。


图1为本发明实施例提供的一种时钟同步装置的结构示意图;图2为本发明实施例提供的另一种时钟同步装置的结构示意图;图3为本发明实施例提供的信息包检测单元的状态机转换示意图;图4为本发明实施例提供的一种时钟同步方法的流程图。
具体实施例方式图1为本发明实施例提供的一种时钟同步装置的结构示意图。本实施例的时钟同步装置可以独立实现,也可以设置于需要进行时钟同步的设备中实现。需要进行时钟同步的设备例如可以是各种服务器。如图1所示,本实施例的时钟同步装置包括至少一个硬件芯片11、CPU12和逻辑控制芯片13。每个硬件芯片11与CPU12连接,CPU12与逻辑控制芯片13连接。 硬件芯片11,用于接收对端装置发送的第一 PTP事件报文,并记录第一 PTP事件报文到达该硬件芯片11的第一时间戳,将第一PTP事件报文的校正(Correction Field,简称为CF)域中的校正值减去第一时间戳,然后将第一 PTP事件报文发送给CPU12。CPU12,用于接收硬件芯片11发送的第一 PTP事件报文,将第一 PTP事件报文发送给逻辑控制芯片13。逻辑控制芯片13,用于接收CPU12发送的第一 PTP事件报文并记录第一 PTP事件报文到达逻辑控制芯片13的PTP时间戳,根据第一 PTP事件报文和记录的第一 PTP事件报文到达逻辑控制芯片13的PTP时间戳,计算出逻辑控制芯片13的第一 PTP系统时间与对端装置的第二 PTP系统时间之间的第一时间偏差,并根据该第一时间偏差与对端装置进行时钟同步。PTP协议定义了两种类型的报文,一是事件报文,它在收发时刻需要打时间戳,使用事件端口进行收发,该事件端口的端口号为319 ;二是普通报文,它在收发时刻无需打时间戳,使用通用端口进行收发,该通用端口的端口号为320。事件报文包括但不限于同步(Sync)报文、延迟请求(Delay_Req)报文、对等延迟请求(Pdelay_Req)报文和对等延迟响应(Pdelay_Resp)报文。相应的,普通报文包括但不限于通知(Announce)报文、跟随(Follow_Up)报文、延迟应答(Delay_Resp)报文、对等延迟应答跟随(Pdelay_Resp_Follow_Up)报文、管理(Managment)报文和信号(Signaling)报文。本实施例所述的各个PTP事件报文主要是指PTP协议定义的各种事件报文,但不限于此,也可以扩展到PTP协议定义的普通报文。另外,本发明实施例中的PTP事件报文符合PTP协议规定的格式,例如包括时间戳(Timestamp,简称为TS)域、CF域、PTP报文类型域、PTP报文序列号域和PTP报文端口域等。在此说明,本发明各实施例中,通过在PTP事件报文之前冠以“第一”、“第二”、“第三”等字样,对各PTP事件报文进行区分,这里的“第一”、“第二”、“第三”既不表示数量多少,也不表示先后顺序,各PTP事件报文收发的先后顺序是由具体的处理逻辑决定的。在本实施例时钟同步装置与对端装置进行通信过程中,需要进行时钟同步。所述对端装置是与本实施例时钟同步装置相对应的时钟同步装置。具体的,对端装置向本实施例时钟同步装置发送第一 PTP事件报文,该第一 PTP事件报文是由对端装置的逻辑控制芯片根据该逻辑控制芯片所使用的PTP系统时钟生成的。第一 PTP事件报文包括TS域和CF域,TS域用于记录对端装置的逻辑控制芯片发送第一PTP事件报文时的PTP系统时间,本实施例将这里记录的PTP系统时间称为发送第一 PTP事件报文时的PTP时间戳;CF域与TS域相对应,用于记录TS域中记录的PTP时间戳的校正值。其中,根据TS域中记录的PTP时间戳,获取其校正值的方式可以根据实际应用的不同而不同。在此说明,本发明各实施例中涉及的PTP时间戳是指逻辑控制芯片使用的PTP系统时钟的某个时间,而所涉及的时间戳是指硬件芯片的本地时钟的某个时间。本实施例的时钟同步装置的硬件芯片11接收对端装置发送的第一 PTP事件报文,记录第一 PTP事件报文到达该硬件芯片11的时间,本发明实施例将这里记录的时间记为第一时间戳,然后将第一 PTP事件报文的CF域中的校正值减去第一时间戳,以使用链路延迟对第一 PTP事件报文的CF域进行修正,然后将第一 PTP事件报文发送给CPU12,以使CPU12将第一 PTP事件报文发送给逻辑控制芯片13。逻辑控制芯片13接收CPU12发送的第一 PTP事件报文,记录第一 PTP事件报文到达逻辑控制芯片13的PTP系统时间,将这里记录的PTP系统时间记为第一 PTP事件报文到达逻辑控制芯片13的PTP时间戳,然后根据第一 PTP事件报文和所记录的第一事件报文到达逻辑控制芯片13的PTP时间戳,计算出逻辑控制芯片13使用的PTP系统时间与对端装置使用的PTP系统时间之间的第一时 间偏差,然后根据该第一时间偏差与所述对端装置进行时钟同步。这里为便于区分,将本实施例时钟同步装置中的逻辑控制芯片13使用的PTP系统时间记为第一 PTP系统时间,将对端装置使用的PTP系统时间记录第二 PTP系统时间。在时钟同步过程中,一般会有一个主设备,其它设备作为从设备,从设备以该主设备的时钟为准进行时钟同步。在一可选实施方式中,本实施例的时钟同步装置可以是从设备,则时钟同步装置中的逻辑控制芯片13还用于在计算出第一时间偏差之后,根据第一 PTP系统时间生成第二PTP事件报文,将第二 PTP事件报文发送给CPU12。CPU12,还用于接收逻辑控制芯片13发送的第二 PTP事件报文,将第二 PTP事件报文发送给硬件芯片11。可选的,CPU12会将第二 PTP事件报文发送给接收到第一 PTP事件报文的硬件芯片11,但不限于此。例如,CPU12还可以将第二 PTP事件报文发送给每个硬件芯片11。硬件芯片11,还用于接收CPU12发送的第二 PTP事件报文,记录第二 PTP事件报文到达硬件芯片11的第二时间戳,将第二 PTP事件报文的CF域中的校正值加上第二时间戳,然后将第二 PTP事件报文发送给对端装置,以使对端装置根据第二 PTP事件报文生成并返回第一 PTP系统时间与第二 PTP系统时间之间的第二时间偏差。其中,该第二时间偏差是通过硬件芯片11和CPU12发送到逻辑控制芯片13的。在该实施方式中,本实施例时钟同步装置为从设备,而对端装置为主设备。主设备接收到从设备返回的第二 PTP事件报文后,根据第二 PTP事件报文计算出主从设备的PTP系统时间之间的时间偏差,并将计算出的时间偏差返回给从设备。在该实施方式中,从设备计算出的时间偏差即第一时间偏差,为与从设备计算出的时间偏差相区分,这里将主设备计算出的时间偏差记为第二 时间偏差。可选的,第一 PTP事件报文可以是对端装置发送的同步报文,而第二 PTP报文可以是对同步报文的应答报文,例如可以是延迟请求报文。如果本实施例的时钟同步装置作为从设备,则逻辑控制芯片13用于根据第一时间偏差与对端装置进行时钟同步包括逻辑控制芯片13具体用于根据该第一时间偏差和第二时间偏差,对所使用的PTP系统时间进行校正,同时根据该校正后的PTP系统时间对每个硬件芯片11进行时钟同步,以与对端装置进行时钟同步。具体的,逻辑控制芯片13可以根据第一时间偏差和第二时间偏差,获得主从设备之间的平均时间偏差,然后根据该平均时间偏差对所使用的PTP系统时间进行校正。在该实施方式中,本实施例的时钟同步装置作为从设备,是在对端装置的控制下进行时钟同步的。在一可选实施方式中,本实施例时钟同步装置可以是主设备,则时钟同步装置中的逻辑控制芯片13还用于在接收第一 PTP事件报文之前,根据第一 PTP系统时间生成第三PTP事件报文,将第三PTP事件报文发送给CPU12。CPU12,还用于接收逻辑控制芯片13发送的第三PTP事件报文,将第三PTP事件报文发送给硬件芯片11。可选的,CPU12会将第三PTP事件报文发送给后续接收到第一 PTP事件报文的硬件芯片11,但不限于此。例如,CPU12还可以将第三PTP事件报文发送给每个硬件芯片11。硬件芯片11,还用于在接收第一 PTP事件报文之前,接收CPU12发送的第三PTP事件报文,记录第三PTP事件报文到达该硬件芯片11的第三时间戳,将第三PTP事件报文的CF域中的校正值加上第三时间戳,然后将第三PTP事件报文发送给对端装置,以使对端装置根据第三PTP事件报文生成第一 PTP系统时间和第二 PTP系统时间之间的第三时间偏差。在该实施方式中,本实施例时钟同步装置为主设备,而对端装置为从设备。主设备主动向从设备发送第三PTP事件报文,以使从设备根据第三PTP事件报文计算出主从设备的PTP系统时间之间的时间偏差,并返回对第三PTP事件报文的应答报文(即第一 PTP事件报文),以使主设备根据第一 PTP事件报文计算主从设备之间的PTP系统时间之间的时间偏差。在该实施方式中,主设备计算出的时间偏差即第一时间偏差,为与主设备计算出的时间偏差相区分,这里将从设备计算出的时间偏差记为第三时间偏差。可选的,第三PTP报文可以是同步报文,而第一 PTP报文可以是对端装置针对同步报文返回的应答报文,例如可以是延迟请求报文。如果本实施例的时钟同步装置作为主设备,则逻辑控制芯片13用于根据第一时间偏差与对端装置进行时钟同步包括逻辑控制芯片13具体用于通过CPU12和硬件芯片11,将第一时间偏差发送给对端装置,以使对端装置根据第一时间偏差和第三时间偏差对第二 PTP系统时间进行校正,以与对端装置进行时钟同步。在该实施方式中,本实施例的时钟同步装置作为主设备,控制对端装置进行时钟同步。逻辑控制芯片13用于根据第一 PTP事件报文和记录的第一 PTP事件报文到达逻辑控制芯片13的PTP时间戳,计算出第一时间偏差包括逻辑控制芯片13具体用于对第一PTP事件报文进行解析,从第一 PTP事件报文的TS域和CF域中分别获取对端装置发送第一PTP事件报文时的PTP时间戳和对 应的由硬件芯片11修正过的校正值,并根据记录的第一PTP事件报文到达逻辑控制芯片13的PTP时间戳,获得第一 PTP事件报文到达逻辑控制芯片13的PTP时间戳对应的校正值,然后根据第一 PTP事件报文到达逻辑控制芯片13的PTP时间戳、对端装置发送第一 PTP事件报文时的PTP时间戳、第一 PTP事件报文到达逻辑控制芯片13的PTP时间戳对应的校正值和对端装置发送第一 PTP事件报文时的PTP时间戳对应的校正值,获得第一 PTP系统时间和第二 PTP系统时间之间的第一时间偏差。具体的,逻辑控制芯片13可以用对端装置发送第一 PTP事件报文时的PTP时间戳对应的校正值,对对端装置发送第一 PTP事件报文时的PTP时间戳进行校正,并用第一 PTP事件报文到达逻辑控制芯片13的PTP时间戳对应的校正值,对第一 PTP事件报文到达逻辑控制芯片13的PTP时间戳进行校正;然后,用校正后的第一 PTP事件报文到达逻辑控制芯片13的PTP时间戳,与校正后的对端装置发送第一 PTP事件报文时的PTP时间戳相减,从而获得第一 PTP系统时间和第二 PTP系统时间之间的第一时间偏差。可选的,本实施例时钟同步装置中的硬件芯片11可以是介质访问控制(MediumAccess Control,简称为MAC)芯片或物理层(PHY)芯片。本实施例的逻辑控制芯片13可以由现场可编程门阵列(Field ProgrammableGate Array,简称为 FPGA)或复杂可编程逻辑器件(Complex Programmable Logic Device,简称为CPLD)实现。本实施例提供的时钟同步装置,通过独立于硬件芯片的逻辑控制芯片实现IEEE1588协议以进行时钟同步,CPU只需要将硬件芯片发送的PTP事件报文发送给逻辑控制芯片即可,不需要频繁的从PTP事件报文中读取时间戳,提高了系统效率,另一方面,由独立于硬件芯片的逻辑控制芯片的实现IEEE1588协议,硬件芯片上不需要维持PTP完整80比特时间计数器,无需做大的改动,有利于降低现有硬件芯片的实现代价,另外独立于硬件芯片的逻辑控制芯片的实现也相对简单。图2为本发明实施例提供的另一种时钟同步装置的结构示意图。本实施例基于图1所示实施例实现,如图2所示,本实施例的装置也包括至少一个硬件芯片11、CPU12和逻辑控制芯片13。每个硬件芯片11与CPU12连接,CPU12与逻辑控制芯片13连接。其中,关于硬件芯片11和CPU12的功能可参见上述实施例的描述,在此不再赘述。如图2所示,本实施例的逻辑控制芯片13的一种实现结构包括第一接口单元131、信息包检测单元132、时钟运算单元133、系统时间单元134、信息包控制单元135、信息包封装单元136和第二接口单元137。第一接口单元131,与CPU12、信息包检测单元132和信息包封装单元136连接,用于接收CPU12发送的第一 PTP事件报文并将第一 PTP事件报文发送给信息包检测单元132,以及将信息包封装单元136封装出的第二 PTP事件报文发送给CPU12。信息包检测单元132,分别与第一接口单元131、时钟运算单元133和信息包控制单元135连接,用于判断第一接口单元131接收到的第一 PTP事件报文是否符合PTP协议要求,在判断结果为符合时,提取第一 PTP事件报文的PTP报文头信息,并将所提取的PTP报文头信息分别发送给时钟运算单元133和信息包控制单元135,所述PTP报文头信息包括CF域和TS域。 具体的,信息包检测单元132可以采用图3所示的状态机完成对第一 PTP事件报文的解析判断。信息包检测单元132的初始状态为空闲(IDLE),当检测到报文的起始标志时,跳转至ST_MAC状态。其中,ST_MAC状态主要是指信息包检测单元132在检测报文的MAC头信息是否符合PTP协议要求的过程中所处的状态。在该ST_MAC状态下,信息包检测单元132首先判断所接收到报文的MAC地址是否符合PTP协议的要求,这里接收到的报文可以是单播报文也可以是组播报文,如果判断结果为不符合(即MAC地址错误),则从ST_MAC状态会返回至IDLE状态;如果判断结果为符合,则继续检测该报文的以太网报文类型数值是不是0x0800或0x88F7。如果信息包检测单元132检测到该报文的以太网报文类型数值不是0x0800或0x88F7,则从ST_MAC状态会返回至IDLE状态;如果在ST_MAC状态下检测到该报文的以太网报文类型数值为0x88F7,则直接从ST_MAC状态跳转至ST_PTP状态;如果在ST_MAC状态下检测到该报文的以太网报文类型数值为0x0800,则从ST_MAC状态跳转至ST_IP状态。其中,ST_IP状态主要是指信息包检测单元132在检测报文的IP头信息是否符合PTP协议要求的过程中所处的状态。在ST_IP状态下,信息包检测单元132首先检测报文的IP地址是否符合PTP协议的要求,如果检测结果为IP地址不符合PTP协议的要求(SPIP地址错误),则从ST_IP状态返回IDLE状态;如果检测结果为IP地址符合PTP协议的要求,则进一步检测该报文的IP头协议类型是否为Oxl I,如果检测结果为是,则从ST_IP状态跳转至ST_UDP状态,否则返回IDLE状态。其中,ST_UDP状态主要是指信息包检测单元132在检测报文的UDP头信息是否符合PTP协议要求的过程中所处的状态。在ST_UDP状态下,信息包检测单元132检测该报文的UDP头的端口号是否为319或320,如果检测结果为是,则从ST_UDP状态跳转至ST_PTP状态,否则返回IDLE状态。其中,ST_PTP状态主要是指信息包检测单元132在提取报文的PTP报文头信息的过程中所处的状态。在ST_PTP状态下,信息包检测单元132完成对第一 PTP事件报文的PTP报文头信息的提取,例如提取PTP报文类型、PTP报文中的CF数值、PTP报文中的TS数值、PTP报文序列号和PTP报文端口数值等,在有效、正确的完成PTP报文头信息的提取后,返回IDLE状态,并且把提取的PTP报文头信息提供给时钟运算单元133和信息包控制单元135。时钟运算单元133,还与系统时间单元134和信息包控制单元135连接,用于记录第一 PTP事件报文到达逻辑控制芯片13的PTP时间戳,根据信息包检测单元132发送的PTP报文头信息和所记录的第一 PTP事件报文到达逻辑控制芯片13的PTP时间戳,计算第一PTP系统时间与第二 PTP系统时间之间的第一时间偏差,并将第一时间偏差发送给系统时间单元134,以及在将第一时间偏差发送给系统时间单元134之前,接收系统时间单元134发送的第一 PTP系统时间(这里指定是校正前的PTP系统时间),并将第一 PTP系统时间发送给信息包控制单元135。具体的,信息包检测单元132可以在检测都到报文起始标志时,向时钟运算单元133发送触发指令,以告知时钟运算单元133接收到报文,使时钟运算单元133记录该报文的接收PTP时间戳。相应的,时钟运算单元133可以根据信息包检测单元132的触发,记录第一 PTP事件报文的接收PTP时间戳。系统时间单元134,还与第二接口单元137连接,用于在时钟运算单元133发送第一时间偏差之前,向时钟运算单元133发送第一 PTP系统时间,根据时钟运算单元133发送的第一时间偏差,校正第一 PTP系统时间,并将所述校正后的第一 PTP系统时间发送给第二接口单元137。其中,系统时间单元134主要负责第一 PTP系统时间的维护和纠正。在本实施例中,系统时间单元134主要提供两种方式进行时间校正,一种是粗调,一种是细调。当时钟运算单元133运算得到的第一时间偏差超过预设时间门限,例如I秒(s)时,即主从设备之间的时间偏差超过ls,则需要进行粗调,快速纠正主从设备之间的时间偏差。具体的系统时间单元134控制粗调使能开关, 把第一时间偏差直接加入第一 PTP系统时间。在主从设备的大部分工作时间内,设备间的时间偏差通常是在Is内,如果一直进行粗调,会增加主从设备之间PTP系统时间的跳动频率,即当从设备快于主设备时,经常出现相同PTP系统时间的跳动,或是当从设备慢于主设备时,经常出现较大时间偏差的跳动,从而影响系统性能。为了避免这种情况,在第一时间偏差小于预设时间门限时,选择进行细调。例如,假设第一 PTP系统时间的工作频率为125MHz时,第一 PTP系统时间计数器将在每一节拍增加8,即增加8ns。这样的话,当系统时间单元134提供第一时间偏差小于预设时间时,控制细调使能开关,把第一 PTP系统时间基准步长寄存器数值0x80000000加上第一时间偏差,得到第一 PTP系统时间当前步长寄存器数值。主设备内部32比特计数器根据当前步长寄存器数值进行不断的叠加,取高4比特作为第一PTP系统时间纳秒计数器的低4比特,并且把进位数值加入28比特计数器作为第一 PTP系统时间纳秒计数器的高28比特,这样就组成了系统时间32比特纳秒计数器。按照该方法对第一 PTP系统时间调整,可以避免粗调方式带来的弊端,PTP系统时间的调整较稳定和平滑。信息包控制单元135,还与信息包封装单元136连接,用于根据时钟运算单元133发送的第一 PTP系统时间和信息包检测单元132发送的PTP报文头信息,确定第二 PTP事件报文的类型信息和内容信息,并将第二 PTP事件报文的类型信息和内容信息发送给信息包封装单元136,所述第二 PTP事件报文的内容信息为时钟运算单元133发送的所述校正后的第一 PTP系统时间。信息包封装单元136,用于根据信息包控制单元135发送的第二 PTP事件报文的类型信息和内容信息,生成第二 PTP事件报文,将第二 PTP事件报文发送给第一接口单元131,以使第一接口单元131将第二 PTP报文发送给CPU12,进而发送给对端装置。可选的,信息包封装单元136用于根据信息包控制单元135发送的第二 PTP事件报文的类型信息和内容信息,生成第二 PTP事件报文包括信息包封装单元136具体用于将第二 PTP事件报文的内容信息(即第一 PTP系统时间)添加到第二 PTP事件报文的TS域中,将第二 PTP事件报文的内容信息的指定比特进行取反处理,将取反处理的结果写入第
二PTP事件报文的CF域中,以生成第二 PTP事件报文。例如,指定比特可以是低32比特,则信息包封装单元136具体用于取TS域中记录的发送PTP时间戳的低32比特,将所取的低32比特取反,将取反后的结果作为发送PTP时间戳的校正值写入CF域中。可选的,信息包封装单元136用于根据信息包控制单元135发送的第二 PTP事件报文的类型信息和内容信息,生成第二 PTP事件报文包括信息包封装单元136具体用于根据信息包控制单元135发送的第二 PTP事件报文的类型信息和内容信息,对预先存储的PTP模板报文进行修改,生成第二 PTP事件报文。在本实施例时钟同步装置中可以使用两块RAM作为存储单元,一块存储PTP模板报文,另外一块作为临时PTP封装存储单元。当要求封装PTP报文时,首先读取PTP模板报文,并根据信息包控制单元135的要求(这里信息包控制单元135的要求主要是指信息包控制单元135发送的第二 PTP事件报文的类型信息和内容信息),修改PTP模板报文需要修改的地方,再把修改后的PTP报文存储在临时PTP存储单元中,等待发送。具体的,首先,判断要求发送的报文是否为单播报文,如果是单播报文,则根据信息包控制单元135的要求把单播地址填入临时PTP封装存储单元中,把从存储PTP模板报文的存储单元读取的相应数据填入临时PTP封装存储单元;接着,判断所要求的PTP报文是否为基于M)P的PTP报文,如果是,则根据信息包控制单元135的要求在临时PTP封装存储单元中填入IP头和UDP头;最后,根据信息包控制单元135的要求填入PTP头。如果是组播报文,将本地地址作为源地址填入临时PTP封装存储单元中,其他操作与单播报文的处理相同,即把从存储PTP模板报文的存储单元读取的相应数据填入临时PTP封装存储单元,然后判断所要求的PTP报文是否为基于UDP的PTP报文,并根据判断结果进行相应处理。第二接口单元137,还与硬件芯片11连接,用于将系统时间单元134发送的所述校正后的第一PTP系统时间发送给每个硬件芯片11,以使每个硬件芯片11将本地时钟同步为所述校正后的第一 PTP系统时间。在一可选实施方式中,逻辑控制芯片13还包括第三接口单元138和系统控制单元 139。第三接口单元138,与CPU12和系统控制单元139连接,用于接收CPU12发送的第一配置指令,将第一配置指令发送给系统控制单元139,所述第一配置指令用于对本实施例时钟同步装置的主从角色和/或时钟类型进行配置。系统控制单元139,还与信息包控制单元135连接,用于对第一配置指令进行类型识别,在识别出第一配置指令为用于对本实施例时钟同步装置的主从角色和/或时钟类型进行配置的配置指令时,将第一配置指令发送给信息包控制单元135。
基于上述,信息包控制单元135具体可用于根据第一配置指令和信息包检测单元132发送的PTP报文头信息,确定第二 PTP事件报文的类型信息,并将时钟运算单元133发送的第一 PTP系统时间作为第二 PTP事件报文的内容信息,然后将第二 PTP事件报文的类型信息和内容信息发送给信息包封装单元136。其中,PTP协议定义了三种类型的时钟,分别是普通时钟(0C)、边界时钟(BC)和透明时钟(TC)。从通信逻辑关系来看,时钟又分为主时钟和从时钟,本实施例的时钟同步装置可以是主设备,或者是从设备。基于此,如果第一配置指令的配置结果不同,信息包控制单元135所确定的第二 PTP事件报文的类型信息也会有所不同。进一步,第三接口单元138还用于接收CPU12发送的第二配置指令,将第二配置指令发送给系统控制单元135,所述第二配置指令用于对第一 PTP系统时间进行初始化配置。相应地,系统控制单元135还与系统时间单元134连接,用于对第二配置指令进行类型识别,在识别出第二配置指令为用于对第一 PTP系统时间进行初始化配置的配置指令时,将第二配置指令发送给系统时间单元134。系统时间单元134还用于根据系统控制单元135发送的第二配置指令,初始化第一 PTP系统时间。进一步,CPU12还可以通过第三接口单元138和系统控制单元135,查询系统时间单元134,获取第一 PTP系统时间。逻辑控制芯片13的上述各功能单元主要用于在本实施例时钟同步装置为从设备时,完成与对端装置进行时钟同步的操作。进一步,在本实施例时钟同步装置作为主设备时,上述各功能单元还可以完成与对端装置进行时钟同步的操作。具体的,系统时间单元 134还用于将第一 PTP系统时间发送时钟运算单元133。时钟运算单元133还用于将第一 PTP系统时间发送给信息包控制单元135。信息包控制单元135还用于根据预先配置的信息,确定待生成的第三PTP事件报文的类型信息,并将第一PTP系统时间作为第三PTP事件报文的内容信息,将第三PTP事件报文的类型信息和内容信息发送给信息包封装单元136。信息包封装单元136还用于根据第三PTP事件报文的类型信息和内容信息,生成第三PTP事件报文,并将第三PTP事件报文发送给第一接口单元131。第一接口单元131还用于接收信息包封装单元136封装成的第三PTP事件报文,将第三PTP事件报文发送给对端装置,以使对端装置根据第三PTP事件报文生成第一 PTP系统时间与第二 PTP系统时间之间的第三时间偏差并返回第一 PTP事件报文。硬件芯片11接收到第一 PTP事件报文之后,通过CPU12将第一 PTP事件报文发送给第一接口单元131。第一接口单元131将第一 PTP事件报文发送给信息包检测单元132 ;信息包检测单元132判断第一接口单元131接收到的第一 PTP事件报文是否符合PTP协议要求,在判断结果为符合时,提取第一 PTP事件报文的PTP报文头信息,并将所提取的PTP报文头信息分别发送给时钟运算单元133 ;时钟运算单元133记录第一 PTP事件报文的接收PTP时间戳,根据信息包检测单元132发送的PTP报文头信息和所记录的接收PTP时间戳,计算第一 PTP系统时间与第二 PTP系统时间之间的第一时间偏差,将第一时间偏差发送给信息包控制单元135 ;信息包控制单元135将第一时间偏差发送给第一接口单元131 ;第一接口单元131将第一时间偏差发送给CPU12,CPU12将第一时间偏差发送给硬件芯片11 ;硬件芯片11将第一时间偏差发送给对端装置,以使对端装置根据第一时间偏差和第三时间偏差对第二 PTP系统时间进行校正,以与对端装置进行时钟同步。下面以包括上述时钟同步装置的主设备,与包括上述时钟同步装置的从设备进行时钟同步为例进行说明。在该实施方式中,以第一 PTP事件报文为同步报文,第二 PTP报文为延迟请求报文为例,以硬件芯片为MAC芯片为例进行说明。首先,主设备定时向从设备发送同步报文。具体的,该同步报文由主设备的逻辑控制芯片封装生成,在生成该同步报文时,逻辑控制芯片对主设备的PTP系统时间进行采样得到一个PTP格式时间戳Ta (即上述实施例中的接收PTP时间戳),并填入同步报文的TS域;再把Ta转换成纳秒的形式,取其低32比特的数值得到ta,并取反得到-ta,将-ta填入同步报文的CF域中。之后,主设备的逻辑控制芯片将同步报文发送给主设备的MAC芯片。主设备的MAC芯片采用TC设备的出口操作,即在同步报文的CF域数值上加上时间戳tl,该时间戳tl是MAC芯片记录的同步报文到达MAC芯片时的MAC芯片的本地时间。之后,主设备的MAC芯片将同步报文发送给从设备的MAC芯片。从设备的MAC芯片采用TC设备的进口操作,即在同步报文的CF域数值上减去时间戳t2,该时间戳t2是同步报文到达该MAC芯片时,MAC芯片记录的本地时间。之后,从设备的MAC芯片将同步报文发送给从设备的逻辑控制芯片。从设备的逻辑控制芯片收到同步报文时,对从设备的PTP系统时间进行采样得到时间戳Tb,并取其低32比特的数值得到tb,并取反得到_tb。这样从设备的逻辑控制芯片在接收到同步报文时,一共得到Ta,tl- ta,Tb,tb四个时间戳,从设备的逻辑控制芯片根据这些时间戳,运算得出主从设备的PTP系统时间之间的第一时间偏差,即M2S_0FFSET=T2-T1=[Tb- (tb_t2)]-[Ta+ (tl-ta)]同理,从设备的逻辑控制芯片发送延迟请求报文至主设备。具体的,该延迟请求报文由从设备的逻辑控制芯片封装生成,在生成该延迟请求报文时,逻辑控制芯片对从设备的PTP系统时间进行采样得到一个PTP格式时间戳Tc (即上述实施例中的接收PTP时间戳),并填入延迟请求报文的TS域;再把Tc转换成纳秒的形式,取其低32比特的数值得到tc,并取反得到_tc,将-tc填入延迟请求报文的CF域中。之后,从设备的逻辑控制芯片将延迟请求报文发送给从设备的MAC芯片。从设备的MAC芯片采用TC设备的出口操作,即在延迟请求报文的CF域数值上加上时间戳t3,该时间戳t3是MAC芯片记录的同步报文到达MAC芯片时MAC芯片的本地时间。之后,从设备的MAC芯片将延迟请求报文发送给主设备的MAC芯片。主设备的MAC芯片采用TC设备的进口操作,即在延迟请求报文的CF域数值上减去时间戳t4,该时间戳t4是延迟请求报文到达该MAC芯片时,MAC芯片记录的本地时间。之后,主设备的MAC芯片将延迟请求报文发送给主设备的逻辑控制芯片。主设备的逻辑控制芯片收到延迟请求报文时,对主设备的PTP系统时间进行采样得到时间戳Td,并取其低32比特的数值得到td,并取反得到_td。这样主设备的逻辑控制芯片在接收到延迟请求报文时,一共得到Tc,t3-tc, Td, td四个时间戳,主设备的逻辑控制芯片运算得到从主设备偏差值,即S2M_0FFSET=T4-T3=[Td-(td_t4)]-[Tc+(t3_tc)]主设备的逻辑控制芯片把S2M_0FFSET通过延迟响应报文的TS域传送给从设备的逻辑控制芯片,从设备的逻辑控制芯片根据M2S_0FFSET和S2M_0FFSET,运算得到主从设备间的平均路径延迟,即DELAY= (M2S_0FFSET+S2M_0FFSET)/2
之后,从设备每次收到主设备发动的同步报文时,从设备的逻辑控制芯片运算得到主从设备的时间偏差值,即0FFSET=M2S_0FFSET - DELAY最终,从设备的逻辑控制芯片根据该OFFSET对从设备的PTP系统时间进行校正,达到主从设备的同步。其中,M2S_0FFSET、S2M_0FFSET、DELAY和OFFSET这些数值的运算都是在逻辑控制芯片的时钟运算单元内完成。由上述可见,本实施例提供的时钟同步装置,通过独立于硬件芯片的逻辑控制芯片实现IEEE1588协议以进行时钟同步,CPU只需要将硬件芯片发送的PTP事件报文发送给逻辑控制芯片即可,不需要频繁的从PTP事件报文中读取时间戳,提高了系统效率,另一方面,由独立于硬件芯片的逻辑控制芯片的实现IEEE1588协议,硬件芯片上不需要维持PTP完整80比特时间计数器,无需做大的改动,有利于降低现有硬件芯片的实现代价,另外独立于硬件芯片的逻辑控制芯片的实现也相对简单。除此之外,本实施例的时钟同步装置还具有以下有益效果通用性强,可移植性好;可以基于具有TC功能的硬件芯片实现,在逻辑控制芯片的运算上面稍加变动就可以实现BC或OC功能,功能实现简单JtPTP系统时间的维护和纠正方法,同时满足时间快速调整和稳定的特性;基于多个硬件芯片,可以在多卡式设备上实现IEEE1588协议,实现复杂度低。图4为本发明实施例提供的一种时钟同步方法的流程图。如图4所示,本实施例的方法包括 步骤401、时钟同步装置的硬件芯片接收对端装置发送的第一 PTP事件报文,记录第一 PTP事件报文到达硬件芯片的第一时间戳,将第一 PTP事件报文的CF域中的校正值减去第一时间戳,然后将第一 PTP事件报文发送给时钟同步装置的CPU。步骤402、CPU将第一 PTP事件报文发送给时钟同步装置的逻辑控制芯片。步骤403、逻辑控制芯片记录第一 PTP事件报文到达逻辑控制芯片的PTP时间戳,根据第一 PTP事件报文和所记录的PTP时间戳计算出逻辑控制芯片的第一 PTP系统时间与对端装置的第二 PTP系统时间之间的第一时间偏差,并根据第一时间偏差与对端装置进行时钟同步。在一可选实施方式中,本实施例的方法在逻辑控制芯片计算出第一时间偏差之后还包括逻辑控制芯片根据第一 PTP系统时间生成第二 PTP事件报文,并将第二 PTP事件报文发送给CPU。CPU将第二 PTP事件报文发送给硬件芯片。硬件芯片记录第二 PTP事件报文到达硬件芯片的第二时间戳,将第二 PTP事件报文的CF域中的校正值加上第二时间戳,然后将第二 PTP事件报文发送给对端装置,以使对端装置根据第二 PTP事件报文生成并返回第一 PTP系统时间与第二 PTP系统时间之间的第二时间偏差。基于上述,逻辑控制芯根据第一时间偏差与所述对端装置进行时钟同步包括逻辑控制芯片根据第一时间偏差和对端装置返回的第二时间偏差,对第一 PTP系统时间进行校正,根据校正后的第一 PTP系统时间同步每个硬件芯片的本地时钟,以与对端装置进行时钟同步。在一可选实施方式中,本实施例的方法在时钟同步装置的硬件芯片接收对端装置发送的第一 PTP事件报文之前还包括
逻辑控制芯片在接收第一 PTP事件报文之前,根据第一 PTP系统时间生成第三PTP事件报文,将第三PTP事件报文发送给CPU ;CPU将第三PTP事件报文发送给硬件芯片;硬件芯片记录第三PTP事件报文到达硬件芯片的第三时间戳,将第三PTP事件报文的CF域中的校正值加上第三时间戳,然后将第三PTP事件报文发送给对端装置,以使对端装置根据第
三PTP事件报文生成第一 PTP系统时间与第二 PTP系统时间之间的第三时间偏差。基于上述,逻辑控制芯片根据第一时间偏差与对端装置进行时钟同步包括逻辑控制芯片通过CPU和硬件芯片,将第一时间偏差发送给对端装置,以使对端装置根据第一时间偏差和第三时间偏差对第二 PTP系统时间进行校正,以与对端装置进行时钟同步。本实施例提供的时钟同步方法可由上述实施例提供的时钟同步装置实现,其具体流程不再详述,可参见时钟同步装置实施例的描述。本实施例提供的时钟同步方法,具有简单易于实现,且同步效率较高等优势。本发明实施例提供一种网络设备,包括上述实施例提供的时钟同步装置。时钟同步装置的工作原理和实现结构可参见上述实施例,在此不再赘述。本实施例提供的网络设备,包括上述实施例的时钟同步装置,通过独立于硬件芯片的逻辑控制芯片实现IEEE1588协议以进行时钟同步,CPU只需要将硬件芯片发送的PTP事件报文发送给逻辑控制芯片即可,不需要频繁的从PTP事件报文中读取时间戳,提高了系统效率,另一方面,由独立于硬件芯片的逻辑控制芯片的实现IEEE1588协议,硬件芯片上不需要维持PTP完整80比特时间计数器,无需做大的改动,有利于降低现有硬件芯片的实现代价,另外独立于硬件芯片的逻辑控制芯片的实现也相对简单。本领域普通技术人员可以理解实现上述各方法实施例的全部或部分步骤可以通过程序指令相关的硬件来完成。前述的程序可以存储于一计算机可读取存储介质中。该程序在执行时,执行包括上述各方法实施例的步骤;而前述的存储介质包括R0M、RAM、磁碟或者光盘等各种可以存储程序代码的介质。最后应说明的是以上各 实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述各实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分或者全部技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的范围。
权利要求
1.一种时钟同步装置,其特征在于,包括至少一个硬件芯片、中央处理器CPU和逻辑控制芯片; 所述硬件芯片,用于接收对端装置发送的第一精确时间协议PTP事件报文,并记录所述第一 PTP事件报文到达所述硬件芯片的第一时间戳,将所述第一 PTP事件报文的校正CF域中的校正值减去所述第一时间戳,然后将所述第一 PTP事件报文发送给所述CPU ; 所述CPU,用于接收所述硬件芯片发送的所述第一 PTP事件报文,将所述第一 PTP事件报文发送给所述逻辑控制芯片; 所述逻辑控制芯片,用于接收所述CPU发送的所述第一 PTP事件报文并记录所述第一PTP事件报文到达所述逻辑控制芯片的PTP时间戳,根据所述第一 PTP事件报文和所述PTP时间戳,计算出所述逻辑控制芯片的第一 PTP系统时间与所述对端装置的第二 PTP系统时间之间的第一时间偏差,并根据所述第一时间偏差与所述对端装置进行时钟同步。
2.根据权利要求1所述的时钟同步装置,其特征在于,所述逻辑控制芯片,还用于根据所述第一 PTP系统时间生成第二 PTP事件报文,将所述第二 PTP事件报文发送给所述CPU ; 所述CPU,还用于接收所述逻辑控制芯片发送的所述第二 PTP事件报文,将所述第二PTP事件报文发送给所述硬件芯片; 所述硬件芯片,还用于接收所述CPU发送的所述第二 PTP事件报文,记录所述第二 PTP事件报文到达所述硬件芯片的第二时间戳,将所述第二 PTP事件报文的CF域中的校正值加上所述第二时间戳,然后将所述第二 PTP事件报文发送给所述对端装置,以使所述对端装置根据所述第二 PTP事件报文生成并返回所述第一 PTP系统时间与所述第二 PTP系统时间之间的第二时间偏差。
3.根据权利要求2所述的时钟同步装置,其特征在于,所述逻辑控制芯片用于根据所述第一时间偏差与所述对端装置进行时钟同步包括 所述逻辑控制芯片具体用于根据所述第一时间偏差和所述第二时间偏差,对所述第一PTP系统时间进行校正,根据所述校正后的第一 PTP系统时间同步每个所述硬件芯片的本地时钟,以与所述对端装置进行时钟同步。
4.根据权利要求1所述的时钟同步装置,其特征在于,所述逻辑控制芯片,还用于在接收所述第一 PTP事件报文之前,根据所述第一 PTP系统时间生成第三PTP事件报文,将所述第三PTP事件报文发送给所述CPU ; 所述CPU,还用于接收所述逻辑控制芯片发送的所述第三PTP事件报文,将所述第三PTP事件报文发送给每个所述硬件芯片; 所述硬件芯片,还用于在接收所述第一 PTP事件报文之前,接收所述CPU发送的所述第三PTP事件报文,记录所述第三PTP事件报文到达所述硬件芯片的第三时间戳,将所述第三PTP事件报文的CF域中的校正值加上所述第三时间戳,然后将所述第三PTP事件报文发送给所述对端装置,以使所述对端装置根据所述第三PTP事件报文生成所述第一 PTP系统时间与所述第二 PTP系统时间之间的第三时间偏差并返回所述第一 PTP事件报文。
5.根据权利要求4所述的时钟同步装置,其特征在于,所述逻辑控制芯片用于根据所述第一时间偏差与所述对端装置进行时钟同步包括 所述逻辑控制芯片具体用于通过所述CPU和所述硬件芯片,将所述第一时间偏差发送给所述对端装置,以使所述对端装置根据所述第一时间偏差和所述第三时间偏差对所述第二 PTP系统时间进行校正,以与所述对端装置进行时钟同步。
6.根据权利要求3所述的时钟同步装置,其特征在于,所述逻辑控制芯片包括第一接口单元、信息包检测单元、时钟运算单元、系统时间单元、信息包控制单元、信息包封装单元和第二接口单元; 所述第一接口单元,用于接收所述CPU发送的所述第一 PTP事件报文,以及将所述信息包封装单元封装出的所述第二 PTP事件报文发送给所述CPU ; 所述信息包检测单元,用于判断所述第一接口单元接收到的所述第一 PTP事件报文是否符合PTP协议要求,在判断结果为符合时,提取所述第一 PTP事件报文的PTP报文头信息,并将所述PTP报文头信息分别发送给所述时钟运算单元和所述信息包控制单元,所述PTP报文头信息包括所述CF域和时间戳TS域; 所述时钟运算单元,用于记录所述第一 PTP事件报文到达所述逻辑控制芯片的PTP时间戳,根据所述PTP报文头信息和所述PTP时间戳,计算所述第一时间偏差,并将所述第一时间偏差发送给所述系统时间单元,以及在将所述第一时间偏差发送给所述系统时间单元之前,接收所述系统时间单元发送的所述第一 PTP系统时间,并将所述第一 PTP系统时间发送给所述信息包控制单元; 所述系统时间单元,用于在所述时钟运算单元发送所述第一时间偏差之前,向所述时钟运算单元发送所述第一 PTP系统时间,根据所述时钟运算单元发送的所述第一时间偏差,校正所述第一 PTP系统时间,并将所述校正后的第一 PTP系统时间发送给所述第二接口单元; 所述信息包控制单元,用于根据所述时钟运算单元发送的所述第一 PTP系统时间和所述信息包检测单元发送的所述PTP报文头信息,确定所述第二 PTP事件报文的类型信息和内容信息,并将所述第二 PTP事件报文的类型信息和内容信息发送给所述信息包封装单元,所述第二 PTP事件报文的内容信息为所述校正后的第一 PTP系统时间; 所述信息包封装单元,用于根据所述信息包控制单元发送的所述第二 PTP事件报文的类型信息和内容信息,生成所述第二 PTP事件报文,将所述第二 PTP事件报文发送给所述第一接口单元; 所述第二接口单元,用于将所述系统时间单元发送的所述校正后的第一 PTP系统时间发送给每个所述硬件芯片,以使每个所述硬件芯片将本地时钟同步为所述校正后的第一PTP系统时间。
7.根据权利要求6所述的时钟同步装置,其特征在于,所述信息包封装单元用于根据所述信息包控制单元发送的所述第二 PTP事件报文的类型信息和内容信息,生成所述第二PTP事件报文包括 所述信息包封装单元具体用于将所述第二 PTP事件报文的内容信息添加到所述第二PTP事件报文的TS域中,将所述第二 PTP事件报文的内容信息的指定比特进行取反处理,将取反处理的结果写入所述第二 PTP事件报文的CF域中,以生成所述第二 PTP事件报文。
8.根据权利要求6或7所述的时钟同步装置,其特征在于,所述信息包封装单元用于根据所述信息包控制单元发送的所述第二 PTP事件报文的类型信息和内容信息,生成所述第二 PTP事件报文包括 所述信息包封装单元具体用于根据所述信息包控制单元发送的所述第二 PTP事件报文的类型信息和内容信息,对预先存储的PTP模板报文进行修改,生成所述第二 PTP事件报文。
9.根据权利要求6或7所述的时钟同步装置,其特征在于,所述逻辑控制芯片还包括第三接口单元和系统控制单元; 所述第三接口单元,用于接收所述CPU发送的第一配置指令,将所述第一配置指令发送给所述系统控制单元,所述第一配置指令用于对所述时钟同步装置的主从角色和/或时钟类型进行配置; 所述系统控制单元,用于对所述第一配置指令进行类型识别,在识别出所述第一配置指令为用于对所述时钟同步装置的主从角色和/或时钟类型进行配置的配置指令时,将所述第一配置指令发送给所述信息包控制单元; 所述信息包控制单元具体用于根据所述第一配置指令和所述信息包检测单元发送的所述PTP报文头信息,确定所述第二 PTP事件报文的类型信息,并将所述时钟运算单元发送的所述校正后的第一 PTP系统时间作为所述第二 PTP事件报文的内容信息,然后将所述第二 PTP事件报文的类型信息和内容信息发送给所述信息包封装单元。
10.根据权利要求9所述的时钟同步装置,其特征在于,所述第三接口单元,还用于接收所述CPU发送的第二配置指令,将所述第二配置指令发送给所述系统控制单元,所述第二配置指令用于对所述第一 PTP系统时间进行初始化配置; 所述系统控制单元,还用于对所述第二配置指令进行类型识别,在识别出所述第二配置指令为用于对所述第一 PTP系统时间进行初始化配置的配置指令时,将所述第二配置指令发送给所述系统时间单元; 所述系统时间单元,还用于根据所述第二配置指令,初始化所述第一 PTP系统时间。
11.根据权利要求1-7任一项所述的时钟同步装置,其特征在于,所述硬件芯片为介质访问控制MAC芯片或物理层PHY芯片。
12.根据权利要求1-7任一项所述的时钟同步装置,其特征在于,所述逻辑控制芯片由现场可编程门阵列FPGA实现。
13.—种时钟同步方法,其特征在于,包括 时钟同步装置的硬件芯片接收对端装置发送的第一精确时间协议PTP事件报文,记录所述第一 PTP事件报文到达所述硬件芯片的第一时间戳,将所述第一 PTP事件报文的校正CF域中的校正值减去所述第一时间戳,然后将所述第一 PTP事件报文发送给所述时钟同步装置的中央处理器CPU ; 所述CPU将所述第一 PTP事件报文发送给所述时钟同步装置的逻辑控制芯片; 所述逻辑控制芯片记录所述第一 PTP事件报文到达所述逻辑控制芯片的PTP时间戳,根据所述第一 PTP事件报文和所述PTP时间戳计算出所述逻辑控制芯片的第一 PTP系统时间与所述对端装置的第二 PTP系统时间之间的第一时间偏差,并根据所述第一时间偏差与所述对端装置进行时钟同步。
14.根据权利要求13所述的时钟同步方法,其特征在于,还包括 所述逻辑控制芯片根据所述第一 PTP系统时间生成第二 PTP事件报文,并将所述第二PTP事件报文发送给所述CPU ; 所述CPU将所述第二 PTP事件报文发送给所述硬件芯片;所述硬件芯片记录所述第二 PTP事件报文到达所述硬件芯片的第二时间戳,将所述第二PTP事件报文的CF域中的校正值加上所述第二时间戳,然后将所述第二 PTP事件报文发送给所述对端装置,以使所述对端装置根据所述第二 PTP事件报文生成并返回所述第一PTP系统时间与所述第二 PTP系统时间之间的第二时间偏差。
15.根据权利要求14所述的时钟同步方法,其特征在于,所述逻辑控制芯根据所述第一时间偏差与所述对端装置进行时钟同步包括 所述逻辑控制芯片根据所述第一时间偏差和所述第二时间偏差,对所述第一 PTP系统时间进行校正,根据所述校正后的第一 PTP系统时间同步每个所述硬件芯片的本地时钟,以与所述对端装置进行时钟同步。
16.根据权利要求13所述的时钟同步方法,其特征在于,还包括 所述逻辑控制芯片在接收所述第一 PTP事件报文之前,根据所述第一 PTP系统时间生成第三PTP事件报文,将所述第三PTP事件报文发送给所述CPU ; 所述CPU将所述第三PTP事件报文发送给所述硬件芯片; 所述硬件芯片记录所述第三PTP事件报文到达所述硬件芯片的第三时间戳,将所述第三PTP事件报文的CF域中的校正值加上所述第三时间戳,然后将所述第三PTP事件报文发送给所述对端装置,以使所述对端装置根据所述第三PTP事件报文生成所述第一 PTP系统时间与所述第二 PTP系统时间之间的第三时间偏差。
17.根据权利要求16所述的时钟同步方法,其特征在于,所述逻辑控制芯片根据所述第一时间偏差与所述对端装置进行时钟同步包括 所述逻辑控制芯片通过所述CPU和所述硬件芯片,将所述第一时间偏差发送给所述对端装置,以使所述对端装置根据所述第一时间偏差和所述第三时间偏差对所述第二 PTP系统时间进行校正,以与所述对端装置进行时钟同步。
18.—种网络设备,其特征在于,包括权利要求1-12任一项所述的时钟同步装置。
全文摘要
本发明提供一种时钟同步方法、装置及网络设备。装置包括至少一个硬件芯片、CPU和逻辑控制芯片;硬件芯片用于接收对端装置发送的第一PTP事件报文,记录第一时间戳,将第一PTP事件报文的CF域中的校正值减去第一时间戳,然后发送给CPU;CPU用于将第一PTP事件报文发送给逻辑控制芯片;逻辑控制芯片用于记录第一PTP事件报文到达逻辑控制芯片的PTP时间戳,根据第一PTP事件报文和PTP时间戳计算出逻辑控制芯片的第一PTP系统时间与对端装置的第二PTP系统时间之间的第一时间偏差,根据第一时间偏差与对端装置进行时钟同步。采用本发明可以提高时钟同步的精度,降低对系统效率的影响并降低硬件上的实现代价。
文档编号H04J3/06GK103067112SQ201210548840
公开日2013年4月24日 申请日期2012年12月17日 优先权日2012年12月17日
发明者郭发长 申请人:福建星网锐捷网络有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1