CN103701581B - 一种ieee1588主时钟实现方法 - Google Patents
一种ieee1588主时钟实现方法 Download PDFInfo
- Publication number
- CN103701581B CN103701581B CN201310650280.6A CN201310650280A CN103701581B CN 103701581 B CN103701581 B CN 103701581B CN 201310650280 A CN201310650280 A CN 201310650280A CN 103701581 B CN103701581 B CN 103701581B
- Authority
- CN
- China
- Prior art keywords
- message
- data
- ptp
- timestamp
- ethernet
- 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.)
- Active
Links
Landscapes
- Synchronisation In Digital Transmission Systems (AREA)
- Computer And Data Communications (AREA)
Abstract
本发明公开了一种IEEE1588主时钟实现方法,所述方法包括:接收以太报文,并对所述以太报文进行识别分类;将需要打时间戳的报文数据进行接收时间戳插入操作;将插入时间戳后的报文数据进行报文解析,提取生成回复报文所需的第一参数;根据所述第一参数,生成PTP协议回复报文;将生成的所述PTP协议回复报文进行缓存,将接收到的报文数据进行缓存,并在发送调度控制下发送缓存的以太报文;对所述缓存的以太报文进行识别分类,获得分类报文数据;当在两步模式时,将生成两步PTP协议报文,并将所有以太报文发送到PHY发送接口;当在一步模式时,将处理后的PTP协议报文和不需要处理的以太报文发送到PHY发送接口。
Description
技术领域
本发明涉及信息技术处理领域,尤其涉及一种IEEE1588主时钟实现方法。
背景技术
以太网作为一种应用最广泛的通信网络,以其优越的性价比、技术成熟度高和高传输速率等优势,成为通信承载网的主要发展方向。随着网络的发展,网络的组网形态、业务类型和应用场合等已发生了深刻的变化,在以太网走向网络融合的过程中,许多业务的正常运行都要求精确的时钟同步,因此对时钟同步的需求提出了越来越高的需求。例如,在3G、4G移动通信网络中,基站间不仅要求频率同步,而且对时间同步的要求也越来越严格,如仅通过GPS、BD卫星系统来满足此要求,成本较高。
IEEE1588是精密时间同步协议(PTP),可在主、从设备间提供基于以太网络连接时间同步功能。PTP协议采用软硬件相结合的方式,在物理层由硬件打时间戳,主、从设备间的同步精度可达微秒级。
PTP的主、从时钟设备间通过PTP协议报文的交换过程中获取时间戳,根据时间戳可以计算得到两个时钟设备间的时延和时间偏差,根据计算结果来调整从时钟设备的时间输出,从而实现主时钟和从时钟的网络时钟同步。一般情况下,主时钟设备通过网络同时向多个从时钟设备授时,即同时与多个从时钟设备进行PTP协议报文的定时发送、PTP协议报文的接收以及PTP协议报文回复,来实现网络中的主、从时钟设备的时钟同步。通常为了加快时间同步的速率,可以通过提高PTP协议报文的发包率,即提高测量的频次,从而加快主、从时钟同步的收敛。从前所述,PTP网络中主时钟设备收、发报文的数量最多,因此主时钟设备对PTP协议报文的处理能力决定整个网络时间同步系统的同步速率和同步质量。在现有的技术中主要通过硬件打时间戳和软件实现PTP协议栈的方式来实现PTP同步系统。当PTP主时钟连接的从时钟的端口数增加及报文的发包频率增加的情况下,CPU处理报文的数量会大增,甚至倍增,这样会导致系统同步性能的下降或CPU成本增加。因此,在不增加CPU成本的基础上,设法提高PTP主时钟设备的报文处理能力,对PTP时间同步网络的应用具有很强的现实意义。
PTP时间同步系统中主时钟处理的协议报文的类型如下表1。
表1
从表1中,主时钟设备对报文的处理主要特点主要分为两种类型:
一类是定时发型,如Sync报文和Announce报文。根据Sync报文的定时,主动发送Sync报文;根据Announce报文的定时,主动发送Announce报文。
另外一类是回复型。PTP主时钟接收到Delay_Req报文,发出回复报文Delay_Resp;接收到Pdelay_Req报文,发出回复报文Pdelay_Resp;在两步模式下,Sync报文发出后需要发送携带其发送时间戳信息的Follow_Up报文,Pdelay_Resp报文发送后需要发送携带其对应的Pdelay_Req报文在系统的驻留时间信息的Pdelay_Resp_Follow_Up报文。
假如表1中所述的报文的收、发包频率都一样,可计算出定时型报文类型占总报文处理量的1/4,回复型报文类型占总报文处理量的3/4。
通过分析PTP主时钟报文处理的特点,可以通过用硬件协议栈来替换用软件协议栈,这样可以减小CPU的负荷。对于PTP定时发型报文,在组播模式下,各个从时钟的网络参数固定,这样有利于硬件实现;但是在单播模式下,各个从时钟的网络参数是不同的,这样不利于硬件实现。对于PTP回复型报文,硬件都可以通过接收的报文获取发送报文的网络参数及其他报文生成参数,这样有利于硬件实现。因此可以通过硬件处理PTP回复型报文,这样将CPU处理报文的负荷减小近3/4,从而达到减小CPU的负荷,提升系统性能的目的。
在现有技术中,为了减轻CPU处理同步报文的负荷,有人提出一种采用自动发送PTP协议报文方法。该方法的主要特点是:主时钟设备通过对于端口内置硬件自动PTP报文发送引擎,周期性地生成包含预留发送时间戳字节和预留发送序列标识ID字段的同步简化报文,经修正序列标识ID值和插入发送时间戳T1后形成同步报文,然后以组播的形式周期发送。其中自动报文发送引擎由自动PTP生成模块、自动PTP发送缓存模块、自动PTP定时器模块、端口PTP发送缓存模块等构成。CPU将待发送的同步Sync简化报文配置到自动PTP生成模块,将定时发送间隔配置到PTP定时器模块,自动PTP生成模块依据配置的定时发送间隔,周期性地将生成的Sync简化报文写入自动PTP发送缓存模块,定时发送间隔时间到时,将生成的Sync报文发出。
上述方法中主从设备采用定时自动发送Sync报文,一定程度上减小了CPU对PTP协议报文的处理量。但是该方案中自动发送Sync报文特针对组播模式,对单播模式的Sync报文的发送不适用,这限制了该方法的适用范围。同时,在PTP协议报文中Sync报文占CPU处理的PTP报文总量仅约为1/8,这对提升系统性能,减小CPU的负荷的作用不够显著。
综上所述,本申请发明人在实现本申请实施例中发明技术方案的过程中,发现现有技术至少存在如下技术问题:
在现有技术中,由于现有的PTP协议报文都需要软件协议栈处理,导致了CPU的负荷量大,软件获取硬件时间戳的过程占用软件的处理时间,且软件处理PTP协议报文比硬件直接处理协议报文的速度及效率低,通常PTP协议报文与硬件时间戳的传输途径不一样,增加数据匹配的难度,所以现有技术中的PTP协议报文处理技术存在CPU的负荷量大,处理效率低,PTP时间同步系统的同步精度和处理能力较低的技术问题。
发明内容
本申请实施例通过提供一种IEEE1588主时钟实现方法和装置,解决了现有技术中PTP协议报文处理技术存在CPU的负荷量大处理效率低,PTP时间同步系统的同步精度和处理能力较低的技术问题,实现了降低PTP时间同步系统CPU的负荷,处理效率高,提高了系统的同步精度和处理能力,节省处理时间的技术效果,进而满足PTP业务处理量大的主时钟的应用需求。
为解决上述技术问题,本申请实施例提供了一种IEEE1588主时钟实现方法,所述方法包括:
接收以太报文,并对所述以太报文进行识别分类,获得不同类别的报文数据;
将需要打时间戳的报文数据进行接收时间戳插入操作;
将插入时间戳后的报文数据进行报文解析,提取生成回复报文所需的第一参数;
根据所述第一参数,生成PTP协议回复报文;
将生成的所述PTP协议回复报文进行缓存,将接收到的报文数据进行缓存,并在发送调度控制下发送缓存的以太报文;
对所述缓存的以太报文进行识别分类,获得分类报文数据;
当在两步模式时,将生成两步PTP协议报文和其他所有以太报文发送到PHY发送接口;
当在一步模式时,将处理后的PTP协议报文和不需要处理的以太报文发送到PHY发送接口。
进一步的,所述接收以太报文,并对所述以太报文进行识别分类,获得不同类别的报文数据具体为:接收以太报文,并对所述以太报文进行识别分类,获得第一数据与第二数据,其中,所述第一数据为需要打时间戳的PTP协议报文数据,所述第二数据为不需要打时间戳的报文数据。
进一步的,所述对所述以太报文进行识别分类具体为:根据PTP报文类型和网络参数对所述以太报文进行识别分类。
进一步的,所述将需要打时间戳的的报文数据进行接收时间戳插入操作具体为:将所述第一数据的接收时间戳插入PTP协议报文的PTP帧头的保留位置处,并获得第三数据,并将所述第二数据发到MAC接收接口。
进一步的,所述将插入时间戳后的报文数据进行报文解析,提取生成回复报文所需的第一参数具体为:将所述第三数据进行报文解析,提取生成回复报文所需的第一参数。
进一步的,所述第一参数包括但不限于:PTP协议报文的网络参数、序列ID、端口ID。
进一步的,所述将生成的所述PTP协议回复报文进行缓存,将接收到的报文数据进行缓存,并在发送调度控制下发送缓存的以太报文具体为:将生成的所述PTP协议回复报文进行缓存;同时将来自MAC发送接口的所有数据进行缓存,并在发送调度控制下发送缓存的以太报文。
进一步的,所述将来自MAC发送接口的所有数据进行缓存具体为:将来自所述MAC发送接口的以太报文进行缓存。
进一步的,所述对所述缓存的以太报文进行识别分类,获得分类报文数据具体为:对所述缓存的以太报文进行识别分类,识别出第一报文、第二报文以及第三报文,其中,所述第一报文为需要打时间戳的PTP协议报文,所述第二报文为需要对修正域进行处理的PTP协议报文,所述第三报文为不需要处理的以太报文。
进一步的,所述当在两步模式时,将生成的两步PTP协议报文和不需要处理的以太报文发送到PHY发送接口具体为:记录所述第一报文的发送时间戳或根据所述第二报文的发送时间戳计算出驻留时间数据,产生两步报文生成参数;根据所述两步报文生成参数生成两步PTP协议报文,将所有报文发送到PHY发送接口。
进一步的,所述当在一步模式时,将处理后的PTP协议报文和不需要处理的以太报文发送到PHY发送接口具体为:当在一步模式时,将所述第一报文进行发送时间戳的插入控制;将所述第二报文根据发送时间戳计算出新修正域的数据并进行数据插入控制,并将处理后的PTP协议报文和所述第三报文发送到PHY发送接口。
本申请实施例中提供的一个或多个技术方案,至少具有如下技术效果或优点:
由于采用了首先接收以太报文,并对所述以太报文进行识别分类,获得不同类别的报文数据;然后将需要打时间戳的报文数据进行接收时间戳插入操作;然后将插入时间戳后的报文数据进行报文解析,提取生成回复报文所需的第一参数;然后根据所述第一参数,生成PTP协议回复报文;然后将生成的所述PTP协议回复报文进行缓存;同时将接收到的报文数据进行缓存,并在发送调度控制下发送缓存的以太报文;然后对所述缓存的以太报文进行识别分类,获得分类报文数据;最后根据不同模式将生成的PTP协议报文和接收到的以太报文发送到PHY发送接口的技术方案,即采用硬件处理PTP协议报文的技术手段,所以,有效解决了现有技术中的PTP协议报文处理技术存在CPU的负荷量大,处理效率低,PTP时间同步系统的同步精度和处理能力较低的技术问题,进而实现了降低PTP时间同步系统CPU的负荷,处理效率高,提高了系统的同步精度和处理能力,节省处理时间的技术效果,进而满足PTP业务处理量大的主时钟的应用需求。
附图说明
图1为本申请实施例中IEEE1588主时钟实现方法的流程图;
图2为本申请实施例中IEEE1588主时钟实现系统示意图;
图3为本申请实施例中PTP接收报文识别模块的示意图;
图4为本申请实施例中PTP报文生成器模块的示意图;
图5为本申请实施例中PTP发送报文处理器模块的示意图。
具体实施方式
本申请实施例通过提供一种IEEE1588主时钟实现方法和装置,解决了现有技术中PTP协议报文处理技术存在CPU的负荷量大处理效率低,PTP时间同步系统的同步精度和处理能力较低的技术问题,实现了降低PTP时间同步系统CPU的负荷,处理效率高,提高了系统的同步精度和处理能力,节省处理时间的技术效果,进而满足PTP业务处理量大的主时钟的应用需求。
本申请实施中的技术方案为解决上述技术问题。总体思路如下:
首先接收以太报文,并对所述以太报文进行识别分类,获得不同类别的报文数据;然后将需要打时间戳的报文数据进行接收时间戳插入操作;然后将插入时间戳后的报文数据进行报文解析,提取生成回复报文所需的第一参数;然后根据所述第一参数,生成PTP协议回复报文;然后将生成的所述PTP协议回复报文进行缓存,将来自MAC接口的报文数据进行缓存,并在发送调度控制下发送缓存的以太报文;然后对所述缓存的以太报文进行识别分类,获得分类报文数据;当在两步模式时,将生成的两步PTP协议报文,并将所有以太报文发送到PHY发送接口;当在一步模式时,将处理后的PTP协议报文和不需要处理的以太报文发送到PHY发送接口的技术方案,即采用硬件处理PTP协议报文的技术手段,所以,有效解决了现有技术中的PTP协议报文处理技术存在CPU的负荷量大,处理效率低,PTP时间同步系统的同步精度和处理能力较低的技术问题,进而实现了降低PTP时间同步系统CPU的负荷,处理效率高,提高了系统的同步精度和处理能力,节省处理时间的技术效果,进而满足PTP业务处理量大的主时钟的应用需求。
为了更好的理解上述技术方案,下面将结合说明书附图以及具体的实施方式对上述技术方案进行详细的说明。
实施例一
在实施例一中,提供了一种IEEE1588主时钟实现方法,请参考图1,本申请实施例中的实现方法具体包括:
S10,接收以太报文,并对所述以太报文进行识别分类,获得不同类别的报文数据。
其中,在本申请实施例中,所述接收以太报文,并对所述以太报文进行识别分类,获得不同类别的报文数据具体为:接收以太报文,并对所述以太报文进行识别分类,获得第一数据与第二数据,其中,所述第一数据为需要打时间戳的PTP协议报文数据,所述第二数据为不需要打时间戳的报文数据。
在具体实施例中,从PHY接收接口接收端接收以太网报文,根据PTP报文类型和网络参数识别出当前接收的以太网报文属于需要打时间戳的PTP协议报文数据或无需打时间戳的以太报文。并且从PHY接收接口收以太报文的过程中,对以太报文的CRC校验进行同步核对。
在步骤S10之后,本申请实施例的方法便进入步骤S20,即:将需要打时间戳的报文数据进行接收时间戳插入操作。
其中,在本申请实施例中,所述将需要打时间戳的的报文数据进行接收时间戳插入操作具体为:将所述第一数据的接收时间戳插入PTP协议报文的PTP帧头的保留位置处,并获得第三数据,并将所述第二数据发到MAC接收接口。
在具体实施例中,将无需打时间戳的以太网报文接收并缓存在MAC接收接口对应的地址空间,如果CRC校验验证正确,将缓存的以太报文发到MAC接收接口;否则丢弃该报文,不将其发到MAC接收接口。将需要打时间戳的PTP协议报文的接收时间戳在报文接收过程中插入PTP报文的保留字节,同时将接收的PTP协议报文缓存到PTP协议报文处理接口对应的地址空间,如果CRC校验验证正确,将缓存的PTP协议报文发到PTP协议报文处理接口;否则丢弃该报文,不将其发到PTP协议报文处理接口。
在步骤S20之后,本申请实施例的方法便进入步骤S30,即:将插入时间戳后的报文数据进行报文解析,提取生成回复报文所需的第一参数。
其中,在本申请实施例中,所述第一参数包括但不限于:PTP协议报文的网络参数、序列ID、端口ID。
在具体实施例中,从PTP协议报文进行解析,PTP协议报文为Delay_Req报文则回复报文为Delay_Resp报文;PTP协议报文为Pdelay_Req报文则回复报文为Pdelay_Resp报文。其中Pdelay_Resp报文需要根据Pdelay_Req报文的接收时间戳与Pdelay_Resp报文的发送时间戳计算驻留时间,为了简化后续的处理,在生成Pdelay_Resp时,将Pdelay_Req报文的接收时间戳插入Pdelay_Resp报文的PTP帧头的保留位置处。PTP协议报文的网络参数、序列ID、端口ID等信息是生成回复报文的必要信息。
在步骤S30之后,本申请实施例的方法便进入步骤S40,即:根据所述第一参数,生成PTP协议回复报文。PTP主时钟接收端接收到需要打时间戳的协议报文后,自动生成回复报文,如接收到Delay_Req报文后自动生成Delay_Resp报文,接收到Pdelay_Req报文后自动生成Pdelay_Resp报文。
在步骤S40之后,本申请实施例的方法便进入步骤S50,即:将生成的所述PTP协议回复报文进行缓存,并将来自MAC发送接口的报文数据进行缓存,并在发送调度控制下发送缓存的以太报文。
在步骤S50之后,本申请实施例的方法便进入步骤S60,即:对所述缓存的以太报文进行识别分类,获得分类报文数据。
其中,在本申请实施例中,所述对所述缓存的以太报文进行识别分类,获得分类报文数据具体为:对所述缓存的以太报文进行识别,识别出第一报文、第二报文以及第三报文,其中,所述第一报文为需要打时间戳的PTP协议报文,所述第二报文为需要对修正域进行处理的PTP协议报文,所述第三报文为不需要处理的以太报文。
在步骤S60之后,本申请实施例的方法便进入步骤S71,即:当在两步模式时,将生成两步PTP协议报文和其他所有以太报文发送到PHY发送接口。
在步骤S60之后,本申请实施例的方法便进入步骤S72,即:当在一步模式时,将处理后的PTP协议报文和不需要处理的以太报文发送到PHY发送接口。
其中,在本申请实施例中,所述当在两步模式时,将生成两步PTP协议报文,并将所有以太报文发送到PHY发送接口具体为:记录识别出所述第一报文的发送时间戳或根据所述第二报文的发送时间戳计算出驻留时间数据,产生两步报文生成参数;根据所述两步报文生成参数生成两步PTP协议报文,并将所有报文发送到PHY发送接口。其中,所述两步报文生成参数包括但不限于网络参数、序列ID、端口ID等。
在具体实施例中,两步模式时,发送Sync报文后需要发送携带Sync报文的发送时间戳的Follow_Up报文;发送Pdelay_Resp报文后需要发送携带其对应Pdelay_Req报文在系统的驻留时间数据的Pdelay_Resp_Follow_Up报文。PTP协议报文的网络参数、序列ID、端口ID等信息是生成Follow_Up或Pdelay_Resp_Follow_Up报文的必要信息。
其中,在本申请实施例中,所述当在一步模式时,将处理后的PTP协议报文和不需要处理的以太报文发送到PHY发送接口具体为:当在一步模式时,将识别出所述第一报文进行发送时间戳的插入控制;将所述第二报文根据发送时间戳计算出新修正域的数据并进行数据插入控制,并将处理后的PTP协议报文和所述第三报文发送到PHY发送接口。
在具体实施例中,一步模式时,Sync报文需要将其发送时间戳插入Sync报文的originTimestamp处;Pdelay_Resp报文需要将其的驻留时间加上原始修正域的数据后,再替换修正域的数据。PTP协议报文在向PHY发送端口发送过程中经过数据插入后,需要修正报文的CRC校验来保证以太报文的正确性。
在具体实施例中,PTP主时钟对发送出需要打时间戳的PTP协议报文打时间戳。一步模式情况下,将时间戳插入PTP协议报文的指定位置同时修正报文的CRC校验,如Sync报文及Pdelay_Resp报文需要插入发送时间戳;两步模式情况下,将时间戳和报文的网络参数、端口ID及序列ID等参数送到PTP报文生成器,产生跟随报文,如Sync报文发送后,需要发送携带Sync报文的发送时间戳的Follow_Up报文。
本发明IEEE1588主时钟实现系统实现方法如图2所示,主要由PTP接收识别模块31、以太报文接收缓存模块32、PTP接收报文处理器模块33、PTP报文生成器模块34、以太发送报文缓存模块35、以太发送调度模块36、PTP发送报文处理器模块37和PTP时间戳模块38组成。另外PHY接收接口和PHY发送接口为PHY功能接口,MAC接收接口和MAC发送接口为MAC功能接口,CPU控制接口用于软件对系统模块的参数设置及状态数据读取。
PTP接收报文识别模块31的功能设计如图3所示,主要包括以太报文延时模块311、报文识别控制模块312、CRC校验核对模块313、时间戳记录模块314和时间戳插入控制模块315。其中以太报文延时模块311对接收的以太报文进行延时控制。报文识别控制模块312通过CPU控制接口接收软件配置参数,上报查询信息或报文的接收时间戳;实时监控PHY接收接口的以太数据,当判断出以太报文的帧头时,通知时间戳记录模块314缓存当前系统时间戳数据;将以太报文数据送到CRC校验核对模块进行以太报文CRC校验正确性判断;当识别到需要打时间戳的PTP协议报文时,指示时间戳插入控制模块315将时间戳记录模块314缓存的时间戳插入PTP协议报文的PTP帧头的保留位置处,并指示以太报文接收缓存模块32将当前接收的以太报文接收完成后发到PTP接收报文处理器模块33;当识别到不需要打时间戳的以太报文时,指示以太报文接收缓存模块32将当前接收的以太报文接收完成发到MAC接收端口;根据CRC校验核对结果指示以太报文接收缓存模块32,接收或丢弃当前接收以太报文,如果CRC校验正确,指示以太报文接收缓存模块32接收此报文,反之丢弃此报文。时间戳插入控制模块315完成将识别出需要打时间戳的PTP协议报文的接收时间戳插入PTP协议报文的PTP帧头的预留位置处,具体处理方法将时间戳的整数秒的低字节插入PTP帧头的偏移位置5,将时间戳的小数秒的4字节插入PTP帧头的偏移位置16~19,整数秒的其他字节数据在计算时根据系统时间戳模块38的时间戳恢复,因为时间戳的整数秒的低字节数据每隔256秒才重复,且PTP协议报文在本发明系统的滞留时间远小于256秒,这为该处理方法提供了技术保障。
以太报文接收缓存模块32根据PTP接收报文识别模块31的指示信息,将接收的PTP报文分类缓存,并将接收完整的以太报文根据控制指示发到MAC接收接口或PTP接收报文处理器模块33。
PTP接收报文处理器模块33解析PTP协议报文,具体的提取PTP协议报文的源MAC地址、源IP地址(UDP报文)、端口ID、序列ID、以太类型(802.3或UDP/IP)等PTP报文生成器模块34生成回复该报文的新PTP协议报文的信息。另外PTP协议报文的接收时间戳的整数秒根据其携带的整数秒的低字节与PTP时间戳模块38的当前时间戳恢复出完整的时间戳整数秒。PTP协议报文对应的回复报文如下表所示,其中为了便于Pdelay_Resp的驻留时间的计算,将Pdelay_Req的接收时间戳发到PTP报文生成器模块34,在生成Pdelay_Resp时将其插入PTP帧头的保留位置处,具体处理方法是将时间戳的整数秒的低字节插入PTP帧头的偏移位置5,将时间戳的小数秒的4字节插入PTP帧头的偏移位置16~19。请参考表2。
表2
表3
PTP主时钟的硬件报文生成模块将需要计算驻留时间的PTP协议报文的收时间戳插入新生成的PTP协议报文的PTP帧头的保留字节,如表2所示,将时间戳的整数秒的低字节插入PTP帧头的偏移位置5,将时间戳的小数秒的4字节插入PTP帧头的偏移位置16~19;PTP主时钟的PTP发送报文处理器直接从PTP协议报文的PTP帧头的保留字节提取出接收时间戳,再将报文的发送时间戳减去接收时间戳,得到报文的驻留时间。一步模式情况下,将报文修正域的数据加上驻留时间后替换报文的修正域数据,并修正报文的CRC校验,如Pdelay_Resp报文需要根据驻留时间修正报文的修正域的数据;两步模式情况下,将驻留时间、报文的网络参数、端口ID及序列ID等参数送到PTP报文生成器,产生跟随报文,如Pdely_Resp报文发送后,需要发送携带驻留数据的Pdelay_Resp_Follow_Up报文。
PTP报文生成器模块34实现PTP协议报文的生成功能,请参考图4,PTP报文生成器模块主要由PTP协议报文生成控制器模块341、MAC数据生成控制模块342、IP数据生成控制模块343、UDP数据生成控制模块344、PTP数据生成控制模块345及CRC校验模块346组成。PTP协议报文输出控制器模块341接收或上报CPU控制接口的设置及查询信息;接收PTP发送报文处理器模块37和PTP接收报文处理器模块33送来的报文生成请求及相关数据;控制MAC数据生成控制模块342、IP数据生成控制模块343、UDP数据生成模块344、PTP数据生成模块345及CRC校验模块346的运行功能,并接收各个模块生成的数据,将生成的PTP协议报文发到以太发送报文缓存模块35。MAC数据生成控制模块342完成以太报文MAC数据组装及控制功能。IP数据生成控制模块343完成IP数据组装及控制功能。UDP数据生成控制模块344完成UDP数据组装及控制功能。PTP数据生成控制模块345接收CPU控制接口的控制信息;生成PTP数据。CRC校验模块346对MAC数据进行CRC校验,获取以太报文的CRC校验数据。
以太发送报文缓存模块35将从MAC发送接口和PTP报文生成器模块34接收的以太报文分别进行缓存,并将以太报文缓存数据上报到以太发送调度模块36;在以太发送调度模块36的控制下将缓存的以太报文发到PTP发送报文处理器模块37。
以太报文调度模块36接收和上报调度信息到CPU控制接口;控制以太发送缓存模块35的以太报文的发送。
PTP发送报文处理器模块37实现对一步模式下对需要打时间戳的PTP协议报文进行数据插入控制,两步模式下对需要打时间戳的PTP协议报文获取其发送时间戳及其他参数送PTP报文生成器模块34生成Follow_Up或Pdelay_Resp_Follow_Up报文;对不需要打时间戳的PTP协议报文不做任何控制,直接经过本模块过到PHY发送接口。请参考图5,PTP发送报文处理器模块主要由报文识别控制模块371、以太报文延时模块372、数据插入控制模块373、CRC校验模块374和时间戳记录模块375组成。以太报文延时模块372将以太发送报文缓存模块35的以太报文进行延时,延时过程中接受数据插入控制模块373和CRC校验模块374的数据插入控制,最后将以太报文数据发到PHY发送接口。数据插入控制模块373在报文识别控制模块371的控制下插入数据到以太报文延时模块372的延时数据队列中。CRC校验模块374在报文识别控制模块371的控制下,将以太报文延时模块372的队列中的数据进行CRC校验计算,并将校验结果数据插入以太报文延时模块372的数据队列中。时间戳记录模块375探测到以太报文帧头时,记录并缓存PTP时间戳模块38提供的当前时间戳信息,并将时间戳信息提供给报文识别控制模块371。
报文识别控制模块371从以太发送报文缓存模块35发来的以太报文数据流中通过PTP协议报文类型识别出需要打时间戳或计算驻留时间戳的PTP协议报文,提取报文中的数据,并从时间戳记录模块375获取PTP协议报文的发送时间戳,经过数据计算处理后,将数据进行插入控制或上报给PTP报文生成器模块34。具体地,一步模式时,将Sync报文的发送时间戳插入Sync报文的T1时间戳位置;将Pdelay_Resp报文的修正域的数据做校正,实现的方法是提取并回复报文的PTP帧头的保留位置处携带的时间戳信息,将Pdelay_Resp报文的发送时间戳与其相减,再加上Pdelay_Resp报文的原始修正域的数据,就得到新的修正域数据。两步模式时,将Sync报文的发送时间戳、网络参数、端口ID、序列ID等信息送到PTP报文生成器模块34生成Follow_Up报文;将Pdelay_Resp报文的发送时间戳减去其预留位置携带的时间信息得到驻留时间数据,并将驻留时间数据与Pdelay_Resp报文的网络参数、端口ID、序列ID等信息送到PTP报文生成器模块34生成Pdelay_Resp_Follow_up报文。
以太发送调度模块36在CPU控制接口的控制下完成以太发送报文缓存模块35的以太报文发送调度,并对相邻两帧以太报文发送间隔做控制,必须满足以太网的规范要求。
PTP时间戳模块38作为系统同步时间提供源模块,受CPU控制接口的同步算法控制,该模块的功能可由外部输入提供。
在本申请实施例中,将接收时间戳插入PTP协议报文的保留位置处,通过报文直接携带接收时间戳,有利于减少接收PTP协议包文与接收时间戳的匹配工作;通过硬件方式将接收PTP协议报文自动生成回复报文,减少了软件接收、处理、生成PTP协议报文的工作;PTP协议报文生成时,将需要计算驻留时间的报文的接收时间戳插入PTP帧头的保留位置处,便于在发送时刻根据发送时间戳计算驻留数据,这种采用报文直接携带时间戳的处理方式,有利于减少发送PTP协议报文时,对计算数据进行匹配等操作过程;两步模式情况下,通过硬件方式识别出需要发送跟随报文的PTP协议报文,并将该报文的发送时间戳及报文的参数,自动生成跟随报文,这种处理方式减少了软件获取PTP协议报文发送时间戳并生成跟随报文的工作。PTP协议报文在接收或发送端口处,采用硬件方式记录时间戳,这样的打时间戳的方式保证了时间戳的获取精度。
上述本申请实施例中的技术方案,至少具有如下的技术效果或优点:
由于采用了首先接收以太报文,并对所述以太报文进行识别分类,获得不同类别的报文数据;然后将需要打时间戳的报文数据进行接收时间戳插入操作;然后将插入时间戳后的报文数据进行报文解析,提取生成回复报文所需的第一参数;然后根据所述第一参数,生成PTP协议回复报文;然后将生成的所述PTP协议回复报文进行缓存;同时将不需要打时间戳的报文数据进行缓存,并在发送调度控制下发送缓存的以太报文;然后对所述缓存的以太报文进行识别分类,获得分类报文数据;最后根据不同模式将生成的PTP协议报文和不需要处理的以太报文发送到PHY发送接口的技术方案,即采用硬件处理PTP协议报文的技术手段,所以,有效解决了现有技术中的PTP协议报文处理技术存在CPU的负荷量大,处理效率低,PTP时间同步系统的同步精度和处理能力较低的技术问题,进而实现了降低PTP时间同步系统CPU的负荷,处理效率高,提高了系统的同步精度和处理能力,节省处理时间的技术效果,进而满足PTP业务处理量大的主时钟的应用需求。
尽管已描述了本发明的优选实施例,但本领域内的技术人员一旦得知了基本创造性概念,则可对这些实施例作出另外的变更和修改。所以,所附权利要求意欲解释为包括优选实施例以及落入本发明范围的所有变更和修改。
显然,本领域的技术人员可以对本发明进行各种改动和变型而不脱离本发明的精神和范围。这样,倘若本发明的这些修改和变型属于本发明权利要求及其等同技术的范围之内,则本发明也意图包含这些改动和变型在内。
Claims (10)
1.一种IEEE1588主时钟实现方法,其特征在于,所述方法包括:
接收以太报文,并对所述以太报文进行识别分类,获得不同类别的报文数据;
将需要打时间戳的报文数据进行接收时间戳插入操作;
将插入时间戳后的报文数据进行报文解析,提取生成回复报文所需的第一参数;
根据所述第一参数,生成PTP协议回复报文;
将生成的所述PTP协议回复报文进行缓存,将接收到的报文数据进行缓存,并在发送调度控制下发送缓存的以太报文;
对所述缓存的以太报文进行识别分类,获得分类报文数据;
当在两步模式时,将生成两步PTP协议报文和其他所有以太报文发送到PHY发送接口;
当在一步模式时,将处理后的PTP协议报文和不需要处理的以太报文发送到PHY发送接口。
2.如权利要求1所述的方法,其特征在于,所述接收以太报文,并对所述以太报文进行识别分类,获得不同类别的报文数据具体为:接收以太报文,并对所述以太报文进行识别分类,获得第一数据与第二数据,其中,所述第一数据为需要打时间戳的PTP协议报文数据,所述第二数据为不需要打时间戳的报文数据。
3.如权利要求2所述的方法,其特征在于,所述对所述以太报文进行识别分类具体为:根据PTP报文类型和网络参数对所述以太报文进行识别分类。
4.如权利要求2所述的方法,其特征在于,所述将需要打时间戳的的报文数据进行接收时间戳插入操作具体为:将所述第一数据的接收时间戳插入PTP协议报文的PTP帧头的保留位置处,并获得第三数据,并将所述第二数据发到MAC接收接口。
5.如权利要求4所述的方法,其特征在于,所述将插入时间戳后的报文数据进行报文解析,提取生成回复报文所需的第一参数具体为:将所述第三数据进行报文解析,提取生成回复报文所需的第一参数。
6.如权利要求5所述的方法,其特征在于,所述第一参数包括但不限于:PTP协议报文的网络参数、序列ID、端口ID。
7.如权利要求5所述的方法,其特征在于,所述将生成的所述PTP协议回复报文进行缓存,将接收到的报文数据进行缓存,并在发送调度控制下发送缓存的以太报文具体为:将生成的所述PTP协议回复报文进行缓存;同时将来自MAC发送接口的所有数据进行缓存,并在发送调度控制下发送缓存的以太报文。
8.如权利要求7所述的方法,其特征在于,所述对所述缓存的以太报文进行识别分类,获得分类报文数据具体为:对所述缓存的以太报文进行识别分类,识别出第一报文、第二报文以及第三报文,其中,所述第一报文为需要打时间戳的PTP协议报文,所述第二报文为需要对修正域进行处理的PTP协议报文,所述第三报文为不需要处理的以太报文。
9.如权利要求8所述的方法,其特征在于,所述当在两步模式时,将生成的两步PTP协议报文和不需要处理的以太报文发送到PHY发送接口具体为:记录所述第一报文的发送时间戳或根据所述第二报文的发送时间戳计算出驻留时间数据,产生两步报文生成参数;根据所述两步报文生成参数生成两步PTP协议报文,将所有报文发送到PHY发送接口。
10.如权利要求8所述的方法,其特征在于,所述当在一步模式时,将处理后的PTP协议报文和不需要处理的以太报文发送到PHY发送接口具体为:当在一步模式时,将所述第一报文进行发送时间戳的插入控制;将所述第二报文根据发送时间戳计算出新修正域的数据并进行数据插入控制,并将处理后的PTP协议报文和所述第三报文发送到PHY发送接口。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201310650280.6A CN103701581B (zh) | 2013-12-06 | 2013-12-06 | 一种ieee1588主时钟实现方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201310650280.6A CN103701581B (zh) | 2013-12-06 | 2013-12-06 | 一种ieee1588主时钟实现方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN103701581A CN103701581A (zh) | 2014-04-02 |
CN103701581B true CN103701581B (zh) | 2017-01-18 |
Family
ID=50362987
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201310650280.6A Active CN103701581B (zh) | 2013-12-06 | 2013-12-06 | 一种ieee1588主时钟实现方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN103701581B (zh) |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106301996B (zh) * | 2015-06-26 | 2019-10-08 | 中国移动通信集团公司 | 一种ptp报文自动测试的方法及装置 |
CN109495203A (zh) * | 2018-12-28 | 2019-03-19 | 浙江赛思电子科技有限公司 | 一种ptp从钟的恢复系统 |
CN111654906B (zh) * | 2020-06-02 | 2022-08-16 | 厦门亿联网络技术股份有限公司 | 无线同步方法、装置及基站 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN201976121U (zh) * | 2010-11-10 | 2011-09-14 | 国网电力科学研究院 | 利用工业以太网传递高精度时间的ieee1588主站设备 |
CN102340439A (zh) * | 2010-07-20 | 2012-02-01 | 上海远景数字信息技术有限公司 | Ieee1588设备的虚拟交换方法 |
CN102882626A (zh) * | 2012-10-24 | 2013-01-16 | 南京澳德思电气有限公司 | 融合b码解码技术的ieee1588智能电网时间传输方法与装置 |
-
2013
- 2013-12-06 CN CN201310650280.6A patent/CN103701581B/zh active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102340439A (zh) * | 2010-07-20 | 2012-02-01 | 上海远景数字信息技术有限公司 | Ieee1588设备的虚拟交换方法 |
CN201976121U (zh) * | 2010-11-10 | 2011-09-14 | 国网电力科学研究院 | 利用工业以太网传递高精度时间的ieee1588主站设备 |
CN102882626A (zh) * | 2012-10-24 | 2013-01-16 | 南京澳德思电气有限公司 | 融合b码解码技术的ieee1588智能电网时间传输方法与装置 |
Non-Patent Citations (1)
Title |
---|
基于IEEE1588时钟同步协议的分析与研究;陈诚等;《基于IEEE1588时钟同步协议的分析与研究》;20130630;第26卷(第6期);第45-46页 * |
Also Published As
Publication number | Publication date |
---|---|
CN103701581A (zh) | 2014-04-02 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN104507156B (zh) | 针对无线网络的基于ieee 1588ptp机制的时间同步改进方法 | |
CN100359956C (zh) | 无线通信系统中实现同步与测距的方法及其实施装置 | |
CN106992830B (zh) | 一种fc-ae-1553网络中的时钟同步方法 | |
CN107147467B (zh) | 一种tte终端系统内部时间同步系统及方法 | |
CN102244603B (zh) | 传输承载时间的报文的方法、设备及系统 | |
US20100080249A1 (en) | System, method and apparatus of time information synchronization | |
US20140247839A1 (en) | Time synchronization in distributed network testing equipment | |
CN107579793A (zh) | 一种通信网络设备间时间同步的优化方法、装置及设备 | |
CN103580846B (zh) | 一种跨非1588网络传输精密时钟报文的方法及系统 | |
US9042411B1 (en) | System and method for accurate time sampling in presence of output delay | |
CN102299788A (zh) | 自动发送ieee1588协议报文的控制方法及装置 | |
CN1845546A (zh) | 面向测量与控制的精确时间同步方法与系统 | |
CN103929293A (zh) | 非对称延迟的时间同步方法及系统 | |
CN103701581B (zh) | 一种ieee1588主时钟实现方法 | |
CN101895384A (zh) | 一种实现边界时钟的方法和装置 | |
CN105743598A (zh) | 一种工业以太网时钟同步方法及系统 | |
CN101662702A (zh) | 无源光网络中的时延控制方法、光线路终端和无源光网络 | |
CN108429596B (zh) | 一种用于IEEE 1588v2协议的以太网MAC模块实现装置及实现方法 | |
CN101425887A (zh) | 一种用于无线传感器网络的时间同步方法 | |
CN105743599A (zh) | 一种动态网络高精度传输同步与延迟补偿方法 | |
CN107786293A (zh) | 时间同步方法、主时钟设备、从时钟设备及时间同步系统 | |
CN106559157A (zh) | 一种时钟同步方法、装置及通信设备 | |
CN110808807B (zh) | 一种局域网络中设备的时钟同步方法 | |
CN103647614A (zh) | 基于ieee1588协议的可靠提高时间同步精度方法 | |
CN106301745A (zh) | 主用主控板与备用主控板之间时间同步的方法及装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant | ||
CP01 | Change in the name or title of a patent holder | ||
CP01 | Change in the name or title of a patent holder |
Address after: 610000 Sichuan city of Chengdu province Jinjiang District Dacisi Road No. 22 Patentee after: Telecommunication science and technology fifth Research Institute Co., Ltd. Address before: 610000 Sichuan city of Chengdu province Jinjiang District Dacisi Road No. 22 Patentee before: Information Industry Department No. 5 Telecommunication Technologics Research Institute |