CN102447553A - 一种精确时间同步协议的实现装置 - Google Patents
一种精确时间同步协议的实现装置 Download PDFInfo
- Publication number
- CN102447553A CN102447553A CN2010105075523A CN201010507552A CN102447553A CN 102447553 A CN102447553 A CN 102447553A CN 2010105075523 A CN2010105075523 A CN 2010105075523A CN 201010507552 A CN201010507552 A CN 201010507552A CN 102447553 A CN102447553 A CN 102447553A
- Authority
- CN
- China
- Prior art keywords
- ptp
- clock
- agreement
- message
- operating system
- 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
Links
Images
Landscapes
- Synchronisation In Digital Transmission Systems (AREA)
Abstract
本发明适用于网络通信领域,提供了一种精确时间同步协议的实现装置,所述装置包括:***初始化单元,用于对PTP协议的实现装置进行初始化,为PTP协议的运行做准备;人机交互单元,用于提供一种或者多种交互接口,以供用户与PTP协议的实现装置进行交互;协议引擎单元,用于运行PTP协议;硬件通讯单元,用于对所述协议引擎单元组织的各种PTP报文打上时间戳,并将打上了时间戳的PTP报文在主时钟设备和从时钟设备之间进行传输。通过本发明实施例提供的PTP协议的实现装置在网络中运行PTP协议,以实现网络中各时钟的高精度同步,从而解决了目前工业控制上由于时钟之间的不同步或者同步误差大导致的各种问题。
Description
技术领域
本发明属于网络通信领域,尤其涉及一种精确时间同步协议的实现装置。
背景技术
在目前的工业控制过程中,由于工业控制网络中各时钟之间的不同或者同步误差大给工业控制造成了一系列的问题。为了解决网络中各时钟的同步问题。现有技术提供了多种可以支持网络时钟同步的协议,如网络时间协议(NetworkTime Protocol,NTP)、简单网络时间协议(Simple Network Time Protocol,SNTP)等。但这些支持网络时钟同步的协议的共同不足是时钟同步精度不高,一般都是毫秒级,不能很好的满足现代工业控制,如电力行业、轨道交通等的应用需求。
为了解决上述问题,具有共同利益的信息技术、自动控制、人工智能、测试测量等领域的工程技术人员倡议成立了网络精密时钟同步委员会,该网络精密时钟同步委员会制订了网络测量和控制***的精密时钟同步协议标准(IEEE1588标准),IEEE1588的精密时钟协议(Precision Time Synchronization Protocol,PTP)能够实现高精度的以太网时间同步,取得了很好的网络时钟同步精度,显著的提高了网络的定时同步指标。
但是IEEE1588的PTP协议仅定义了同步的规范,现有技术没有提供PTP协议的具体实现装置,使得该PTP协议难以得到推广。
发明内容
本发明实施例提供了一种精确时间同步协议的实现装置,旨在通过该精确时间同步协议的实现装置运行PTP协议,以达到网络中各时钟的高精度同步的问题。
本发明实施例是这样实现的,一种精确时间同步协议的实现装置,所述装置包括:
***初始化单元,用于对精确时间同步PTP协议的实现装置进行初始化;
人机交互单元,用于提供一种或者多种交互接口,以供用户与PTP协议的实现装置进行交互;
协议引擎单元,用于运行PTP协议,根据PTP协议组织各种PTP报文,并根据PTP协议在主时钟设备和从时钟设备之间交互PTP报文,根据各PTP报文的发送时间戳和接收时间戳实现主时钟设备和从时钟设备之间的时钟同步;
硬件通讯单元,用于对所述协议引擎单元组织的各种PTP报文打上时间戳,并将打上了时间戳的PTP报文在主时钟设备和从时钟设备之间进行传输。
在本发明实施例中,提供了一种新的PTP协议的实现装置,通过该PTP协议的实现装置在网络中运行PTP协议,以实现网络中各时钟的高精度同步,从而解决了目前工业控制上由于时钟之间的不同步或者同步误差大导致的各种问题。
附图说明
图1是适用本发明提供的PTP协议的实现装置的网络结构图;
图2是本发明实施例提供的PTP协议的实现装置的结构框图;
图3是本发明实施例提供的主时钟设备和从时钟设备间的PTP报文交互的流程示意图;
图4是本发明实施例提供的硬件通讯单元的结构示意图;
图5是本发明实施例提供的PTP协议的实现装置的详细架构图;
图6是本发明实施例提供的PTP协议的实现装置的启动流程图。
具体实施方式
为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
在本发明实施例中,提供了一种新的PTP协议的实现装置,以在网络中实现PTP协议,满足网络中时钟的高精度同步需求。
本发明提供了一种精确时间同步协议的实现装置,所述装置包括:
***初始化单元,用于对精确时间同步PTP协议的实现装置进行初始化,为PTP协议的运行做准备;
人机交互单元,用于提供一种或者多种交互接口,以供用户与PTP协议的实现装置进行交互;
协议引擎单元,用于运行PTP协议,根据PTP协议组织各种PTP报文,并根据PTP协议在主时钟设备和从时钟设备之间交互PTP报文,根据各PTP报文的发送时间戳和接收时间戳实现主时钟设备和从时钟设备之间的时钟同步;
硬件通讯单元,用于对所述协议引擎单元组织的各种PTP报文打上时间戳,并将打上了时间戳的PTP报文在主时钟设备和从时钟设备之间进行传输。
为了说明本发明所述的技术方案,下面通过具体实施例来进行说明。
图1示出了适用本发明提供的PTP协议的实现装置的网络结构,多个从时钟设备与主时钟设备连接,主时钟设备与各从时钟设备之间可以通过PTP报文进行通信。在本发明另一实施例中,多个从时钟设备也可以与多个主时钟设备连接。
图2示出了本发明实施例提供的PTP协议的实现装置的结构,为了便于说明,仅示出了与本发明实施例相关的部分。
该PTP协议的实现装置可以用于通信设备,如计算机设备等,可以是运行于这些设备内的软件单元、硬件单元或者软硬件相结合的单元,也可以作为独立的挂件集成到这些设备中或者运行于这些设备的应用***中,其中:
***初始化单元1对PTP协议的实现装置进行初始化,以为PTP协议的运行做好准备。在本发明实施例中,***初始化单元1主要用于对定时器、***日志单元、配置模块等进行初始化。其中初始化包括但不限于资源分配、创建定时器、创建消息队列以及初始化***日志等。其中定时器用于完成PTP协议交互时的逻辑操作,保证PTP协议的正常运转。消息队列用于为用户提供一个外部的API接口,使得用户可以通过该API接口获取PTP协议运转过程中发生的异常信息。
其中需要分配的资源包括但不限于内存、数据结构、消息队列等,如为PTP时钟数据结构分配内存、为外部主时钟(Foreign Master)分配内存。
其中PTP时钟数据结构用于定量描述当前时钟的属性,对规范中定义的每一个数据集的成员进行了包含,记录时钟同步过程中发生的事件,时钟端口的状态和数值等。
Foreign Master用于存储外部主时钟设备发送的同步报文。其中ForeignMaster是针对本地时钟节点而言的,所有从时钟设备接收到的外部主时钟的同步报文都需要被存放在为Foreign Master分配的内存中,用于BMC算法处理。人机交互单元2提供一种或者多种交互接口,以供用户与PTP协议的实现装置进行交互。其中提供的交互接口包括但不限于参数配置接口和用于测试的应用程序编程接口(Application Programming Interface,API)。该人机交互单元2包括配置模块21和测试模块22。
其中配置模块21提供参数配置接口,接收用户输入的配置请求,并根据该配置请求对PTP协议的实现装置的***参数进行配置。
其中可以配置的***参数包括但不限于本地时钟参数属性和用户自定义参数两部分。由于需要配置的***参数在现有的IEEE 1588-2008规范中有规定,在此不再赘述。
该配置模块21根据配置请求对PTP协议的实现装置的***参数进行配置的方式包括但不限于文件配置方式、数据库配置方式、WEB配置方式等。
其中文件配置方式的具体流程如下:该配置模块21为用户提供文件配置接口,用户通过该文件配置接口输入配置文件,并将该配置文件存储至该设置有PTP协议的实现装置的***的文件***中,在需要通过PTP协议的实现装置运行PTP协议时,则直接读取该配置文件中的内容,并将该配置文件中配置的数值赋值到时钟数据结构中的对应变量,以便PTP协议的实现装置使用。举例说明如下:
假设配置文件名为cfgFile.txt,则该配置文件cfgFile.txt里的内容为用户配置的***参数。***上电后首先打开该配置文件cfgFile.txt,然后将该配置文件cfgFile.txt中的所有字符读取到内存中,解析每一个参数的完整性以及其对应的数值,将该数值分别对应赋值给时钟数据结构中的对应的变量,以便被PTP协议的实现装置使用。
如果该配置文件cfgFile.txt不存在,则PTP协议的实现装置将使用一组默认的数值来赋值给时钟数据结构中的对应的变量,然后将该默认的数值写到文件中,作为后续的配置文件。
其中配置文件中存储有用户配置的PTP协议的实现装置的***参数。数据库配置方式、WEB配置方式与文件配置方式类似,不同之处仅在于采用数据库存储用户配置的PTP协议的实现装置的***参数。在此不再一一举例说明。
测试模块22提供用于测试的API接口,接收用户输入的测试请求,并对该测试请求指定的PTP协议的功能进行测试。该测试模块22进行测试的过程如下:
首先调用一个测试程序入口,进入到一个测试界面,该测试节目包括多种功能测试入口,如定时器测试、***日志测试、组播测试、消息队列测试以及PTP消息测试等。
然后等待用户输入测试选项,测试完毕退出到主界面等待再次输入。
协议引擎单元3运行PTP协议,根据PTP协议组织各种PTP报文,并根据PTP协议在主时钟设备和从时钟设备之间交互PTP报文,根据各PTP报文的发送时间戳和接收时间戳实现主时钟设备和从时钟设备之间的时钟同步。
该协议引擎单元3包括定时器31、PTP报文处理模块32、网络通讯模块33、同步算法模块34和时钟处理模块35。其中:
定时器31为PTP协议的运行提供定时功能。该定时器31包括但不限于同步间隔定时器、接收超时定时器和延迟请求间隔定时器等三种类型的定时器。
其中同步间隔定时器用于控制主时钟设备向从时钟设备发送同步报文的间隔时间。如当PTP时钟端口切换到PTP_MASTER状态后,程序将会启动同步间隔定时器,然后设置定时的时间间隔为指定的时间,定时的间隔时间是预先配置好的,然后程序通过轮询的方式查看定时的时间间隔是否到,如果到了,那么将该定时时间重新设置为指定的时间,并且发送同步报文到从时钟。
接收超时定时器用于控制从时钟设备从主时钟设备接收同步报文的间隔时间。如当PTP时钟端口状态切换到PTP_SLAVE状态后,程序将启动接收超时定时器,然后设置定时的时间间隔为指定的时间,定时的间隔时间是预先配置好的,然后程序通过轮询的方式查看定时的时间间隔是否到,如果到了还没有收到PTP同步报文,那么将PTP时钟端口切换到PTP_MASTER状态,否则在该时间间隔内接收到了同步报文,那么将该定时时间重新设置为指定的时间。
延迟请求间隔定时器用于记录从时钟设备向主时钟设备发送延迟请求报文的间隔时间。如当从时钟接收到某一条同步报文后,将会启动延迟请求间隔定时器,然后将时间间隔设置为同步报文间隔周期的整数倍,该整数倍是预先设置好的。然后通过轮询的方式查询该定时时间是否到,如果到,那么将时间间隔重新设置为同步报文间隔周期的整数倍,并会发送延迟请求报文给主时钟设备。
在本发明实施例中,同步间隔定时器、接收超时定时器和延迟请求间隔定时器等三种类型的定时器可以采用同一个定时器实现,也可以采用不同的定时器实现。
PTP报文处理模块32根据PTP协议组织并封装各种PTP报文,通过网络通讯模块32发送PTP报文,或从网络通讯模块32接收PTP报文,并获取各PTP报文的发送时间戳和接收时间戳。
在本发明实施例中,PTP报文处理模块32根据PTP协议组织的PTP报文包括但不限于同步报文、跟随报文、延迟请求报文和延迟响应报文。
其中同步报文是由主时钟设备周期性的发送至从时钟设备的报文。在本发明实施例中,主时钟设备中的PTP报文处理模块32组织并封装同步报文,通过网络通讯模块33发送封装后的同步报文。从时钟设备的PTP报文处理模块32在接收到主时钟设备发送的同步报文时,获取接收到该同步报文时的时间戳(以后都称为同步报文接收时间戳)。
跟随报文也是由主时钟设备周期性的发送至从时钟设备的报文,该跟随报文中包含了同步报文的发送时间戳(以后都称为同步报文发送时间戳)。跟随报文和同步报文具有跟随性,同步报文发送后预定时间会发送跟随报文。
延迟请求报文是由从时钟设备周期性的发送至主时钟设备的报文。在本发明实施例中,从时钟设备的PTP报文处理模块32组织延迟请求报文,并在将延迟请求发送至主时钟设备的报文,获取发送延迟请求报文时的时间戳(以后都称为延迟报文发送时间戳)。
延迟响应报文是主时钟设备在接收到从时钟设备发送的延迟请求报文后向从时钟设备发送的报文,该延迟响应报文中包含了主时钟设备接收到延迟请求报文的时间戳(以后都称为延迟报文接收时间戳)。
从时钟设备的PTP报文处理模块32在接收到主时钟设备发送的延迟响应报文时,获取该延迟响应报文中包含的主时钟设备接收到延迟请求报文的时间戳。
同步算法模块34根据PTP报文处理模块32获取的各种PTP报文的发送时间戳和接收时间戳计算从时钟设备与主时钟设备之间的时钟偏差和延迟。
在本发明实施例中,同步算法模块34根据PTP报文处理模块32获取的同步报文发送时间戳、同步报文接收时间戳、延迟报文发送时间戳和延迟报文接收时间戳计算从时钟设备与主时钟设备之间的时钟偏差和延迟。
请参阅图3,为本发明实施例提供的主时钟设备和从时钟设备间的PTP报文交互的流程示意图,详述如下:
1、主时钟设备在t1时刻向从时钟设备发送同步报文,从时钟设备在t2时刻接收到主时钟设备发送的同步报文。
2、主时钟设备在发送同步报文后,在预设时间后发送包含有同步报文发送时间戳t1的跟随报文,从时钟设备接收到该跟随报文后,通过解析该跟随报文即可获取该跟随报文包含的同步报文发送时间戳t1。
3、从时钟设备在t3时刻向主时钟设备发送延迟请求报文,主时钟设备在t4时刻接收到从时钟设备发送的延迟请求报文。
4、主时钟设备在接收到从时钟设备发送的延迟请求报文后,向从时钟设备发送包含延迟报文接收时间戳t4的延迟响应报文。
根据图3所示的主时钟设备和从时钟设备间的PTP报文交互流程,得到同步算法如下:
Offset=(t2-t1)-one_way_delay;
one_way_delay=[(t2-t1)+(t4-t3)]/2;
根据上述两个公式,即可得到Offset=[(t2-t1)-(t4-t3)]/2;
其中Offset为从时钟设备与主时钟设备之间的时钟偏差,one_way_delay为从时钟设备与主时钟设备之间的时钟延迟。t1为同步报文发送时间戳,t2为同步报文接收时间戳,t3为延迟报文发送时间戳,t4为延迟报文接收时间戳。
在本发明实施例中,由于主时钟设备会周期性的向从时钟设备发送同步报文和跟随报文,从时钟设备也会周期性的向主时钟设备发送延迟请求报文,在主时钟设备和从时钟设备之间就会周期性的执行图3所示的同步过程,同步过程反复执行,最终将会使从时钟设备与主时钟设备之间时钟、频率和相位的一致。
时钟处理模块35根据同步算法模块34计算得到的从时钟设备与主时钟设备之间的时钟偏差和延迟调整从时钟设备与主时钟设备之间的时钟偏差、相位和频率。其具体过程如下:
当某一个时钟接入到一个子网后,***会很快进入到一个稳定的状态。其中一个稳定的状态是指PTP时钟可以进行长时间的PTP协议交互的状态,如主时钟M状态(PTP_MASTER)、从时钟S状态(PTP_SLAVE)、或者被动状态(PTP_PASSIVE)。其中被动状态在PTP规范文中可以理解为虚拟断开状态,在被动状态下,只接收PTP报文,而不发送任何的PTP报文。
从时钟每次接收到同步报文和跟随报文后,会完成一次偏差测量计算,从时钟每次发送了延迟请求报文和接收到了该延迟请求相关的延迟响应报文后,会完成一次延迟测试计算。
由Offset=(t2-t1)-one_way_delay可知,Offset只和one_way_delay有关。为了得到较为精确的Offset,则需要对one_way_delay进行适当的处理,使该one_way_delay的值更精确。在本发明实施例中,可以采用现有技术提供的多种算法对one_way_delay进行处理,也可以采用本发明实施例提供的如下方法对one_way_delay进行处理:在本发明实施例中,为了处理网络突发流量带来的抖动,通过连续计算3次或者更多次的one_way_delay,放在一个队列中,然后过滤较大的异常数值和对多次计算的数值进行取平均值的方式来得到one_way_delay,这样就可以减少网络突发流量导致的one_way_delay数值异常,进而导致Offset异常。
得到了比较理想的Offset数值后,通过计算从时钟和主时钟之间的偏差比率,再根据该偏差比率即可计算得到从时钟和主时钟之间的一个相位差和频率差。如可以根据该偏差比率通过PHY芯片提供的一个计算方式来得到从时钟和主时钟之间的一个相位差和频率差。
在得到了从时钟与主时钟之间的时钟差、相位差和频率差三个参数的偏差值后,即可将该偏差值补偿到从时钟。
硬件通讯单元(图未示出)对协议引擎单元3组织的各种PTP报文打上时间戳,并将打上了时间戳的PTP报文在主时钟设备和从时钟设备之间进行传输。
在本发明实施例中,在主时钟设备中,该硬件通讯单元对协议引擎单元3组织的同步报文打上时间戳(即为同步报文发送时间戳)后,传输至从时钟设备,并在协议引擎单元3组织好包含有同步报文发送时间戳的跟随报文后,将该跟随报文传输至从时钟设备,同时该硬件通讯单元在接收到从时钟设备发送的延迟请求报文时,将该延迟请求报文传输至协议引擎单元3,并在协议引擎单元3组织好包含有延迟请求报文接收时间戳的延迟响应报文时,将该延迟响应报文传输至从时钟设备。
在从时钟设备中,该硬件通讯单元将接收到的主时钟设备发送的同步报文和跟随报文传输至从时钟设备中的协议引擎单元3,在协议引擎单元3组织好延迟请求报文后,将该延迟请求报文传输至主时钟设备,同时将接收到的主时钟设备发送的延迟响应报文传输至从时钟设备的协议引擎单元3。
请参阅图4,为本发明实施例提供的硬件通讯单元的结构示意图。
该硬件通讯单元包括用户数据包协议(User Datagram Protocol,UDP)传输层、网络连接协议(Internet Protocol,IP)传输层、数据链路层(Media AccessControl,MAC)传输层和物理层(也称PHY传输层)。在主时钟设备中,在协议引擎单元3组织好PTP报文后,该PTP报文依次经UDP传输层、IP传输层、MAC传输层和PHY传输层传输至从时钟设备中。从时钟设备中的PHY传输层接收到PTP报文后,依次经MAC传输层、IP传输层、UDP传输层传输至从时钟设备的协议引擎单元3。
在本发明实施例中,硬件通讯单元可以在MAC传输层或者PHY传输层为协议引擎单元3组织的各种PTP报文打上时间戳。通过在MAC传输层或者PHY传输层为协议引擎单元3组织的各种PTP报文打上时间戳,可以极大的提高网络中的时钟同步精度。优选地,在PHY传输层为协议引擎单元3组织的各种PTP报文打上时间戳,可最大限度的提高网络中的时钟同步精度。
在本发明另一实施例中,该PTP协议的实现装置还包括操作***抽象单元5。该操作***抽象单元5提供操作***的标准接口,通过该操作***的标准接口调用对应操作***的组件,以使PTP协议的实现装置与硬件层进行通讯。其中操作***抽象单元5提供的操作***的标准接口包括但不限于文件输入输出接口(文件IO)、格式化输入输出接口(格式化IO)、网络接口、网络输入输出接口(网络IO)、中断管理、时间管理、定时管理、任务管理、同步管理、消息管理、内存管理和***断言等。
在本发明实施例中,操作***抽象单元5提供的操作***的标准接口由构成不同操作***的基本组件组成,这样PTP协议的实现装置可以直接通过操作***抽象单元5提供的操作***的标准接口调用操作***的组件,实现与硬件层的通讯。在本发明实施例中,由于操作***抽象单元5提供的操作***的标准接口由构成不同操作***的基本组件组成,从而用户无需对本发明实施例提供的PTP协议的实现装置进行任何修改,即可将本发明实施例提供的PTP协议的实现装置移植到多种操作***。
在本发明另一实施例中,该操作***抽象单元5仅提供了操作***的标准接口,当需要将本发明实施例提供的PTP协议的实现装置移植到指定的操作***时,用户只需根据指定的操作***的组件实现操作***抽象单元5提供的操作***的标准接口,就可以将本发明实施例提供的PTP协议的实现装置移植到该指定的操作***,从而给跨***移植带来了极大的便利。
在本发明另一实施例中,该装置还包括***日志单元6。该***日志单元6以日志的形式记录PTP协议的实现装置在运行PTP协议的过程中发生的事件。这样根据***日志单元6记录的信息,可以方便、快速的对PTP协议的实现装置进行故障分析和维护。
为了进一步说明本发明实施例提供的PTP协议的实现装置,请参阅图5,为本发明实施例提供的PTP协议的实现装置的详细架构,详述如下:
在图5所示的PTP协议的实现装置中,用户调用该PTP协议实现装置的外部接口来启动并运行PTP协议。其中外部接口包括***初始化单元(图未示出)、人机交互单元(图未示出)、协议引擎单元和***日志单元。其中人机交互单元包括配置模块和测试模块。
其中协议引擎单元是PTP协议的实现装置的核心,该协议引擎单元完全遵守IEEE 1588规范的要求,其包括多种协议引擎组件,如定时器、PTP报文处理模块、网络通讯模块、同步算法模块和时钟处理模块。其中时钟处理模块还包括时间处理模块和***相关模块,其中***相关模块如时间戳处理等。
该装置还包括操作***抽象单元,该操作***抽象单元提供了操作***的标准接口,这些操作***的标准接口可以由构成不同操作***的基本组件组成,也可以在需要时由用户实现,这样就可以使本发明实施例提供的PTP协议的实现装置移植到任意的操作***。如网络通讯模块使用了操作***的套接字访问,时钟处理模块通过操作***中的IO子***的接口来调用,定时器的实现也是基于指定的操作***中的组件来实现。
本发明实施例提供的PTP协议的实现装置的工作流程主要包括启动流程和PTP的同步流程,图6示出了PTP协议的实现装置的启动流程,简述如下:
在步骤S101中,为PTP协议的实现装置分配***资源。
其中需要分配的***资源包括但不限于需要分配的资源包括但不限于内存、数据结构、消息队列等,如为PTP时钟数据结构分配内存、为外部主时钟(Foreign Master)分配内存。
在为PTP协议的实现装置分配***资源时,需要为自定义的时钟节点数据结构、***日志、定时器、配置参数等分配***资源。
在步骤S102中。判断资源分配是否成功,如果是,执行步骤S103,否则结束启动流程。
在步骤S103中,读取PTP协议的实现装置的配置的***参数。
其中配置参数是指用户通过配置模块为PTP协议的实现装置配置的参数。该配置参数可以以文本文件的形式存储在运行PTP协议的主机文件***中,也可以以数据库的形式存储在运行PTP协议的主机的数据库***中。该配置参数用于对PTP协议的实现装置的固有属性进行变更。
在步骤S104中,判断配置参数是否读取成功,如果是,执行步骤S106,否则,执行步骤S105。
在步骤S105中,加载默认的配置参数,并将默认的配置参数写入文件。
在步骤S106中,根据配置参数对定时器和消息队列进行初始化处理。
其中定时器是通过底层指定的操作***提供的定时机制来是实现的。
消息队列也是通过底层指定的操作***提供的机制实现的,主要用于对事件消息进行发送和接收,提供用户接口。
在步骤S107中,启动协议引擎任务。
在本发明实施例中,协议引擎任务是通过底层指定的操作***提供的机制来实现的,主要作用是将PTP协议的实现装置以一个任务来执行,操作***可以管理该任务。
在步骤S108中,判断协议引擎任务是否启动成功,如果是,则结束PTP协议的实现装置的启动流程,如果否,则先释放分配的***资源后,再结束PTP协议的实现装置的启动流程。
由于PTP的同步流程在IEEE 1588规范中已有定义,因此,在此不再赘述。
本发明实施例提供的PTP协议的实现装置可以适用于多种网络,如电网等,以实现网络中时钟的高精度同步。
本领域普通技术人员可以理解,实现上述实施例方法中的全部或部分步骤是可以通过程序来指令相关的硬件来完成,所述的程序可以在存储于一计算机可读取存储介质中,所述的存储介质,如ROM/RAM、磁盘、光盘等。
本发明实施例通过提供一种新的PTP协议的实现装置,通过该PTP协议的实现装置在网络中运行PTP协议,以实现网络中各时钟的高精度同步,从而解决了目前工业控制上由于时钟之间的不同步或者同步误差大导致的各种问题。同时本发明实施例提供的PTP协议的实现装置可以方便、快捷的在各种操作***进行移植。
以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内所作的任何修改、等同替换和改进等,均应包含在本发明的保护范围之内。
Claims (9)
1.一种精确时间同步协议的实现装置,其特征在于,所述装置包括:
***初始化单元,用于对精确时间同步PTP协议的实现装置进行初始化;
人机交互单元,用于提供一种或者多种交互接口,以供用户与PTP协议的实现装置进行交互;
协议引擎单元,用于运行PTP协议,根据PTP协议组织各种PTP报文,并根据PTP协议在主时钟设备和从时钟设备之间交互PTP报文,根据各PTP报文的发送时间戳和接收时间戳实现主时钟设备和从时钟设备之间的时钟同步;
硬件通讯单元,用于对所述协议引擎单元组织的各种PTP报文打上时间戳,并将打上了时间戳的PTP报文在主时钟设备和从时钟设备之间进行传输。
2.如权利要求1所述的装置,其特征在于,所述协议引擎单元包括:
定时器,用于为PTP协议的运行提供定时功能;
PTP报文处理模块,用于根据PTP协议组织并封装各种PTP报文,通过网络通讯模块发送PTP报文,或从网络通讯模块接收PTP报文,并获取各PTP报文的发送时间戳和接收时间戳;
同步算法模块,用于根据所述PTP报文处理模块获取的各种PTP报文的发送时间戳和接收时间戳计算从时钟设备与主时钟设备之间的时钟偏差和延迟;
时钟处理模块,用于根据所述同步算法模块计算得到的从时钟设备与主时钟设备之间的时钟偏差和延迟调整从时钟设备与主时钟设备之间的时钟偏差、相位和频率。
3.如权利要求2所述的装置,其特征在于,定时器的类型包括同步间隔定时器、接收超时定时器和延迟请求间隔定时器,采用同一定时器或者不同定时器实现所述同步间隔定时器、接收超时定时器和延迟请求间隔定时器。
4.如权利要求1所述的装置,其特征在于,所述硬件通讯单元包括UDP传输层、IP传输层、MAC传输层和PHY传输层。
5.如权利要求4所述的装置,其特征在于,硬件通讯单元在所述MAC传输层或者PHY传输层为所述协议引擎单元组织的各种PTP报文打上时间戳。
6.如权利要求1所述的装置,其特征在于,所述装置还包括:
操作***抽象单元,用于提供操作***的标准接口,通过操作***的标准接口调用对应操作***的组件,以使PTP协议的实现装置与硬件层进行通讯。
7.如权利要求6所述的装置,其特征在于,所述操作***抽象单元提供的操作***的标准接口由构成不同操作***的基本组件组成,或者所述操作***抽象单元仅提供操作***的标准接口,当需要将所述PTP协议的实现装置移植到指定的操作***时,根据指定的操作***的组件实现所述操作***抽象单元提供的操作***的标准接口。
8.如权利要求1所述的装置,其特征在于,所述装置还包括:
***日志单元,用于以日志的形式记录PTP协议的实现装置在运行PTP协议的过程中发生的事件。
9.如权利要求1所述的装置,其特征在于,所述人机交互单元包括:
配置模块,用于提供参数配置接口,接收用户输入的配置请求,并根据该配置请求对PTP协议的实现装置的***参数进行配置;
测试模块,提供用于测试的应用程序编程接口,接收用户输入的测试请求,并对该测试请求指定的PTP协议的功能进行测试。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN2010105075523A CN102447553A (zh) | 2010-10-12 | 2010-10-12 | 一种精确时间同步协议的实现装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN2010105075523A CN102447553A (zh) | 2010-10-12 | 2010-10-12 | 一种精确时间同步协议的实现装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN102447553A true CN102447553A (zh) | 2012-05-09 |
Family
ID=46009665
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN2010105075523A Pending CN102447553A (zh) | 2010-10-12 | 2010-10-12 | 一种精确时间同步协议的实现装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN102447553A (zh) |
Cited By (21)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104253665A (zh) * | 2013-06-28 | 2014-12-31 | 上海贝尔股份有限公司 | 同步设备和包含该设备的同步*** |
CN105634716A (zh) * | 2014-10-31 | 2016-06-01 | 中国飞行试验研究院 | 一种机载网络ieee1588协议从时钟端口同步方法 |
CN105634715A (zh) * | 2014-10-31 | 2016-06-01 | 中国飞行试验研究院 | 一种机载网络ieee1588协议透明时钟端口同步方法 |
CN107925974A (zh) * | 2015-08-10 | 2018-04-17 | 高通股份有限公司 | 精细时序测量协议中的部份时序同步化功能同步化 |
CN110572234A (zh) * | 2019-10-22 | 2019-12-13 | 深圳震有科技股份有限公司 | 一种基于串口实现时钟同步的方法、智能终端及存储介质 |
WO2019242321A1 (zh) * | 2018-06-19 | 2019-12-26 | 中兴通讯股份有限公司 | 时间同步方法、装置、网络设备及计算机可读存储介质 |
CN110794919A (zh) * | 2019-10-22 | 2020-02-14 | 深圳震有科技股份有限公司 | 基于mdio实现时钟同步的方法、智能终端及存储介质 |
CN110912634A (zh) * | 2019-10-25 | 2020-03-24 | 深圳震有科技股份有限公司 | 基于spi实现时钟同步的方法、存储介质及终端设备 |
CN111077941A (zh) * | 2019-11-06 | 2020-04-28 | 深圳震有科技股份有限公司 | 一种时钟同步设置方法、设备及存储介质 |
CN111107020A (zh) * | 2019-12-31 | 2020-05-05 | 盛科网络(苏州)有限公司 | 一种多核心以太网交换芯片时间同步的方法 |
CN111225122A (zh) * | 2020-01-19 | 2020-06-02 | 深圳英飞拓科技股份有限公司 | 基于ptp协议的校时机制在多摄像机视频同步中的实现方法 |
WO2020114436A1 (zh) * | 2018-12-04 | 2020-06-11 | 深圳市中兴微电子技术有限公司 | 时钟同步的方法、***、设备及存储介质 |
CN112039719A (zh) * | 2020-07-20 | 2020-12-04 | 河北汉光重工有限责任公司 | 一种用于linux***的PTP时钟同步精度测试方法 |
CN112491490A (zh) * | 2020-11-27 | 2021-03-12 | 南京简岱自动化科技有限公司 | 一种可适应不同设备的时间同步装置 |
CN114095109A (zh) * | 2021-11-17 | 2022-02-25 | 深圳市领创星通科技有限公司 | 一种时钟同步方法、装置、设备及存储介质 |
CN114157380A (zh) * | 2021-12-02 | 2022-03-08 | 浪潮云信息技术股份公司 | Znbase分布式数据库时钟同步方法及*** |
CN114285542A (zh) * | 2022-01-28 | 2022-04-05 | 高新兴物联科技有限公司 | 一种网络时间校正方法、设备及计算机可读存储介质 |
CN114614934A (zh) * | 2022-03-28 | 2022-06-10 | 智己汽车科技有限公司 | 一种时间同步触发装置及方法 |
CN115642977A (zh) * | 2022-10-10 | 2023-01-24 | 广东越新微***研究院 | 一种混合优化时间同步*** |
CN115801176A (zh) * | 2023-01-19 | 2023-03-14 | 北京国科天迅科技有限公司 | 基于ptp协议的跨平台时钟同步方法、装置及存储介质 |
CN116208289A (zh) * | 2023-04-28 | 2023-06-02 | 北京邮电大学 | 基于白盒交换机的时间同步方法、装置及电子设备 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101039173A (zh) * | 2007-04-29 | 2007-09-19 | 山东大学 | 一种实现以太网链状网络节点间同步的装置和方法 |
US20080181112A1 (en) * | 2007-01-31 | 2008-07-31 | Juergen Beck | Methods and Apparatus for Controlling Latency Variation in a Packet Transfer Network |
CN101330342A (zh) * | 2008-07-30 | 2008-12-24 | 中兴通讯股份有限公司 | 一种用端口镜像实现时间同步协议的方法及其装置 |
CN101388741A (zh) * | 2008-10-24 | 2009-03-18 | 中国科学院计算技术研究所 | 一种用于计算机网络的高精度时间同步设备、***及方法 |
CN101547083A (zh) * | 2008-03-24 | 2009-09-30 | 杭州华三通信技术有限公司 | 时间同步装置、时间同步***和时间同步方法 |
-
2010
- 2010-10-12 CN CN2010105075523A patent/CN102447553A/zh active Pending
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20080181112A1 (en) * | 2007-01-31 | 2008-07-31 | Juergen Beck | Methods and Apparatus for Controlling Latency Variation in a Packet Transfer Network |
CN101039173A (zh) * | 2007-04-29 | 2007-09-19 | 山东大学 | 一种实现以太网链状网络节点间同步的装置和方法 |
CN101547083A (zh) * | 2008-03-24 | 2009-09-30 | 杭州华三通信技术有限公司 | 时间同步装置、时间同步***和时间同步方法 |
CN101330342A (zh) * | 2008-07-30 | 2008-12-24 | 中兴通讯股份有限公司 | 一种用端口镜像实现时间同步协议的方法及其装置 |
CN101388741A (zh) * | 2008-10-24 | 2009-03-18 | 中国科学院计算技术研究所 | 一种用于计算机网络的高精度时间同步设备、***及方法 |
Non-Patent Citations (2)
Title |
---|
林涛 等: "《基于精密时间协议的时钟同步技术》", 《计算机应用》 * |
王玉洁: "《数字化变电站中IEEE1588对时协议的实现》", 《中国优秀硕士学位论文全文数据库 电子期刊》 * |
Cited By (30)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104253665B (zh) * | 2013-06-28 | 2017-06-13 | 上海贝尔股份有限公司 | 同步设备和包含该设备的同步*** |
CN104253665A (zh) * | 2013-06-28 | 2014-12-31 | 上海贝尔股份有限公司 | 同步设备和包含该设备的同步*** |
CN105634716A (zh) * | 2014-10-31 | 2016-06-01 | 中国飞行试验研究院 | 一种机载网络ieee1588协议从时钟端口同步方法 |
CN105634715A (zh) * | 2014-10-31 | 2016-06-01 | 中国飞行试验研究院 | 一种机载网络ieee1588协议透明时钟端口同步方法 |
CN107925974A (zh) * | 2015-08-10 | 2018-04-17 | 高通股份有限公司 | 精细时序测量协议中的部份时序同步化功能同步化 |
CN107925974B (zh) * | 2015-08-10 | 2019-05-17 | 高通股份有限公司 | 精细时序测量协议中的部份时序同步化功能同步化 |
WO2019242321A1 (zh) * | 2018-06-19 | 2019-12-26 | 中兴通讯股份有限公司 | 时间同步方法、装置、网络设备及计算机可读存储介质 |
WO2020114436A1 (zh) * | 2018-12-04 | 2020-06-11 | 深圳市中兴微电子技术有限公司 | 时钟同步的方法、***、设备及存储介质 |
US11664914B2 (en) | 2018-12-04 | 2023-05-30 | Sanechips Technology Co., Ltd. | Clock synchronization method, system and device, and storage medium |
CN110794919A (zh) * | 2019-10-22 | 2020-02-14 | 深圳震有科技股份有限公司 | 基于mdio实现时钟同步的方法、智能终端及存储介质 |
CN110572234A (zh) * | 2019-10-22 | 2019-12-13 | 深圳震有科技股份有限公司 | 一种基于串口实现时钟同步的方法、智能终端及存储介质 |
CN110912634A (zh) * | 2019-10-25 | 2020-03-24 | 深圳震有科技股份有限公司 | 基于spi实现时钟同步的方法、存储介质及终端设备 |
CN111077941A (zh) * | 2019-11-06 | 2020-04-28 | 深圳震有科技股份有限公司 | 一种时钟同步设置方法、设备及存储介质 |
CN111077941B (zh) * | 2019-11-06 | 2024-04-02 | 深圳震有科技股份有限公司 | 一种时钟同步设置方法、设备及存储介质 |
CN111107020A (zh) * | 2019-12-31 | 2020-05-05 | 盛科网络(苏州)有限公司 | 一种多核心以太网交换芯片时间同步的方法 |
CN111107020B (zh) * | 2019-12-31 | 2022-01-11 | 苏州盛科通信股份有限公司 | 一种多核心以太网交换芯片时间同步的方法 |
CN111225122A (zh) * | 2020-01-19 | 2020-06-02 | 深圳英飞拓科技股份有限公司 | 基于ptp协议的校时机制在多摄像机视频同步中的实现方法 |
CN112039719A (zh) * | 2020-07-20 | 2020-12-04 | 河北汉光重工有限责任公司 | 一种用于linux***的PTP时钟同步精度测试方法 |
CN112491490A (zh) * | 2020-11-27 | 2021-03-12 | 南京简岱自动化科技有限公司 | 一种可适应不同设备的时间同步装置 |
CN114095109A (zh) * | 2021-11-17 | 2022-02-25 | 深圳市领创星通科技有限公司 | 一种时钟同步方法、装置、设备及存储介质 |
CN114157380A (zh) * | 2021-12-02 | 2022-03-08 | 浪潮云信息技术股份公司 | Znbase分布式数据库时钟同步方法及*** |
CN114157380B (zh) * | 2021-12-02 | 2023-10-13 | 上海沄熹科技有限公司 | Znbase分布式数据库时钟同步方法及*** |
CN114285542A (zh) * | 2022-01-28 | 2022-04-05 | 高新兴物联科技有限公司 | 一种网络时间校正方法、设备及计算机可读存储介质 |
CN114285542B (zh) * | 2022-01-28 | 2023-10-13 | 高新兴物联科技股份有限公司 | 一种网络时间校正方法、设备及计算机可读存储介质 |
CN114614934A (zh) * | 2022-03-28 | 2022-06-10 | 智己汽车科技有限公司 | 一种时间同步触发装置及方法 |
CN114614934B (zh) * | 2022-03-28 | 2024-05-14 | 智己汽车科技有限公司 | 一种时间同步触发装置及方法 |
CN115642977A (zh) * | 2022-10-10 | 2023-01-24 | 广东越新微***研究院 | 一种混合优化时间同步*** |
CN115801176A (zh) * | 2023-01-19 | 2023-03-14 | 北京国科天迅科技有限公司 | 基于ptp协议的跨平台时钟同步方法、装置及存储介质 |
CN116208289A (zh) * | 2023-04-28 | 2023-06-02 | 北京邮电大学 | 基于白盒交换机的时间同步方法、装置及电子设备 |
CN116208289B (zh) * | 2023-04-28 | 2023-07-21 | 北京邮电大学 | 基于白盒交换机的时间同步方法、装置及电子设备 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN102447553A (zh) | 一种精确时间同步协议的实现装置 | |
CN106992830B (zh) | 一种fc-ae-1553网络中的时钟同步方法 | |
CN101547083B (zh) | 时间同步装置、时间同步***和时间同步方法 | |
CN101820435B (zh) | 分布式网络处理***的mac地址表项信息同步方法及装置 | |
CN100370864C (zh) | 移动通信***中的网元时间同步方法 | |
US9654555B2 (en) | Method for synchronizing local clocks in a distributed computer system | |
CN102035638B (zh) | 时钟选源处理方法、装置和*** | |
CN104378193A (zh) | 时间同步***及方法、交换机、嵌入式接口板 | |
CN101615948A (zh) | 一种实现时间同步的方法及*** | |
CN101977104A (zh) | 基于ieee1588精确时钟同步协议***及其同步方法 | |
CN101330342B (zh) | 一种用端口镜像实现时间同步协议的方法及其装置 | |
CN106899370A (zh) | 一种时钟链路切换方法、装置及基站 | |
CN103188064A (zh) | 时钟同步方法及装置 | |
CN111740800B (zh) | 基于sdn架构5g智能节点的多精度时钟同步方法 | |
CN101009546A (zh) | 采用不同时间同步协议的网段间实现时间同步的方法 | |
CN103812589A (zh) | 一种基于双环总线的时间同步方法 | |
CN105978652A (zh) | 冗余以太网的同步对时设备、***及方法 | |
Mahmood et al. | Clock synchronization for IEEE 802.11 based wired-wireless hybrid networks using PTP | |
CN110808807B (zh) | 一种局域网络中设备的时钟同步方法 | |
CN103580768B (zh) | 一种时间同步方法及装置 | |
KR100726476B1 (ko) | 이기종 센서노드의 전력소모 최소화를 위한 시간동기화방법 및 이를 적용한 네트워크 | |
CN102342051A (zh) | 用于通过经由至少一个时间分发协议分开传输第一和第二数据来同步时钟的方法和相关的***及模块 | |
CN214480655U (zh) | 一种兼容可定义确定性通信以太网的嵌入式设备 | |
CN105743758A (zh) | 通讯方法 | |
CN101615998A (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 | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20120509 |
|
RJ01 | Rejection of invention patent application after publication |