CN101814984A - 获取不对称延迟时间的方法和装置 - Google Patents
获取不对称延迟时间的方法和装置 Download PDFInfo
- Publication number
- CN101814984A CN101814984A CN 201010144627 CN201010144627A CN101814984A CN 101814984 A CN101814984 A CN 101814984A CN 201010144627 CN201010144627 CN 201010144627 CN 201010144627 A CN201010144627 A CN 201010144627A CN 101814984 A CN101814984 A CN 101814984A
- Authority
- CN
- China
- Prior art keywords
- physical layer
- time
- timestamp
- event message
- degree
- 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
- 238000000034 method Methods 0.000 title claims abstract description 40
- 230000005540 biological transmission Effects 0.000 claims abstract description 77
- 230000001360 synchronised effect Effects 0.000 description 32
- 239000003795 chemical substances by application Substances 0.000 description 25
- 238000001514 detection method Methods 0.000 description 21
- 238000003860 storage Methods 0.000 description 13
- 238000010586 diagram Methods 0.000 description 8
- 238000005070 sampling Methods 0.000 description 6
- 238000005516 engineering process Methods 0.000 description 5
- 239000013307 optical fiber Substances 0.000 description 5
- 238000004891 communication Methods 0.000 description 4
- 230000033228 biological regulation Effects 0.000 description 3
- 230000014759 maintenance of location Effects 0.000 description 2
- 238000005259 measurement Methods 0.000 description 1
- 238000002360 preparation method Methods 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/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)
- Mobile Radio Communication Systems (AREA)
- Synchronisation In Digital Transmission Systems (AREA)
Abstract
公开了获取不对称延迟时间的方法和装置。其中的方法包括:获取报文在设备物理层的发送先进先出缓冲器中的驻留时间T1,并获取报文在所述设备物理层的接收先进先出缓冲器中的驻留时间T2;根据所述T1和T2的差值、所述物理层固有延迟时间和传输线路延迟时间三者之和获得不对称延迟时间。上述技术方案可以准确方便的获得网络设备的不对称延迟时间,从而降低了时间同步的实现成本,提高了时间同步的效率。
Description
技术领域
本发明涉及通讯技术领域,具体涉及获取不对称延迟时间的技术。
背景技术
IEEE1588V2是一种精确的时间同步协议,可以称为PTP(Precision TimeProtocol,精确时间协议)。PTP通过在设备间(如主从设备间或者请求器与响应器之间)进行消息传输实现时间同步。
目前,由于PHY(物理)层芯片等原因会导致通讯链路存在延迟不对称性,即第一设备到第二设备方向的延迟时间与第二设备到第一设备方向的延迟时间不相同。上述第一设备为主设备时,第二设备为从设备,第一设备为请求器时,第二设备为响应器。针对延迟不对称性链路,PTP提出的对第二设备的通信链路进行补偿的时间同步方法包括如下计算:
Tms=<meanPathDelay>+delayAsymmetry;
Tsm=<meanPathDelay>-delayAsymmetry;
其中,Tms为第一设备到第二设备方向的延迟时间;Tsm为第二设备到第一设备方向的延迟时间;meanPathDelay为第一设备到第二设备和第二设备到第一设备的平均路径延迟时间,delayAsymmetry为不对称延迟时间,在第一设备到第二设备方向的传输时间大于第二设备到第一设备的传输时间时,delayAsymmetry可以定义为正数,否则delayAsymmetry为负数。
在实现本发明的过程中,发明人发现:PTP中并没有给出delayAsymmetry的获得方法,而现有技术中通常采用基于GPS(Global Position System,全球定位系统)的专用仪器进行实地测量的方式来获得delayAsymmetry。明显的,采用专用仪器实地测量的方式会使时间同步的实现成本高且效率低。
发明内容
本发明实施方式提供的获取不对称延迟时间的方法和装置,可准确方便的获得设备的不对称延迟时间,从而可以降低时间同步的实现成本,提高时间同步的效率。
本发明实施方式提供的获取不对称延迟时间的方法,包括:
获取报文在设备物理层的发送先进先出缓冲器中的驻留时间T1,并获取报文在所述设备物理层的接收先进先出缓冲器中的驻留时间T2;
根据所述T1和T2的差值、所述物理层固有延迟时间与传输线路延迟时间三者之和获得不对称延迟时间。
本发明实施方式提供的获取不对称延迟时间的装置,包括:
第一获取模块,用于获取报文在设备物理层的发送先进先出缓冲器中的驻留时间T1,并获取报文在所述设备物理层的接收先进先出缓冲器中的驻留时间T2;
第二获取模块,用于根据所述T1和T2的差值、所述物理层固有延迟时间与传输线路延迟时间三者之和获得不对称延迟时间。
通过上述技术方案的描述可知,通过利用数据在物理层的发送先进先出缓冲器中的驻留时间以及该数据在物理层的接收先进先出缓冲器中的驻留时间,可以获取物理层延迟时间,通过利用该物理层延迟时间和传输线路延迟时间可以方便准确的获得不对称延迟时间,从而可以方便的进行时间同步,降低了时间同步的实现成本,提高了时间同步的效率。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本发明实施例一的获取不对称延迟时间的方法流程图;
图1A是本发明实施例一的同步FIFO缓冲器的示意图;
图1B是本发明实施例一的异步FIFO缓冲器的示意图;
图2是本发明实施例二的获取不对称延迟时间的装置示意图;
图2A至2F是本发明实施例二的第一获取模块示意图;
图3是本发明实施例三的具体应用的获取不对称延迟时间的装置示意图;
图3A是本发明实施例三的时序图;
图4是本发明实施例四的具体应用的获取不对称延迟时间的装置示意图;
图5是本发明实施例五的具体应用的获取不对称延迟时间的装置示意图。
具体实施方式
下面通过实施例对本发明的具体实现过程进行例举说明。显然,下面所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
实施例一、获取不对称延迟时间的方法,包括:获取报文在设备物理层的发送先进先出缓冲器中的驻留时间T1,并获取报文在所述设备物理层的接收先进先出缓冲器中的驻留时间T2;根据所述T1和T2的差值、所述物理层固有延迟时间与传输线路延迟时间三者之和获得不对称延迟时间。
该方法的流程如附图1所示。
图1中,S100、获取报文(如带有时间戳的报文)在设备物理层的发送FIFO缓冲器中的驻留时间T1。这里的设备为从设备或者响应器等,具体的可以为基站等。上述发送FIFO缓冲器可以为同步FIFO(即发送FIFO缓冲器的读时钟和写时钟为同一个时钟),也可以为异步FIFO(即发送FIFO缓冲器的读时钟和写时钟为不同的时钟)。同步FIFO缓冲器的一个具体例子如附图1A所示,异步FIFO缓冲器的一个具体例子如附图1B所示。本实施例不限制设备的具体表现形式以及发送FIFO缓冲器的具体结构和具体型号等。
S100的具体实现方式有多种,下面以事件报文为例,例举三种实现方式。
获取驻留时间T1的实现方式一:
首先,在事件报文从MAC层向物理层发送时,为该事件报文加入时间戳,该时间戳被携带在事件报文中。具体的,这里的加入时间戳的操作可以由MAC层执行,如MAC层在向物理层发送事件报文时,为该事件报文加入时间戳。这里的加入时间戳的操作也可以由物理层执行,如物理层接收到MAC层传输来的事件报文时,为该事件报文加入时间戳。
其次,在检测出该设备的物理层接收到MAC层发送的该事件报文时,根据设备本地时钟的时钟周期的时长和获得的时钟周期数量获取驻留时间T1,即获取时钟周期数量与时钟周期的时长的乘积,该乘积即为驻留时间T1。获取驻留时间T1的执行主体可以为物理层或者MAC层或应用层等。
获取时钟周期数量具体可以为:获取物理层的发送FIFO缓冲器的当前深度,并根据发送FIFO缓冲器的有效读信号确定从发送FIFO缓冲器中读取出当前深度的数据所消耗的时钟周期数量。这里的时钟周期是指设备本地时钟的时钟周期。上述检测事件报文的操作可以由物理层或者MAC层或者应用层等执行主体执行。上述获取当前深度和确定时钟周期数量的操作也可以由物理层或者MAC层或者应用层等执行主体来执行。在检测事件报文的操作的执行主体与获取当前深度和确定时钟周期数量的操作的执行主体不是位于不同层时,检测事件报文的执行主体在检测出接收到MAC层发送来的事件报文时,可以通过产生中断等方式通知执行获取当前深度和确定时钟周期数量的执行主体。确定时钟周期数量的一个具体例子为:针对发送FIFO缓冲器为设备的本地时钟设置第一计数器,在获取了发送FIFO缓冲器的当前深度时,该第一计数器开始为设备的本地时钟的时钟周期计数,对发送FIFO缓冲器的读信号进行采样,并检测采样的读信号是否为发送FIFO缓冲器的有效读信号,每检测到发送FIFO缓冲器的有效读信号,则当前深度值减1,在当前深度值为0时,上述第一计数器停止计数,读取第一计数器的计数值,该计数值即为上述时钟周期数量。
获取驻留时间T1的实现方式二:
首先,在事件报文从MAC层向物理层发送时,为事件报文加入时间戳,该时间戳被携带在事件报文中,为方便描述,该时间戳可以称为第一时间戳。加入第一时间戳的操作可以由MAC层执行,如MAC层在向物理层发送事件报文时,为该事件报文加入第一时间戳。这里的加入第一时间戳的操作也可以由物理层执行,如物理层接收到MAC层传输来的事件报文时,为该事件报文加入第一时间戳。
其次,在该事件报文从物理层向对端设备物理层层发送时,为该事件报文记录第二时间戳,第二时间戳可以不携带在事件报文中,而是本地存储该第二时间戳。这里的记录第二时间戳的操作可以由物理层执行,如物理层在向对端设备的物理层发送事件报文时,为该事件报文记录第二时间戳。这里的记录第二时间戳的操作也可以由应用层执行,如应用层在检测到本设备的物理层向对端设备的物理层发送事件报文时,为该事件报文记录第二时间戳。
最后,根据从事件报文中获取的第一时间戳和从本地存储信息中获取的第二时间戳获取驻留时间T1,即获取第一时间戳和第二时间戳的差值,该差值即为驻留时间T1。执行获取差值操作的执行主体可以为物理层,也可以为MAC层或者应用层等。
获取驻留时间T1的实现方式三:
首先,在事件报文从MAC层向物理层发送时,为事件报文加入时间戳,该时间戳被携带在事件报文中。这里的加入时间戳的操作可以由MAC层执行,如MAC层在向物理层发送事件报文时,为该事件报文加入时间戳。这里的加入时间戳的操作也可以由物理层执行,如物理层接收到MAC层传输来的事件报文时,为该事件报文加入时间戳。这里的加入时间戳操作主要用于与现有协议中发送事件报文的规定相符合。其次,获取物理层中发送FIFO缓冲器的当前拥塞度。获取当前拥塞度的执行主体可以为物理层,也可以为MAC层或者应用层等。本实施例可以采用现有的多种方式来获取发送FIFO缓冲器的当前拥塞度,例如,通过采用平均算法或者其它算法对一定周期内的发送FIFO缓冲器深度值进行计算,从而获得该周期对应的拥塞度。在本实施例中,可以周期性的计算拥塞度,并存储计算获得的各个拥塞度,上述当前拥塞度可以为在事件报文从MAC层向物理层发送时最新存储的一个拥塞度。
获得当前拥塞度的一个具体的例子为:
应用层在预定时间周期内(如1秒钟)读取PHY层的发送FIFO缓冲器深度值n个,获取这n个深度值的平均值,根据多个深度值计算发送FIFO缓冲器发送速率的变化率,根据该变化率确定当前拥塞度的调整因子,并根据该调整因子对上述平均值进行调整,将调整后的数值作为拥塞度存储。具体的计算n个深度值的平均值可以如下述公式(1)所示,计算变化率可以如下述公式(2)所示,当前拥塞度可以如下述公式(3)所示:
dt=(L20-L1)/(20Ts) 公式(2)
在上述公式中,Li为第i个深度值,为100个深度值的平均值,dt为发送FIFO缓冲器发送速率的变化率,L20为在一个预定时间周期内获取到的第20个深度值,L1为在一个预定时间周期内获取到的第1个深度值,20Ts第20个深度值与第1个深度值的时间间隔,(1-dt)为调整因子,为当前拥塞度。
本实施例不限制获取发送FIFO缓冲器的当前拥塞度的具体实现方式。
最后,根据该当前拥塞度和设备本地时钟的时钟周期的时长获取驻留时间T1,即获取当前拥塞度与时钟周期的时长的乘积,该乘积即为驻留时间T1。续前例,驻留时间其中,T为时钟周期的时长。获取驻留时间T1的执行主体可以为物理层或者MAC层或者应用层等。
S110、获取报文(如带有时间戳的报文)在该设备物理层的接收FIFO缓冲器中的驻留时间T2。这里的接收FIFO缓冲器可以为同步FIFO(即接收FIFO缓冲器的读时钟和写时钟为同一个时钟),也可以为异步FIFO(即接收FIFO缓冲器的读时钟和写时钟为不同的时钟)。本实施例不限制接收FIFO缓冲器的具体结构以及具体型号等。
S110的具体实现方式有多种,下面以事件报文为例,例举三种实现方式。
获取驻留时间T2的实现方式一:
在检测出该设备物理层接收到对端设备发送的带有时间戳的事件报文时,根据设备本地时钟的时钟周期数量和时钟周期的时长获取驻留时间T2,即获取时钟周期数量与时钟周期的时长的乘积,该乘积即为驻留时间T2。获取驻留时间T2的执行主体可以为物理层或者MAC层或者应用层等。
获取时钟周期数量具体可以为:先获取物理层的接收FIFO缓冲器的当前深度。这里的对端设备如主设备或者请求器等。上述检测操作的执行主体可以为物理层,也可以为MAC层或者应用层,上述获取物理层的接收FIFO缓冲器的当前深度的执行主体可以为物理层,也可以为MAC层或者应用层。在检测事件报文的操作和获取当前深度的执行主体位于不同层时,检测事件报文的执行主体在检测到物理层接收到对端设备发送的带有时间戳的事件报文时,可通过产生中断等方式通知执行获取当前深度的执行主体。
之后,根据接收FIFO缓冲器的有效读信号确定从接收FIFO缓冲器中读取出当前深度的数据所消耗的设备本地时钟的时钟周期数量。上述确定时钟周期数量的操作可以由物理层或者MAC层或者应用层等执行主体来执行。在检测事件报文操作的执行主体与确定时钟周期数量操作的执行主体位于不同层的情况下,检测事件报文操作的执行主体在检测出PHY层接收到对端设备发送来的带有时间戳的事件报文时,可以通过产生中断等方式通知执行确定时钟周期数量操作的执行主体。确定时钟周期数量的一个具体例子为:为设备的本地时钟设置第二计数器,在获取了接收FIFO缓冲器的当前深度时,该第二计数器开始为设备的本地时钟的时钟周期计数。对接收FIFO缓冲器的读信号进行采样,并检测采样的读信号是否为接收FIFO缓冲器的有效读信号,每检测到接收FIFO缓冲器的有效读信号,则当前深度值减1,在当前深度值为0时,上述第二计数器停止计数,读取第二计数器的计数值,该计数值即为上述时钟周期数量。
获取驻留时间T2的实现方式二:
首先,在检测出设备的物理层接收到对端设备发送来的事件报文时,为该事件报文记录时间戳,该时间戳可以不携带在事件报文中,而是本地存储该时间戳,为方便描述,该时间戳可以称为第三时间戳。这里的记录第三时间戳的操作可以由物理层执行,如物理层在接收到对端设备发送来的带有时间戳的事件报文时,为该事件报文记录第三时间戳。这里的记录第三时间戳的操作也可以由MAC层或应用层等来执行,如物理层接收到对端设备传输来的带有时间戳的事件报文时,通过产生中断等方式通知MAC层或应用层,MAC层或应用层根据该中断为该事件报文记录第三时间戳。
其次,在该事件报文从设备的物理层向MAC层发送时,为该事件报文加入时间戳,根据现有协议的规定,该时间戳可以携带在事件报文中,为方便描述,该时间戳可以称为第四时间戳。这里的加入第四时间戳的操作可以由MAC层执行,如MAC层在接收到物理层发送来的带有时间戳的事件报文时,为该事件报文加入第四时间戳。这里的加入第四时间戳的操作也可以由物理层执行,如物理层在将该事件报文向MAC层发送时,为该事件报文加入第四时间戳。另外,加入第四时间戳的操作也可以由应用层来执行,例如,在物理层向MAC层发送该事件报文时,物理层通过产生中断等方式通知应用层,应用层根据物理层的通知为该事件报文加入第四时间戳;再例如,在MAC层接收到物理层发送的带有时间戳的事件报文时,MAC层通过产生中断等方式通知应用层,应用层根据MAC层的通知为该事件报文加入第四时间戳。
最后,获取第三时间戳和第四时间戳,根据第三时间戳和第四时间戳获取驻留时间T2,即获取第三时间戳和第四时间戳的差值,该差值即为驻留时间T2。执行获取差值操作的执行主体可以为物理层,也可以为MAC层或者应用层等。
获取驻留时间T2的实现方式三:
首先,在检测出对端设备传输来的携带有时间戳的事件报文从物理层向MAC层发送时,获取物理层中接收FIFO缓冲器的当前拥塞度。检测事件报文从物理层向MAC层发送的执行主体可以为物理层,也可以为MAC层或者应用层等。获取当前拥塞度的执行主体可以为物理层或者MAC层或者应用层等。本实施例可以采用现有的多种方式来获取接收FIFO缓冲器的当前拥塞度,例如,通过采用平均算法或者其它算法对一定周期内的接收FIFO缓冲器深度值进行计算,从而获得该周期对应的拥塞度。在本实施例中,可以周期性的计算拥塞度,并存储计算获得的各个拥塞度,上述当前拥塞度可以为从物理层向MAC层发送事件报文时最新存储的一个拥塞度。获得当前拥塞度的具体的例子如上述获取驻留时间T1的实现方式三中的描述。本实施例不限制获取接收FIFO缓冲器的当前拥塞度的具体实现方式。
其次,根据当前拥塞度和设备本地时钟的时钟周期的时长获取驻留时间T2,即获取当前拥塞度与时钟周期的时长的乘积,该乘积即为驻留时间T2。获取驻留时间T2的执行主体可以为物理层或者MAC层或者应用层等。
针对上述S100和S110需要特别说明的是,S100可以采用上述例举的三种获取驻留时间T1的实现方式中的任一种实现方式,且S110同样可以采用上述例举的三种获取驻留时间T2的实现方式中的任一种实现方式。而且,S100中例举的各实现方式与S110中例举的各实现方式并不存在固定配对的关系,例如,在S100采用上述例举的获取驻留时间T1的实现方式一的情况下,S110可以采用上述例举的三种获取驻留时间T2的实现方式中的任一种实现方式。
S120、根据上述获得的驻留时间T1和T2的差值、物理层固有延迟时间与传输线路延迟时间三者之和获得不对称延迟时间。
在本实施例中,可以将上述驻留时间T1和驻留时间T2的差值与物理层固有延迟时间之和确定为物理层延迟时间。物理层固有延迟时间为已知的常数,通常由物理层芯片的生产厂家提供。可以将物理层延迟时间和传输线路延迟时间之和作为不对称延迟时间。这里的传输线路延迟时间可以采用现有的多种测量方式获得,本实施例不限制获得传输线路延迟时间的具体实现过程。
可选的,本实施例还可以包括:S130、根据不对称延迟时间进行时间同步。在获得不对称延迟时间后,可以采用现有的多种方式来实现时间同步,例如,获得本端设备到对端设备和对端设备到本端设备的平均路径延迟时间,获取平均路径延迟时间与不对称延迟时间之和Tms,获取平均路径延迟时间与不对称延迟时间之差Tsm,从而利用Tms和Tsm实现时间同步。本实施例不限制利用不对称延迟时间进行时间同步的具体实现过程。
从上述实施例一的描述可知,实施例一通过利用数据在物理层的发送FIFO缓冲器中的驻留时间以及该数据在物理层的接收FIFO缓冲器中的驻留时间,可以获取物理层延迟时间,通过利用该物理层延迟时间和传输线路延迟时间可以方便准确的获得不对称延迟时间,从而可以方便的进行时间同步,降低了时间同步的实现成本,提高了时间同步的效率。
实施例二、获取不对称延迟时间的装置。该装置可以为从设备或者响应器等,具体的,该装置可以为基站等。该装置如附图2所示。
图2中的装置包括:发送FIFO缓冲器200、接收FIFO缓冲器210、第一获取模块220和第二获取模块230,可选的,该装置还可以包括时间同步模块240。
发送FIFO缓冲器200和接收FIFO缓冲器210均可以为同步FIFO缓冲器或者异步FIFO缓冲器,本实施例不限制发送FIFO缓冲器200和接收FIFO缓冲器210的具体结构和具体型号等。
第一获取模块220,用于获取带有时间戳的报文在设备物理层的发送FIFO缓冲器200中的驻留时间T1,并获取带有时间戳的报文在设备物理层的接收FIFO缓冲器210中的驻留时间T2。
第二获取模块230,用于根据T1和T2的差值、物理层固有延迟时间与传输线路延迟时间三者之和获得不对称延迟时间。具体的,第二获取模块230可以将上述驻留时间T1与驻留时间T2的差值与物理层固有延迟时间之和确定为物理层延迟时间。物理层固有延迟时间为已知的常数,通常由物理层芯片的生产厂家提供。第二获取模块230可以将物理层延迟时间和传输线路延迟时间之和作为不对称延迟时间。第二获取模块230间可以采用现有的多种测量方式获得传输线路延迟时,本实施例不限制第二获取模块230获得传输线路延迟时间的具体实现过程。
时间同步模块240,用于根据第二获取模块230获取的不对称延迟时间进行时间同步。具体的,时间同步模块240可以采用现有的多种方式来实现时间同步,例如,时间同步模块240获得本端设备到对端设备和对端设备到本端设备的平均路径延迟时间,并获取平均路径延迟时间与不对称延迟时间之和Tms、以及平均路径延迟时间与不对称延迟时间之差Tsm,从而时间同步模块240利用Tms和Tsm实现时间同步。本实施例不限制时间同步模块240利用不对称延迟时间进行时间同步的具体实现过程。
在上述描述中,第一获取模块220可以有多种不同的实现方式,下面结合附图2A至2F例举描述几种实现方式。
例1、如附图2A所示第一获取模块220包括:第一时间戳子模块221、第一获取深度子模块222、第一计数子模块223和第一计算子模块224。第一计数子模块223包括上述方法实施例描述中的第一计数器。
第一时间戳子模块221,用于在事件报文从MAC层向物理层发送时,为该事件报文加入时间戳。该时间戳被携带在事件报文中。第一时间戳子模块221可以位于MAC层,即第一时间戳子模块221在检测出MAC层在向物理层发送事件报文时,为该事件报文加入时间戳。第一时间戳子模块221也可以位于物理层,即第一时间戳子模块221在检测出物理层接收到MAC层传输来的事件报文时,为该事件报文加入时间戳。另外,第一时间戳子模块221也可以位于应用层。需要说明的是,如果在实际应用中第一时间戳子模块221由多个具体器件来实现,则这多个具体器件可以均位于同一层,也可以分散位于不同层。还有需要说明的是,第一时间戳子模块221是逻辑上的划分,在实际应用中,第一时间戳子模块221可能不会与本实施例中的其它子模块位于同一个具体器件中,也可能会与本实施例中的其它子模块位于同一个具体器件中。本实施例记载的下述各子模块也是如此,下面不再针对各子模块一一进行如上说明。
第一获取深度子模块222,用于在设备物理层接收到MAC层发送的带有时间戳的事件报文时,获取物理层的发送FIFO缓冲器200的当前深度。一个具体的例子:第一获取深度子模块222在检测出PHY层接收到MAC层发送来的带有时间戳的事件报文时,通知第一计数子模块223,以触发第一计数子模块223开始为设备本地时钟的时钟周期计数,第一获取深度子模块222可以将获取的当前深度值提供给第一计数子模块223。第一获取深度子模块222可以位于PHY层、MAC层或者应用层。
第一计数子模块223,用于在物理层接收到MAC层发送的带有时间戳的事件报文时,确定从发送FIFO缓冲器200中读取出当前深度的数据所消耗的时钟周期数量。一个具体的例子:第一计数子模块223在接收到第一获取深度子模块222的通知时,开始对设备本地时钟的时钟周期计数,第一计数子模块223对发送FIFO缓冲器200的读信号进行采样,并检测采样的读信号是否为发送FIFO缓冲器200的有效读信号,第一计数子模块223在检测到发送FIFO缓冲器的一个有效读信号,则第一获取深度子模块222提供的当前深度值减1,在当前深度值为0时,第一计数子模块223停止为时钟周期计数。此时的计数值即为上述时钟周期数量。第一计数子模块223可以位于PHY层、MAC层或者应用层。
第一计算子模块224,用于根据第一计数子模块223确定的时钟周期数量和时钟周期的时长获取驻留时间T1。即第一计算子模块224获取时钟周期数量与时钟周期的时长的乘积,该乘积即为驻留时间T1。第一计算子模块224可以位于物理层或者MAC层或者应用层等。
例2、如附图2B所示第一获取模块220包括:第一时间戳子模块221、第二时间戳子模块225和第二计算子模块226。
第一时间戳子模块221,用于在事件报文从MAC层向物理层发送时,为该事件报文加入时间戳。为方便描述,该时间戳可以称为第一时间戳。第一时间戳子模块221具体执行的操作如上述例1中的描述,在此不再详细说明。
第二时间戳子模块225,用于在该事件报文从物理层向对端设备的物理层发送时,为该事件报文记录时间戳。为方便描述,该时间戳可以称为第二时间戳。第二时间戳可以不携带在事件报文中,而是由第二时间戳子模块225将该第二时间戳存储在本装置中。第二时间戳子模块225可以位于物理层或MAC层或应用层等。
第二计算子模块226,用于根据该事件报文的第一时间戳和第二时间戳获取驻留时间T1。具体的,第二计算子模块226获取第一时间戳和第二时间戳的差值,该差值即为驻留时间T1。第二计算子模块226可以位于物理层或MAC层或应用层等。
例3、如附图2C所示第一获取模块220包括:第一拥塞度子模块227和第三计算子模块228。
第一拥塞度子模块227,用于在事件报文从MAC层向物理层发送时,获取物理层中发送FIFO缓冲器200的当前拥塞度。第一拥塞度子模块227可以采用现有的多种方式来获取发送FIFO缓冲器200的当前拥塞度,例如,第一拥塞度子模块227通过采用平均算法或者其它算法对一定周期内的发送FIFO缓冲器200深度值进行计算,从而获得该周期对应的拥塞度。第一拥塞度子模块227可以周期性的计算拥塞度,并存储计算获得的各个拥塞度,上述当前拥塞度可以为在事件报文从MAC层向物理层发送时,第一拥塞度子模块227最新存储的一个拥塞度。第一拥塞度子模块227获得当前拥塞度的具体例子如上述方法实施例中的描述,在此不再重复说明。第一拥塞度子模块227可以位于物理层或MAC层或应用层等。
第三计算子模块228,用于根据第一拥塞度子模块227获取的当前拥塞度和设备本地时钟的时钟周期的时长获取驻留时间T1。具体的,第三计算子模块228获取当前拥塞度与时钟周期的时长的乘积,该乘积即为驻留时间T1。第三计算子模块228可以位于物理层或者MAC层或者应用层等。
例4、如附图2D所示第一获取模块220包括:第二获取深度子模块229、第二计数子模块2210和第四计算子模块2211。
第二获取深度子模块229,用于在物理层接收到对端设备发送的带有时间戳的事件报文时,获取物理层的接收FIFO210缓冲器的当前深度。这里的对端设备如主设备或者请求器等。一个具体的例子:第二获取深度子模块229在检测出该设备物理层接收到对端设备发送的带有时间戳的事件报文时,可以通知第二计数子模块2210开始为设备本地时钟的时钟周期计数,第二获取深度子模块229可以将获取的当前深度值提供给第二计数子模块2210。第二获取深度子模块229可以位于物理层或者MAC层或者应用层等。
第二计数子模块2210,用于在物理层接收到对端设备发送的带有时间戳的事件报文时,确定从接收FIFO缓冲器210中读取出当前深度的数据所消耗的设备本地时钟的时钟周期数量。一个具体的例子,第二计数子模块2210在接收到第二获取深度子模块229开始计数的通知时,开始为设备本地时钟的时钟周期计数,第二计数子模块2210对接收FIFO缓冲器210的读信号进行采样,并检测采样的读信号是否为接收FIFO缓冲器210的有效读信号,第二计数子模块2210检测到接收FIFO缓冲器210的一个有效读信号,则将第二获取深度子模块229提供的当前深度值减1,在当前深度值为0时,第二计数子模块2210停止计数。此时的计数值即为上述时钟周期数量。第二计数子模块2210可以位于物理层或者MAC层或者应用层等。
第四计算子模块2211,用于根据第二计数子模块2210确定的时钟周期数量和时钟周期的时长获取驻留时间T2。即第四计算子模块2211获取时钟周期数量与时钟周期的时长的乘积,该乘积即为驻留时间T2。第四计算子模块2211可以位于物理层或者MAC层或者应用层等。
例5、如附图2E所示第一获取模块220包括:第三时间戳子模块2212、第四时间戳子模块2213和第五计算子模块2214。
第三时间戳子模块2212,用于在物理层接收到对端设备发送来的事件报文时,为该事件报文记录第三时间戳。第三时间戳子模块2212在检测出设备的物理层接收到对端设备发送来的事件报文时,为该事件报文记录的第三时间戳可以不携带在事件报文中,而是由第三时间戳子模块2212将第三时间戳存储在本装置中。第三时间戳子模块2212可以位于物理层或者MAC层或者应用层等。
第四时间戳子模块2213,用于在事件报文从物理层向MAC层发送时,为该事件报文加入第四时间戳。根据现有协议的规定,第四时间戳子模块2213加入的第四时间戳携带在事件报文中。第四时间戳子模块2213可以位于物理层或者MAC层或者应用层等。
第五计算子模块2214,用于获取第三时间戳和第四时间戳,并根据第三时间戳和第四时间戳获取驻留时间T2。即第五计算子模块2214获取第三时间戳和第四时间戳的差值,该差值即为驻留时间T2。第五计算子模块2214可以位于物理层或者MAC层或者应用层等。
例6、如附图2F所示第一获取模块220包括:第二拥塞度子模块2215和第六计算子模块2216。
第二拥塞度子模块2215,用于在对端设备传输来的携带有时间戳的事件报文从物理层向MAC层发送时,获取物理层中接收FIFO缓冲器210的当前拥塞度。具体的,第二拥塞度子模块2215在检测出对端设备传输来的携带有时间戳的事件报文从物理层向MAC层发送时,获取物理层中接收FIFO缓冲器210的当前拥塞度。第二拥塞度子模块2215可以采用现有的多种方式来获取接收FIFO缓冲器210的当前拥塞度,例如,第二拥塞度子模块2215通过采用平均算法或者其它算法对一定周期内的接收FIFO缓冲器210深度值进行计算,从而获得该周期对应的拥塞度。第二拥塞度子模块2215可以周期性的计算拥塞度,并存储计算获得的各个拥塞度,上述当前拥塞度可以为第二拥塞度子模块2215在检测出事件报文从物理层向MAC层发送时最新存储的一个拥塞度。第二拥塞度子模块2215获得当前拥塞度的具体的例子如上述方法实施例中的描述,在此不再重复说明。本实施例不限制第二拥塞度子模块2215获取接收FIFO缓冲器210的当前拥塞度的具体实现方式。第二拥塞度子模块2215可以位于物理层或者MAC层或者应用层等。
第六计算子模块2216,用于根据第二拥塞度子模块2215获取的当前拥塞度和设备本地时钟的时钟周期的时长获取驻留时间T2。即第六计算子模块2216获取当前拥塞度与时钟周期的时长的乘积,该乘积即为驻留时间T2。第六计算子模块2216可以位于物理层或者MAC层或者应用层等。
从上述实施例二的描述可知,实施例二中的第一获取模块220通过利用数据在物理层的发送FIFO缓冲器中的驻留时间以及该数据在物理层的接收FIFO缓冲器中的驻留时间,使第二获取模块230可以获取到物理层延迟时间,通过利用该物理层延迟时间和传输线路延迟时间可以方便准确的获得不对称延迟时间,从而使时间同步模块240可以方便的进行时间同步,降低了时间同步的实现成本,提高了时间同步的效率。
实施例三、获取不对称延迟时间的装置。下面以该装置应用在一个具体单板为例对本实施例的获取不对称延迟时间的装置进行说明。本实施例中该具体该单板的型号为CR56LPUF100A,该单板结构的简单示意如附图3所示。
图3中的单板包括左侧1、右侧2和IEEE1588 CLOCK3,左侧1示意出了位于MAC层以及MAC层以上层的各单元,右侧2示意出位于PHY层的各单元,IEEE1588 CLOCK3为左侧1和右侧2提供时钟信号。
本实施例的获取不对称延迟时间的装置包括:IEEE1588 Packet DetectionAnd Prceing(IEEE包检测和处理)11、时戳模块12、Aplication Code(应用代码)13、IEEE1588 RTC14(IEEE1588实时时钟)、IEEE1588 CONTROL21(IEEE1588控制)、IEEE1588 Packet Detection(IEEE1588包检测)模块22、计数模块23和PLL(锁相环)24。其中的IEEE1588 Packet And Prceing11、时戳模块12和IEEE1588 RTC14可以实现上述实施例二中第一时间戳子模块221执行的操作,其中的IEEE1588 Packet Detection22可以实现上述实施例二中第一获取深度子模块222和第二获取深度子模块229执行的操作,其中的IEEE1588CONTROL21、计数模块23和PLL24可以实现上述实施例二中第一计数子模块223和第二计数子模块2210执行的操作,其中的Aplication Code13可以实现上述实施例二中第一计算子模块224和第四计算子模块2211执行的操作。
IEEE1588 Packet Detection And Prceing11用于在检测到MAC层向物理层发送事件报文时,触发时戳模块12为该事件报文加入时间戳。
时戳模块12用于根据IEEE1588 Packet Detection And Prceing11的通知为事件报文加入时间戳,该时间戳被携带在事件报文中。
Aplication Code13用于根据IEEE1588 CONTROL21的通知读取计数模块23的计数值。
IEEE1588 RTC14用于为时戳模块12提供时间,从而使时戳模块12可以根据该时间为事件报文加入时间戳。
IEEE1588 CONTROL21用于在计数模块23停止计数时通知AplicationCode13读取计数值。
IEEE1588 Packet Detection22用于在检测到物理层接收到MAC传输来的带有时间戳的事件报文时,获取物理层的发送FIFO缓冲器的当前深度,通知计数模块23开始为发送FIFO缓冲器的读时钟计数,并将该当前深度值提供给计数模块23。在检测到物理层接收到对端设备传输来的带有时间戳的事件报文时,获取物理层的接收FIFO缓冲器的当前深度,通知计数模块23开始为接收FIFO缓冲器的读时钟计数,并将该当前深度值提供给计数模块23。
计数模块23用于根据IEEE1588 Packet Detection22发送的开始针对发送FIFO缓冲器计数的通知开始对IEEE1588 CLOCK3倍频后的时钟周期计数,即对PLL输出的时钟周期计数,并在确定出从发送FIFO缓冲器中读取出发送FIFO缓冲器的当前深度的数据时,停止对IEEE1588 CLOCK3倍频后的时钟周期计数。根据IEEE1588 Packet Detection22发送的开始针对接收FIFO缓冲器计数的通知开始对IEEE1588 CLOCK3倍频后的时钟周期计数,即对PLL输出的时钟周期计数,并在确定出从接收FIFO缓冲器中读取出接收FIFO缓冲器的当前深度的数据时,停止对IEEE1588 CLOCK3倍频后的时钟周期计数。
PLL24用于对IEEE1588 CLOCK3进行倍频,从而可以提高计数模块23对设备本地时钟的时钟周期进行计数的准确性。在发送方向,本实施例的获取不对称延迟时间的装置获得带有时间戳的事件报文在PHY层的驻留时间的过程包括:设备在MAC层构造Event(事件)报文,Event报文如Sync(同步)报文、或者Folow up(随路)报文等。在MAC向PHY层发送Event报文时,IEEE1588Packet And Prceing11通知时戳模块12为该事件报文加入上时间戳,时戳模块12为事件报文加入的时间戳携带在Event报文中。当Event报文通过数据通道由MAC层到达PHY层时,Event报文被送到IEEE1588包检测模块22,由IEEE1588包检测模块22检测该报文中是否携带有时间戳,IEEE1588包检测模块22在检测出报文中携带有时间戳时,产生trig0信号,trig0信号用于触发计数模块23中的count0开始为设备本地时钟的时钟周期(即IEEE1588 CLOCK3倍频后的时钟周期)计数。在检测出报文携带有时间戳的同时,IEEE1588包检测应记录当前PHY层中的发送FIFO缓冲器的当前深度FIFO_CNT,并将当前深度存储为fifo_legth0提供给计数模块23。计数模块23为fifo_legth0设置reg_fifo_cnt0计数器,reg_fifo_cnt0计数器的初始值为fifo_legth0的值。计数模块23利用发送FIFO缓冲器的outputclk(输出时钟,即读时钟)采样发送FIFO缓冲器的rd(读)信号,如果计数模块23采样到的rd信号为有效rd信号,则reg_fifo_cnt0计数器的计数值减1。当reg_fifo_cnt0计数器的计数值变成0时,计数模块23中的计数器count0停止计数,并产生一个发送FIFO缓冲器已传送完的标志位,IEEE1588CONTROL21在检测到该标志位时,产生中断0,以通知Aplication Code13读取count0的计数值,Aplication Code13根据中断0通过MDIO(管理通道)接口读取计数器count0的计数值,计数器count0在被读取出计数值后清零。AplicationCode13位于应用层。Aplication Code13通过对接收到的计数器count0的计数值进行计算即可获得携带有时间戳信息的报文在PHY层的驻留时间,即T1。Aplication Code13计算驻留时间的计算公式可以为:residence time0(即T1)=count0的计数值×Tlocal clk(时钟周期的时长,即IEEE1588 CLOCK3倍频后的时钟周期的时长)。从上述描述可知,本实施例可通过软件计算出Event报文在PHY层的驻留时间T1。
上述count0的计数时序图如附图3A所示。
在图3A中,trig0信号由低电平跳转到高电平时,count0开始为本地时钟Local_clk(本地时钟,即PLL24输出的时钟信号)的时钟周期计数。在fifo_legth0的reg_fifo_cnt计数器的计数值为0时,trig0信号由高电平跳转到低电平,count0停止计数。图2中的rd表示rd信号的时序,rd为高电平时为有效读信号。
在接收方向,本实施例的获取不对称延迟时间的装置获得带有时间戳的事件报文在PHY层的驻留时间的过程包括:在PHY层接收到对端设备传输来的报文时,该报文被发送到IEEE1588包检测模块22,由IEEE1588包检测模块22检测该报文中是否携带有时间戳,IEEE1588包检测模块22在检测出报文中携带有时间戳时,获知该报文为事件报文,产生trig1信号,trig1信号用于触发计数模块23中的count1开始为本地时钟的时钟周期计数。在检测出报文携带有时间戳的同时,IEEE1588包检测应记录当前PHY层中的接收FIFO缓冲器的当前深度FIFO_CNT,并将当前深度存储为fifo_legth1提供给计数模块23。计数模块23可以为fifo_legth1设置reg_fifo_cnt1计数器,reg_fifo_cnt1计数器的初始值为fifo_legth1的值。计数模块23利用接收FIFO缓冲器的outputclk(输出时钟,即读时钟)采样接收FIFO缓冲器的rd(读)信号,如果采样到的rd信号为有效rd信号,则reg_fifo_cnt1计数器的计数值减1。当reg_fifo_cnt1计数器的计数值变成0时,计数模块23中的计数器count1停止计数,并标记一个接收FIFO缓冲器已传送完的标志位IEEE1588 CONTROL21在检测到该标志位时,产生中断1,以通知Aplication Code13读取count1的计数值,Aplication Code13根据中断1通过MDIO接口读取计数器count1的计数值,计数器count1在被读取出计数值后清零。Aplication Code13通过对接收到的计数器count1的计数值进行计算即可获得携带有时间戳信息的报文在PHY层的驻留时间,即T2。Aplication Code13计算驻留时间T2的计算公式可以为:residence time1(即T2)=count1的计数值×Tlocalclk(时钟周期的时长)。从上述描述可知,本实施例可通过软件计算出event报文在PHY层的驻留时间T2。
本实施例的获取不对称延迟时间的装置根据上述驻留时间进行时间同步的过程包括:Aplication Code13计算物理层延迟时间PHY_delayAsymmetry,Aplication Code13可以使用软件进行计算。PHY_delayAsymmetry的计算公式可以为:
PHY_delayAsymmetry=residence time 1-residence time0+Tphy;
其中:Tphy为设备的生产厂家提供的物理层固有延时。
Aplication Code13测量出传输线路的长度,如Aplication Code13通过现有的OTTR(光纤测量技术)技术来测量光纤的长度,在测量出光纤的长度后,Aplication Code13可以通过软件利用光纤的长度计算出报文在光纤中的传输延迟时间Fiber_delayAsymmetry。
Aplication Code13利用如下公式计算出不对称延迟时间delayAsymmetry:
delayAsymmetry=Fiber_delayAsymmetry+PHY_delayAsymmetry;
Aplication Code13可以利用软件计算出不对称延迟时间delayAsymmetry。
Aplication Code13可以利用如下公式计算出tms和tsm:
tms=<meanPathDelay>+delayAsymmetry;
tsm=<meanPathDelay>-delayAsymmetry;
其中,tms为从本地设备到对端设备方向的延迟时间,tsm为从对端设备到本地设备方向的延迟时间。
Aplication Code13根据tms和tsm进行时间同步处理,从而实现了通信链路的时间同步。
实施例四、获取不对称延迟时间的同步装置。下面以该装置应用在一个具体单板为例对本实施例的获取不对称延迟时间的装置进行说明。本实施例中该具体该单板的型号为CR56LPUF100A,该单板结构的简单示意如附图4所示。
图4中的单板包括左侧1、右侧2和IEEE1588 CLOCK3,左侧1示意出了位于MAC层以及MAC层以上层的各单元,右侧2示意出位于PHY层的各单元,IEEE1588 CLOCK3为左侧1和右侧2提供时钟信号。
本实施例的获取不对称延迟时间的装置包括:IEEE1588 Packet DetectionAnd Prceing 11、时戳模块12、Aplication Code13、IEEE1588 RTC14、IEEE1588CONTROL21、IEEE1588 Packet Detection模块22、PLL24、时戳模块25、和IEEE1588 RTC26。其中的IEEE1588 Packet Detection And Prceing 11、时戳模块12和IEEE1588 RTC14可以实现上述实施例二中第一时间戳子模块221执行的操作,其中的IEEE1588 CONTROL2、IEEE1588 Packet Detection22、PLL24、时戳模块25、和IEEE1588 RTC26可以实现上述实施例二中第二时间戳子模块225、第三时间戳子模块2212和第四时间戳子模块2213执行的操作,其中的AplicationCode13可以实现上述实施例二中第二计算子模块226和第五计算子模块2214执行的操作。
IEEE1588 Packet Detection And Prceing 11用于在检测到MAC层向物理层发送事件报文时,通知时戳模块12为事件报文加入第一时间戳。在检测到物理层向MAC层发送来的事件报文时,触发时戳模块12为该事件报文加入第四时间戳。
时戳模块12用于根据IEEE 1588 Packet Detection And Prceing 11的通知为事件报文加入第一时间戳和第四时间戳,第一时间戳和第四时间戳都被携带在事件报文中。
Aplication Code13用于根据IEEE1588 CONTROL21的通知读取时戳模块25存储的第二时间戳和第三时间戳。
IEEE1588 RTC14用于为时戳模块12提供时间,从而使时戳模块12可以根据该时间为事件报文加入时间戳。
IEEE1588 CONTROL21用于在时戳模块25为事件报文记录时间戳后通知Aplication Code13读取时间戳。
IEEE1588 Packet Detection22用于在检测到物理层接收到MAC传输来的带有时间戳的事件报文时,通知时戳模块25为事件报文记录第二时间戳。在检测到物理层接收到对端设备传输来的带有时间戳的事件报文时,通知时戳模块25为事件报文记录第三时间戳。
PLL24用于对IEEE1588 CLOCK3进行倍频,从而可以提高IEEE1588 RTC26的时间精度。时戳模块25用于根据IEEE1588 Packet Detection22的通知为事件报文记录时间戳。
IEEE1588 RTC26用于为时戳模块25提供时间,从而使时戳模块25可以根据该时间为事件报文记录时间戳。
在发送方向,本实施例的获取不对称延迟时间的装置获得带有时间戳的事件报文在PHY层的驻留时间的过程包括:设备在MAC层构造Event报文,在MAC与PHY之间的接口处时戳模块12为Event报文加入上第一时间戳,即IEEE1588Packet And Prceing11通知时戳模块12为该事件报文加入第一时间戳,时戳模块12为事件报文加入的第一时间戳携带在Event报文中,时戳模块12还可以本地存储该事件报文的第一时间戳。当Event报文通过数据通道由MAC层到达PHY层时,Event报文被送到IEEE1588包检测模块22,由IEEE1588包检测模块22检测该Event报文中是否携带有时间戳,IEEE1588包检测模块22在检测出Event报文中携带有时间戳时,通知时戳模块25为该事件报文记录第二时间戳,时戳模块25本地存储该第二时间戳。时戳模块25产生已为发送的事件报文记录时间戳的标志位,IEEE1588 CONTROL21在检测到该标志位时,产生中断0,以通知Aplication Code13读取第二时间戳,Aplication Code13根据中断0通过MDIO接口读取第二时间戳。Aplication Code13还需要从时戳模块12处获取该事件报文的第一时间戳。Aplication Code13通过对获取到的第一时间戳和第二时间戳进行计算即可获得携带有时间戳信息的事件报文在PHY层的驻留时间,即T1。从上述描述可知,本实施例可通过软件计算出Event报文在PHY层的驻留时间T1。
在接收方向,本实施例的获取不对称延迟时间的装置获得带有时间戳的事件报文在PHY层的驻留时间的过程包括:在PHY层接收到对端设备传输来的报文时,该报文被发送到IEEE1588包检测模块22,由IEEE1588包检测模块22检测该报文中是否携带有时间戳,IEEE1588包检测模块22在检测出报文中携带有时间戳时,获知该报文为事件报文,通知时戳模块25为该事件报文记录第三时间戳,时戳模块25本地存储该第三时间戳。时戳模块25产生已为接收的事件报文记录时间戳的标志位,IEEE1588 CONTROL21在检测到该标志位时,产生中断1,以通知Aplication Code13读取第三时间戳,Aplication Code13根据中断1通过MDIO接口读取第三时间戳。该事件报文由物理层传输至MAC层时,被送到IEEE1588 Packet And Prceing11,IEEE1588 Packet And Prceing11在检测出接收到的报文携带有时间戳时,获知该报文为事件报文,通知时戳模块12为该事件报文加入第四时间戳,第四时间戳可以携带在该事件报文中。时戳模块12可以本地存储该第四时间戳,Aplication Code13可以从事件报文中获取第四时间戳,Aplication Code13也可以从时戳模块12中获取第四时间戳。Aplication Code13通过对获取到的第三时间戳和第四时间戳进行计算即可获得携带有时间戳信息的事件报文在PHY层的驻留时间,即T2。从上述描述可知,本实施例可通过软件计算出Event报文在PHY层的驻留时间T2。
本实施例的获取不对称延迟时间的装置根据上述驻留时间进行时间同步的过程与上述实施例三的描述相同,在此不再重复说明。
实施例五、获取不对称延迟时间的装置。下面以该装置应用在一个具体单板为例对本实施例的获取不对称延迟时间的装置进行说明。本实施例中该具体该单板的型号为CR56LPUF100A,该单板结构的简单示意如附图5所示。
图5中的单板包括左侧1、物理层2和IEEE1588 CLOCK3,左侧1示意出了位于MAC层以及MAC层以上层的各单元,IEEE1588 CLOCK3为左侧1和物理层2提供时钟信号。
本实施例的获取不对称延迟时间的装置设置于Aplication Code13中,即Aplication Code13可以实现上述实施例二中第一拥塞度子模块227、第三计算子模块228、第二拥塞度子模块2215和第六计算子模块2216执行的操作。
在发送方向,本实施例的获取不对称延迟时间的装置获得带有时间戳的事件报文在PHY层的驻留时间的过程包括:Aplication Code13周期性记录PHY层中发送FIFO缓冲器的当前深度值,Aplication Code13根据周期性记录的发送FIFO缓冲器的当前深度值计算发送FIFO的平均拥塞值。该平均拥塞值即为该周期对应的当前拥塞度。Aplication Code13利用当前拥塞度来计算携带有时间戳的事件报文在PHY层的驻留时间。Aplication Code13计算平均拥塞度的一个具体例子为:Aplication Code13周期性的读取发送FIFO缓冲器的当前深度值,并将读取的当前深度值放入缓存中,在缓存中的当前深度值达到一定数量(如10个)时,每向缓存中存储一个当前深度值,则丢弃一个当前深度值,丢弃的当前深度值应该是存储时间最长的当前深度值。在需要计算平均拥塞值时,发送FIFO缓冲器计算缓存中存储的当前深度值的平均值。发送FIFO缓冲器计算驻留时间的一个具体例子为:发送FIFO缓冲器将平均拥塞值与设备本地时钟的时钟周期的时长相乘,获得的乘积即为时间报文在PHY层中的驻留时间。
在接收方向,本实施例的获取不对称延迟时间的装置获得带有时间戳的事件报文在PHY层的驻留时间的过程包括:Aplication Code13周期性记录PHY层中接收FIFO缓冲器的当前深度值,Aplication Code13根据周期性记录的接收FIFO缓冲器的当前深度值计算接收FIFO的平均拥塞度。该平均拥塞值即为该周期对应的当前拥塞度。Aplication Code13利用当前拥塞度来计算携带有时间戳的事件报文在PHY层的驻留时间。
本实施例的获取不对称延迟时间的装置根据上述驻留时间进行时间同步的过程与上述实施例三的描述相同,在此不再重复说明。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到本发明可借助软件加必需的硬件平台的方式来实现,当然也可以全部通过硬件来实施,但很多情况下前者是更佳的实施方式。基于这样的理解,本发明的技术方案对背景技术做出贡献的全部或者部分可以以软件产品的形式体现出来,所述的软件产品在可以用于执行上述的方法流程。该计算机软件产品可以存储在存储介质中,如ROM/RAM、磁碟、光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例或者实施例的某些部分所述的方法。
虽然通过实施例描绘了本发明,本领域普通技术人员知道,本发明有许多变形和变化而不脱离本发明的精神,本发明的申请文件的权利要求包括这些变形和变化。
Claims (14)
1.一种获取不对称延迟时间的方法,其特征在于,包括:
获取报文在设备物理层的发送先进先出缓冲器中的驻留时间T1,并获取报文在所述设备物理层的接收先进先出缓冲器中的驻留时间T2;
根据所述T1和T2的差值、所述物理层固有延迟时间与传输线路延迟时间三者之和获得不对称延迟时间。
2.如权利要求1所述的方法,其特征在于,所述获取报文在设备物理层的发送先进先出缓冲器中的驻留时间T1包括:
在事件报文从媒质接入控制MAC层向物理层发送时,为所述事件报文加入时间戳;
在检测出所述物理层接收到所述MAC层发送的带有所述时间戳的报文时,根据时钟周期数量和时钟周期的时长的乘积获取所述驻留时间T1,所述时钟周期数量为:从所述发送先进先出缓冲器中读取出当前深度的数据所消耗的所述设备本地时钟的时钟周期数量,所述当前深度为:在检测出所述物理层接收到所述MAC层发送的带有所述时间戳的报文时,获取的所述物理层的发送先进先出缓冲器的当前深度。
3.如权利要求1所述的方法,其特征在于,所述获取报文在设备物理层的发送先进先出缓冲器中的驻留时间T1包括:
在事件报文从MAC层向物理层发送时,为所述事件报文加入第一时间戳;
在所述事件报文从物理层向对端设备的物理层发送时,为所述事件报文记录第二时间戳;
根据所述第一时间戳和第二时间戳的差值获取所述驻留时间T1。
4.如权利要求1所述的方法,其特征在于,所述获取报文在设备物理层的发送先进先出缓冲器中的驻留时间T1包括:
在事件报文从MAC层向物理层发送时,根据当前拥塞度和所述设备本地时钟的时钟周期的时长的乘积获取所述驻留时间T1,所述当前拥塞度为:在事件报文从MAC层向物理层发送时,获取的所述物理层中发送先进先出缓冲器的当前拥塞度。
5.如权利要求1至4中任一权利要求所述的方法,其特征在于,所述获取报文在所述设备物理层的接收先进先出缓冲器中的驻留时间T2包括:
在检测出所述物理层接收到对端设备发送的带有时间戳的报文时,
根据时钟周期数量和所述时钟周期的时长的乘积获取所述驻留时间T2,所述时钟周期数量为:从所述接收先进先出缓冲器中读取出当前深度的数据所消耗的所述设备本地时钟的时钟周期数量,所述当前深度为:在检测出所述物理层接收到对端设备发送的带有时间戳的事件报文时,获取的所述物理层的接收先进先出缓冲器的当前深度。
6.如权利要求1至4中任一权利要求所述的方法,其特征在于,所述获取报文在所述设备物理层的接收先进先出缓冲器中的驻留时间T2包括:
在检测出所述物理层接收到对端设备发送来的带有时间戳的事件报文时,为所述事件报文记录第三时间戳;
在所述事件报文从所述物理层向MAC层发送时,为所述事件报文加入第四时间戳;
根据所述第三时间戳和第四时间戳的差值获取所述驻留时间T2。
7.如权利要求1至4中任一权利要求所述的方法,其特征在于,所述获取报文在所述设备物理层的接收先进先出缓冲器中的驻留时间T2包括:
在对端设备传输来的携带有时间戳的事件报文从物理层向MAC层发送时,获取所述物理层中接收先进先出缓冲器的当前拥塞度;
根据所述当前拥塞度和所述设备本地时钟的时钟周期的时长的乘积获取所述驻留时间T2。
8.一种获取不对称延迟时间的装置,其特征在于,包括:
第一获取模块,用于获取报文在设备物理层的发送先进先出缓冲器中的驻留时间T1,并获取报文在所述设备物理层的接收先进先出缓冲器中的驻留时间T2;
第二获取模块,用于根据所述T1和T2的差值、所述物理层固有延迟时间与传输线路延迟时间三者之和获得不对称延迟时间。
9.如权利要求8所述的装置,其特征在于,所述第一获取模块包括:
第一时间戳子模块,用于在事件报文从MAC层向物理层发送时,为所述事件报文加入时间戳;
第一获取深度子模块,用于在所述物理层接收到所述MAC层发送的所述事件报文时,获取所述物理层的发送先进先出缓冲器的当前深度;
第一计数子模块,用于在所述物理层接收到所述MAC层发送的所述事件报文时,确定对从所述发送先进先出缓冲器中读取出所述当前深度的数据所消耗的所述设备本地时钟的时钟周期数量;
第一计算子模块,用于根据所述第一计数子模块确定的时钟周期数量和所述时钟周期的时长的乘积获取所述驻留时间T1。
10.如权利要求8所述的装置,其特征在于,所述第一获取模块包括:
第一时间戳子模块,用于在事件报文从MAC层向物理层发送时,为所述事件报文加入第一时间戳;
第二时间戳子模块,用于在所述事件报文从物理层向对端设备的物理层发送时,为所述事件报文记录第二时间戳;
第二计算子模块,用于根据所述第一时间戳和第二时间戳的差值获取所述驻留时间T1。
11.如权利要求8所述的装置,其特征在于,所述第一获取模块包括:
第一拥塞度子模块,用于在事件报文从MAC层向物理层发送时,获取所述物理层中发送先进先出缓冲器的当前拥塞度;
第三计算子模块,用于根据所述第一拥塞度子模块获取的当前拥塞度和所述设备本地时钟的时钟周期的时长的乘积获取所述驻留时间T1。
12.如权利要求8至11中任一权利要求所述的装置,其特征在于,所述第一获取模块包括:
第二获取深度子模块,用于在所述物理层接收到对端设备发送的带有时间戳的事件报文时,获取所述物理层的接收先进先出缓冲器的当前深度;
第二计数子模块,用于在所述物理层接收到对端设备发送的带有时间戳的事件报文时,确定对从所述接收先进先出缓冲器中读取出所述当前深度的数据所消耗的所述设备本地时钟的时钟周期数量;
第四计算子模块,用于根据所述第二计数子模块确定的时钟周期数量和所述时钟周期的时长的乘积获取所述驻留时间T2。
13.如权利要求8至11中任一权利要求所述的装置,其特征在于,所述第一获取模块包括:
第三时间戳子模块,用于在所述物理层接收到对端设备发送来的事件报文时,为所述事件报文记录第三时间戳;
第四时间戳子模块,用于在所述事件报文从所述物理层向MAC层发送时,为所述事件报文加入第四时间戳;
第五计算子模块,用于获取第三时间戳和第四时间戳,并根据所述第三时间戳和第四时间戳的差值获取所述驻留时间T2。
14.如权利要求8至11中任一权利要求所述的装置,其特征在于,所述第一获取模块包括:
第二拥塞度子模块,用于在对端设备传输来的携带有时间戳的事件报文从物理层向MAC层发送时,获取所述物理层中接收先进先出缓冲器的当前拥塞度;
第六计算子模块,用于根据所述第二拥塞度子模块获取的当前拥塞度和所述设备本地时钟的时钟周期的时长的乘积获取所述驻留时间T2。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN2010101446276A CN101814984B (zh) | 2010-04-09 | 2010-04-09 | 获取不对称延迟时间的方法和装置 |
PCT/CN2011/072180 WO2011124113A1 (zh) | 2010-04-09 | 2011-03-25 | 获取不对称延迟时间的方法和装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN2010101446276A CN101814984B (zh) | 2010-04-09 | 2010-04-09 | 获取不对称延迟时间的方法和装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN101814984A true CN101814984A (zh) | 2010-08-25 |
CN101814984B CN101814984B (zh) | 2012-06-27 |
Family
ID=42622113
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN2010101446276A Expired - Fee Related CN101814984B (zh) | 2010-04-09 | 2010-04-09 | 获取不对称延迟时间的方法和装置 |
Country Status (2)
Country | Link |
---|---|
CN (1) | CN101814984B (zh) |
WO (1) | WO2011124113A1 (zh) |
Cited By (14)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102136968A (zh) * | 2011-01-07 | 2011-07-27 | 华为技术有限公司 | 测量报文在以太交换设备中的延时的方法及以太交换设备 |
WO2011124113A1 (zh) * | 2010-04-09 | 2011-10-13 | 华为技术有限公司 | 获取不对称延迟时间的方法和装置 |
CN102916743A (zh) * | 2012-08-01 | 2013-02-06 | 大唐电信(成都)信息技术有限公司 | 一种时间延迟不对称差值精准测量的方法 |
CN103401813A (zh) * | 2013-08-20 | 2013-11-20 | 北京华为数字技术有限公司 | 一种非对称延迟补偿方法及交换机 |
CN103929293A (zh) * | 2013-01-15 | 2014-07-16 | 电子科技大学 | 非对称延迟的时间同步方法及系统 |
CN104244302A (zh) * | 2013-06-19 | 2014-12-24 | 中国移动通信集团公司 | 一种不对称链路的检测方法及设备 |
CN106211306A (zh) * | 2015-04-30 | 2016-12-07 | 华为技术有限公司 | 一种通信网络延时抖动平滑方法、装置及系统 |
CN106302244A (zh) * | 2016-08-11 | 2017-01-04 | 自连电子科技(上海)有限公司 | 一种消除网络传输抖动的设备及其方法 |
CN107438990A (zh) * | 2015-04-07 | 2017-12-05 | 高通股份有限公司 | 多层定时同步框架 |
CN107450534A (zh) * | 2017-07-28 | 2017-12-08 | 珞石(山东)智能科技有限公司 | 用于处理机器人网络通信抖动的鲁棒规划系统 |
CN107526643A (zh) * | 2017-07-20 | 2017-12-29 | 郑州云海信息技术有限公司 | 一种消息延迟发送的方法及系统 |
CN111008002A (zh) * | 2019-12-06 | 2020-04-14 | 盛科网络(苏州)有限公司 | 自动计算并更新fifo深度的装置和方法 |
CN111327657A (zh) * | 2018-12-14 | 2020-06-23 | 诺基亚通信公司 | 数据缓冲的方法、设备和计算机可读介质 |
WO2021077289A1 (zh) * | 2019-10-22 | 2021-04-29 | 华为技术有限公司 | 一种同步方法及设备 |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP3382918B1 (en) | 2017-03-30 | 2022-09-28 | ADVA Optical Networking SE | System and method of clock management in a packet data network |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1675864A (zh) * | 2002-06-24 | 2005-09-28 | 霍尼韦尔国际公司 | 容错以太网中的时钟同步方法 |
EP1659718A2 (de) * | 2004-11-19 | 2006-05-24 | Bosch Rexroth AG | Synchronisatonsverfahren und Steuerungssystem für die Synchronisation von Nebeneinheiten, sowie synchronisierbare Nebeneinheit |
EP1801687A1 (en) * | 2005-12-23 | 2007-06-27 | Agilent Technologies, Inc. | Correcting time synchronization inaccuracy caused by internal asymmetric delays in a communication device |
CN101098219A (zh) * | 2005-12-23 | 2008-01-02 | 安捷伦科技有限公司 | 校正由通信链路上的不对称延迟导致的时间同步误差 |
CN101636662A (zh) * | 2007-03-06 | 2010-01-27 | 罗伯特·博世有限公司 | 在集成电路内确定信号路径的不对称信号延迟的方法 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101814984B (zh) * | 2010-04-09 | 2012-06-27 | 华为技术有限公司 | 获取不对称延迟时间的方法和装置 |
-
2010
- 2010-04-09 CN CN2010101446276A patent/CN101814984B/zh not_active Expired - Fee Related
-
2011
- 2011-03-25 WO PCT/CN2011/072180 patent/WO2011124113A1/zh active Application Filing
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1675864A (zh) * | 2002-06-24 | 2005-09-28 | 霍尼韦尔国际公司 | 容错以太网中的时钟同步方法 |
EP1659718A2 (de) * | 2004-11-19 | 2006-05-24 | Bosch Rexroth AG | Synchronisatonsverfahren und Steuerungssystem für die Synchronisation von Nebeneinheiten, sowie synchronisierbare Nebeneinheit |
EP1801687A1 (en) * | 2005-12-23 | 2007-06-27 | Agilent Technologies, Inc. | Correcting time synchronization inaccuracy caused by internal asymmetric delays in a communication device |
CN101098219A (zh) * | 2005-12-23 | 2008-01-02 | 安捷伦科技有限公司 | 校正由通信链路上的不对称延迟导致的时间同步误差 |
CN101636662A (zh) * | 2007-03-06 | 2010-01-27 | 罗伯特·博世有限公司 | 在集成电路内确定信号路径的不对称信号延迟的方法 |
Cited By (24)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2011124113A1 (zh) * | 2010-04-09 | 2011-10-13 | 华为技术有限公司 | 获取不对称延迟时间的方法和装置 |
WO2012092789A1 (zh) * | 2011-01-07 | 2012-07-12 | 华为技术有限公司 | 测量报文在以太交换设备中的延时的方法及以太交换设备 |
CN102136968B (zh) * | 2011-01-07 | 2013-04-24 | 华为技术有限公司 | 测量报文在以太交换设备中的延时的方法及以太交换设备 |
CN102136968A (zh) * | 2011-01-07 | 2011-07-27 | 华为技术有限公司 | 测量报文在以太交换设备中的延时的方法及以太交换设备 |
CN102916743B (zh) * | 2012-08-01 | 2016-04-20 | 大唐电信(成都)信息技术有限公司 | 一种时间延迟不对称差值精准测量的方法 |
CN102916743A (zh) * | 2012-08-01 | 2013-02-06 | 大唐电信(成都)信息技术有限公司 | 一种时间延迟不对称差值精准测量的方法 |
CN103929293B (zh) * | 2013-01-15 | 2017-02-22 | 电子科技大学 | 非对称延迟的时间同步方法及系统 |
CN103929293A (zh) * | 2013-01-15 | 2014-07-16 | 电子科技大学 | 非对称延迟的时间同步方法及系统 |
CN104244302A (zh) * | 2013-06-19 | 2014-12-24 | 中国移动通信集团公司 | 一种不对称链路的检测方法及设备 |
CN104244302B (zh) * | 2013-06-19 | 2018-11-02 | 中国移动通信集团公司 | 一种不对称链路的检测方法及设备 |
CN103401813B (zh) * | 2013-08-20 | 2016-08-10 | 北京华为数字技术有限公司 | 一种非对称延迟补偿方法及交换机 |
CN103401813A (zh) * | 2013-08-20 | 2013-11-20 | 北京华为数字技术有限公司 | 一种非对称延迟补偿方法及交换机 |
CN107438990A (zh) * | 2015-04-07 | 2017-12-05 | 高通股份有限公司 | 多层定时同步框架 |
CN107438990B (zh) * | 2015-04-07 | 2020-10-02 | 高通股份有限公司 | 用于递送定时信息的方法和设备 |
CN106211306B (zh) * | 2015-04-30 | 2020-04-03 | 华为技术有限公司 | 一种通信网络延时抖动平滑方法、装置及系统 |
CN106211306A (zh) * | 2015-04-30 | 2016-12-07 | 华为技术有限公司 | 一种通信网络延时抖动平滑方法、装置及系统 |
US10389645B2 (en) | 2015-04-30 | 2019-08-20 | Huawei Technologies Co., Ltd. | Communications network delay variation smoothing method, apparatus, and system |
CN106302244A (zh) * | 2016-08-11 | 2017-01-04 | 自连电子科技(上海)有限公司 | 一种消除网络传输抖动的设备及其方法 |
CN107526643A (zh) * | 2017-07-20 | 2017-12-29 | 郑州云海信息技术有限公司 | 一种消息延迟发送的方法及系统 |
CN107450534A (zh) * | 2017-07-28 | 2017-12-08 | 珞石(山东)智能科技有限公司 | 用于处理机器人网络通信抖动的鲁棒规划系统 |
CN111327657A (zh) * | 2018-12-14 | 2020-06-23 | 诺基亚通信公司 | 数据缓冲的方法、设备和计算机可读介质 |
WO2021077289A1 (zh) * | 2019-10-22 | 2021-04-29 | 华为技术有限公司 | 一种同步方法及设备 |
CN111008002A (zh) * | 2019-12-06 | 2020-04-14 | 盛科网络(苏州)有限公司 | 自动计算并更新fifo深度的装置和方法 |
CN111008002B (zh) * | 2019-12-06 | 2022-04-08 | 苏州盛科通信股份有限公司 | 自动计算并更新fifo深度的装置和方法 |
Also Published As
Publication number | Publication date |
---|---|
CN101814984B (zh) | 2012-06-27 |
WO2011124113A1 (zh) | 2011-10-13 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN101814984B (zh) | 获取不对称延迟时间的方法和装置 | |
CN102148652B (zh) | 一种测量网络时钟同步的系统和方法 | |
CN102449940B (zh) | 执行节点之间的时间同步的网络同步方法及装置 | |
CN101330374B (zh) | 传输网中的时钟同步方法、系统和从时钟侧实体 | |
US8675665B2 (en) | Clock synchronization system, its method and program | |
CN101425865B (zh) | 传输网中的时钟同步方法、系统和从时钟侧实体 | |
CN104836630B (zh) | Ieee1588时钟同步系统及其实现方法 | |
KR101175882B1 (ko) | 분산형 아키텍처 내에서 공통 시간 기준을 분배하는 방법 및 시스템 | |
WO2018006686A1 (zh) | 一种通信网络设备间时间同步的优化方法、装置及设备 | |
CN107360060B (zh) | 一种时延测量方法及装置 | |
CN106603183B (zh) | 一种时间戳过滤方法及装置 | |
CN106357362B (zh) | 一种时间同步方法、装置及ptp系统 | |
CN111211856B (zh) | 基于wr协议的有线地震仪时间同步系统及方法 | |
US9270607B2 (en) | Method and devices for packet selection | |
CN107786293B (zh) | 时间同步方法、主时钟设备、从时钟设备及时间同步系统 | |
CN108872910B (zh) | 一种用于电能质量监测装置在线检定的校时系统及方法 | |
CN103378993A (zh) | 基于ptp的从时钟监测方法 | |
CN102546142A (zh) | 透明时钟的频率同步方法以及同步报文的存储转发方法 | |
CN109150351A (zh) | 一种应用于变电站的utc时间实现方法及系统 | |
CN202353572U (zh) | 电子式互感器合并单元的ieee1588时间同步系统 | |
CN115801175A (zh) | 时间频率同步方法、系统、存储介质及电子设备 | |
CN102710359B (zh) | 一种基于ieee1588的精确时钟频率同步方法及装置 | |
CN108683472A (zh) | 一种基于延时测量的时钟同步方法 | |
CN101867431B (zh) | 一种网络时钟同步方法 | |
CN103905137B (zh) | 基于fpga的同步脉冲抖动抑制方法及系统 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20120627 |
|
CF01 | Termination of patent right due to non-payment of annual fee |