CN115801164A - 网络中的时间同步 - Google Patents
网络中的时间同步 Download PDFInfo
- Publication number
- CN115801164A CN115801164A CN202211069188.6A CN202211069188A CN115801164A CN 115801164 A CN115801164 A CN 115801164A CN 202211069188 A CN202211069188 A CN 202211069188A CN 115801164 A CN115801164 A CN 115801164A
- Authority
- CN
- China
- Prior art keywords
- clock
- time
- slave
- network
- synchronization
- 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
- 238000000034 method Methods 0.000 claims abstract description 25
- 230000001360 synchronised effect Effects 0.000 claims abstract description 15
- 239000003550 marker Substances 0.000 claims description 8
- 238000004519 manufacturing process Methods 0.000 description 17
- 238000004891 communication Methods 0.000 description 10
- 238000012937 correction Methods 0.000 description 10
- 239000010453 quartz Substances 0.000 description 9
- VYPSYNLAJGMNEJ-UHFFFAOYSA-N silicon dioxide Inorganic materials O=[Si]=O VYPSYNLAJGMNEJ-UHFFFAOYSA-N 0.000 description 9
- 230000005540 biological transmission Effects 0.000 description 8
- 230000008569 process Effects 0.000 description 7
- 230000007246 mechanism Effects 0.000 description 6
- 230000000694 effects Effects 0.000 description 4
- 230000003993 interaction Effects 0.000 description 4
- 230000010355 oscillation Effects 0.000 description 4
- 230000009191 jumping Effects 0.000 description 3
- 238000013459 approach Methods 0.000 description 2
- 238000012545 processing Methods 0.000 description 2
- 238000013024 troubleshooting Methods 0.000 description 2
- 230000001133 acceleration Effects 0.000 description 1
- 238000009825 accumulation Methods 0.000 description 1
- 230000006978 adaptation Effects 0.000 description 1
- 238000004378 air conditioning Methods 0.000 description 1
- 230000002457 bidirectional effect Effects 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 238000006243 chemical reaction Methods 0.000 description 1
- 238000010276 construction Methods 0.000 description 1
- 230000001276 controlling effect Effects 0.000 description 1
- 125000004122 cyclic group Chemical group 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 238000010586 diagram Methods 0.000 description 1
- 238000011156 evaluation Methods 0.000 description 1
- 239000000835 fiber Substances 0.000 description 1
- 238000012423 maintenance Methods 0.000 description 1
- 230000007257 malfunction Effects 0.000 description 1
- 230000000737 periodic effect Effects 0.000 description 1
- 230000001105 regulatory effect Effects 0.000 description 1
- 230000033764 rhythmic process Effects 0.000 description 1
- 238000012360 testing method Methods 0.000 description 1
- 230000001960 triggered effect Effects 0.000 description 1
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04J—MULTIPLEX COMMUNICATION
- H04J3/00—Time-division multiplex systems
- H04J3/02—Details
- H04J3/06—Synchronising arrangements
- H04J3/0635—Clock or time synchronisation in a network
- H04J3/0638—Clock or time synchronisation among nodes; Internode synchronisation
- H04J3/0658—Clock or time synchronisation among packet nodes
- H04J3/0661—Clock or time synchronisation among packet nodes using timestamps
- H04J3/0664—Clock or time synchronisation among packet nodes using timestamps unidirectional timestamps
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L7/00—Arrangements for synchronising receiver with transmitter
- H04L7/0016—Arrangements for synchronising receiver with transmitter correction of synchronization errors
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F1/00—Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
- G06F1/04—Generating or distributing clock signals or signals derived directly therefrom
- G06F1/12—Synchronisation of different clock signals provided by a plurality of clock generators
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F1/00—Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
- G06F1/04—Generating or distributing clock signals or signals derived directly therefrom
- G06F1/14—Time supervision arrangements, e.g. real time clock
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04J—MULTIPLEX COMMUNICATION
- H04J3/00—Time-division multiplex systems
- H04J3/02—Details
- H04J3/06—Synchronising arrangements
- H04J3/0635—Clock or time synchronisation in a network
- H04J3/0685—Clock or time synchronisation in a node; Intranode synchronisation
- H04J3/0697—Synchronisation in a packet node
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L7/00—Arrangements for synchronising receiver with transmitter
- H04L7/0008—Synchronisation information channels, e.g. clock distribution lines
- H04L7/0012—Synchronisation information channels, e.g. clock distribution lines by comparing receiver clock with transmitter clock
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Synchronisation In Digital Transmission Systems (AREA)
- Electric Clocks (AREA)
Abstract
本发明涉及用于网络中时间同步的方法。第一主机向从机发送具有第一时间戳的第一同步信息,以对第一时钟进行时间同步,从机将第一时间戳与第一时钟的第一当前时间进行比较并且基于比较确定第一时钟的时钟频率和第一时钟与第一主机的时间差并且实施时间校准,使得从机中的第一时钟以同步后的时间运行。第二主机向从机发送第二同步信息,以对第二时钟进行时间同步。利用第一时钟的时钟频率为第二时钟指定时钟频率,即,将第二时钟的时钟频率设置为第一时钟的时钟频率。从机将第二同步信息的第二时间戳与第二时钟的第二当前时间进行比较,并且基于比较确定第二时钟与第二主机的时间差并且实施时间校准,使得从机中的第二时钟因此以同步后的时间运行。
Description
技术领域
本发明说明一种用于网络中时间同步的方法,其中所述网络包含多个主机和至少一个从机,其中所述至少一个从机经由网络从所述多个主机获得同步信息,以对该从机的第一时钟和第二时钟进行时间同步,其中第一主机向所述至少一个从机发送具有第一时间戳的第一同步信息,以对第一时钟进行时间同步,并且所述至少一个从机将所述第一同步信息的第一时间戳与所述第一时钟的第一当前时间进行比较并且基于这个比较确定所述第一时钟的时钟频率和所述第一时钟与第一主机的时间差并且实施时间校准,使得从机中的第一时钟以同步后的时间运行,第二主机向所述至少一个从机发送具有第二时间戳的第二同步信息,以对第二时钟进行时间同步。
背景技术
原则上作为网络的网络用户可以设置完全不同的硬件构件,如中央计算单元、总线模块、驱动模块、总线耦合器、具有集成网络连接的IO模块、摄像头、HMI设备、网络集成的传感器和执行器、网络基础设施(交换机、桥接器等等)。一个网络中的每个网络用户具有至少一个时钟,通过该时钟控制网络用户本身中的工作流程。这个时钟例如可以事先确定每个过程的可用CPU计算持续时间。网络中网络用户之间的工作流程也通过时钟进行校正。以此可以实现对一个网络中的不同过程的控制。石英振荡器指定由计数寄存器记录的规则振荡
原则上,将基于硬件的时钟与逻辑时钟区分开。基于硬件的时钟例如是具有计数寄存器的石英振荡器,其中该石英振荡器指定而后由计数寄存器记录的规则振荡。这些振荡与物理变量相关,如温度、气压、环境湿度等等。所以网络用户的位置会对石英振荡器产生影响,并且这些变化会导致基于硬件的时钟的不同的时钟频率或者频率。虽然由此对一个独立的网络用户通常不会产生什么影响,但在网络中在不同网络用户的以不同时钟频率运行的时钟之间可能需要实现时间同步。
在逻辑时钟的情况中,关于中断请求的时钟信号来自硬件,如一个基于硬件的时钟。必须在接通网络用户后首先设置逻辑时钟。逻辑时钟是计算机系统的一个组件,可用于为事件(例如网络中的工作流)提供唯一的时间戳。
通过一个时间戳给一个事件分配唯一的时间点。这个时间戳的准确性主要取决于一个时钟的准确性。事件例如是生产设备中的各种物理工作流程,然而也可以是数字性质的事件,如不同网络用户之间的通信。例如机器部件或货物(例如在机器上)的移动可以作为物理工作流程进行。物理工作流程可以被设计为执行器的网络用户启动或者执行,并且被设计为传感器的网络用户检测。这样,例如在发生生产故障时能够准确地判断哪台机器在何时发生了故障。这主要是有利于高度复杂的生产系统中的故障排除。
通常情况下,一个网络用户中不会只有一个时钟,而是有多个时钟。这些时钟既可以构成为基于硬件的时钟,也可以构成为逻辑时钟,或者它们的组合。例如,两个逻辑时钟可以访问同一基于硬件的时钟。大多数情况下,一个网络用户中安装有至少一个基于硬件的时钟,其在网络用户中至少分别显示一个工作时间。这样的一个工作时间一般来说从第一次初始化开始连续计数,例如在几分之一秒内。石英振荡器在这样的时钟中起时钟发生器的作用。为了在设备关闭时这个时钟不停摆,该时钟可以由一个储能器、即电池或者蓄电池持续供电。在电压损耗的情况中,例如在主板上的纽扣电池耗尽的情况中,当置入新电源时,这个时钟然后重新开始计数。
一个逻辑时钟现在例如利用上述基于硬件的时钟,以控制工作流程和给事件一个时间戳。
在网络中会发生不可避免的误差,例如因为所使用的石英振荡器由于制造误差之故振荡频率不完全相同。此外,网络用户的不同位置也会导致在石英振荡器内由于外部影响而产生频差或者频差进一步增加。网络用户可以共同位于一个车间内,或者也可以在空间上彼此远离。例如,由于不同的外部温度、空气调节、CPU升温引起的温差会对石英振荡器产生影响。
为了实现通过不同网络用户的时间控制的通信,需要对具有不同时间的时钟进行相互校正或者说校准。在最简单的情况中,为此目的,将网络中的一个网络用户指定为一个所谓的主机,而将其它的网络用户指定为所谓的从机。一个作为主机的网络用户可以是一个功率特别大且安全可靠的网络用户。然后主机为网络中的从机指定时间并且以此控制时间同步。一般来说,一个网络中有多个主机。每个时钟时间都有一个针对时间同步的主机。在两个时钟的情况中,因此也具有两个主机。尽管这些主机可以在一个物理网络用户上,但是也可以分布在不同的网络用户上。还存在主机角色在网络用户之间定期变换的可能性。
然而,在一个网络中针对一个时钟常常不是只有一个主机,而是具有多个主机,即所谓的“备用主机”。在原始主机针对时钟实施时间同步期间,所述备用主机就如同从机一样运行。这样,当所述第一主机发生故障时,所述备用主机之一就可以接替并实施时间同步。
网络用户常常使用一个所谓的工作时间作为时间,该工作时间从系统初始化开始连续运行。然而,在网络用户中不仅对工作时间的校正是重要的,而且通常还需要一个全局时间。全局时间尤其是指人们惯常利用的包括日期和时钟时间的时间。这样的一个全局时间对于使用者、例如生产车间的工作人员来说会是重要的,例如在对网络的网络用户进行维护、调试和故障排除期间。为此-如在工作时间的情况中已知的那样-可以将一个网络用户重新指定为一个主机,其它的网络用户则是从该主机获得时间同步的从机。对于全局时间来说,一个主机可以要么经由互联网,要么经由无线电或者GPS利用协调世界时(UTC)或者国际原子时(法文:TAI)的服务器进行调准。
此外,用于时间同步的主机在其它任务方面可以仅仅是基本的网络用户或者从机。术语“主机”和“从机”在本发明中仅仅是针对网络中的时间同步而言,并不涉及其它功能,诸如在生产过程中的功能。
用于对工作时间和全局时间实现时间同步的主机通常在一个网络中是不相同的。因此可以为网络用户规定分别由不同的主机对工作时间和全局时间独立地实现时间同步。为此,基于庞大的软件栈的时间同步方法是众所周知的,如例如在精确时间协议(PTP)中规定的那样。例如在标准IEEE 802.1AS-2020中规定了这样的协议。在此,分别单独地对工作时间和全局时间进行校正。一般来说,多个冗余主机可以既指定工作时间,也指定全局时钟时间。
一般来说,通过同步进行这样的校正。在此,在主机与从机之间对时间(工作时间或全局时间)实施完全适配。从机对时钟频率和时间差进行校正或者说校准。时间差是指主机时钟与从机时钟之间的具体差异。例如,主机的全局时钟时间是13:02,从机的全局时钟时间是13:05。现在将从机的时钟时间从13:05调到13:02,并且从机根据对主机中的时间的掌握对时钟频率进行校正,以使时钟同速运行。只有在一定数量的同步信息之后,才能够精确地校正时钟频率。
为了尽可能避免时间跳跃,可以使从机的时钟频率加速或者减速,以校正主机和从机中的时钟。然而,这个过程在主机和从机的偏差高的情况下会持续时间长并且可能导致特别是时钟频率方面的持续偏差。另一方面,如果跳跃式地调整时间的话,可能发生时间戳方面出现错误的情况。在时间上实际上相继发生的事件在时间同步之后却具有相同的时间戳,或者这些事件的记录顺序甚至可能被混淆。
然而,也可以通过谐振进行校正。谐振是指只调整网络中的一个主机与一个从机之间的时钟频率,而无需如在同步的情况中那样进行对时间差的校正。这样,如在上述示例中那样,不是将时钟时间通过跳跃修正到主机的时钟时间,而是所述时钟时间继续以相同的差值运行,或者利用加速或者减速的时钟频率被相互校正。这防止了时钟内的跳跃,并且还避免了事件的错误分配。然而,通过这种方式至少防止了,当两个时钟具有相同时钟频率时,差值变得越来越大。在根据本发明的校正中,接下来既可以规定同步,也可以规定谐振。这可以取决于所述至少一个从机与主机的差值以及应用范围。
一般来说,通过不同的主机对工作时间和全局时间进行校正。因此可能发生这两个时间以不同的速度运行的情况,即具有不同的时钟频率。事件可能既有工作时间的时间戳,也有全局时间的时间戳,这例如取决于一个事件是否是一个生产过程,网络用户之间是否需要通信,或者是否与使用者进行互动。
时间同步的现有技术现今是IEEE的PTP标准。该标准规定,通过网络使网络用户中的每个时钟单独与一个主机同步。例如,可以基于所述标准将一个工作时钟与网络中的其它工作时钟校准。可以为全局时钟实施同样的程序。这就是说,例如为时钟事先确定时钟频率和一个时间差。因此,一个网络用户中的不同的时钟时常可能具有不同的时钟频率。当一个网络用户与另外的网络用户、例如与网络中的其它从机或者一个主机通信时,这可能导致时间记录中再无法追踪的故障累积。
许多现有的应用程序将这两个时钟之一用于控制时间流程(例如作为用于执行某些事件的定时器)。由于在现有技术中使这些时钟中的每一个都与一个主机的时钟频率同步,所以并不以一个唯一的时钟的时钟频率进行对时间流程的控制,而这对于在网络范围内以相同的节奏执行事件来说是必不可少的。
EP 2 544 389 B1公开了一种工作时间和全局时间的时间同步法,其中检测这两个时间的差值,通过信息将该差值从一个主机传送给系统中的一个用户,并且从机修正其时间。通过所述差值相互调整时钟。这个方法的缺点是,两个时钟必须具有一个共同的主机。此外,这个方法还需要必须传递的额外信息。就是说,网络中的所有组件必须使用同一种方法。
发明内容
本发明的目的是为运行中的不同应用程序实现统一的时间同步。
本发明的这个目的通过如下方式得以实现,即利用所述第一时钟的时钟频率为所述第二时钟指定时钟频率,其方式为:将第二时钟的时钟频率设置为第一时钟的时钟频率。然后所述至少一个从机将所述第二同步信息的第二时间戳与所述第二时钟的第二当前时间进行比较,基于这个比较确定所述第二时钟与第二主机的时间差并且如此实施时间校准,使得从机中的所述第二时钟因此以同步后的时间运行。
这是有利的,因为通常硬件和运行系统中的标准机制已经指定,这些标准机制在网络用户中为应用程序配置一个固定时钟。特别是在基于Linux的系统下,将如定时器或者“单调时钟”的应用程序与全局时钟时间相关联。这特别是在复杂的生产过程中可能引发问题,因为许多网络用户为应用程序诸如定时器使用不同的时钟,或者甚至在系统中只具有一个时钟,该时钟于是通常是一个工作时钟。此外,在全局时钟的情况中有时会发生中断,因为该时钟在相关联的主机中默认通过GPS与TAI或者UTC同步。
可以为每个应用程序对优选的时钟进行手动调整,然而这是非常繁琐的。此外,由此还失去了第二时钟(如全局时钟)的优点,该时钟可以对记录条目、证书或者故障报告具有重要作用。所以有利的是,通过工作时钟控制对于网络来说重要的过程,而全局时钟依然保留并可以使用。
根据本发明的时间同步涉及一种具有多个不同网络用户的网络。网络用户可以是例如用于控制试验台、生产机器、运输系统的PC,然而也可以是总线模块、驱动模块、总线耦合器、具有集成网络连接的IO模块、摄像头、HMI设备、网络集成的传感器和执行器、网络基础设施(交换机、桥接器等等)。在每个网络中都具有多个用于时间同步的主机。在此,为每个时钟设有一个主机角色。这些主机角色可以存在于一个物理网络用户上,但是也可以分布在不同的网络用户上。
网络用户中的其它时钟然后在时间同步方面起从机的作用。根据本发明,在从机中具有至少一个第一时钟和一个第二时钟。这些时钟可以具有不同的时基,诸如传统的时钟时间(天和小时),或者一个时钟也可以从初始化时间点开始只以秒或者以几分之一秒(例如微秒或者纳秒)为单位计数。从机从多个主机获得同步信息,以实施同步。一个主机通常也可以获得其它“备用”主机的辅助。只要所述主机主动指定时间同步,所述备用主机就起从机的作用。在与主机的通信发生故障的情况中,所述备用主机可以承担时间同步。网络故障例如可能出于数据传输的原因,或者出于物理的原因,例如由于线路被切断,例如在建筑施工中。
在一个网络中,例如可以设置一个工作时间和一个全局时钟时间作为时钟时间。于是,第一时钟例如作为工作时钟以工作时间运行,而第二时钟作为全局时钟以全局时钟时间运行。然而,原则上其它的时间也是可能的,如生产时间、批次时间等等。工作时间通常是一个标量,其例如从一个初始化时间点起持续计数。这可能形成难以读取和分析评估的数字,这是因为不能为工作时间使用标准化的时间显示。所以与工作时间不同,全局时钟时间通常可以设计为易于使用的,并显示包括日期和时钟时间的可读时间。在网络中,作为全局时钟时间例如可以使用协调世界时(UTC)或者国际原子时(法文:TAI)。在此,一个主机例如使用GPS连接以与TAI或者UTC进行对准。假如一个网络的不同部分使用不同的全局时钟时间,那么可以通过“转换”在这些不同的全局时钟时间之间进行换算。不同全局时钟时间的这种换算例如可以通过基于便携式操作系统接口(POSIX)的算法完成。在此,例如ISO8601:2004说明了从TAI到UTC的换算。
根据本发明,一个从机从第一主机获得第一同步信息,利用该同步信息在第一步骤中使所述从机中的工作时钟同步。例如,在网络用户启动之后可能需要一个时间跳跃,这是因为此时存在一个高的时间差。工作时钟的同步的时钟频率被用于给从机中的全局时钟指定时钟频率。然而,全局时钟还通过第二主机的第二同步信息实时更新,并且例如被调整到TAI。因此,所述全局时钟时间在同步信息的时间点是正确的,然而由于指定了工作时钟时钟频率而在同步信息之间会有轻微的偏差。然而,由于所述全局时钟每秒钟被同步数次,所以这个偏差对于包括用户互动的应用程序来说会是微不足道的。这样的差异在低的微秒范围内和更小,并且通常对人来说感觉是同时的。
有利的时间同步以10与200ms之间的间隔进行。
例如在10至200ms的优选范围内定期地实施时间同步。然而,也可以考虑非定期的间隔。例如,时间同步在生产过程中可以得到加强,否则可以以不同的间隔进行,或者由于网络中的主机角色的更换会出现不定期的情况。
在一个有利的实施方式中,一个从机也可以包含时间戳标记器,其与第一时钟和/或第二时钟相关联并且为数据包分配时间戳。
这样的时间戳标记器为发出的事件配置相关联的时钟的一个时间戳。这例如能够有利于生产过程中通过数据包的有针对性的数据传输,其中一个事件然后获得相关联的时钟的时间戳,如工作时钟的时间戳。
在一个有利的实施方式中,在所述至少一个从机中可以通过同步实现时间同步,并算出时钟频率和时间差,并且通过时间跳跃和/或频率校准(或者说频率对准)对第一时钟和/或第二时钟与主机的时间差进行补偿。
当对两个时钟的时钟频率和时间差进行校正时,同步是有利的。然后两个时钟(例如一个工作时钟和一个全局时钟)显示相同的时间。
在另一个有利的实施方式中,在所述至少一个从机中可以通过谐振实现时间同步,并算出时钟频率和时间差,并且通过调整时钟频率对第一时钟和/或第二时钟与主机的时间差进行补偿。
如果两个时钟应该具有相同的时钟频率的话,谐振就可以是充分的,但是无需对所述差进行调和。可以对具有许多网络用户的网络中的各种不同的时钟时间进行校正。优选所述多个主机为每个时钟发送一个同步信息,例如每秒钟8次或者32次。
在一个优选的实施方式中,定时器与第一时钟和/或第二时钟相关联,并且定期输出中断请求(UA)。
定时器控制一个系统中的循环过程,其方式为:定时器定期(例如每1个毫秒,ms)输出一个中断请求(Interrupt)。这对于应该通过定时器的预定的中断请求触发的、当前的和未来的事件来说可以是重要的。在根据本发明的时间同步中,一个定时器既可以与工作时钟,也可以与全局时钟相关联,并输出正确的中断请求。
附图说明
下面参照附图1至5详细阐述本发明,附图示例性、示意性和非限定性地示出本发明的有利的构造设计。附图示出:
图1是现有技术的时间同步的流程图;
图2是根据本发明的时间同步的流程图;
图3示意性地示出了从机中的时钟根据现有技术的时间同步;
图4示意性地示出了从机中的时钟根据本发明的时间同步;和
图5是网络中的定时器利用根据本发明的时间同步的作用原理。
具体实施方式
图1示出了一种为了在具有网络用户的网络1中的时间同步的、根据现有技术的数据传输方法。用于时间同步的不同角色被分布在一个网络1中。在一个网络1中存在具有主机M和从机S角色的网络用户。根据本发明,设有至少两个时钟。然而也可以存在多个时钟,并且这些时钟经历时间同步。在根据本发明的时间同步的情况下存在至少一个第一时钟和一个第二时钟。第一时钟以第一时间运行,而第二时钟以第二时间运行。
为了说明这一点,示出了一个工作时钟3代表第一时钟和一个全局时钟5代表第二时钟。然而,在一个网络中和在网络用户上也可以运行完全不同的时钟,例如一个生产时钟、一个批次时钟等等。为了同步的目的,为工作时间分配主机M1的角色,为全局时钟时间分配主机M2的角色。原则上两个主机M1和M2可以在同一个网络用户上运行,然而通常被分配给不同的网络用户。一个网络中的所有其它工作时钟3和全局时钟5然后被视为从机时钟。根据本发明,一个从机S包含一个输出第一时间作为工作时钟时间的工作时钟3和一个输出第二时间作为全局时钟时间的全局时钟5。全局时钟时间一般来说可以是一个原子钟的时钟时间,如TAI(国际原子时)或者UTC(协调世界时),该时钟时间在全世界的任何地方-与时区相关地-应该是相同的。然而也具有可能性,一个从机S只包含一个唯一的时钟。这然后通常可以是一个工作时钟3,并且不存在与全局时钟时间的同步。本发明中的时钟可以是基于硬件的时钟和逻辑时钟的任何组合。例如,工作时钟3和全局时钟5都可以访问同一个基于硬件的时钟,然而,工作时钟3和全局时钟5也可以分别访问一个基于硬件的时钟。
网络用户经由网络线路相互连接。网络线路常常构成用于网络用户之间数据通信的数据总线。网络线路可以是局域网络线路、网络总线、光纤电缆等等,它们允许网络用户之间在网络中的通信。为了数据通信,可以执行任何通信协议。也可以设置将不同网络或者一个网络的不同部分相互连接的网络基础架构,例如交换机、路由器等等。在网络1中或者在网络1的某些部分中也可以考虑通过无线网络、诸如无线局域网(WLAN)的具有时间同步的无线数据传输。对于本领域技术人员来说熟悉的并且允许在网络用户之间具有时间同步的针对性的数据传输的任何用于网络1的网络拓扑都是可能的。网络1在数据传输方面(除了其它的数据信息之外)允许不同的网络用户之间双向发送和接收同步信息。
在网络1中为了时间同步在网络用户之间交换同步信息。主机M1、M2之一为此向所述至少一个从机S定期发送同步信息D1、D2。主机M1发送一个使工作时钟3同步的同步信息D1,而主机M2发送一个使全局时钟5同步的同步信息D2。同步信息D1、D2可以在一个数据包中发送,即在一个为网络通信而设置的封闭数据单元中发送,然而同步信息D1、D2也可以在网络1中相互独立地在不同的数据包中发送。优选以比用于全局时钟5的同步信息D2更大的间隔发送用于工作时钟3的同步信息D1。工作时钟3的同步次数通常可以是全局时钟5的四倍。
同步信息D1包含一个来自主机M1的时间戳t1,并且同步信息D2包含一个来自主机M2的时间戳t2。时间戳t1、t2是在发送同步信息D时主机的工作时钟3或者全局时钟5的时间点。同步信息D1、D2被用于在从机S中计算时钟频率r和相对于主机M1、M2的时间差dt,并且将所述工作时钟3或者全局时钟5设定成使得工作时间和全局时间与主机相同并且继续相同运行。
时钟频率r定义一个周期信号(该信号通过其频率或者周期持续时间确定)并且通常用于在时间上协调数字系统中的过程。一个时钟频率r例如可以由基于硬件的时钟中的一个石英振荡器输出。时间差dt描述的是两个时间的绝对差值。例如,在主机M上一个全局时间可能是11:23,而在从机S上一个全局时间可能是11:25。那么时间差dt就是2分钟或者120秒钟。
图1示出了现有技术中的同步流程。主机M1在确定的时间点将一个同步信息D1经由网络发送给至少一个从机S,所述时间点可以是事先规定的或者例如也可以是由于主机M1的变换产生的。同步信息D1获得一个时间戳t1并且在网络中具有一个传播时间△t1。该传播时间可以视为已知的或者至少可以被估算出。根据标准,可以通过自身的信息测量传播时间△t1。同步信息D1到达一个从机S,例如所述从机S中的一个网络端口,并被继续传递给工作时钟3。一般来说,每个从机S中(例如一个时钟中)的一个时间同步机构7、8计算与主机M1、M2的偏差。工作时钟3或者该工作时钟的时间同步机构7现在利用时间戳t1和已知的传播时间△t1,以从中算出用于自身的工作3的时钟频率r1和时间差dt1并且实施时间校准。如果主机M1与从机S中的工作时钟3之间的偏差大的话,就实施一个时间跳跃,并且还对时钟频率rA进行校正。时钟频率r的校正意味着:从机S中和主机中的时钟的持续时间在校正之后是相同的,因此时间相同地推移。例如在一定数量的同步信息D1之后才可以对时钟频率r进行这样的校正。例如,在偏差小的情况中可能只需要对时钟频率rA进行补偿,例如加速或者减速。为此可以将时钟频率r在一定时间内加速,用以补偿差异,然后可以使每个时钟节拍例如经过1.2秒钟,而不是1秒钟。当然,技术上常用的时钟频率在很低的范围内,例如8至10ns(纳秒)。因此,在差值小的情况中,对时钟频率r进行调整(频率调整)就能够足够了。
主机M2同样向从机S中的全局时钟5发送一个同步信息D2。该同步信息D2从主机M2获得一个时间戳t2并且具有一个传播时间△t2,其可以再次被视为已知的。由于主机M的角色可以在不同的网络用户上执行,所以同步信息D1、D2的传播时间会完全不同。然而,例如由于同步信息D1、D2经由不同的网络路径被发送,也会产生不同的传播时间。从机S中的全局时钟5或者该全局时钟的时间同步机构8算出时钟频率rG和时间差dt2,如上面对第一同步信息D1所说明的那样。可以根据主机M2与从机S中的全局时钟5之间的偏差通过时间跳跃或者频率调整实现这一点。
所以在现有技术中,在工作时钟3与全局时钟5之间没有相互作用。每个时钟本身都由相应的主机M1、M2同步。通过借助于第一同步信息D1和第二同步信息D2的时间同步,会发生工作时钟3和全局时钟5执行向前或者向后的时间跳跃,和/或使所述两个时钟中的一个或者每个(即工作时钟3和/或全局时钟5)的时钟频率rA、rG加速或者减速,以补偿与所述主机M1、M2之一的时间差。现有技术中的时间同步因此可能导致工作时钟3和全局时钟5具有不同的时钟频率rA和rG。
图3示出了现有技术中工作时钟3和全局时钟5的常规时间同步期间的示例性时间过程。时间差dt和时钟频率r总是相对一个主机M1、M2而言。纵坐标描述时间戳t1、t2的时间过程,横坐标描述主机M的新同步信息D(t)与时间和传播时间t+△t相关联的到达。同步信息的到达不是相同的,而是取决于主机M1和M2的同步间隔。工作时钟3和全局时钟5最初分别以时钟频率rA和rG运行。主机M1发送具有时间戳t1.1的第一同步信息D1.1,该同步信息在传播时间△t1过后到达从机S。从机S将第一同步信息D1.1的时间戳t1.1与工作时钟3的工作时间进行比较,利用-例如工作时钟3的-时间同步机构7基于工作时钟3与时间戳t1.1的偏差算出用于工作时钟3的新时钟频率rA.1和时间差dt1.1。全局时钟5尚未获得同步信息,继续以时钟频率rG运行。工作时钟3根据算出的时间差dt1.1作为同步的结果进行跳跃并改变时钟频率rA.1。在这个示例中,接下来从机S从主机M2为全局时钟5获得一个同步信息D2.1。通过该同步信息D2.1的时间戳t2.1,利用全局时钟的时间同步机构8计算一个时钟频率rG.1和时间差dt2.1。由此所述全局时钟5进行跳跃并改变图3中的时钟频率rG.1,这在图3中的斜度上可以看出。在一个优选的实施方式中,只在工作时钟3和全局时钟5的第一同步信息之后才实施跳跃,随后的同步信息D1、D2只能引起时钟频率rA、rG的改变。这个过程在不同的时间点重复。传播时间△t在不同的同步信息之间可以是不同的,例如当另一个主机M被确定时,但是对于从机S来说是已知的。
只要从主机M1、M2为了时间同步向从机S发送同步信息D1、D2,这个过程就会重复。在相同的时钟具有相同的值的情况中时,纵坐标上的相同的时间点具有相同的时间戳t,于是不再是可区别的。这在图3中示例地针对具有时间戳T1和T2的工作时钟3示出。具有这个时间戳t、即T1和T2的事件总的来说在时基方面不再是可区别的。
图2示出了一个网络1中根据本发明的时间同步。主机M1、M2如上所述发送第一和第二同步信息D1和D2。第一同步信息D1在本发明的情况中也包含一个时间戳t1,以便从机S可以校正工作时钟3。第二同步信息D2包含一个时间戳t2,用以校正全局时钟5。该全局时钟5总是算出与一个由主机M2指定的全局时钟时间的时间差dt2。二者都是通过时间同步机构7、8进行。因此在每条同步信息D2时校正主机M2与从机S之间的全局时钟时间。然而,全局时钟5的时钟频率rG并未通过同步信息D2调整。
所述工作时钟3的时钟频率rA现在被用于为所述全局时钟5指定时钟频率rA。因此所述工作时钟3的时钟频率rA对应于所述全局时钟5的时钟频率rG,即rA=rG。因此在从机S内部通过工作时钟3的指定进行时钟频率rA、rG的校正,而不是如迄今为止的那样通过已经将第二同步信息D2发送给了从机S的主机M2指定。因此不会如在现有技术中那样导致工作时钟3与全局时钟5之间不同的时钟频率rA、rG。这是有利的,因为应用程序、如定时器或者“monotonic clock(单调时钟)”可以要么与工作时钟3,要么与全局时钟5相关联,现在总是访问相同的时钟频率rA=rG。
在一个非常说明性的示例中,基于第一同步信息D1算出的工作时钟的时钟频率rA与一个全局时钟5的时钟频率rG相比,只能以90%的速度运行。在第二同步信息D2之后,例如在01:00时,全局时钟5利用主机M2被校正到全局时钟时间。在这个示例中,时钟在一个小时内不获得同步信息,直到02:00时为止。由于时钟频率rA已经校正到rG上,所以在从机S中在全局时钟中只过去了56分钟,该全局时钟现在应该显示时钟时间01:56,尽管在此期间已经是02:00时。利用02:00时的下一个第二同步信息D2,将全局时钟调到值02:00上,因此重新与全局时钟时间同步。
所以全局时钟5常常基于第二同步信息D2进行时间跳跃。这些时间跳跃比全局时钟5的分辨率小得多,自然没有如上述示例中那样的规模(4分钟)。例如,所述全局时钟5的分辨率可以在1微秒(μS)的范围内,然而基于到达的第二同步信息D2算出的时间跳跃则可以在小于1μS的范围内。因此,这样的时间跳跃对于应用程序和与使用者相关的应用来说可以是微不足道的,因为这些小的偏差对于人来说感觉是同步的。
图4示出了根据本发明的时间同步期间的示例性的时间过程,该时间同步例如可以定期或者以一定确定的时间间隔进行。纵坐标描述时间过程t,横坐标描述来自一个主机M1、M2的新同步信息D(t)的与时间和传播时间t+△t相关的到达。在根据本发明的时间同步之前,例如在网络1初始化之后,工作时钟3和全局时钟5可以以用于工作时钟3和用于全局时钟5的不同时钟频率rA和rG运行,在图4中未示出这一点。具有时间戳t1.1的第一同步信息在传播时间△t1.1过后到达从机S,并且所述工作时钟3算出一个新时钟频率rA.1。在一个优选的实施方式中,工作时钟3还可以利用在时间上最初的同步信息D1.1计算一个工作时间差dt1.1并且如上所述进行一个时间跳跃。一般来说,此后可以省却时间跳跃,因为在主机M1与从机S中的工作时钟3之间的偏差足够小,然后只进行频率校准。图4中的全局时钟5的时钟频率rG根据本发明被调节到与工作时钟3的时钟频率rA相同,通过图4中平行的斜度可以看出这一点。在这个范围内也会具有全局时钟5错误运行的可能性,如上在说明性的示例中说明的那样。然而,全局时钟时间在第二同步信息D2到达的时间点重新是准确的。
经过进一步的时间后,来自主机M2的同步信息D2.1到达从机S。(例如全局时钟5的)时间同步机构8通过第二同步信息D2计算全局时间差dt2.1。在通过同步机构8进行处理的时间点,全局时钟时间与从主机M2获得的全局时钟时间相同。然后它继续以工作时钟的时钟频率rA运行。这个程序随着来自主机M1和M2的每个用于时间同步的第一和第二同步信息D1.n和D2.n的到达而重复。
从机S也可以将数据流发送到网络1中,例如通过数据包Dp,其可以控制不同事件,而不仅是在时间同步方面起作用。一个数据包为此可以使用例如一个网络端口。对于大多数应用来说,会需要给数据包一个时间戳t。这可以通过从机S中的时间戳标记器来实现,该时间戳标记器给发出的数据包一个从机S的时间戳t。一个时间戳t是在数据包的时间点上从机S中的工作时钟3或者全局时钟5的时间点。时间戳t对于调节网络1中的数据传输也能够是重要的。根据事件,工作时钟3可以访问一个工作时间戳标记器,或者全局时钟5可以访问一个全局时间戳标记器。当一个事件应该获得工作时钟3的时间戳t时,由工作时间戳标记器实施这个时间戳。在全局时钟5的情况中,全局时间戳标记器承担这个功能。在接近使用者的事件的情况中,例如可以使用全局时钟5的全局时间戳t5,而在网络用户之间的通信事件的情况中,例如在协调的生产互动的事件中,可以使用工作时钟3的工作时间戳t3。
图5示出了一个具有定时器6的网络1的优选实施方式,该网络采用根据本发明的时间同步。为了清楚起见,两个主机角色M1、M2设置在一个网络用户中。网络用户设置在一个网络拓扑中。第一和第二主机M1、M2根据本发明经由网络1将同步信息D1、D2发送给多个从机S。每个网络用户,即与时间同步相关的主机M1、M2和从机S,都具有一个定时器6。定时器6定期地,例如每1个毫秒(ms)发出一个中断请求(Interrupt)UA。这特别是对于应在所有网络用户上同时或者以事先确定的顺序进行的循环应用来说能够是重要的。例如,用于生产过程的系统访问定时器6,并且在最简单的情况中在事先确定的中断请求UA时切换一个阀门。
所以,每个设备上的定时器6必须在一段时间之后发送中断请求UA。如果从机S中的时钟频率不同的话,中断请求UA就在不同的时间点出现。这例如可能导致高精度生产过程中的故障或者问题。
在网络拓扑中,可以有许多不同的网络用户,如计算单元、总线模块、驱动模块、总线耦合器、具有集成网络连接的IO模块、摄像头、HMI设备、网络集成的传感器和执行器,并且能够相应地在各种各样的运行系统上运行,如Linux/Unix、Windows、Android等等。根据网络用户及其运行系统,一个定时器6基于预先调整访问一个工作时钟3或者一个全局时钟5。一些网络用户如S”或者S”’只具有一个工作时钟3,并且定时器6相应地访问该工作时钟3。
在现有技术中,网络1中的每个定时器6必须被设置为访问统一的时钟,例如全局时钟5。然而,这在没有全局时钟5的网络用户的情况中将产生问题。在校正到工作时钟3上时,如上所述,将失去全局时钟时间的优点。
根据本发明的时间同步允许实现:在网络1中一个定时器6可以访问网络用户中的任何时钟,并且中断请求UA在相同的时间后在任何地方发生。这样可以高精度地计划并实现对例如生产过程的控制。
Claims (7)
1.一种用于网络(1)中时间同步的方法,所述网络(1)包含多个主机(M1,M2)和至少一个从机(S),所述至少一个从机(S)经由网络(1)从所述多个主机(M1,M2)获得同步信息(D1,D2),以用于对该从机(S)的第一时钟(3)和第二时钟(5)进行时间同步,
第一主机(M1)向所述至少一个从机(S)发送具有第一时间戳(t1)的第一同步信息(D1),以对第一时钟(3)进行时间同步,并且所述至少一个从机(S)将所述第一同步信息(D1)的第一时间戳(t1)与所述第一时钟(3)的第一当前时间进行比较并且基于这个比较确定所述第一时钟(3)的时钟频率(rA)和所述第一时钟(3)与第一主机(M1)的时间差(dt1)并且实施时间校准,使得从机(S)中的第一时钟(3)以同步后的时间运行,
第二主机(M2)向所述至少一个从机(S)发送具有第二时间戳(t2)的第二同步信息(D2),以对第二时钟(5)进行时间同步,
其特征在于:利用所述第一时钟(3)的时钟频率(rA)为所述第二时钟(5)指定时钟频率(rG),其方式为:将第二时钟(5)的时钟频率(rG)设置为第一时钟(3)的时钟频率(rA),并且
所述至少一个从机(S)将所述第二同步信息(D2)的第二时间戳(t2)与所述第二时钟(5)的第二当前时间进行比较,并且基于这个比较确定所述第二时钟(5)与第二主机(M2)的时间差(dt2)并且实施时间校准,使得从机(S)中的第二时钟(5)因此以同步后的时间运行。
2.根据权利要求1所述的方法,其特征在于:时间同步以10ms与200ms之间的间隔进行。
3.根据权利要求1或2中任一项所述的方法,其特征在于:在所述从机(S)中时间戳标记器(8)与第一时钟(3)和/或第二时钟(5)相关联并且为数据包分配时间戳(t)。
4.根据权利要求1至3中任一项所述的方法,其特征在于:在所述至少一个从机(S)中通过同步实现时间同步,并且算出时钟频率(r)和时间差(dt),并且通过时间跳跃和/或频率校准对第一时钟(3)和/或第二时钟(5)与主机(M1,M2)的时间差(dt)进行补偿。
5.根据权利要求1至3中任一项所述的方法,其特征在于:在所述至少一个从机(S)中通过谐振实现时间同步,并且算出时钟频率(r)和时间差(dt),并且通过调整时钟频率(r)对第一时钟(3)和/或第二时钟(5)与主机(M1,M2)的时间差(dt)进行补偿。
6.根据权利要求1至5中任一项所述的方法,其特征在于:定时器(6)与第一时钟(3)和/或第二时钟(5)相关联并且定期输出中断请求(UA)。
7.一种网络(1),其包括多个主机(M1,M2)和至少一个从机(S),所述多个主机(M1,M2)和所述至少一个从机(S)都包含第一时钟(3)和第二时钟(5),
所述第一主机(M1)设置用于经由该网络(1)向所述至少一个从机(S)发送具有第一时间戳(t1)的第一同步信息(D1),并且所述至少一个从机(S)构造成用于,基于所述第一时间戳(t1)确定第一时钟(3)的时钟频率(rA)和第一时钟(3)的第一当前时间相对于所述第一主机(M1)的第一时间差(dt1)并且实施时间校准,使得从机(S)中的所述第一时钟(3)以同步后的时间运行,
所述第二主机(M2)设置用于经由网络(1)向所述至少一个从机(S)发送具有第二时间戳(t2)的第二同步信息(D2),
其特征在于:所述至少一个从机(S)构造成用于,将所述第一时钟(3)的时钟频率(rA)指定给所述第二时钟(5)作为时钟频率(rG),并且将所述第二时钟(5)的时钟频率(rG)设置为所述第一时钟(3)的时钟频率(rA),并且
所述至少一个从机(S)构造为用于,基于所述第二时间戳(t2)确定所述第二时钟(5)的第二当前时间相对于所述第二主机(M2)的第二时间差(dt2)并且实施时间校准,使得从机(S)中的所述第二时钟(5)以同步后的时间运行。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
AT507152021 | 2021-09-10 | ||
ATA50715/2021 | 2021-09-10 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN115801164A true CN115801164A (zh) | 2023-03-14 |
Family
ID=83232786
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202211069188.6A Pending CN115801164A (zh) | 2021-09-10 | 2022-09-02 | 网络中的时间同步 |
Country Status (3)
Country | Link |
---|---|
US (1) | US20230079221A1 (zh) |
EP (1) | EP4149029A1 (zh) |
CN (1) | CN115801164A (zh) |
Family Cites Families (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5530846A (en) * | 1993-12-29 | 1996-06-25 | International Business Machines Corporation | System for decoupling clock amortization from clock synchronization |
KR100895175B1 (ko) * | 2007-04-04 | 2009-05-04 | 삼성전자주식회사 | 통신 시스템에서 gps 정보를 이용한 시간 동기화 방법및 장치 |
US7991016B2 (en) * | 2009-01-06 | 2011-08-02 | Alcatel-Lucent Usa Inc. | High availability clock synchronization and distribution for mobile backhaul networks |
EP2544389B1 (de) | 2011-07-08 | 2014-05-14 | Siemens Aktiengesellschaft | Synchronisierung des Arbeitstakts und des Zeittakts in einem Automatisierungsnetzwerk mit mehreren Domänen |
EP3288200B1 (en) * | 2016-08-23 | 2019-03-06 | Robert Bosch Gmbh | Method of synchronizing master and slave clocks in a computer network, corresponding system |
-
2022
- 2022-09-02 CN CN202211069188.6A patent/CN115801164A/zh active Pending
- 2022-09-07 EP EP22194311.1A patent/EP4149029A1/de active Pending
- 2022-09-09 US US17/941,223 patent/US20230079221A1/en active Pending
Also Published As
Publication number | Publication date |
---|---|
US20230079221A1 (en) | 2023-03-16 |
EP4149029A1 (de) | 2023-03-15 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US7366205B2 (en) | Method for synchronizing nodes of a communications system | |
US8108558B2 (en) | Circuit arrangement and method for synchronization of clocks in a network | |
US7649912B2 (en) | Time synchronization, deterministic data delivery and redundancy for cascaded nodes on full duplex ethernet networks | |
US6654356B1 (en) | Distributed control system architecture based on synchronized clocks | |
TWI411277B (zh) | 網路從節點與網路系統精確時間同步之方法 | |
US8126019B2 (en) | Method for time synchronization in a cyclically operating communication system | |
US11095382B2 (en) | Communication system, communication device and communication method | |
CN101164024A (zh) | 由通信网络链接的同步控制器 | |
US20220413474A1 (en) | Control system | |
WO2018104237A1 (en) | Method, device, and computer program for improving synchronization of clocks in devices linked according to a daisy-chain topology | |
US10320507B2 (en) | Method for determining a propagation time of a telegram in a communication network, and corresponding network components | |
WO2019107022A1 (ja) | 制御装置および制御方法 | |
KR20150084917A (ko) | 신호 동기 시스템, 노드 동기 시스템, 신호 동기 방법, 및 노드 동기 방법 | |
Harris | An application of IEEE 1588 to industrial automation | |
US9081371B2 (en) | Method for synchronizing an operating clock with a time clock of an automation network | |
US11310026B2 (en) | Communication system, communication device, and program | |
US20230023970A1 (en) | Control system | |
CN110752890A (zh) | 一种时间同步方法、时间同步系统及车辆 | |
CN104486058A (zh) | 一种ptp系统时间同步方法以及装置 | |
CN115801164A (zh) | 网络中的时间同步 | |
CN111443685A (zh) | 用于在控制设备中提供通用时间的方法以及控制设备 | |
Lesi et al. | Synchronization of distributed controllers in cyber-physical systems | |
JP5626589B2 (ja) | ネットワーク機器、および同機器における時刻同期方法 | |
US20240028067A1 (en) | Time synchronization between a master and a slave in a network | |
Luckinger et al. | AUTOSAR-compliant clock synchronization over CAN using software timestamping |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination |