CN118233037A - 通信装置及其控制方法和存储介质 - Google Patents
通信装置及其控制方法和存储介质 Download PDFInfo
- Publication number
- CN118233037A CN118233037A CN202311741162.6A CN202311741162A CN118233037A CN 118233037 A CN118233037 A CN 118233037A CN 202311741162 A CN202311741162 A CN 202311741162A CN 118233037 A CN118233037 A CN 118233037A
- Authority
- CN
- China
- Prior art keywords
- transmission path
- time
- transmission
- communication
- data packet
- 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
- 238000004891 communication Methods 0.000 title claims abstract description 227
- 238000000034 method Methods 0.000 title claims abstract description 39
- 230000005540 biological transmission Effects 0.000 claims abstract description 365
- 230000001360 synchronised effect Effects 0.000 claims description 3
- 238000002310 reflectometry Methods 0.000 claims 1
- 238000012545 processing Methods 0.000 description 175
- 230000008569 process Effects 0.000 description 32
- 230000006870 function Effects 0.000 description 14
- 238000012937 correction Methods 0.000 description 10
- 230000004044 response Effects 0.000 description 10
- 230000015654 memory Effects 0.000 description 6
- 238000010586 diagram Methods 0.000 description 3
- 238000005516 engineering process Methods 0.000 description 3
- 101000827703 Homo sapiens Polyphosphoinositide phosphatase Proteins 0.000 description 2
- 102100023591 Polyphosphoinositide phosphatase Human genes 0.000 description 2
- 230000008859 change Effects 0.000 description 2
- 238000012544 monitoring process Methods 0.000 description 2
- 101100233916 Saccharomyces cerevisiae (strain ATCC 204508 / S288c) KAR5 gene Proteins 0.000 description 1
- 230000002159 abnormal effect Effects 0.000 description 1
- 230000001934 delay Effects 0.000 description 1
- 230000003111 delayed effect Effects 0.000 description 1
- 238000005259 measurement Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000011084 recovery Methods 0.000 description 1
- 230000001052 transient effect Effects 0.000 description 1
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04J—MULTIPLEX COMMUNICATION
- H04J3/00—Time-division multiplex systems
- H04J3/02—Details
- H04J3/14—Monitoring arrangements
-
- 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
-
- 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/0667—Bidirectional timestamps, e.g. NTP or PTP for compensation of clock drift and for compensation of propagation delays
-
- 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/0682—Clock or time synchronisation in a network by delay compensation, e.g. by compensation of propagation delay or variations thereof, by ranging
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
- Synchronisation In Digital Transmission Systems (AREA)
Abstract
提供一种通信装置及其控制方法和存储介质。所述通信装置经由第一传输路径或第二传输路径连接到时间源装置,所述通信装置通过使用所述第一传输路径或所述第二传输路径,根据精确时间协议进行与所述时间源装置的数据包通信;在用于所述数据包通信的传输路径是所述第一传输路径的情况下,通过使用所述第一传输路径的传输延迟值,将所述通信装置的时间与所述时间源装置的时间同步;在满足预定条件的情况下,切换所述传输路径;以及在将所述传输路径从所述第一传输路径切换到所述第二传输路径的情况下,通过使用与所述第一传输路径的所述传输延迟值不同的所述第二传输路径的传输延迟值,将所述传输装置的所述时间与所述时间源装置的所述时间同步。
Description
技术领域
本发明涉及时间同步控制技术。
背景技术
众所周知精确时间协议(PTP)是经由网络进行时间调整的通信协议。在电气电子工程师协会(IEEE)1588第2版(IEEE1588v2)中对PTP进行了定义。使用PTP使客户端装置(以下称为“通信装置”)能够实现与起时间源装置作用的时间分配服务器(以下称为“时间服务器”)的时间精确同步。
时间服务器和通信装置通过使用符合PTP的数据包(以下称为PTP数据包)进行时间同步处理。更具体而言,通信装置测量通信装置接收从时间服务器传输的PTP数据包的时间(以下称为接收时间戳)。通信装置还测量通信装置向时间服务器传输PTP数据包的时间(以下称为传输时间戳)。通信装置基于接收和传输时间戳所指示的时间信息和从时间服务器传输的PTP数据包中包括的时间信息,计算数据包传输和接收中的传输延迟(网络延迟时间)和相对于时间服务器的时间差。
然后,通信装置通过使用两个计算结果来进行与时间服务器的同步处理。对于同步处理,期望数据包传输和接收中的传输延迟在出站数据包路径(outbound packet path)与返回数据包路径(return packet path)之间相同。但是,在实际环境中,传输延迟在出站数据包路径与返回数据包路径之间可能不同。
日本专利申请特开No.2020-184710讨论了一种针对传输延迟在出站数据包路径与返回数据包路径之间存在差异的情况的时间同步技术。日本专利申请特开No.2020-184710中所讨论的通信控制装置计算出站数据包路径和返回数据包路径各自的传输延迟,并且在两个传输延迟相等时进行同步处理。以此方式,通信控制装置提高了传输延迟在出站数据包路径与返回数据包路径之间变化的系统中的时间同步精度。
为了提高系统的稳定性,通信装置可以包括两个网络接口(I/F),其中每个网络接口连接到不同的传输路径。这样使得即使网络I/F中的任一者或连接到该网络I/F的传输路径发生故障通信装置也能够通过使用另一网络I/F进行与时间服务器的同步处理。但是,如果连接到两个网络I/F的传输路径的长度彼此不同,则传输路径之间会出现传输延迟差。因此,如果包括两个网络I/F的通信装置切换要使用的网络I/F(即,要使用的传输路径),则在切换前后会出现传输延迟差。如上所述,通信装置通过使用PTP数据包来计算在进行与时间服务器的同步处理时的传输延迟。因此,传输路径切换前后的传输延迟差导致在与时间服务器的同步处理中的时间精度下降。
发明内容
本发明旨在即使在切换传输路径的情况下也能抑制同步处理中的时间精度下降。
根据本发明的一个方面,提供一种通信装置,所述通信装置经由第一传输路径和第二传输路径连接到时间源装置,所述通信装置包括:通信单元,所述通信单元被配置为,使用所述第一传输路径或所述第二传输路径,进行与所述时间源装置的数据包通信,所述数据包通信符合精确时间协议(PTP);第一时间同步单元,所述第一时间同步单元被配置为,在用于所述数据包通信的传输路径为所述第一路径的情况下,使用所述第一传输路径的传输延迟值,将所述通信装置的时间与所述时间源装置的时间同步;切换单元,所述切换单元被配置为,在满足预定条件的情况下,切换用于所述数据包通信的所述传输路径;以及第二时间同步单元,所述第二时间同步单元被配置为,在将用于所述数据包通信的所述传输路径从所述第一传输路径切换到所述第二传输路径的情况下,使用与所述第一传输路径的所述传输延迟值不同的所述第二传输路径的传输延迟值,将所述通信装置的所述时间与所述时间源装置的所述时间同步。
通过以下参照附图对示例性实施例的描述,本发明的其他特征将变得明显。
附图说明
图1A是图示根据示例性实施例的时间同步系统的配置示例的图。图1B是图示根据示例性实施例的精确时间协议(PTP)数据包通信时序的图。
图2是图示根据示例性实施例的通信装置的配置示例的框图。
图3是图示根据示例性实施例的传输路径选择处理的流程图。
图4是图示根据示例性实施例的PTP处理的流程图。
图5是图示根据示例性实施例用于计算统计传输延迟值的处理的流程图。
具体实施方式
下文中,将参照附图详细描述示例性实施例。以下示例性实施例并非旨在限制根据权利要求的发明。虽然在示例性实施例中描述了多个特征,但是并非所有特征对于本发明来说都是所必需的,并且可以适当地对这些特征进行组合。在附图中,相同或相似的组件用相同的附图标记表示,并且将省略其冗余描述。
<时间同步系统的配置>
图1A图示了根据本发明的示例性实施例的时间同步系统10的配置示例。时间同步系统10包括时间服务器100和通信装置(同步通信装置)200。在本示例性实施例中,将精确时间协议(PTP)用作时间同步的协议。时间同步系统10通过使用PTP数据包来进行同步处理。PTP数据包是用于进行符合PTP的时间同步处理的时间同步数据包。PTP数据包包括同步数据包(包括同步消息的数据包)、后续数据包(包括后续消息的数据包)、延迟请求数据包(包括延迟请求消息的数据包)和延迟响应数据包(包括延迟响应消息的数据包)。
时间服务器100起时间源装置的作用并且其中包括精确时钟。时间服务器100根据PTP通信时序传输PTP数据包。通信装置200基于接收到的PTP数据包与时间服务器100的时间同步。
在本示例性实施例中,通信装置200包括第一端口201和第二端口202,所述第一端口201和第二端口202是用于通信的两个网络接口(I/F)。通信装置200的第一端口201经由第一传输路径101连接到时间服务器100。通信装置200的第二端口202经由第二传输路径102连接到时间服务器100。在本示例性实施例中,第一传输路径101和第二传输路径102由线缆形成。另一选择是,第一传输路径101和第二传输路径102可以由诸如Industrial
等互连的组合形成。第一传输路径101和第二传输路径102并不局限于此并且可以是任何其他类型的传输介质。
接下来,将参照图1B描述符合PTP的时间同步时序。图1B图示了时间服务器100与通信装置200之间的PTP数据包通信时序。
在步骤S101中,时间服务器100传输同步数据包。在步骤S102中,在时间服务器100分两步操作同步处理的情况下,时间服务器100传输后续数据包。在步骤S103中,接收到同步数据包和后续数据包的通信装置200向时间服务器100传输延迟请求数据包。在步骤S104中,接收到延迟请求数据包的时间服务器100向通信装置200传输延迟响应包。
在图1B中,时间T1指示时间服务器100传输同步数据包的时间,而时间T2指示通信装置200接收到同步数据包的时间。
时间T3指示通信装置200传输延迟请求数据包的时间,而时间T4指示时间服务器100接收到延迟请求数据包的时间。时间T1存储在后续数据包中(在步骤S102中),而时间T4存储在延迟响应数据包中(在步骤S104中)。通信装置200可分别从接收到的后续数据包(在步骤S102中)和接收到的延迟响应数据包(在步骤S104中)中获取时间T1和时间T4。
通信装置200可通过传输和接收这一系列的PTP数据包来获取四个时间T1至T4。基于四个时间T1至T4,通信装置200可如公式(1)所示计算时间服务器100与通信装置200之间最近的传输延迟,即,即时传输延迟值(立即值):
即时传输延迟值=((T4-T1)-(T3-T2))/2(1)
基于四个时间T1至T4,通信装置200还可如公式(2)所示计算时间服务器100与通信装置200之间的时间差,即,通信装置200的时间校正量:
时间校正量(使用立即值)=(T2-T1)–即时传输延迟值
= ((T2 - T1) - (T4 - T3))/2 (2)
通过公式(2)算出的时间校正量是使用即时传输延迟值的时间校正量。
当假设公式(1)算出的即时传输延迟值具有小的时间变化时,可使用统计值(统计传输延迟值)代替即时传输延迟值。统计传输延迟值可以是基于多次数据包传输和接收算出的多个即时传输延迟值的平均值(在多个定时处算出的多个即时传输延迟值的平均值)。另一选择是,统计传输延迟值可以是通过从多个即时传输延迟值中排除奇异值(极值)而获得的滤值的平均值。通过使用统计传输延迟值,可减少由于暂态扰动影响所导致的同步精度下降。
通信装置200可通过使用统计传输延迟值,如公式(3)所示计算通信装置200的时间校正量:
时间校正量(使用统计值)=(T2-T1)–统计传输延迟值(3)
通过公式(2)或(3)算出的时间校正量是通信装置200相对于时间服务器100的偏移值(偏移量)。通信装置200调整通信装置200的时间,以将偏移值减小到零。因此,通信装置200可将通信装置200的时间与时间服务器100的时间同步。
<通信装置的配置>
接下来,将参照图2描述通信装置200的配置。图2图示了根据本示例性实施例的通信装置200的配置示例。
如上参照图1A所述,通信装置200包括连接到第一传输路径101的第一端口201和连接到第二传输路径102的第二端口202。通信装置200还包括中央处理单元(CPU)203、存储单元204、第一通信处理单元205、第二通信处理单元206、第一时间戳存储单元207、第二时间戳存储单元208和时间计数器209。CPU 203、存储单元204、第一通信处理单元205、第二通信处理单元206、第一时间戳存储单元207、第二时间戳所述存储单元208和时间计数器209通过系统总线210彼此连接。在本示例性实施例中,第一端口201、第二端口202、第一通信处理单元205和第二通信处理单元206起通信单元的作用。
存储单元204存储在通信装置200与外部装置(包括时间服务器100)之间传输和接收(通信)的数据包以及由CPU 203执行的程序(软件)。
时间计数器209具有与通信装置200的时间相关的功能。时间计数器209的计数器值(时间)被自动(实时)向上计数(更新)。向上计数通过使用在通信装置200中使用的时钟信号(未示出)来实现。时间计数器209还具有基于CPU 203的设置(请求)将计数器值设置为预定值的功能。此外,时间计数器209具有基于CPU 203的设置对计数器值的提前量(即,通过时钟信号将向上计数值提前多少)进行精细校正的功能。将时间计数器209的计数器值作为当前时间221提供给第一通信处理单元205或第二通信处理单元206。
第一通信处理单元205和第二通信处理单元206是进行通信处理的功能模块并且具有相似功能。第一通信处理单元205经由第一传输路径101通过第一端口201连接到时间服务器100。第二通信处理单元206经由第二传输路径102通过第二端口202连接到时间服务器100。通信装置200通过使用第一通信处理单元205或第二通信处理单元206与外部装置通信。以此方式,例如,即使在第一传输路径101和第二传输路径102之一中发生故障,通信装置200也可通过在第一通信处理单元205和第二通信处理单元206之间切换来继续通信。CPU203的传输路径选择单元211管理并控制是使用第一通信处理单元205还是第二通信处理单元206,即,是使用第一传输路径101还是使用第二传输路径102。
下面将描述第一通信处理单元205的功能。在本示例性实施例中,第一通信处理单元205进行用于在通信装置200与外部装置之间传输和接收符合的数据包的处理。当从通信装置200传输数据包时,第一通信处理单元205经由第一端口201传输存储在存储单元204中的数据包。当通信装置200从外部装置接收数据包时,第一通信处理单元205将经由第一端口201接收到的数据包存储到存储单元204中。
在传输或接收数据包时,第一通信处理单元205通过将第一中断通知222提供给CPU 203来断言(assert)第一中断信号。在接收到数据包时,第一通信处理单元205可以将数据包的标头信息通知给CPU 203。第一通信处理单元205还通过监控连接到第一端口201的第一传输路径101来检测第一端口201中的链路断开(link-down)或链路连接(link-up)。更具体而言,第一通信处理单元205确认与连接到第一传输路径101的对应设备的通信状态。在本示例性实施例中,对应设备为时间服务器100。第一通信处理单元205还在第一通信处理单元205检测到第一端口201中发生链路断开或链路连接时(即,在与连接到第一传输路径101的对应设备的通信状态中存在变化时)提供第一中断通知222。第一中断通知222可以包括指示第一传输路径101或第一端口201的状态的信息(例如,指示第一端口201中的链路断开或链路连接的信息)。如果第一通信处理单元205检测到第一端口201中发生链路断开或链路连接,则第一通信处理单元205可以将指示第一传输路径101或第一端口201的状态的信息(例如,指示第一端口201中的链路断开或链路连接的信息)存储到第一通信处理单元205的状态寄存器(未示出)中。
当前时间221从时间计数器209被提供给第一通信处理单元205。第一通信处理单元205检测(锁存)并存储传输或接收数据包的当前时间221,并且将当前时间221作为第一时间戳224输出到第一时间戳存储单元207。
第二通信处理单元206具有与第一通信处理单元205相似的功能,并且进行经由第二端口202的数据包传输和接收以及对第二传输路径102的监控。在传输或接收数据包时,第二通信处理单元206通过将第二中断通知223提供给CPU 203来断言第二中断信号。第二通信处理单元206还在第二通信处理单元206检测到第二端口202中发生链路断开或链路连接时(即,在与连接到第二传输路径102的对应设备的通信状态中存在变化时)提供第二中断通知223。第二中断通知223可以包括指示第二传输路径102或第二端口202的状态的信息(例如,指示第二端口202中的链路断开或链路连接的信息)。如果第二通信处理单元206检测到第二端口202中发生链路断开或链路连接,则第二通信处理单元206可以将指示第二传输路径102或第二端口202的状态的信息(例如,指示第二端口202中的链路断开或链路连接的信息)存储到第二通信处理单元206的状态寄存器(未示出)中。
第一时间戳存储单元207接收并存储从第一通信处理单元205输出的第一时间戳224(即,第一通信处理单元205传输或接收到数据包的当前时间221)。当CPU 203的PTP处理单元212访问第一时间戳存储单元207时,将第一时间戳224输出到PTP处理单元212。第一时间戳存储单元207例如可以包括诸如先进先出(FIFO)存储器的存储器。在第一通信处理单元205通过将传输时间戳和接收时间戳分开来输出第一时间戳224或者基于数据包类型来输出第一时间戳224的情况下,第一时间戳存储单元207可以包括多个FIFO存储器并且将第一时间戳224分类并存储到多个FIFO存储器中。
第二时间戳存储单元208具有与第一时间戳存储单元207相似的功能和配置。更具体而言,第二时间戳存储单元208接收并存储从第二通信处理单元206输出的第二时间戳225(即,第二通信处理单元206传输或接收到数据包的当前时间221)。当CPU 203的PTP处理单元212访问第二时间戳存储单元208时,将第二时间戳225输出到PTP处理单元212。第二时间戳存储单元208例如可以包括诸如FIFO存储器的存储器。
CPU 203是控制通信装置200的整个操作的功能块。在本示例性实施例中,CPU 203包括传输路径选择单元211和PTP处理单元212。传输路径选择单元211和PTP处理单元212对应于由CPU 203执行的功能模块并且可并行执行。
传输路径选择单元211在第一传输路径101和第二传输路径102之间选择用于与时间服务器100通信的传输路径。传输路径选择单元211识别连接到所选传输路径的端口(第一端口201或第二端口202),并且通知PTP处理单元212连接到所识别端口的通信处理单元(第一通信处理单元205或第二通信处理单元206)。下面将参照图3描述传输路径选择单元211的处理。
PTP处理单元212通过使用由传输路径选择单元211识别的通信处理单元(第一通信处理单元205或第二通信处理单元206)进行符合PTP的同步处理。PTP处理单元212获取来自接收到的PTP数据包的时间信息以及存储在第一时间戳存储单元207或第二时间戳存储单元208中的传输和接收时间戳。PTP处理单元212通过使用获取的时间信息计算时间校正量(偏移值),并且基于偏移值校正(调整)时间计数器209的计数器值。下面将参照图4描述PTP处理单元212的处理。
<传输路径选择处理>
接下来,将参照图3描述传输路径选择单元211的传输路径选择处理。
图3是图示根据本示例性实施例的传输路径选择处理的流程图。
在步骤S301中,传输路径选择单元211进行绑定功能设置。
绑定是用于在由于传输路径断开等导致出现通信故障状态时使传输路径自我恢复的网络冗余技术。绑定功能的操作模式之一是主备模式(active-backup mode)。主备模式是将多个物理网络I/F一起管理并且通过将一部分通信I/F设置为用于通信的活动状态且将其他通信I/F设置为备份状态来实现通信路径冗余的模式。在主备模式下,当处于活动状态的通信I/F具有通信故障时,将处于备份状态的通信I/F切换为活动状态并且用于通信。即使通信路径的一侧断开,主备模式也能通过在通信I/F的活动状态与备份状态之间即刻切换来继续通信。在本示例性实施例中,多个物理网络I/F对应于第一端口201和第二端口202。
在步骤S301中,作为初始设置,除非第一端口201由于例如形成与之连接的第一传输路径101的线缆断裂或拔出、对应设备断电等原因处于断开状态(通信故障状态),否则传输路径选择单元211将第一端口201作为主端口设置为活动状态。换言之,传输路径选择单元211选择第一传输路径101作为用于与时间服务器100通信的传输路径。如果在步骤S301阶段第一端口201和第二端口202中的一者处于断开状态而另一者处于可连接状态(通信启用状态),则传输路径选择单元211可以将处于可连接状态的端口设置为活动状态并且将处于断开状态的端口设置为备份状态。在步骤S301中,传输路径选择单元211可通过例如与第一通信处理单元205和第二通信处理单元206的通信,来检测第一端口201和第二端口202是否处于可连接状态。在下面的描述中,也分别将设置为活动状态的端口和设置为备份状态的端口称为活动端口和备份端口。传输路径选择单元211将如下的通信处理单元通知给PTP处理单元212,所述通信处理单元连接到被设置为活动端口的第一端口201或第二端口202。
设置绑定功能之后,在步骤S302中,传输路径选择单元211确定在活动端口中是否检测到链路断开。该确定将使用活动端口为第一端口201的情况为例来进行描述。当通过第一中断通知222的提供断言第一中断信号时,传输路径选择单元211可确认第一通信处理单元205的状态寄存器,以确定活动端口中是否发生了链路断开。另一选择是,当通过第一中断通知222的提供断言第一中断信号时,传输路径选择单元211可确认第一中断信号中包括的、指示第一传输路径101或第一端口201的状态的信息,来确定是否在活动端口中检测到链路断开。
在活动端口为第二端口202的情况下,类似描述可应用于第二中断通知223、第二通信处理单元206和第二传输路径102。
如果传输路径选择单元211确定在活动端口中未检测到链路断开(在步骤S302中为“否”)并且如果未发出结束指令(在步骤S303中为“否”),则处理返回到步骤S302。如果已发出结束指令(在步骤S303中为“是”),则传输路径选择单元211结束图3中所示的处理。步骤S303的处理并不局限于确定是否发出特定的结束指令,而是可以使用不同的结束触发器。
如果传输路径选择单元211确定在活动端口中检测到链路断开(在步骤S302中为“是”),则在步骤S304中,传输路径选择单元211确定备份端口是否正常(即,备份端口是否处于链路连接状态)。在备份端口为第二端口202的情况下,传输路径选择单元211可通过确认来自第二通信处理单元206的第二中断通知223的存在与否或者确认第二通信处理单元206的状态寄存器来进行该确定。
如果传输路径选择单元211确定备份端口正常(在步骤S304中为“是”),则在步骤S305中,传输路径选择单元211切换用于数据包通信的传输路径并且切换活动端口和备份端口。例如,在活动端口为第一端口201且备份端口为第二端口202的情况下,传输路径选择单元211控制第二端口202充当活动端口并且控制第一端口201充当备份端口。以此方式,如果满足预定条件(在步骤S302和S304中),则传输路径选择单元211切换用于数据包通信的传输路径并且切换活动端口和备份端口。
在步骤S307中,传输路径选择单元211将如下的通信处理单元通知给PTP处理单元212,所述通信处理单元连接到被设置为活动端口的第一端口201或第二端口202。
在步骤S308中,传输路径选择单元211请求PTP处理单元212删除PTP处理单元212管理的、用于传输延迟值计算的信息。
信息包括存储的即时传输延迟值的数量M、存储的即时传输延迟值以及存储的第一时间戳224和/或第二时间戳225(传输时间戳和/或接收时间戳)。下面将参照图4和图5描述用于传输延迟值计算的信息。在发出删除信息的请求之后,处理返回到步骤S302。
如果传输路径选择单元211确定活动端口和备份端口都异常,即,处于链路断开状态(在步骤S304中为“否”),则在步骤S306中,传输路径选择单元211检测到错误并且输出错误信息。例如,错误信息可经由安装在通信装置200上的应用输出到通信装置200的显示单元(未示出)。在输出错误信息之后,传输路径选择单元211结束图3所示的处理。
<PTP处理>
接下来,将参照图4描述PTP处理单元212的PTP处理。图4是图示根据本示例性实施例的PTP处理的流程图。为了简化描述,将以传输路径选择单元211将第一端口201指定为活动端口的情况为例进行描述。还将参照图1B中所示的PTP数据包通信时序来描述PTP处理。
在步骤S401中,PTP处理单元212确定第一通信处理单元205是否已接收到PTP数据包。PTP处理单元212可通过从第一通信处理单元205接收由第一中断通知222断言的第一中断信号,来确定第一通信处理单元205是否已接收到PTP数据包。如果PTP处理单元212确定第一通信处理单元205已接收到PTP数据包(在步骤S401中为“是”),则处理进入步骤S403,并且PTP处理单元212基于PTP数据包的类型进行处理(在步骤S404至S418中)。如果PTP处理单元212确定第一通信处理单元205没有接收到PTP数据包(在步骤S401中为“否”)并且如果没有发出结束指令(在步骤S402中为“否”),则处理返回到步骤S401。如果发出了结束指令(在步骤S402中为“是”),则PTP处理单元212结束图4中所示的处理。步骤S402的处理并不局限于确定是否发出特定的结束指令,而是可以使用不同的结束触发器。
在步骤S403中,PTP处理单元212确定接收到的PTP数据包的类型。确定可通过分析接收到的数据包的标头信息来进行。如果接收的PTP数据包是同步数据包,则处理进入步骤S404。如果接收到的PTP数据包是后续数据包,则处理进入步骤S405。如果接收到的PTP数据包是延迟响应数据包,则处理进入步骤S410。
如果接收到的PTP数据包是同步数据包,则在步骤S404中,PTP处理单元212获取并存储接收到同步数据包的时间T2。更具体而言,第一通信处理单元205将第一通信处理单元205接收到同步数据包的当前时间221作为第一时间戳224(接收时间戳)输出到第一时间戳存储单元207。第一时间戳存储单元207存储第一时间戳224。PTP处理单元212通过从第一时间戳存储单元207读取第一时间戳224来获取时间T2。
如果接收到的PTP数据包是后续数据包,则在步骤S405中,PTP处理单元212首先确定接收到同步数据包的时间T2是否已经被存储。PTP处理单元212可在步骤S404中获取并存储时间T2。如果时间T2没有被存储(在步骤S405中为“否”),则在步骤S409中,PTP处理单元212丢弃后续数据包。
如果时间T2已经被存储(在步骤S405中为“是”),则在步骤S406中,PTP处理单元212从后续数据包中读取时间服务器100传输同步数据包的时间T1并且存储时间T1。在步骤S407中,PTP处理单元212传输延迟请求数据包。更具体而言,PTP处理单元212控制第一通信处理单元205经由第一端口201传输存储在存储单元204中的延迟请求数据包。在步骤S408中,PTP处理单元212获取并存储传输延迟请求包的时间T3。更具体而言,第一通信处理单元205将第一通信处理单元205传输延迟请求数据包的当前时间221作为第一时间戳224(传输时间戳)输出到第一时间戳存储单元207。第一时间戳存储单元207存储第一时间戳224。PTP处理单元212通过从第一时间戳存储单元207读取第一时间戳224来获取时间T3。
如果接收到的PTP数据包是延迟响应数据包,则在步骤S410中,PTP处理单元212确定时间T1、T2和T3是否已经被存储。如果时间T1、T2和T3没有被存储(在步骤S410中为“否”),则在步骤S418中,PTP处理单元212丢弃延迟响应数据包。如果时间T1、T2和T3已经被存储(在步骤S410中为“是”),则在步骤S411中,PTP处理单元212从接收到的延迟响应数据包中读取时间服务器100接收到延迟请求数据包的时间T4并且存储时间T4。
在步骤S412中,PTP处理单元212通过使用时间T1、T2、T3和T4,计算由公式(1)表示的即时传输延迟值。在即时传输延迟值计算完成之后,在步骤S413中,PTP处理单元212计算统计传输延迟值。
现在将参照图5描述步骤S413中用于计算统计传输延迟值的处理。图5是图示用于计算统计传输延迟值的处理的流程图。
在步骤S501中,PTP处理单元212将统计传输延迟值设置为无效值。无效值并不局限于特定值并且可以是任意值,只要该值表示无效即可。在将统计传输延迟值设置为无效值之后,PTP处理单元212确认存储的即时传输延迟值的数量M。如果数量M为5(在步骤S502中为“是”),则处理进入步骤S503。如果数量M为4(在步骤S502中为“否”且在步骤S504中为“是”),则处理进入步骤S505。如果数量M小于4(在步骤S504中为“否”且在步骤S509中为“是”),则处理进入步骤S510。如果数量M不小于4(在步骤S504中为“否”且在步骤S509中为“否”),则处理进入步骤S512。
如果存储的即时传输延迟值的数量M为5(在步骤S502中为“是”),则在步骤S503中,PTP处理单元212删除在存储的五个即时传输延迟值中最早的即时传输延迟值。在删除最早的即时传输延迟值之后,在步骤S506中,PTP处理单元212存储在图4的步骤S412中算出的最新即时传输延迟值。此时,PTP处理单元212存储五个即时传输延迟值。在步骤S507中,PTP处理单元212计算存储的五个即时传输延迟值的平均值。当五个即时传输延迟值中包括奇异值(即极值)时,PTP处理单元212可以计算除奇异值之外(没有使用奇异值)的即时传输延迟值的平均值。在计算平均值之后,在步骤S508中,PTP处理单元212将统计传输延迟值作为有效值设置为算出的平均值。然后,PTP处理单元212结束图5中所示的处理。
如果存储的即时传输延迟值的数量M为4(在步骤S504中为“是”),则在步骤S505中,PTP处理单元212将存储的即时传输延迟值的数量M递增(向上计数)1,并且处理进入步骤S506。步骤S506至S508的处理如上所述。
如果存储的即时传输延迟值的数量M小于4(在步骤S509中为“是”),则在步骤S510中,PTP处理单元212将存储的即时传输延迟值的数量M递增(向上计数)1。在步骤S511中,PTP处理单元212存储在步骤S412中算出的最新即时传输延迟值。然后,PTP处理单元212结束图5中所示的处理。
如果存储的即时传输延迟值的数量M不小于4,即,如果数字M大于或等于6,则在步骤S512中,PTP处理单元212检测到错误并且输出错误信息。例如,可以经由安装在通信装置200上的应用将错误信息输出到通信装置200的显示单元(未示出)。在错误信息输出之后,PTP处理单元212结束图5中所示的处理。
返回到图4的描述,在步骤S414中,PTP处理单元212确定是否将统计传输延迟值设置为有效值。换言之,PTP处理单元212确定是否已在图5的流程图中进行了步骤S508的处理。如果统计传输延迟值被设置为有效值(在步骤S414中为“是”),则在步骤S415中,PTP处理单元212通过使用统计传输延迟值来计算偏移值。偏移值可通过步骤S415中的公式(3)来计算。如果统计传输延迟值未被设置为有效值(在步骤S414中为“否”),则在步骤S416中,PTP处理单元212通过使用即时传输延迟值来计算偏移值。换言之,如果统计传输延迟值未被设置为有效值,则PTP处理单元212在切换活动端口之后,通过使用在步骤S412中最初算出的即时传输延迟值来计算偏移值。偏移值可通过步骤S416中的公式(2)来计算。
在通过进行步骤S415或S416的处理计算偏移值之后,在步骤S417中,PTP处理单元212基于偏移值对时间计数器209进行校正处理。例如,如果偏移值大于预定值,则PTP处理单元212通过直接设置时间计数器209的计数器值来校正时间计数器209的计数器值。如果偏移值等于或小于预定值,则PTP处理单元212可以调整时间计数器209的计数器值的提前量。
虽然图4中没有示出,但是在从传输路径选择单元211接收到删除用于传输延迟值计算的信息的请求(在图3的步骤S308中)时,PTP处理单元212删除(清除)用于传输延迟值计算的信息。
以此方式,如图4中所示,PTP处理单元212进行传输延迟值(即时传输延迟值或统计传输延迟值)的计算并且对时间计数器209进行校正处理。如果活动端口被切换(在图3的步骤S305中),则PTP处理单元212响应于来自传输路径选择单元211的请求,删除(清除)用于传输延迟值计算的信息。因此,统计传输延迟值的有效值的设置情况发生变化,并且用来计算偏移值的传输延迟值发生变化(对应于步骤S415或S416)。
如上所述,根据本示例性实施例,如果需要切换用于PTP数据包通信的传输路径以与时间服务器100进行同步处理,则通信装置200通过使用切换后传输路径的传输延迟值来进行同步处理。在计算即时传输延迟值预定次数之后,将多个即时传输延迟值的平均值用作切换后传输路径的传输延迟值。在计算即时传输延迟值预定次数之前,将最近算出的即时传输延迟值用作切换后传输路径的传输延迟值。然后,使用切换后传输路径的传输延迟值计算偏移值,并且使用偏移值调整时间计数器209。以此方式,可在传输路径切换前后保持同步精度。
在上述示例性实施例中,如果统计传输延迟值未被设置为有效值(在图4的步骤S414中为“否”),则PTP处理单元212通过使用即时传输延迟值来计算偏移值(在步骤S416中)。在此统计传输延迟值未被设置为有效值的情况下,PTP处理单元212可以通过使用传输延迟值的默认值(预定值)代替使用即时传输延迟值来计算偏移值(在步骤S416中)。针对第一端口201和第二端口202中的每一者准备传输延迟值的默认值。
作为一个示例,PTP处理单元212可以使用过去在符合PTP的同步处理中使用的即时传输延迟值或统计传输延迟值作为传输延迟值的默认值。虽然传输延迟值取决于形成传输路径的线缆长度、空气温度等,但是也可以将过去实际在符合PTP的同步处理中使用的传输延迟值用作有效传输延迟值。
更具体而言,PTP处理单元212预先将在使用第一传输路径101的同步处理中算出的即时传输延迟值或统计传输延迟值存储为第一传输路径101的传输延迟值的默认值。类似地,PTP处理单元212预先将在使用第二传输路径102的同步处理中算出的即时传输延迟值或统计传输延迟值存储为第二传输路径102的传输延迟值的默认值。如果发生活动端口切换,则可以通过使用切换后连接到活动端口的传输路径的传输延迟值的默认值来计算偏移值(在步骤S416中)。
作为另一示例,PTP处理单元212可以使用在进行符合PTP的同步处理的同时确定的传输延迟值的默认值。例如,通过使用传输延迟值与传输路径长度成比例的特性,通信设备200预先获取关于第一传输路径101和第二传输路径102长度的数据。通信装置200可以获取使用测量工具手动测量的、关于第一传输路径101和第二传输路径102的长度的数据。另一选择是,通信装置200的CPU 203可以通过进行时域反射(TDR,Time Domain Reflection)测量,来获取第一传输路径101和第二传输路径102的长度。这里假设第一传输路径101的长度为L1,第二传输路径102的长度为L2,使用第一传输路径101开始时间同步处理,并且第一传输路径101的统计传输延迟值为T1。在这种情况下,可使用统计传输延迟值T1以及测量的第一传输路径101和第二传输路径102的长度L1和L2,通过公式(4)计算第二传输路径102的传输延迟值T2:
T2 = (L2 / L1)T1 (4)
换言之,第二传输路径102的传输延迟值T2是通过将统计传输延迟值T1乘以第二传输路径102的长度L2与第一传输路径101的长度L1的比值而得到的值。通信装置200可以将第二传输路径102的传输延迟值T2保存为使用第二传输路径102时要使用的传输延迟值的默认值,并且如果发生传输路径切换,则可以使用默认值来计算偏移值。
另外,在上述默认值与图4的步骤S412中算出的即时传输延迟值之间的差大于或等于预定值的情况下,PTP处理单元212可以避免使用差大于或等于预定值的即时传输延迟值来进行偏移值计算。例如,PTP处理单元212可以使用默认值代替差大于或等于预定值的即时传输延迟值。另一选择是,PTP处理单元212可以避免使用差大于或等于预定值的即时传输延迟值来进行统计传输延迟值计算(例如,避免将该即时传输延迟值包括在数量M个存储的即时传输延迟值中)。
其他实施例
本发明的实施例还可以通过如下的方法来实现,即,通过网络或者各种存储介质将执行上述实施例的功能的软件(程序)提供给系统或设备,该系统或设备的计算机或是中央处理单元(CPU)、微处理单元(MPU)读出并执行程序的方法。
虽然已经参照示例性实施例描述了本发明,但是应理解本发明并不局限于所公开的示例性实施例。应给予随附权利要求范围最宽泛的解释,以涵盖所有这些变型及等效结构和功能。
Claims (11)
1.一种通信装置,所述通信装置经由第一传输路径和第二传输路径连接到时间源装置,所述通信装置包括:
通信单元,所述通信单元被配置为,使用所述第一传输路径或所述第二传输路径,进行与所述时间源装置的数据包通信,所述数据包通信符合精确时间协议;
第一时间同步单元,所述第一时间同步单元被配置为,在用于所述数据包通信的传输路径为所述第一路径的情况下,使用所述第一传输路径的传输延迟值,将所述通信装置的时间与所述时间源装置的时间同步;
切换单元,所述切换单元被配置为,在满足预定条件的情况下,切换用于所述数据包通信的所述传输路径;以及
第二时间同步单元,所述第二时间同步单元被配置为,在将用于所述数据包通信的所述传输路径从所述第一传输路径切换到所述第二传输路径的情况下,使用与所述第一传输路径的所述传输延迟值不同的所述第二传输路径的传输延迟值,将所述通信装置的所述时间与所述时间源装置的所述时间同步。
2.根据权利要求1所述的通信装置,所述通信装置还包括第一计算单元,所述第一计算单元被配置为,使用通过使用所述第一传输路径的所述数据包通信获得的时间信息计算多个定时处的多个传输延迟值,并且计算算出的多个传输延迟值的平均值作为所述第一传输路径的所述传输延迟值。
3.根据权利要求1所述的通信装置,所述通信装置还包括第二计算单元,所述第二计算单元被配置为,使用通过使用所述第二传输路径的所述数据包通信获得的时间信息计算传输延迟值,
其中,所述第二时间同步单元在将用于所述数据包通信的所述传输路径从所述第一传输路径切换到所述第二传输路径之后,使用所述第二计算单元最初算出的所述传输延迟值作为所述第二传输路径的所述传输延迟值,将所述通信装置的所述时间与所述时间源装置的所述时间同步。
4.根据权利要求3所述的通信装置,
其中,所述第二计算单元在将用于所述数据包通信的所述传输路径从所述第一传输路径切换到所述第二传输路径之后,使用通过使用所述第二传输路径的所述数据包通信获得的所述时间信息,计算多个定时处的多个传输延迟值,并且
其中,所述第二时间同步单元在将用于所述数据包通信的所述传输路径从所述第一传输路径切换到所述第二传输路径的情况下,使用所述第二计算单元算出的所述多个传输延迟值的平均值作为所述第二传输路径的所述传输延迟值,将所述通信装置的所述时间与所述时间源装置的所述时间同步。
5.根据权利要求1所述的通信装置,所述通信装置还包括设置单元,所述设置单元被配置为,在将用于所述数据包通信的所述传输路径从所述第一传输路径切换到所述第二传输路径之前,将所述第二传输路径的所述传输延迟值设置为预定值,
其中,所述第二时间同步单元在将用于所述数据包通信的所述传输路径从所述第一传输路径切换到所述第二传输路径的情况下,使用所述预定值将所述通信装置的所述时间与所述时间源装置的所述时间同步。
6.根据权利要求5所述的通信装置,所述通信装置还包括第二计算单元,所述第二计算单元被配置为,使用通过使用所述第二传输路径的所述数据包通信获得的时间信息计算传输延迟值,
其中,所述设置单元在将用于所述数据包通信的所述传输路径从所述第一传输路径切换到所述第二传输路径之前,将所述第二计算单元算出的所述传输延迟值设置为所述预定值。
7.根据权利要求5所述的通信装置,其中,所述设置单元将通过将所述第一传输路径的所述传输延迟值乘以所述第二传输路径的长度与所述第一传输路径的长度的比值而获得的值设置为所述预定值。
8.根据权利要求7所述的通信装置,其中,所述设置单元通过进行时域反射测量来测量所述第一传输路径的所述长度和所述第二传输路径的所述长度。
9.根据权利要求1所述的通信装置,其中,所述切换单元在用于所述数据包通信的所述传输路径处于通信断开状态的情况下,切换用于所述数据包通信的所述传输路径。
10.一种用于通信装置的控制方法,所述通信装置经由第一传输路径和第二传输路径连接到时间源装置,所述控制方法包括:
使用所述第一传输路径或所述第二传输路径进行与所述时间源装置的数据包通信,所述数据包通信符合精确时间协议;
在用于所述数据包通信的传输路径是所述第一传输路径的情况下,使用所述第一传输路径的传输延迟值,将所述通信装置的时间与所述时间源装置的时间同步;
在满足预定条件的情况下,切换用于所述数据包通信的所述传输路径;以及
在将用于所述数据包通信的所述传输路径从所述第一传输路径切换到所述第二传输路径的情况下,使用与所述第一传输路径的所述传输延迟值不同的所述第二传输路径的传输延迟值,将所述通信装置的所述时间与所述时间源装置的所述时间同步。
11.一种非暂时性计算机可读存储介质,所述非暂时性计算机可读存储介质存储用于使经由第一传输路径和第二传输路径连接到时间源装置的通信装置执行控制方法的介质,所述控制方法包括:
使用所述第一传输路径或所述第二传输路径进行与所述时间源装置的数据包通信,所述数据包通信符合精确时间协议;
在用于所述数据包通信的传输路径是所述第一传输路径的情况下,使用所述第一传输路径的传输延迟值,将所述通信装置的时间与所述时间源装置的时间同步;
在满足预定条件的情况下,切换用于所述数据包通信的所述传输路径;以及
在将用于所述数据包通信的所述传输路径从所述第一传输路径切换到所述第二传输路径的情况下,使用与所述第一传输路径的所述传输延迟值不同的所述第二传输路径的传输延迟值,将所述通信装置的所述时间与所述时间源装置的所述时间同步。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2022-202953 | 2022-12-20 | ||
JP2022202953A JP2024088012A (ja) | 2022-12-20 | 2022-12-20 | 通信装置、通信装置の制御方法、およびプログラム |
Publications (1)
Publication Number | Publication Date |
---|---|
CN118233037A true CN118233037A (zh) | 2024-06-21 |
Family
ID=89224602
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202311741162.6A Pending CN118233037A (zh) | 2022-12-20 | 2023-12-15 | 通信装置及其控制方法和存储介质 |
Country Status (4)
Country | Link |
---|---|
US (1) | US20240204900A1 (zh) |
EP (1) | EP4391425A1 (zh) |
JP (1) | JP2024088012A (zh) |
CN (1) | CN118233037A (zh) |
Family Cites Families (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103067113B (zh) * | 2012-12-24 | 2015-08-12 | 中兴通讯股份有限公司 | 基于聚合链路实现ptp时间同步的方法及装置 |
US9893874B2 (en) * | 2013-07-18 | 2018-02-13 | International Business Machines Corporation | Fabric multipathing based on dynamic latency-based calculations |
CN104702533B (zh) * | 2013-12-09 | 2018-01-26 | 中国联合网络通信集团有限公司 | 一种链路时延补偿方法及装置 |
JP7116706B2 (ja) | 2019-05-09 | 2022-08-10 | 株式会社日立製作所 | 通信制御装置および通信制御方法 |
-
2022
- 2022-12-20 JP JP2022202953A patent/JP2024088012A/ja active Pending
-
2023
- 2023-12-15 CN CN202311741162.6A patent/CN118233037A/zh active Pending
- 2023-12-18 US US18/543,300 patent/US20240204900A1/en active Pending
- 2023-12-19 EP EP23218147.9A patent/EP4391425A1/en active Pending
Also Published As
Publication number | Publication date |
---|---|
JP2024088012A (ja) | 2024-07-02 |
EP4391425A1 (en) | 2024-06-26 |
US20240204900A1 (en) | 2024-06-20 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN101578806B (zh) | 通信装置、同步通信系统及同步通信方法 | |
CA3131162A1 (en) | Method of remotely monitoring the timing performance of a ptp slave | |
US11316605B2 (en) | Method, device, and computer program for improving synchronization of clocks in devices linked according to a daisy-chain topology | |
JP2006262461A (ja) | 複数の時間同期ドメインの応用 | |
US8861668B2 (en) | Transmission device, transmission method and computer program | |
US9641269B2 (en) | Apparatus and method for synchronizing clocks among communication devices | |
CN108599888A (zh) | 一种分布式网络时钟同步系统 | |
US11456849B2 (en) | Method and apparatus for synchronizing different communication ports | |
JP6351889B1 (ja) | 通信システム及びスレーブ装置 | |
CN114586297B (zh) | 一种同步方法及设备 | |
JP2014236443A (ja) | 通信装置、通信システムおよび通信方法 | |
US12204291B2 (en) | Time transmission correction device, time transmission system, and delay measurement method | |
JP4827866B2 (ja) | パケット監視装置 | |
US20130132554A1 (en) | Method and device for processing data on a connection between two nodes of a communication network | |
CN114258126A (zh) | 数据处理方法及其装置 | |
CN118233037A (zh) | 通信装置及其控制方法和存储介质 | |
EP3812716B1 (en) | Dynamic weighing device | |
JP7506784B1 (ja) | 時刻配信装置、同期システム、及びプログラム | |
JP7451721B2 (ja) | クロックポート属性回復方法、デバイス、およびシステム | |
JP6627958B1 (ja) | 通信システム | |
WO2017150306A1 (ja) | 通信システム、予備通信装置、現用通信装置、時刻同期方法、及び非一時的なコンピュータ可読媒体 | |
JP2019110410A (ja) | ネットワーク機器 | |
WO2023233588A1 (ja) | 時刻同期装置、時刻同期方法及び時刻同期プログラム | |
CN116614196A (zh) | 一种时钟校准方法、装置、设备及存储介质 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination |