CN104836654A - 一种基于Ethernet POWERLINK的时钟同步方法 - Google Patents
一种基于Ethernet POWERLINK的时钟同步方法 Download PDFInfo
- Publication number
- CN104836654A CN104836654A CN201510176220.4A CN201510176220A CN104836654A CN 104836654 A CN104836654 A CN 104836654A CN 201510176220 A CN201510176220 A CN 201510176220A CN 104836654 A CN104836654 A CN 104836654A
- Authority
- CN
- China
- Prior art keywords
- clock
- message
- synchronizing method
- master
- network
- 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.)
- Granted
Links
Landscapes
- Synchronisation In Digital Transmission Systems (AREA)
- Small-Scale Networks (AREA)
Abstract
本发明提供了一种基于Ethernet POWERLINK的时钟同步方法,应用于Ethernet POWERLINK菊花链网络拓扑结构,采用了主从式结构组织整个时钟同步系统。本发明针对EPL协议自带的时钟同步方法的不足,提出了提高时钟同步精度的改进方法,采用迭代计算的方法消除了主从站时钟同步报文往返的路径延迟。相对于EPL协议自带的同步方法,本发明的方法对于提高站点之间的时钟同步精度取得了良好的效果,时钟同步精度提高了约一个数量级,这对于实现基于EPL的高精度分布式时钟同步网络具有重要意义。
Description
技术领域
本发明涉及工业控制领域,尤其是工业控制网络站点的实时通信领域。
背景技术
高精度的时钟同步要求在工业控制领域的某些场合有重要的意义,如时间顺序记录系统,或者多伺服器的控制环境中。传统的操作站同步法和简单网络时间协议(Simple Network Time Protocol,SNTP)尽管实现方法简单,但没有解决以太网传输的网络延时不确定性和带冲突检测的载波监听多路访问(CSMA/CD)控制机制引起的冲突延时不确定性,同步精度不高,难以实现真正意义上的时钟同步。全球定位系统(GPS)同步,是在时钟同步接收设备加载GPS模块,虽然标称精度可以达到1μs,但受外部因素的影响较大,很难时刻保持很高的精度。IEEE 1588协议利用以太网或其他支持多播技术的网络使终端设备同步,最高精度可以达到亚微秒级,但其机制是基于报文往返的路径延时相等的假设,这在一般的以太网中往往不能够满足要求。
EPL(Ethernet POWERLINK)协议由于硬实时性好、开源和便于移植等优点,在工业控制领域有着比较广泛的应用。但是,目前EPL协议版本支持的两种时钟同步方法不能够保证非常高的精度;其中,EPL协议自身提供的同步方法没有考虑同步报文在网络中的传输延迟问题,而分布式计时器补偿方法也没有给出适用性很强的计算方法。虽然分布式同步法由于使用了分布式计时器,每隔一段时间就会重新校准计时器,对于提高时钟同步精度有一定效果,但这种方法仍然依赖SoC帧的同步精度,没有从根本上消除时钟同步误差。另一方面,由于分布式计时器使用的是50MHz频率的晶振,在不考虑其自身误差的情况下,定时器的正负一误差仅仅为20ns,所以理论上通过手动调节,能够使主从站之间的时钟同步误差处于更低的水平,但工程应用意义不大。
发明内容
本发明对现有技术中EPL(Ethernet POWERLINK)协议版本支持的两种时钟同步方法不能够保证非常高的精度的不足,提供了一种基于EthernetPOWERLINK的时钟同步方法。
为了解决上述技术问题,本发明通过下述技术方案得以解决:
一种基于Ethernet POWERLINK的时钟同步方法,应用于EthernetPOWERLINK菊花链网络拓扑结构,采用主从式结构组织整个时钟同步系统,包括以下步骤:
步骤一,主时钟采用多播方式向网络上发布Preq1报文,并在报文发送过程中记录发送时间戳t1;从时钟接收所述Preq1报文,并在报文接收过程中记录接收时间戳t2;
步骤二,主时钟采用多播方式向网络上发布Preq2报文,所述Preq2报文中包含发送时间戳t1的值;从时钟接收所述Preq2报文,得到发送时间戳t1的值;
步骤三,从时钟采用单播方式向主时钟发送所述Pres1报文,并在报文发送过程中记录所述Pres1报文的发送时间戳t3;主时钟接收所述Pres1报文,并在报文接收过程中记录接收时间戳t4;
步骤四,主时钟采用单播方式向从时钟发送Preq3报文,所述Preq3报文中包含接收时间戳t4的值;从时钟接收所述Preq3报文,得到接收时间戳t4的值;
第五步,从时钟根据得到的时间戳t1、t2、t3、t4,计算主时钟与从时钟的时钟偏差toffset:
第六步:根据计算得到的toffset校准从时钟。
进一步的,在实际应用中,为了减小时钟同步报文占用的网络带宽流量,还可以减少Delay_Req报文的发送频率,此时,toffset的计算方法为:
toffset=tMTS-(t2-t1),
其中,tMTS为Preq报文的网络传输延迟:tSTM为Pres报文的网络传输延迟。
进一步的,本发明的基于Ethernet POWERLINK的时钟同步方法,还包括设计基于FPGA的Hub,用于所述Ethernet POWERLINK菊花链网络拓扑结构。
特别的,所述基于FPGA的Hub于FPGA中移植了POWERLINK IPcore和EPL协议栈。
进一步的,所述基于FPGA的Hub接收数据帧后,将接收到的数据帧复制成两份,一份直接传递给本站点的数据链路层,供协议栈处理,另一份原封不动地从另外一个网口中发送出去。
本发明针对EPL协议自带的时钟同步方法的不足,提出了提高时钟同步精度的改进方法,采用迭代计算的方法消除了主从站时钟同步报文往返的路径延迟。相对于EPL协议自带的同步方法,本发明的方法对于提高站点之间的时钟同步精度取得了良好的效果,时钟同步精度提高了约一个数量级,这对于实现基于EPL的高精度分布式时钟同步网络具有重要意义。
作为本发明的进一步优化,本发明的方法还包括设计基于FPGA的Hub用于EPL(Ethernet POWERLINK)菊花链网络拓扑结构。所述基于FPGA的Hub的主要作用是将接收到的数据帧复制成两份,一份直接传递给本站点的数据链路层,供协议栈处理,另一份原封不动地从另外一个网口中发送出去。由于该Hub只实现简单的接收转发功能,所以延迟非常小而且固定,从而有效地克服了时钟同步报文往返传输延时不一致的缺点。同时,对于整个菊花链网络来说,从主站到一个从站所经过的Hub数量是固定的,而且Hub的传输具有双向性,因此同步报文的路径延迟能够保持高度一致,从而保证了本发明具有很强的适用性。
附图说明
图1为本发明的一个实施例中主从时钟数据交换流程示意图;
图2为图1实施例中的一种基于FPGA的Hub的硬件系统框图;
图3为本发明应用的菊花链网络拓扑结构示意图。
具体实施方式
下面结合附图与实施例对本发明作进一步详细描述。但是应当理解,这些描述只是为进一步说明本发明的特征和优点,而不是对本发明权利要求的限制。
参见附图1,本发明的实施例提供了一种基于Ethernet POWERLINK的时钟同步方法,该方法使用主从式的结构来组织整个时钟同步系统,即系统中的全部从时钟都要同步于同一个主时钟。这个主时钟可以是一个绝对时间基准,如GPS接收机提供的协调世界时,也可以是一个相对时间基准,如任意一个稳定的时钟信号源。在本实施例中,使用主站的时间作为相对时间基准,一对主从时钟的同步过程包括以下步骤:
第一步,主时钟采用多播方式向网络上发布Preq1报文,并在报文发送过程中记录下发送时间戳t1;从时钟接收Preq1报文,并在报文接收过程中记录下接收时间戳t2;
第二步,主时钟采用多播方式向网络上发布Preq2报文,其中包含主时钟刚刚发布的Preq1报文的发送时间戳t1的值;从时钟接收Preq2报文,从中得到时间戳t1的值;
第三步,从时钟采用单播方式向主时钟发送Pres1报文,并在报文发送过程中记录下该报文的发送时间戳t3;主时钟接收Pres1报文,并在报文接收过程中记录下接收时间戳t4;
第四步,主时钟采用单播方式向从时钟发送Preq3报文,其中包含从时钟刚刚发来的Preq3报文的接收时间戳t4的值;从时钟接收该报文,从中得到时间戳t4的值。至此,从时钟获取了全部4个时间戳,t1、t2、t3和t4。
设toffset表示主站与从站的时钟偏差,该偏差在短时间内可认为是固定的,设tMTS为Preq报文的网络传输延迟,tSTM为Pres报文的网络传输延迟,则有:
t1+tMTS=t2+toffset (1-1)
t4=t3+toffset+tSTM (1-2)
在一般情况下,假设主站与从站之间往返的报文的网络传输延迟相等,则由公式(1-1)和(1-2)有:
从而得到从时钟与主时钟间的偏差,就可以对从站的同步时钟进行校准。
在实际应用中,为了减小时钟同步报文占用的网络带宽流量,还可以减少Delay_Req报文的发送频率,在这种情况下,toffset可以通过下式来计算:
toffset=tMTS-(t2-t1) (1-5)
从上述内容可以看出,本发明通过数理计算,分析了同步误差产生的原因并提出了减小误差的方法,通过迭代计算消除了主从站时钟同步报文往返的路径延迟。本发明的方法明显优于协议自身的时钟同步方法。
进一步的,从上面的分析中可以看到,同步方法成立的前提条件是tMTS等于tSTM,而这个假设一般情况下是不成立的,尤其是在使用交换机的网络拓扑结构中,排队延迟和转发延迟的存在将不可忽略,而且网络拓扑结构越复杂,误差的期望越大。为了进一步优化本发明的一种基于Ethernet POWERLINK的时钟同步方法,本发明的技术方案还包括设计基于FPGA的Hub及相应的硬件平台用于Ethernet POWERLINK的菊花链网络拓扑结构。
采用FPGA实现EPL协议,是一种硬实时方案。通过向FPGA中移植POWERLINK IPcore和EPL协议栈,使其变为一种专用集成电路(ASIC),用于处理EPL网络通信,因此它的速度和性能是所有平台中最好的,适用于运动控制领域或者其他高实时场合。用户的应用程序既可以直接运行在FPGA中,也可以运行在外部MCU中。如图2所示,基于FPGA的Hub的主要作用是将接收到的数据帧复制成两份,一份直接传递给本站点的数据链路层,以供协议栈处理,另一份原封不动地从另外一个网口中发送出去。因为该Hub只实现简单的接收转发功能,所以延迟非常小而且固定。
如图3所示,基于FPGA的Hub及相应的硬件平台用于EthernetPOWERLINK的菊花链网络拓扑结构。在搭建的Ethernet POWERLINK网络拓扑结构中,主站需要设计两个Hub来消除网络中的广播风暴,同时也使网络构成一个环形冗余结构。在该拓扑结构中,主站与各个从站通过Hub连接,构成菊花链,最后一个站点再返回到主站中。对于整个菊花链网络来说,从主站到一个从站所经过的Hub数量是固定的,而且Hub的传输具有双向性,这样同步报文的路径延迟能够保持高度一致,从而保证了本发明的方法具有很强的适用性。
采用本发明的基于Ethernet POWERLINK的时钟同步方法,能有效提高时钟同步精度,使误差保持在300ns以内,且比较稳定,相对于EPL协议自带的同步方法,时钟同步精度提高了约一个数量级,这对于实现基于EPL的高精度分布式时钟同步网络具有重要意义。
总之,以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内所作的任何修改、等同替换和改进等,均应包含在本发明的保护范围之内。
Claims (5)
1.一种基于Ethernet POWERLINK的时钟同步方法,应用于EthernetPOWERLINK菊花链网络拓扑结构,其特征在于,采用主从式结构组织整个时钟同步系统,包括以下步骤:
步骤一,主时钟采用多播方式向网络上发布Preq1报文,并在报文发送过程中记录发送时间戳t1;从时钟接收所述Preq1报文,并在报文接收过程中记录接收时间戳t2;
步骤二,主时钟采用多播方式向网络上发布Preq2报文,所述Preq2报文中包含发送时间戳t1的值;从时钟接收所述Preq2报文,得到发送时间戳t1的值;
步骤三,从时钟采用单播方式向主时钟发送所述Pres1报文,并在报文发送过程中记录所述Pres1报文的发送时间戳t3;主时钟接收所述Pres1报文,并在报文接收过程中记录接收时间戳t4;
步骤四,主时钟采用单播方式向从时钟发送Preq3报文,所述Preq3报文中包含接收时间戳t4的值;从时钟接收所述Preq3报文,得到接收时间戳t4的值;
第五步,从时钟根据得到的时间戳t1、t2、t3、t4,计算主时钟与从时钟的时钟偏差toffset:
第六步:根据计算得到的toffset校准从时钟。
2.如权利要求1所述的基于Ethernet POWERLINK的时钟同步方法,其特征在于,所述时钟偏差toffset的计算方法为:
toffset=tMTS-(t2-t1),
其中,tMTS为Preq报文的网络传输延迟:
tSTM为Pres报文的网络传输延迟。
3.如权利要求1或2所述的基于Ethernet POWERLINK的时钟同步方法,其特征在于,还包括设计基于FPGA的Hub,用于所述Ethernet POWERLINK菊花链网络拓扑结构。
4.如权利要求3所述的基于Ethernet POWERLINK的时钟同步方法,其特征在于,所述基于FPGA的Hub于FPGA中移植了POWERLINK IPcore和EPL协议栈。
5.如权利要求4所述的基于Ethernet POWERLINK的时钟同步方法,其特征在于,所述基于FPGA的Hub接收数据帧后,将接收到的数据帧复制成两份,一份直接传递给本站点的数据链路层,供协议栈处理,另一份原封不动地从另外一个网口中发送出去。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510176220.4A CN104836654B (zh) | 2015-04-15 | 2015-04-15 | 一种基于Ethernet POWERLINK的时钟同步方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510176220.4A CN104836654B (zh) | 2015-04-15 | 2015-04-15 | 一种基于Ethernet POWERLINK的时钟同步方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN104836654A true CN104836654A (zh) | 2015-08-12 |
CN104836654B CN104836654B (zh) | 2018-06-22 |
Family
ID=53814311
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201510176220.4A Active CN104836654B (zh) | 2015-04-15 | 2015-04-15 | 一种基于Ethernet POWERLINK的时钟同步方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN104836654B (zh) |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105450384A (zh) * | 2015-12-10 | 2016-03-30 | 中国能源建设集团广东省电力设计研究院有限公司 | 通信系统同步时钟对时装置 |
CN110278047A (zh) * | 2018-03-16 | 2019-09-24 | 阿里巴巴集团控股有限公司 | 用于时钟同步、设置流媒体帧的pts值的方法、装置及设备 |
CN112214065A (zh) * | 2020-09-17 | 2021-01-12 | 北京普源精电科技有限公司 | 设备同步校准方法、装置、设备及存储介质 |
CN113505094A (zh) * | 2021-09-06 | 2021-10-15 | 上海类比半导体技术有限公司 | Mcu、主机与多个mcu传输数据的方法 |
CN114124616A (zh) * | 2022-01-25 | 2022-03-01 | 浙江中控研究院有限公司 | 基于epa总线结构的时钟同步优化方法 |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20090086764A1 (en) * | 2007-09-27 | 2009-04-02 | Electronics And Telecommunications Research Institute | System and method for time synchronization on network |
CN101834712A (zh) * | 2010-04-19 | 2010-09-15 | 浙江大学 | 利用ieee1588协议实现精确时间同步的方法 |
CN102332973A (zh) * | 2011-09-07 | 2012-01-25 | 上海交通大学 | 一种链状网络的实时通信与时钟同步方法 |
CN102833062A (zh) * | 2012-09-25 | 2012-12-19 | 广东电网公司珠海供电局 | 智能变电站ieee1588主从时钟同步报文对时方法及系统 |
US8462821B1 (en) * | 2011-02-18 | 2013-06-11 | Juniper Networks, Inc. | Precision timing using a modified synchronization operation |
CN104243079A (zh) * | 2014-10-09 | 2014-12-24 | 四川省绵阳西南自动化研究所 | 一种实时以太网的微秒级时钟同步方法 |
-
2015
- 2015-04-15 CN CN201510176220.4A patent/CN104836654B/zh active Active
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20090086764A1 (en) * | 2007-09-27 | 2009-04-02 | Electronics And Telecommunications Research Institute | System and method for time synchronization on network |
CN101834712A (zh) * | 2010-04-19 | 2010-09-15 | 浙江大学 | 利用ieee1588协议实现精确时间同步的方法 |
US8462821B1 (en) * | 2011-02-18 | 2013-06-11 | Juniper Networks, Inc. | Precision timing using a modified synchronization operation |
CN102332973A (zh) * | 2011-09-07 | 2012-01-25 | 上海交通大学 | 一种链状网络的实时通信与时钟同步方法 |
CN102833062A (zh) * | 2012-09-25 | 2012-12-19 | 广东电网公司珠海供电局 | 智能变电站ieee1588主从时钟同步报文对时方法及系统 |
CN104243079A (zh) * | 2014-10-09 | 2014-12-24 | 四川省绵阳西南自动化研究所 | 一种实时以太网的微秒级时钟同步方法 |
Non-Patent Citations (1)
Title |
---|
黄世年等: "精确时钟同步协议的以太网实现方法", 《低压电器》 * |
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105450384A (zh) * | 2015-12-10 | 2016-03-30 | 中国能源建设集团广东省电力设计研究院有限公司 | 通信系统同步时钟对时装置 |
CN110278047A (zh) * | 2018-03-16 | 2019-09-24 | 阿里巴巴集团控股有限公司 | 用于时钟同步、设置流媒体帧的pts值的方法、装置及设备 |
CN112214065A (zh) * | 2020-09-17 | 2021-01-12 | 北京普源精电科技有限公司 | 设备同步校准方法、装置、设备及存储介质 |
US12085978B2 (en) | 2020-09-17 | 2024-09-10 | Rigol Technologies (Beijing), Inc. | Device synchronous calibration method and apparatus, devices, and storage medium |
CN113505094A (zh) * | 2021-09-06 | 2021-10-15 | 上海类比半导体技术有限公司 | Mcu、主机与多个mcu传输数据的方法 |
CN114124616A (zh) * | 2022-01-25 | 2022-03-01 | 浙江中控研究院有限公司 | 基于epa总线结构的时钟同步优化方法 |
Also Published As
Publication number | Publication date |
---|---|
CN104836654B (zh) | 2018-06-22 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN101951312B (zh) | 基于e1链路的双向时频同传方法及主从装置 | |
CN102546071B (zh) | 一种时钟同步方法与系统 | |
CN104836654A (zh) | 一种基于Ethernet POWERLINK的时钟同步方法 | |
EP2262158B1 (en) | Method and system for processing correction field information | |
JP5518191B2 (ja) | 光伝送網が時刻同期プロトコルをキャリングする方法及びシステム | |
CN103905135B (zh) | 实现时间同步的方法、设备和系统 | |
CN102983927B (zh) | 一种基于ieee 1588协议的主从时钟对时的时间补偿方法 | |
WO2023077760A1 (zh) | 一种面向工业无线与tsn融合的跨网时间同步方法 | |
WO2020043181A1 (zh) | 时钟同步方法及装置、系统、存储介质、电子装置 | |
WO2018120173A1 (zh) | 交互时间同步报文的方法以及网络装置 | |
CN103763055A (zh) | 一种精确同步时间的方法 | |
WO2018082665A1 (zh) | 频率同步的方法以及从时钟 | |
US8856367B2 (en) | Arrangement and method for interchanging time markers | |
CN101854240A (zh) | 一种提高无线授时精度的方法 | |
CN103378993A (zh) | 基于ptp的从时钟监测方法 | |
WO2011134371A1 (zh) | 一种同步时钟的方法和时钟同步装置 | |
CN104243079A (zh) | 一种实时以太网的微秒级时钟同步方法 | |
WO2017071276A1 (zh) | 中继系统的空口时间同步方法、设备 | |
CN201928290U (zh) | 一种gps、北斗及脉冲多基准ptp主时钟 | |
Krummacker et al. | Intra-network clock synchronization for wireless networks: From state of the art systems to an improved solution | |
WO2013155944A1 (zh) | 一种时钟传输方法、边界时钟及透传时钟 | |
CN101420281B (zh) | 用于在网络要素之间传送日内时间值的方法和装置 | |
US20170117980A1 (en) | Time synchronization for network device | |
WO2016115922A1 (zh) | 空口同步系统及其方法 | |
CN115551067A (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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant |