CN114079557B - 网络装置 - Google Patents
网络装置 Download PDFInfo
- Publication number
- CN114079557B CN114079557B CN202010835449.5A CN202010835449A CN114079557B CN 114079557 B CN114079557 B CN 114079557B CN 202010835449 A CN202010835449 A CN 202010835449A CN 114079557 B CN114079557 B CN 114079557B
- Authority
- CN
- China
- Prior art keywords
- time
- req
- packet
- remainder
- processor
- 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
- 238000004891 communication Methods 0.000 claims abstract description 48
- 238000012937 correction Methods 0.000 claims abstract description 47
- 230000001360 synchronised effect Effects 0.000 claims abstract description 19
- 230000003111 delayed effect Effects 0.000 claims description 33
- 230000008878 coupling Effects 0.000 claims 2
- 238000010168 coupling process Methods 0.000 claims 2
- 238000005859 coupling reaction Methods 0.000 claims 2
- 238000004519 manufacturing process Methods 0.000 abstract description 2
- 230000005540 biological transmission Effects 0.000 description 16
- 238000000034 method Methods 0.000 description 10
- 238000010586 diagram Methods 0.000 description 3
- 238000012545 processing Methods 0.000 description 3
- 230000000295 complement effect Effects 0.000 description 1
- 238000010276 construction Methods 0.000 description 1
- 230000003247 decreasing effect Effects 0.000 description 1
- 238000012546 transfer Methods 0.000 description 1
Classifications
-
- 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
- H04L7/0033—Correction by delay
- H04L7/0037—Delay of clock signal
-
- 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
-
- 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
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Synchronisation In Digital Transmission Systems (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
一种网络装置经配置发送一同步封包至一从属装置,同步封包至少包括一时间戳记栏位及一校正栏位。网络装置包括计数电路、通讯晶片及处理器。计数电路用以提供一日历时间TOD。通讯晶片包括第一端口、第二端口及具有位元数N的时间戳电路。处理器耦接于通讯晶片的第一端口。处理器经配置以:根据日历时间TOD及位元数N取得一余数R;以及根据日历时间TOD及余数R填入同步封包。如此一来,即使网络装置的硬件位元数有限,本案仍可计算出完整的日历时间,大幅降低通讯晶片的制造成本。
Description
技术领域
本案是有关于一种网络通讯装置,且特别是有关于一种提供时间同步的网络装置。
背景技术
网络时间协定(Network Time Protocol,NTP)是运用在网络装置之间的时间同步标准协定。随着电子元件的精密度提升,也发展出更高精确度的时间同步标准,IEEE 1588的精确时间协定(Precision Time Protocol,PTP)因应而生。举例而言,在布署许多网络装置的环境中,做为主要装置(Master device)的网络交换器可以提供时钟信息,透过在封包中携带时钟信息来提供给做为从属装置(Slave device)的网络装置,使得从属装置可以使用该时钟信息来校正本地时钟,达到与主要装置的时钟同步。
一般来说,网络装置搭载的网络晶片内建有计数器,而计数器的位元数则影响计数值的数值范围。举例而言,若计数器为32个位元数,则表示计数器在计数4294967296(即232)次之后,会因为溢位(overflow)而从0开始重新计数。换言之,在精度为1纳秒(nanosecond,ns)的时候,计数器只能提供0秒~4.294967295秒此区间内的计数值范围。由于超过此区间后计数器会重新计数,因此该数值范围并无法提供充足的日历时间TOD(TimeofDay)。
另一方面,目前的网络装置,例如网络交换器,是透过诸如媒体存取控制晶片(Media Access Control Chip,MAC Chip)之类的网络晶片来负责封包的接收及传送,因此需仰赖媒体存取控制晶片内的时间戳章计数器(timestamp counter)提供的数值,来记录接收及传送封包的时间。由于媒体存取控制晶片的时间戳章计数器的位元数有限,无法提供充足的日历时间,使得在基于精确时间协定下,搭载这样媒体存取控制晶片的网络交换器并无法作为主要装置(Master device)。
除此之外,网络交换器若欲做为主要装置并执行一步骤同步模式(1-StepSynchronization),则网络交换器中搭载的实体层电路必须具备将发送时间填入封包中的能力,因此实体层电路将有较高的规格要求,而使得网络交换器的成本提高。
依照IEEE1588协定,一步骤同步模式是指主要装置只透过同步封包传送时间T1给从属装置,无需再发出跟随封包(Follow-up),请参照图1,其绘示主要装置100与从属装置200操作于一步骤同步模式的示意图。主要装置100只需传送具备时间T1信息的同步封包(sync)至从属装置200,而此时间T1为主要装置100传送同步讯息的传送时间。从属装置200于时间T2收到此同步讯息后,于时间T3传送延迟请求封包(Delay Request)至主要装置100。主要装置100于时间T4时收到此延迟请求封包。回应此延迟请求封包,主要装置100会再次发送具备时间(T4)信息的延迟回应封包(Delay response)至从属装置200。透过这4个时间信息,从属装置200可以计算延迟时间,并使用此时间信息来更新本地时钟。一步骤同步模式可以提升时间更新效率,然而,需要特定硬件规格才能实现。
据此,有必要对于如何在不增加晶片成本下让网络交换器具有提供一步骤同步模式的能力。
发明内容
发明内容旨在提供本揭示内容的简化摘要,以使阅读者对本案内容具备基本的理解。此发明内容并非本揭示内容的完整概述,且其用意并非在指出本案实施例的重要/关键元件或界定本案的范围。以下将说明本案的网络装置及同步方法可使主要装置不需额外的硬件成本,即可达成对从属装置之间的一步骤同步。
根据本案的一实施例,揭示一种网络装置经配置以发送一同步封包至一从属装置,其中该同步封包至少包括一时间戳记栏位及一校正栏位。网络装置包括计数电路、通讯晶片及处理器。计数电路用以提供一日历时间TOD。通讯晶片包括一第一端口以及一第二端口以及具有一位元数N的一时间戳电路。处理器耦接于该通讯晶片的该第一端口。其中处理器经配置以:根据该日历时间TOD及该位元数N取得一余数R;以及根据该日历时间TOD及该余数R填入该同步封包。
根据一实施例,其中该处理器对该日历时间TOD与该位元数N进行MOD函数运算以取得该余数R。
根据一实施例,其中该处理器对该日历时间TOD与该位元数N进行相除运算以取得该余数R及一商数Q。
根据一实施例,其中还包括该第一端口是设定为一般模式;该第二端口是设定为透通模式;其中,该处理器将该日历时间TOD填入该时间戳记栏位以及将该余数R的补数-R填入该校正栏位。
根据一实施例,其中还包括该第一端口是设定为一般模式;该第二端口是设定为透通模式;其中,该处理器将该日历时间TOD与该第一余数R1相减后的结果填入该时间戳记栏位以及将该校正栏位填入0值或空值。
根据一实施例,其中还包括:该通讯晶片于接收一延迟请求封包时,记录一延迟请求封包输入时间TiREQ;该计数电路提供一延迟请求封包接收日历时间TODREQ;以及该处理器经配置以:依据该延迟请求封包接收日历时间TODREQ与该位元数N以取得一对应的商数QREQ以及一对应的余数RREQ;以及依据该对应的商数QREQ、该位元数N以及该延迟请求封包输入时间TiREQ以产生一延迟回应封包。
根据一实施例,其中该处理器依该延迟请求封包输入时间TiREQ小于该对应的余数RREQ时,将该对应的商数QREQ加1。
根据另一实施例,揭示一种网络装置经配置以发送一同步封包至一从属装置,该网络装置于一第一同步封包的周期中取得一第一日历时间TOD1、一第一余数R1以及一第一晶片接收时间Ti1。其中该同步封包至少包括一时间戳记栏位及一校正栏位。网络装置包括计数电路、通讯晶片及处理器。通讯晶片包括一第一端口、一第二端口以及具有一位元数N的一时间戳电路。其中该第一端口与该第二端口是设定为透通模式,且对应接收该第一同步封包时取得该第一晶片接收时间Ti1及对应接收该第二同步封包时取得一第二晶片接收时间Ti2。处理器耦接于该通讯晶片的该第一端口。其中处理器经配置以根据该第二日历时间TOD2、该第一余数R1以及该第一晶片接收时间Ti1以填入该第二同步封包。
根据一实施例,其中该处理器更经配置以:根据该第二日历时间TOD2及该位元数N取得一第二余数R2;以及将该第二余数R2填入该第二同步封包。
根据一实施例,其中该处理器对该第二日历时间TOD2与该位元数N进行MOD函数运算以取得该第二余数R2。
根据一实施例,其中该处理器对该第二日历时间TOD2与该位元数N进行相除运算以取得该第二余数R2。
根据一实施例,其中该处理器以该第二日历时间TOD2、该第二余数R2以及该第一晶片接收时间Ti1减去该第一余数R1的差值进行加总后的结果填入该第二同步封包的该时间戳记栏位,并且将该第二余数R2的一补数-R2填入该第二同步封包的该校正栏位。
根据一实施例,其中该处理器将该第二日历时间TOD2与该第一晶片接收时间Ti1减掉该第一余数R1的差值进行加总后的结果填入该第二同步封包的该时间戳记栏位,并且将该第二同步封包的该校正栏位填入0值或空值。
根据一实施例,其中更包括:该通讯晶片于接收一延迟请求封包时,记录一延迟请求封包输入时间TiREQ;该计数电路提供一延迟请求封包接收日历时间TODREQ;以及该处理器配置以:依据该延迟请求封包接收日历时间TODREQ与该位元数N取得一对应的商数QREQ以及一对应的余数RREQ;以及依据该对应的商数QREQ、该位元数N以及该延迟请求封包输入时间TiREQ以产生一延迟回应封包。
根据一实施例,其中该处理器依该延迟请求封包输入时间TiREQ小于该对应的余数RREQ时,将该对应的商数QREQ加1。
附图说明
以下详细描述结合随附附图阅读时,将有利于较佳地理解本揭示文件的态样。应注意,根据说明上实务的需求,附图中各特征并不一定按比例绘制。实际上,出于论述清晰的目的,可能任意增加或减小各特征的尺寸。
图1绘示主要装置与从属装置操作于一步骤同步的示意图。
图2绘示根据本案一些实施例中的一种网络装置的功能方块示意图。
图3绘示根据本案一些实施例中的一种操作于主从架构的同步方法的流程图。
图4绘示根据本案一些实施例中的一种操作于主从架构的同步方法的流程图。
图5绘示根据本案一些实施例中的一种操作于主从架构的同步方法的流程图。
【符号说明】
100,300:主要装置
200,400:从属装置
310:计数电路
311:暂存器
313:计数器
320:处理器
330:通讯晶片
331:时间戳电路
333:网络处理电路
335:端口
337:端口
500:系统时间对准信号
S310~S330,S405~S425:步骤
S505~S530:步骤
具体实施方式
以下揭示内容提供许多不同实施例,以便揭示实施本案的不同特征。当然,该些实例仅为示例性且并不欲为限制性。举例而言,本案中使用“第一”、“第二”等用语描述元件,仅是用以区别以相同或相似的元件或操作,该用语并非用以限定本案的技术元件,亦非用以限定操作的次序或顺位。另外,本案可在各实例中重复元件符号及/或字母,并且相同的技术用语可使用相同及/或不同的元件符号于各实施例。此重复是出于简明性及清晰的目的,且本身并不指示所论述的各实施例及/或配置之间的关系。
于本案中,以下所述的网络通讯装置包括第二层装置(例如交换器)、第三层装置(例如路由器),以及第二层装置与第三层装置的混和型网络装置等。本案的装置与方法并不限于是特定哪一些厂牌或者开放式系统互联模型(open systeminterconnectionmodel,OSI)的哪一个特定堆叠。所有支援OSI模型底层(例如第一层至第四层)的堆叠功能的网络装置以及支援这些堆叠功能的程序码及其虚拟机器,均属本案的范畴。为便于表达,以下使用网络装置此一技术用语来说明。
请参照图2,其绘示本发明实施例主要装置300的硬件方块示意图。于本实施例中,主要装置300会接收系统时间对准信号(system time alignment signal)500,来校准计数电路310的日历时间TOD(Time of Day,TOD)。主要装置300根据日历时间TOD传送携带时间信息的同步封包,从属装置400可依该同步封包中的时间信息更新其本身的时钟,借以达成与主要装置300之间的时钟同步。
如图2所示,主要装置300包括计数电路310、处理器320以及通讯晶片330。计数电路310耦接于处理器320以及通讯晶片330。计数电路310配置以提供日历时间TOD。另外,计数电路310依据时间提供装置(未绘示)提供的日历时间及每秒脉冲信号(1Pulse PerSecond,1PPS),将自身的时间计数值与计数频率与标准时间同步。其中,时间提供装置例如是全球卫星定位系统或可提供标准日历时间及脉冲的装置。其中,标准时间例如是世界协调时间(Coordinated Universal Time,简称UTC)。
于本实施例中,计数电路310更包括暂存器311以及计数器313。暂存器311用以暂存由时间提供装置提供的信号。计数器313用以计数及提供日历时间,且依暂存于暂存器311中的信号来校正日历时间与计数频率。于本实施例中,计数器313是80位元长度的计数器,可提供0~280-1的计数值,据以提供日历时间TOD。于本实施例中,计数电路310可以是场域可程序化逻辑门阵列(Field Programmable Gate Array,FPGA)来实现。
通讯晶片330包括时间戳电路331、网络处理电路333、端口335以及端口337。时间戳电路331用以提供计数值。于本实施例中,时间戳电路331是一N位元数的计数器,可于0~2N-1之间循环计数,于本实施例中,N为32,因此时间戳电路331可由0计数至4294967295后溢位,重新由0开始计数。也就是说,计数值单位为1纳秒(Nano second,ns)时,时间戳电路331将于0~4.294967295秒之间循环计数。需特别说明的是,时间戳电路331的位元数愈多,能提供的时间信息愈充足,但其电路所需的成本愈高。
于一些实施例中,端口335、337是用以接收、传送封包的接口。网络处理电路333配置以将封包转发至指定的端口,并依据接收、传送的端口为透通模式或一般模式,决定是否对封包的特定栏位进行接收与传送时间的计算。于本实施例中,端口被设定为透通模式时,于该端口所接收的封包,其封包中特定栏位值将减除该封包的接收时间;或者,于该端口传送的封包,其封包中特定栏位值将与传送时间相加。于本实施例中,封包的特定栏位为校正栏位(Correction Field)。
于一些实施例中,通讯晶片330可以是媒体存取控制(MAC)晶片或Layer2/Layer3网络晶片。
依据IEEE 1588精确时间协定,于一步骤同步模式中,主要装置300传送给从属装置400的同步封包中携带同步封包的传送时间T1。从属装置400于时间T2收到此同步封包,并透过解析此同步封包取得该同步封包的传送时间T1。接着,从属装置400于时间T3传送延迟请求封包。主要装置300于接收此延迟请求封包时记录接收时间T4,再透过延迟回应封包将此时间T4发送给从属装置400。如此一来,从属装置400可使用时间T1~T4来计算并补偿时间误差,完成时间同步。
一般来说,主要装置若欲以一步骤同步模式进行同步,实体层硬件需能够于传送同步封包的同时将传送时间T1填入同步封包的时间戳记栏位(Timestamp)。如此一来,做为主要装置的网络装置欲具备实施一步骤同步模式的能力时,不论是实体层电路或内建实体层电路的媒体存取控制晶片皆需具备较高的硬件规格,如此将提高网络装置的建置成本。
以下实施例将说明本案实施例的网络装置在其做为主要装置时,在搭载有限位元数的时间戳电路331的通讯晶片下如何产生及发送同步封包,以执行一步骤同步模式,提供时间T1及时间T4供从属装置同步。于本实施例中,有限位元位数是指其位元数并不足以提供充足日历时间信息的位元数。于此补充说明,于实施上,计数电路310计数的日历时间TOD与时间戳电路331的计数值是时常地进行同步,以维持计数频率的相同,而于本实施例中,对日历时间TOD与时间戳电路331的位元数N运算得到的余数值是相等于时间戳电路331的计数值,意即余数值可以等同处理器320取得日历时间TOD当下,时间戳电路331当时的计数值。
请参照图3,其绘示根据本发明实施例的同步封包的产生及发送流程图。以下说明请一并参照图2及图3,以说明本发明实施例的主要装置300产生并传送同步封包(syncpacket)的流程。此外,需特别说明的是,于本实施例中,主要装置300的端口335需设定为透通模式,而端口337则需设定为一般模式。
于步骤S310,处理器320读取计数电路310中的日历时间TOD。于本步骤中,处理器320欲产生同步封包时,会先读取计数电路310的计数值,以取得日历时间TOD。
于步骤S315,处理器320将日历时间TOD与时间戳电路331的位元数N进行运算以取得余数R。
于本步骤中,根据时间戳电路331的位元数N,处理器310将日历时间TOD与位元数N进行运算后得到余数R。举例来说,处理器310将日历时间TOD与位元数N进行MOD函数运算即可得到余数R。于另一实施例中,处理器310是将日历时间TOD除以位元数N后得到商数Q及余数R。需提醒的是,取得余数R的方式,只要使日历时间TOD满足以下公式(1)即可:
TOD=Q×2N+R……公式(1)
其中TOD是日历时间,N是时间戳电路331的位元数,Q是商数,R是余数。于本实施例中,N是32位元。
于步骤S320,处理器320依据日历时间TOD及余数R产生一同步封包。于本步骤中,处理器320产生的同步封包包括时间戳记栏位(Timestamp Field,TS)以及校正栏位(Correction Field,CF),并且,处理器320将日历时间TOD填入时间戳记栏位,以及将余数R的补数-R填入校正栏位。为利了解,请参考如下表1所示的同步封包栏位及其对应值。
表1:封包中的栏位对应
时间戳记TS | 校正栏位CF |
Q×2N+R | -R |
于另一实施例中,处理器320将日历时间TOD减掉余数R的结果值填入时间戳记栏位,以及将校正栏位CF填入0值或空值。为利了解,请参考如下表1-1所示的同步封包栏位及其对应值。
表1-1:封包中的栏位对应
于步骤S330,通讯晶片330于接收同步封包时,不修改校正栏位CF的值,并于传送封包时,依据传送同步封包的一传送时间Te修改同步封包的校正栏位。于步骤S330中,通讯晶片330透过端口337接收由处理器320传来的同步封包,且对应端口337被设为一般模式,通讯晶片330不调整同步封包的校正栏位CF的值。接着,于通讯晶片330欲由端口335传送该同步封包时,对应端口335被设为透通模式,先由时间戳电路331的计数值取得传送时间Te值,据此修改校正栏位的数值后,再由端口335传送该同步封包。于本实施例中,当欲由端口335传送同步封包时,先读取时间戳记电路331当时的计数值以取得传送时间Te。通讯晶片330再将校正栏位CF的数值与传送时间Te相加,并将相加的结果值取代校正栏位CF的数值后,将同步封包由端口335传送。校正栏位CF的数值可参考如公式(2)所示。
CF=-R+Te……公式(2)
于另一实施例中,校正栏位CF值为0或空值,与传送时间Te相加的结果可参考如公式(2-1)所示
CF=Te……公式(2-1)
透过上述步骤,主要装置300可以一步骤同步模式将同步封包传送至从属装置400。依据IEEE1588协定,从属装置400可将时间戳记栏位与校正栏位的数值加总以得到时间T1。根据本实施例,从属装置400收到的同步封包的时间信息如表2所示。
表2:封包中的栏位对应
时间戳记TS | 校正栏位CF |
Q×2N+R | -R+Te |
因此,当从属装置400于时间T2接收此同步封包时,经由分析同步封包的时间戳记栏位TS与校正栏位CF所获得的值进行计算后即可得到同步封包传送时间T1=Q×2N+R+(-R)+Te,意即T1=Q×2N+Te
根据另一实施例,从属装置400收到的同步封包的时间信息如表2-1所示。
表2-1:封包中的栏位对应
因此,T1=Q×2N+Te,上述二个实施例皆可得到相同的时间T1。
接着,依据IEEE1588协定,主要装置300将接收由从属装置400传送的延迟请求封包,并依据该封包的接收时间,将该接收时间透过延迟回应封包传送给从属装置400。请参照图4,其绘示本实施例的主要装置300产生及发送延迟回应封包的流程。以下说明请一并参照图2及图4。
于步骤S405,通讯晶片330透过端口335接收从属装置400的延迟请求封包,并记录一延迟请求封包输入时间TiREQ。于本步骤中,端口335接收延迟请求封包时,通讯晶片330将会读取时间戳电路331的计数值,以取得延迟请求封包输入时间TiREQ。
于步骤S410,处理器320依据计数电路310的计数值取得商数及余数,以计算延迟请求封包的接收时间T4。
于本步骤中,对应端口335收到延迟请求封包,处理器320读取计数电路310的计数值以取得延迟请求封包接收日历时间TODREQ,并将该延迟请求封包接收日历时间TODREQ除以时间戳电路331的位元数N以得到商数QREQ及余数RREQ。接着,处理器320以商数值QREQ及位元数N相乘后的乘积值以及延迟请求封包输入时间TiREQ二者的加总值取得接收时间T4,为利了解,接收时间T4的计算可以如下公式(3)表示:
T4=QREQ×2N+TiREQ……公式(3)
处理器320依公式(3)计算出接收时间T4。
于其他实施例中,步骤S410还进一步判断是否对商数值QREQ加1。具体来说,处理器320会比对延迟请求封包输入时间TiREQ和余数RREQ。若处理器320判断延迟请求封包输入时间TiREQ等于或大于余数RREQ,代表通讯晶片330收到延迟请求封包的时间点到处理器320取得日历时间TODREQ的过程中,计数电路310的计数器313没有发生溢位;反之,代表于该过程中,计数电路310的计数器313已发生过一次溢位,在这样的情况下,处理器320必需先将商数QREQ加1,因此,接收时间T4可以如下公式(4)表示。
T4=(QREQ+1)×2N+TiREQ……公式(4)
于步骤S415,处理器320产生一延迟回应封包。于一些实施例中,延迟回应封包的时间信息包括时间戳记TS以及校正栏位CF。
于步骤S420,处理器320根据接收时间T4来修改延迟回应封包的时间戳记栏位TS。
于一些实施例中,处理器320是依公式(3)计算的时间T4写入回应封包的时间戳记TS。
于步骤S425,通讯晶片330透过端口335传送延迟回应封包至从属装置400。
于上述步骤之后,从属装置400可于收到延迟回应封包后,经过解析延迟回应封包的时间戳记栏位以得到接收时间T4。
上述步骤是说明本发明实施例的主要装置如何产生及传送同步封包及延迟回应封包。
接着,请参照图5,其绘示根据本发明第二实施例的主要装置产生及发送同步封包的流程图。以下说明请一并参照图2及图5以说明本案第二实施例中主要装置300产生及发送同步封包的流程。
于本实施例中,端口335和端口337都被设为透通模式。另补充说明的是,以下实施例所使用的参数或名词,是透过冠以第一、第二来代表在不同的同步封包产生周期中所产生或取得,例如第一日历时间TOD1与第二日历时间TOD2是代表在不同的同步封包产生周期中所取得的日历时间;第一余数R1与第二余数R2是为在不同的同步封包产生周期所取得的余数,并且,第一日历时间TOD1与第一余数R1是指在相同的封包产生周期所取得的数值。
于步骤S505,处理器320将第一日历时间TOD1与时间戳电路331的位元数N进行运算以取得第一余数R1。本步骤与前一实施例的步骤S310~S315相同,于此不再赘述。
于步骤S510,处理器320取得一第一晶片接收时间Ti1。于本步骤中,对应端口337是透通模式,于本实施例中,端口337收到来自处理器320的第一同步封包时,通讯晶片330会读取时间戳电路331中的计数值,以取得该第一晶片接收时间Ti1。于另一实施例中,处理器320于送出第一同步封包时,透过计数电路310的计数值来获得该第一晶片接收时间Ti1。
于步骤S515,当欲产生第二同步封包时,处理器320读取计数电路310中的第二日历时间TOD2。本步骤与步骤S310相同,于此不再赘述。
于步骤S520,处理器320将第二日历时间TOD2与时间戳电路331的位元数N进行运算以取得第二余数R2。本步骤与步骤S315相同,于此不再赘述。
于步骤S525,处理器320根据第一余数R1、第一晶片接收时间Ti1及第二余数R2产生第二同步封包。于本步骤中,处理器320产生具有时间戳记栏位及校正栏位的第二同步封包。接着,处理器320将第一晶片接收时间Ti1与第一余数R1相减的差值与第二余数R2进行加总后,再与第二日历时间TOD2进行加总计算,亦即满足如下公式(5):
TOD2=Q2×2N+R2+R2+(Ti1-R1)……公式(5)
将满足公式(5)的数值填入时间戳记栏位TS。而校正栏位CF则填入第二余数R2的补数,即-R2,完成后各栏位值可参考表3所示。
表3:封包中的栏位对应
时间戳记TS | 校正栏位CF |
Q2×2N+R2+R2+(Ti1-R1) | -R2 |
因此,于本步骤中,时间戳记TS的值是将第二日历时间TOD2加上R2+(Ti1-R1)的数值。
于另一实施例中,处理器320将第一晶片接收时间Ti1与第一余数R1相减的差值与与第二日历时间TOD2进行加总计算,亦即满足如下公式(5-1):
TOD2=Q2×2N+R2+(Ti1-R1)……公式(5-1)
将满足公式(5-1)的数值填入时间戳记栏位TS,而校正栏位CF则填入0或空值,完成后封包各栏位值可参考表3-1所示。
表3-1:封包中的栏位对应
时间戳记TS | 校正栏位CF |
Q2×2N+R2+(Ti1-R1) | 0 |
于步骤S530,通讯晶片330于接收第二同步封包时,根据第二晶片接收时间Ti2修改第二同步封包的校正栏位CF,并于之后传送第二同步封包时,依据第二晶片传送时间Te2修改第二同步封包的校正栏位CF后,将第二同步封包传送出去。于本步骤中,通讯晶片330透过端口337接收由处理器320传来的第二同步封包,且对应端口337被设为透通模式,通讯晶片330会于接收第二同步封包时读取时间戳电路331的计数值而获得第二晶片接收时间Ti2,并且将校正栏位CF的值减去该第二晶片接收时间Ti2。此时,第二同步封包的相关栏位对应的值将如表4所示。
表4:封包中的栏位对应
时间戳记TS | 校正栏位CF |
Q2×2N+R2+R2+(Ti1-R1) | -R2-Ti2 |
于另一实施例中,第二同步封包的相关栏位对应的值将如表4-1所示。
表4-1:封包中的栏位对应
时间戳记TS | 校正栏位CF |
Q2×2N+R2+(Ti1-R1) | 0-Ti2 |
接着,当通讯晶片330欲透过端口335传送第二同步封包时,对应端口335被设定为透通模式,通讯晶片330会读取时间戳电路331而获得第二晶片传送时间Te2,并且将校正栏位的值加上该第二晶片传送时间Te2,因此校正栏位CF的值可如表5所示。最后第二同步封包各栏位值将如表5所示,并依此传送同步封包。
表5:封包中的栏位对应
时间戳记TS | 校正栏位CF |
Q2×2N+R2+R2+(Ti1-R1) | -R2-Ti2+Te2 |
于另一实施例中,第二同步封包的相关栏位对应的值将如表5-1所示。
表5-1:封包中的栏位对应
时间戳记TS | 校正栏位CF |
Q2×2N+R2+(Ti1-R1) | 0-Ti2+Te2 |
需特别说明,因时间戳电路331与计数电路310的计数频率同步,所以在秒的计数值是相同的,而数值(Ti1-R1)可视为处理器320取得日历时间到通讯晶片330收到同步封包的经过时间,通常来说,每个产生同步封包的周期中,取得日历时间至通讯晶片330收到同步封包的经过时间是相同的,并如前所述,余数可以等同处理器320取得日历时间TOD当下,时间戳电路331当时的计数值,因此,第二余数值R2加上经过时间(Ti1-R1)即会等于通讯晶片330收到第二同步封包的晶片接收时间Ti2,即Ti2=R2+Ti1-R1。因此,表5中的各栏位对应的值也可被表示为如表6所示。
表6:封包中的栏位对应
时间戳记TS | 校正栏位CF |
Q2×2N+R2+R2+(Ti1-R1) | -R2-(R2+Ti1-R1)+Te2 |
经由上述步骤传送的同步封包,当从属装置400接收该第二同步封包后,可由时间戳记TS加上校正栏位CF的加总结果取得第二同步封包的发送时间T1,意即
T1=Q2×2N+R2+R2+(Ti1-R1)+(-R2-(R2+Ti1-R1)+Te2),经化简后可如公式(6)所示。
T1=Q2×2N+Te2……公式(6)
于另一实施例中,表5-1中的各栏位对应的值也可被表示为如表6-1所示
时间戳记TS | 校正栏位CF |
Q2×2N+R2+(Ti1-R1) | 0-(R2+Ti1-R1)+Te2 |
T1=Q2×2N+R2+Ti1-R1+0-R2-Ti1+R1+Te2,经化简后可如公式(6-1)所示
T1=Q2×2N+Te2……公式(6-1)
因此,由公式(6)或公式(6-1)可知,不论是由第二实施例所产生的同步封包,或是由第一实施例所产生的同步封包,二者在从属装置400所计算得到的时间T1将会是相同的。
需特别说明的是,在端口337被设定为透通模式时,若未经过上述步骤S525所进行步骤,也就是对时间戳记加上时间补偿以及在校正栏位填入对应的数值,则依通讯晶片330在收到及传送第二同步封包时对校正栏位CF修改后的第二同步封包,从属装置所计算的T1时间,例如会是T1=Q2×2N+R2-Ti2+Te2,而使得第二同步封包无法提供正确的时间信息。
综上所述,即使网络装置的硬件位元数有限,例如网络装置没有搭载足够位元数的晶片,本案仍可计算出完整的日历时间,大幅降低通讯晶片的制造成本。此外,本案可使用一般通讯晶片搭载的透通模式功能,让网络装置能以一步骤同步模式发出同步封包,而不受限于通讯晶片的硬件规格。
上述内容概述若干实施例的特征,使得熟悉此项技术者可更好地理解本案的态样。熟悉此项技术者应了解,在不脱离本案的精神和范围的情况下,可轻易使用上述内容作为设计或修改为其他变化的基础,以便实施本文所介绍的实施例的相同目的及/或实现相同优势。上述内容应当被理解为本案的举例,其保护范围应以权利要求书所界定的范围为准。
Claims (11)
1.一种网络装置,其特征在于,经配置以发送一同步封包至一从属装置,其中该同步封包至少包括一时间戳记栏位及一校正栏位,该网络装置包括:
一计数电路,用以提供一日历时间TOD;
一通讯晶片,包括一第一端口、一第二端口以及具有一位元数N的一时间戳电路,该第二端口用以耦接该从属装置;以及
一处理器,耦接于该通讯晶片的该第一端口,其中该处理器经配置以:
根据该日历时间TOD及该位元数N取得一余数R,该处理器将该日历时间TOD填入该时间戳记栏位以及将该余数R的补数-R填入该校正栏位;或者,
该处理器将该日历时间TOD与一第一余数R1相减后的结果填入该时间戳记栏位以及将该校正栏位填入0值或空值。
2.根据权利要求1所述的网络装置,其特征在于,该处理器对该日历时间TOD与该位元数N进行MOD函数运算以取得该余数R。
3.根据权利要求1所述的网络装置,其特征在于,该处理器对该日历时间TOD与该位元数N进行相除运算以取得该余数R及一商数Q。
4.根据权利要求1所述的网络装置,其特征在于,还包括该第一端口是设定为一般模式;该第二端口是设定为透通模式。
5.根据权利要求1所述的网络装置,其特征在于,还包括:
该通讯晶片于接收一延迟请求封包时,记录一延迟请求封包输入时间TiREQ;
该计数电路提供一延迟请求封包接收日历时间TODREQ;以及
该处理器经配置以:
依据该延迟请求封包接收日历时间TODREQ与该位元数N以取得一对应的商数QREQ以及一对应的余数RREQ;以及
依据该对应的商数QREQ、该位元数N以及该延迟请求封包输入时间TiREQ以产生一延迟回应封包。
6.根据权利要求5所述的网络装置,其特征在于:
该处理器依该延迟请求封包输入时间TiREQ小于该对应的余数RREQ时,将该对应的商数QREQ加1。
7.一种网络装置,其特征在于,经配置以发送一同步封包至一从属装置,该网络装置于产生一第一同步封包的周期中取得一第一日历时间TOD1、一第一余数R1以及一第一晶片接收时间Ti1,该网络装置包括:
一计数电路,用以于产生该第一同步封包的周期提供该第一日历时间TOD1及于产生一第二同步封包的周期提供一第二日历时间TOD2;
一通讯晶片,包括一第一端口、一第二端口以及具有一位元数N的一时间戳电路,其中该第二端口用以耦接该从属装置,该第一端口与该第二端口是设定为一透通模式,且对应接收该第一同步封包时取得该第一晶片接收时间Ti1及对应接收该第二同步封包时取得一第二晶片接收时间Ti2;以及
一处理器,耦接于该通讯晶片的该第一端口,其中该处理器经配置以:
根据该第二日历时间TOD2及该位元数N取得一第二余数R2,该处理器以该第二日历时间TOD2、该第二余数R2以及该第一晶片接收时间Ti1减去该第一余数R1的差值进行加总后的结果填入该第二同步封包的该时间戳记栏位,并且将该第二余数R2的一补数-R2填入该第二同步封包的校正栏位;或者,
该处理器将该第二日历时间TOD2与该第一晶片接收时间Ti1减掉该第一余数R1的差值进行加总后的结果填入该第二同步封包的该时间戳记栏位,并且将该第二同步封包的该校正栏位填入0值或空值。
8.根据权利要求7所述的网络装置,其特征在于,该处理器对该第二日历时间TOD2与该位元数N进行MOD函数运算以取得该第二余数R2。
9.根据权利要求7所述的网络装置,其特征在于,该处理器对该第二日历时间TOD2与该位元数N进行相除运算以取得该第二余数R2。
10.根据权利要求7所述的网络装置,其特征在于,还包括:
该通讯晶片于接收一延迟请求封包时,记录一延迟请求封包输入时间TiREQ;
该计数电路提供一延迟请求封包接收日历时间TODREQ;以及
该处理器配置以:
依据该延迟请求封包接收日历时间TODREQ与该位元数N取得一对应的商数QREQ以及一对应的余数RREQ;以及
依据该对应的商数QREQ、该位元数N以及该延迟请求封包输入时间TiREQ以产生一延迟回应封包。
11.根据权利要求10所述的网络装置,其特征在于:
该处理器依该延迟请求封包输入时间TiREQ小于该对应的余数RREQ时,将该对应的商数QREQ加1。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010835449.5A CN114079557B (zh) | 2020-08-19 | 2020-08-19 | 网络装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010835449.5A CN114079557B (zh) | 2020-08-19 | 2020-08-19 | 网络装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN114079557A CN114079557A (zh) | 2022-02-22 |
CN114079557B true CN114079557B (zh) | 2024-04-23 |
Family
ID=80282024
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010835449.5A Active CN114079557B (zh) | 2020-08-19 | 2020-08-19 | 网络装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN114079557B (zh) |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6804249B1 (en) * | 2000-04-13 | 2004-10-12 | International Business Machines Corporation | Method and system for network processor scheduling based on calculation |
EP2341650A1 (en) * | 2010-01-05 | 2011-07-06 | Alcatel Lucent | Transfer of a synchronization message through a packet radio network |
CN103873179A (zh) * | 2012-12-17 | 2014-06-18 | 财团法人工业技术研究院 | 使无源光网络具备支持时间同步能力的装置与方法 |
CN104486058A (zh) * | 2014-12-18 | 2015-04-01 | 杭州华三通信技术有限公司 | 一种ptp系统时间同步方法以及装置 |
CN111092713A (zh) * | 2018-10-23 | 2020-05-01 | 智邦科技股份有限公司 | 时钟同步装置及时钟同步方法 |
-
2020
- 2020-08-19 CN CN202010835449.5A patent/CN114079557B/zh active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6804249B1 (en) * | 2000-04-13 | 2004-10-12 | International Business Machines Corporation | Method and system for network processor scheduling based on calculation |
EP2341650A1 (en) * | 2010-01-05 | 2011-07-06 | Alcatel Lucent | Transfer of a synchronization message through a packet radio network |
CN103873179A (zh) * | 2012-12-17 | 2014-06-18 | 财团法人工业技术研究院 | 使无源光网络具备支持时间同步能力的装置与方法 |
CN104486058A (zh) * | 2014-12-18 | 2015-04-01 | 杭州华三通信技术有限公司 | 一种ptp系统时间同步方法以及装置 |
CN111092713A (zh) * | 2018-10-23 | 2020-05-01 | 智邦科技股份有限公司 | 时钟同步装置及时钟同步方法 |
Non-Patent Citations (3)
Title |
---|
基于RTP的机载网络视频同步回放技术;郝朝;王灏;;计算机技术与发展(05);全文 * |
网络式仪器总线同步协议的精确时间戳生成方法的研究;阿永嘎;叶凌云;;机电工程(11);全文 * |
跳频序列设计理论的研究进展;梅文华, 杨义先, 周炯槃;通信学报(02);全文 * |
Also Published As
Publication number | Publication date |
---|---|
CN114079557A (zh) | 2022-02-22 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
TWI780243B (zh) | 時鐘同步裝置及時鐘同步方法 | |
KR101749202B1 (ko) | 타임스탬프를 생성하는 방법, 장치, 그리고 시스템 | |
EP1427121B1 (en) | Radio access network, radio communication method, synchronous server and node | |
US11606155B2 (en) | Method for exchanging time synchronization packet and network apparatus | |
CN108023723B (zh) | 频率同步的方法以及从时钟 | |
CN111106894B (zh) | 一种时间同步方法和系统 | |
CN111092713B (zh) | 时钟同步装置及时钟同步方法 | |
CN105027489B (zh) | 精确时钟协议同步方法和节点 | |
Dong et al. | The design and implementation of ieee 1588v2 clock synchronization system by generating hardware timestamps in mac layer | |
CN108738127B (zh) | 射频拉远单元、基带处理单元、分布式基站及其同步方法 | |
CN115801175B (zh) | 时间频率同步方法、系统、存储介质及电子设备 | |
CN114079557B (zh) | 网络装置 | |
US9442511B2 (en) | Method and a device for maintaining a synchronized local timer using a periodic signal | |
CN113271168B (zh) | 一种基于卫星共视的配电网时钟同步实现方法 | |
TW202209837A (zh) | 網路裝置 | |
US20210397211A1 (en) | Delay time detection circuit, stamping information generation device, and delay time detection method | |
CN113359948A (zh) | 时间同步装置及同步方法 | |
CN111865467A (zh) | 用于时延测试的分布式机箱板卡间时钟同步系统及方法 | |
CN114513273B (zh) | Ptp芯片时钟模块的实现方法和装置 | |
Deev et al. | Features of high-precision sync-signals formation for distributed systems based on a synchronous Ethernet network | |
JPH1098763A (ja) | パイロット信号の基地局間同期方法及び回路 | |
CN115378537A (zh) | 一种自适应时钟驯服方法、同步授时装置及本地时钟系统 | |
CN117015024A (zh) | 时间同步方法、网络设备及通信系统 | |
JP2017034383A (ja) | 伝送装置および同期方法 | |
CN112769515A (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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant |