CN108683470B - 一种获取和更新透明时钟的电路及方法 - Google Patents
一种获取和更新透明时钟的电路及方法 Download PDFInfo
- Publication number
- CN108683470B CN108683470B CN201810268192.2A CN201810268192A CN108683470B CN 108683470 B CN108683470 B CN 108683470B CN 201810268192 A CN201810268192 A CN 201810268192A CN 108683470 B CN108683470 B CN 108683470B
- Authority
- CN
- China
- Prior art keywords
- transparent clock
- module
- updating
- register
- value
- 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
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
-
- 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)
- Synchronisation In Digital Transmission Systems (AREA)
- Small-Scale Networks (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
一种获取和更新透明时钟的电路及方法,包括:MII接口监听模块,到达时间戳记录模块,计时器,MAC层处理模块,离开时间戳记录模块,透明时钟计算模块,透明时钟更新模块和到达时间戳表和配置参数表。时间触发以太网中一项关键的技术就是时钟同步。时钟同步是将分布设备的时钟维持同步,而透明时钟技术是实现时钟同步的方法之一。本发明针对透明时钟的获取及更新提出了一种电路实现。本发明具有能够快速获取精确透明时钟,并且可以及时修改同步消息中的透明时钟值的优点,能够为高精度时钟同步提供基础保证。
Description
技术领域
本发明提出的一种获取和更新透明时钟的电路及方法,主要在时间触发以太网中应用,属于智能信号处理电路领域。
背景技术
时间触发以太网是一种新型的实时以太网架构,在该架构中,所有通信动作都严格按照时间表进行驱动,通过设计时间表可以保证整个网络进行无冲突通信,即所有数据包不会发生资源竞争的情况,从而具备了强实时、延迟抖动小的特性。这些特性使得时间触发以太网非常适合应用于工控、航空航天、汽车电子以及机器人等对实时性有严格要求的***。同时,时间触发以太网又具备传统以太网的高带宽、易扩展等优势,因此,时间触发以太网是一项很有应用前景的技术。
时间触发以太网中一项关键的技术就是时钟同步。时钟同步是将分布设备的时钟维持同步,而透明时钟技术是实现时钟同步的方法之一。本发明针对透明时钟的获取及更新提出了一种电路实现。
在时间触发以太网中,透明时钟的获取主要包含两部分:链路延迟获取和设备驻留时间获取。目前,链路延迟获取主要采用IEEE 1588协议中的点对点传输测量机制,但是,该机制需要多次“握手”发包,不适用于时间触发以太网中单包传输的协议要求。而设备驻留时间的获取比较麻烦,现有方法主要有软件测量法、硬件测量法。其中,软件测量法实现简单,但是由于采用CPU计时,精度很低;硬件测量法通过设计专用硬件,在设备的进出口对同步消息进行时间戳标记,从而获得数据包的设备驻留时间,精度高,实现复杂。
现有方法主要存在的问题:无法将获取的链路延迟和设备驻留时间写入同步消息中。在时间触发以太网中,同步消息在网络中传输时,设备和链路需要及时更新同步消息的透明时钟值,也就是把同步消息在该设备中的驻留时间和在链路上的链路延迟及时更新至同步消息的透明时钟域。目前的方法可以获得链路延迟和设备驻留时间,但是不能将这些值及时更新至同步消息的透明时钟域。
发明内容
本发明解决的技术问题是:针对现有技术存在无法在网络设备中及时更新同步消息的透明时钟值的难题,本发明提出一种获取和更新透明时钟的电路及方法。由于透明时钟域只能在同步消息未离开设备之前修改,而同步消息在设备中的驻留时间需要同步消息离开设备时才能计算,因此,无法将真实的驻留时间写入同步消息中,我们需要在同步消息离开设备之前,对同步消息的设备驻留时间提前估算,并更新同步消息中的透明时钟域。为了使得估算结果接近真实驻留时间,本发明设计的硬件电路可以保证:从驻留时间计算开始到同步消息离开结束,这段时间近似为常数时间,从而可以提前得到近似的设备驻留时间。同时,链路延迟也需要在网络设备中进行测量,并更新至同步消息中。由于链路延迟的不确定性主要是由环境温度、线路老化等因素引起的,因此链路延迟在一段时间内会维持不变,本发明中,会对链路的链路延迟进行定期更新,而在透明时钟计算时,按照最近更新的链路延迟进行计算,不进行实时测量。
本发明的技术方案为:一种获取和更新透明时钟的电路,包括:MII接口监听模块、到达模块、MAC层处理模块、透明时钟更新模块、离开时间戳记录模块、透明时钟计算模块;其中透明时钟计算模块包括寄存器;
MII接口监听模块监听MII接口,当发现MII接口从外部接收到的消息为同步消息时,MII接口监听模块向到达时间戳记录模块发送到达信号,并将同步消息发送给MAC层处理模块;到达模块收到到达信号后,读取当前时间TSstart,并将该当前时间TSstart记录,同时将同步消息中的透明时钟域值存储;当同步消息被MAC层处理模块排队处理完后申请发送资源,准备好发送该同步消息时,离开时间戳记录模块发送阻塞信号,将MAC层处理模块同步消息的发送进程阻塞,并读取当前时间TSend放入寄存器,同时离开时间戳记录模块向透明时钟计算模块发送计算信号;透明时钟计算模块读取同步消息的到达时间戳TSstart放入寄存器,并读取透明时钟域的值,即同步消息的当前透明时钟值TCold放入寄存器,同时透明时钟计算模块读取计算更新延迟CMD和链路延迟LD放入寄存器;透明时钟计算模块根据寄存器中的TSend、TSstart、CMD、LD和TCold的值,计算新的透明时钟值TCnew并将该值TCnew写入寄存器中,再向透明时钟更新模块发送更新信号,透明时钟更新模块将寄存器中的值写入MAC层处理模块存储的同步消息的透明时钟域,再向MAC层处理模块发送继续信号;MAC层处理模块收到继续信号后,继续发送之前被阻塞的同步消息发送进程。
到达模块,包括;到达时间戳记录模块、到达时间戳表;到达时间戳记录模块收到MI I接口监听模块发送的到达信号后,读取计时器的当前时间TSstart,并将该当前时间TSstart写入到达时间戳表,同时将同步消息中的透明时钟域值存入到达时间戳表;同步消息中存储了透明时钟域值。
还包括计时器,到达时间戳记录模块收到MI I接口监听模块发送的到达信号后,当前时间TSstart从计时器读取;阻塞信号将MAC层处理模块同步消息的发送进程阻塞,当前时间TSend从计时器读取。
寄存器包括寄存器R0~R5,寄存器R0~R5的存储内容如下:
将当前时间TSend放入寄存器R0,将TSstart存入寄存器R1,将同步消息的当前透明时钟值TCold存入寄存器R2,同时透明时钟计算模块从配置参数表中读取计算更新延迟CMD和链路延迟LD,CMD存入寄存器R3,链路延迟LD存入寄存器R4;透明时钟计算模块根据从R0获取TSend,从R1中获取TSstart,从R3中获取CMD,从R4中获取LD,从R2中获取TCold的值,计算新的透明时钟值TCnew并将该值TCnew写入寄存器R5中。
传输的同步消息将以太网802.3协议帧中类型Type字段置为0x88D7;阻塞信号用于在MAC层处理模块中暂时停止对同步消息的发送,在收到继续信号后,同步消息被传输出去。
传输的透明时钟域,透明时钟域是指在消息传输过程中,截止当前的通过各级传输消耗的时间总和,透明时钟域的值记录了该传输消耗时间的数值。
更新延迟CMD和链路延迟LD,更新延迟CMD指同步消息在本模块中停留的时间,链路延迟LD是指同步消息在本模块向下一个模块传输消耗的时间。
还包括配置参数表,所述的配置参数表中至少包含计算更新延迟CMD和链路延迟LD;透明时钟计算模块从配置参数表中读取计算更新延迟CMD和链路延迟LD,更新延迟CMD存入寄存器,链路延迟LD存入寄存器;配置参数表中计算更新延迟CMD和链路延迟LD这两个参数值能够一次性配置,也能够定期动态配置。
所述计算新的透明时钟值的公式如下:
TCnew=TSend-TSstart+CMD+LD+TCold。
一种获取和更新透明时钟的方法,步骤如下:
(1)MII接口监听模块监听MII接口,当发现MII接口从外部接收到的消息为同步消息时,MII接口监听模块向到达时间戳记录模块发送到达信号,并将同步消息发送给MAC层处理模块;
(2)到达时间戳记录模块收到步骤(1)MII接口监听模块发送的到达信号后,读取计时器的当前时间TSstart,并将该当前时间TSstart写入到达时间戳表;同时将同步消息中的透明时钟域值存入到达时间戳表;同步消息中存储了透明时钟域的值;
(3)当同步消息被原MAC层处理模块排队处理完后申请发送资源,准备好发送该同步消息时,离开时间戳记录模块向MAC层处理模块发送阻塞信号,阻塞信号将原MAC层处理模块同步消息的发送进程阻塞;
(4)离开时间戳记录模块读取计时器的当前时间TSend,将当前时间TSend放入透明时钟计算模块的寄存器R0,同时离开时间戳记录模块向透明时钟计算模块发送计算信号;
(5)透明时钟计算模块收到步骤(4)的计算信号后,从到达时间戳表中读取该同步消息的到达时间戳TSstart,将TSstart存入寄存器R1;
(6)透明时钟计算从到达时间戳表中读取透明时钟域的值,即同步消息的原透明时钟值TCold,将TCold存入寄存器R2;
(7)步骤(6)的同时透明时钟计算模块从配置参数表中读取计算更新延迟CMD和链路延迟LD,更新延迟CMD存入寄存器R3,链路延迟LD存入寄存器R4;
(8)透明时钟计算模块根据从R0获取TSend,从R1中获取TSstart,从R3中获取CMD,从R4中获取LD,从R2中获取TCold的值,计算新的透明时钟值TCnew并将该值TCnew写入寄存器R5中;
(9)透明时钟计算模块向透明时钟更新模块发送更新信号;透明时钟更新模块收到更新信号时,将寄存器R5中的值写入MAC层处理模块存储的同步消息的透明时钟域,再向MAC层处理模块发送继续信号;
(10)MAC层处理模块收到继续信号后,继续发送之前被阻塞的同步消息发送进程,完成同步消息的发送。
本发明与现有技术相比具有如下优点:
(1)本发明通过监听MII接口,可以获取更为精确的时间戳,避免了MAC层处理模块的时间不确定性对时间戳的干扰。
(2)本发明通过在线修改同步消息的透明时钟域,相比离线修改,本发明所带来的时间偏差是很小的,从而可以提供更高精度的时钟同步。
(3)本发明通过硬件电路可以保证:从驻留时间计算开始到同步消息离开结束,这段时间近似为常数时间,从而可以提前得到近似的设备驻留时间。
(4)本发明通过整体设计,提高了***中消息传输延迟的测量和记录精度,提高了使用该策略的***级时统精度,对高实时高安全***有很大的性能提高。
(5)本发明在同步消息离开设备之前,对同步消息的设备驻留时间提前估算,并更新同步消息中的透明时钟域。为了使得估算结果接近真实驻留时间,本发明设计的硬件电路可以保证从驻留时间计算开始到同步消息离开结束,这段时间近似为常数时间,从而可以提前得到近似的设备驻留时间。
(6)本发明链路延迟在网络设备中进行测量,并更新至同步消息中。由于链路延迟的不确定性主要是由环境温度、线路老化等因素引起的,因此链路延迟在一段时间内会维持不变,本发明中对链路的链路延迟进行定期更新,而在透明时钟计算时,按照最近更新的链路延迟进行计算,不进行实时测量。
附图说明
图1为本发明电路实现的组成框图;
图2为同步消息透明时钟计算实例;
图3为同步消息的格式;
图4为MII接口监听模块流程图;
图5为到达时间戳记录模块流程图;
图6为离开时间戳记录模块流程图;
图7为透明时钟计算模块流程图。
具体实施方式
下面结合附图和具体实施例对本发明进行详细说明。
本发明一种获取和更新透明时钟的电路实现包括:MII接口监听模块,到达时间戳记录模块,计时器,MAC层处理模块,离开时间戳记录模块,透明时钟计算模块,透明时钟更新模块和到达时间戳表和配置参数表。时间触发以太网中一项关键的技术就是时钟同步。时钟同步是将分布设备的时钟维持同步,而透明时钟技术是实现时钟同步的方法之一。本发明针对透明时钟的获取及更新提出了一种电路实现。本发明具有能够快速获取精确透明时钟,并且可以及时修改同步消息中的透明时钟值的优点,能够为高精度时钟同步提供基础保证。
本发明的一种获取和更新透明时钟的电路,包括:MII接口监听模块、到达时间戳记录模块、到达时间戳表、MAC层处理模块、计时器,透明时钟更新模块、离开时间戳记录模块、透明时钟计算模块、配置参数表、透明时钟计算模块;其中透明时钟计算模块,包括寄存器R0~R5;
MII接口监听模块监听MII接口,当发现MII接口从外部接收到的消息为同步消息时,MII接口监听模块向到达时间戳记录模块发送到达信号,并将同步消息发送给MAC层处理模块;到达时间戳记录模块收到MII接口监听模块发送的到达信号后,读取计时器的当前时间TSstart,并将该当前时间TSstart写入到达时间戳表,同时将同步消息中的透明时钟域值存入到达时间戳表;同步消息中存储了透明时钟域值;
当同步消息被MAC层处理模块排队处理(排队处理是指:按照同步消息先进先出的方式排队)完后申请发送资源,准备好发送该同步消息时,离开时间戳记录模块向MAC层处理模块发送阻塞信号,阻塞信号将MAC层处理模块同步消息的发送进程阻塞,并读取计时器的当前时间TSend,将当前时间TSend放入寄存器R0,同时离开时间戳记录模块向透明时钟计算模块发送计算信号;透明时钟计算模块收到计算信号后,从到达时间戳表中读取该同步消息的到达时间戳TSstart,将TSstart存入寄存器R1,并从到达时间戳表中读取透明时钟域的值,即同步消息的当前透明时钟值TCold,将TCold存入寄存器R2,同时透明时钟计算模块从配置参数表中读取计算更新延迟CMD和链路延迟LD,更新延迟CMD存入寄存器R3,链路延迟LD存入寄存器R4;
透明时钟计算模块根据从R1获取TSend,从R0中获取TSstart,从R3中获取CMD,从R4中获取LD,从R2中获取TCold的值,计算新的透明时钟值TCnew并将该值TCnew写入寄存器R5中,再向透明时钟更新模块发送更新信号;透明时钟更新模块收到更新信号时,将寄存器R5中的值写入MAC层处理模块存储的同步消息的透明时钟域,再向MAC层处理模块发送继续信号;MAC层处理模块收到继续信号后,继续发送之前被阻塞的同步消息发送进程。
优选的具体方案如下:
本发明的一种获取和更新透明时钟的电路,包括:MI I接口监听模块、到达时间戳记录模块、到达时间戳表、MAC层处理模块、计时器,透明时钟更新模块、离开时间戳记录模块、透明时钟计算模块、配置参数表、透明时钟计算模块;其中透明时钟计算模块,包括寄存器R0~R5;具体可以参见图1,图1为本发明的获取和更新透明时钟的电路实现,其包括:MII接口监听模块,到达时间戳记录模块,计时器,MAC层处理模块,离开时间戳记录模块,透明时钟计算模块,透明时钟更新模块和到达时间戳表和配置参数表。
电路中MII接口(Media Independent Interface),是一种介质无关接口)与PHY层进行数据交互;***中定义了传输的同步消息,同步消息将以太网802.3协议帧中类型(Type)字段置为0x88D7。***中定义了传输的透明时钟域,透明时钟域是指在消息传输过程中,截止当前的通过各级传输消耗的时间总和,透明时钟域的值记录了该传输消耗时间的数值;***中定义了阻塞信号,用于在MAC层处理模块中暂时停止对同步消息的发送,在收到继续信号后,同步消息被传输出去;***中定义了更新延迟CMD和链路延迟LD,更新延迟指同步消息在本模块中停留的时间,链路延迟是指同步消息在本模块向下一个模块传输消耗的时间;
通过图2和图3进行框架说明,图2是由6个网络设备(D1,D2,D3,D4,D5,D6),5条链路(L1,L2,L3,L4,L5)组成一个时间触发以太网。在每个网络设备中包含一个本发明的获取和更新透明时钟的电路实现。每个网络设备启动时,本发明设置参数配置表,该表主要包含计算更新延迟CMD和与该设备相连链路的链路延迟LD,这些值可以在设备生产时一次性写入固化,也可以通过在线定时测量更新,测量方法可以使用IEEE1588中多次握手策略。
图2中,设备D1向设备D4发送一个同步消息M,同步消息的格式如图3所示。接下来详细描述如何获得及更新同步消息M的透明时钟。
设备D1在按照网络协议在t0时刻向设备D4发送同步消息M。在T0时刻,设备D1向D1中的到达时间戳记录模块发送到达信号。
透明时钟更新模块收到更新信号时,将寄存器R5中的值写入同步消息的透明时钟域,写入成功后,向MAC层处理模块发送继续信号。原MAC层处理模块收到继续信号后,继续发送之前被阻塞的同步消息发送进程。同步消息M在设备D1中的透明时钟(包含设备D1的设备驻留时间和链路L1的链路延迟)就成功获得并更新至消息M的透明时钟域。
当消息M到达设备D2时,首先,消息包头经过MII接口,设备D2的MII接口监听模块监听到有同步消息到达,立即向到达时间戳记录模块发送到达信号,如图4所示。
当MII接口监听模块监听MII接口,当发现MII接口从外部接收到的消息为同步消息时,MII接口监听模块向到达时间戳记录模块发送到达信号,并将同步消息发送给MAC层处理模块;到达时间戳记录模块收到MII接口监听模块发送的到达信号后,读取计时器的当前时间TSstart,并将该当前时间TSstart写入到达时间戳表,同时将同步消息中的透明时钟域值存入到达时间戳表;
如图5所示,到达时间戳记录模块收到到达信号,从计时器获得消息M在D1中的到达时间戳TSstart,该值近似为t0。到达时间戳记录模块将TSstart存入到达时间戳表。在设备D1中,到达时间戳记录模块监测到原MAC层处理模块生成完消息M,并申请完通信资源后,向MAC层处理模块发送阻塞信号,将MAC层处理模块同步消息的发送进程阻塞,并读取计时器的值TSend,将TSend放入寄存器R0,同时向透明时钟计算模块发送计算信号。
如图5所示,到达时间戳记录模块收到到达信号后,读取计时器的值TSstart,并将该值写入到达时间戳表。
当同步消息被MAC层处理模块排队处理完后申请发送资源,准备好发送该同步消息时,离开时间戳记录模块向MAC层处理模块发送阻塞信号,阻塞信号将MAC层处理模块同步消息的发送进程阻塞,并读取计时器的当前时间TSend,将当前时间TSend放入寄存器R0,同时离开时间戳记录模块向透明时钟计算模块发送计算信号;透明时钟计算模块收到计算信号后,从到达时间戳表中读取该同步消息的到达时间戳TSstart,将TSstart存入寄存器R1,并从到达时间戳表中读取透明时钟域的值,即同步消息的当前透明时钟值TCold,将TCold存入寄存器R2,同时透明时钟计算模块从配置参数表中读取计算更新延迟CMD和链路延迟LD,更新延迟CMD存入寄存器R3,链路延迟LD存入寄存器R4;
如图6所示,当同步消息M被设备D2中的MAC层处理模块处理完、申请完发送资源,准备发送时,电路中的离开时间戳记录模块向MAC层处理模块发送阻塞信号,将MAC层处理模块同步消息的发送进程阻塞,并读取计时器的值TSend,将TSend放入寄存器R0,同时向透明时钟计算模块发送计算信号。
透明时钟计算模块根据从R1获取TSend,从R0中获取TSstart,从R3中获取CMD,从R4中获取LD,从R2中获取TCold的值,计算新的透明时钟值TCnew并将该值TCnew写入寄存器R5中,再向透明时钟更新模块发送更新信号;透明时钟更新模块收到更新信号时,将寄存器R5中的值写入MAC层处理模块存储的同步消息的透明时钟域,再向MAC层处理模块发送继续信号;MAC层处理模块收到继续信号后,继续发送之前被阻塞的同步消息发送进程。
如图7所示,透明时钟计算模块收到计算信号后,从到达时间戳表中读取该同步消息的到达时间戳TSstart,将TSstart存入寄存器R1;从同步消息中读取透明时钟域的值,即同步消息的原透明时钟值TCold(该值此刻为设备D1写入的值),将TCold存入寄存器R2;从配置参数表中读取计算更新延迟CMD和链路L2的链路延迟LD,分别存入寄存器R3和寄存器R4。接着,透明时钟计算模块计算新的透明时钟值R5=R0-R1+R3+R4+R2,并向透明时钟更新模块发送更新信号。所述寄存器R0~R5的写入和读取时延小于50ns,所述计时器的精度优于100ns,整个***透明时钟精度优于2us;
透明时钟更新模块收到更新信号时,将寄存器R5中的值写入同步消息的透明时钟域,写入成功后,向原MAC层处理模块发送继续信号。原MAC层处理模块收到继续信号后,继续发送之前被阻塞的同步消息发送进程。同步消息M在设备D2中的透明时钟(包含设备D2的设备驻留时间和链路L2的链路延迟)就成功获得并更新至消息M的透明时钟域。同理,设备D3也可以获取和更新消息M的透明时钟值。
当同步消息M到达设备D4时,设备D4直接读取消息M的透明时钟域,从而获得了消息M在整个网络中传输的透明时钟,即在整个网络中传输的延迟。
配置参数表中至少包含计算更新延迟CMD和链路延迟LD,这两个参数值可以一次性配置,也可以定期动态配置。计算新的透明时钟值的公式如下:
TCnew=TSend-TSstart+CMD+LD+TCold;
寄存器R0~R5的写入和读取时延小于50ns,所述计时器的精度优于100ns,整个***透明时钟精度优于2us;
经验证,本发明方法使用FPGA仿真软件+OPNET软件进行联合仿真,***透明时钟精度优于1us(未加入不确定性干扰),相对于传统以太网在网络时钟同步精度方面提高了至少2个数量级(传统以太网同步精度在毫秒级),提高了后续时间触发以太网的可实施性和关键性能指标。
本发明说明书中未作详细描述的内容属于本领域专业技术人员公知的现有技术。
Claims (10)
1.一种获取和更新透明时钟的电路,其特征在于包括:MII接口监听模块、到达模块、MAC层处理模块、透明时钟更新模块、离开时间戳记录模块、透明时钟计算模块;其中透明时钟计算模块包括寄存器;
MII接口监听模块监听MII接口,当发现MII接口从外部接收到的消息为同步消息时,MII接口监听模块向到达时间戳记录模块发送到达信号,并将同步消息发送给MAC层处理模块;到达模块收到到达信号后,读取当前时间TSstart,并将该当前时间TSstart记录,同时将同步消息中的透明时钟域值存储;当同步消息被MAC层处理模块排队处理完后申请发送资源,准备好发送该同步消息时,离开时间戳记录模块发送阻塞信号,将MAC层处理模块同步消息的发送进程阻塞,并读取当前时间TSend放入寄存器,同时离开时间戳记录模块向透明时钟计算模块发送计算信号;透明时钟计算模块读取同步消息的到达时间戳TSstart放入寄存器,并读取透明时钟域的值,即同步消息的当前透明时钟值TCold放入寄存器,同时透明时钟计算模块读取计算更新延迟CMD和链路延迟LD放入寄存器;透明时钟计算模块根据寄存器中的TSend、TSstart、CMD、LD和TCold的值,计算新的透明时钟值TCnew并将该值TCnew写入寄存器中,再向透明时钟更新模块发送更新信号,透明时钟更新模块将寄存器中的值写入MAC层处理模块存储的同步消息的透明时钟域,再向MAC层处理模块发送继续信号;MAC层处理模块收到继续信号后,继续发送之前被阻塞的同步消息发送进程。
2.根据权利要求1所述的一种获取和更新透明时钟的电路,其特征在于:到达模块,包括;到达时间戳记录模块、到达时间戳表;到达时间戳记录模块收到MII接口监听模块发送的到达信号后,读取计时器的当前时间TSstart,并将该当前时间TSstart写入到达时间戳表,同时将同步消息中的透明时钟域值存入到达时间戳表;同步消息中存储了透明时钟域值。
3.根据权利要求1所述的一种获取和更新透明时钟的电路,其特征在于:还包括计时器,到达时间戳记录模块收到MII接口监听模块发送的到达信号后,当前时间TSstart从计时器读取;阻塞信号将MAC层处理模块同步消息的发送进程阻塞,当前时间TSend从计时器读取。
4.根据权利要求1所述的一种获取和更新透明时钟的电路,其特征在于:寄存器包括寄存器R0~R5,寄存器R0~R5的存储内容如下:
将当前时间TSend放入寄存器R0,将TSstart存入寄存器R1,将同步消息的当前透明时钟值TCold存入寄存器R2,同时透明时钟计算模块从配置参数表中读取计算更新延迟CMD和链路延迟LD,CMD存入寄存器R3,链路延迟LD存入寄存器R4;透明时钟计算模块根据从R0获取TSend,从R1中获取TSstart,从R3中获取CMD,从R4中获取LD,从R2中获取TCold的值,计算新的透明时钟值TCnew并将该值TCnew写入寄存器R5中。
5.根据权利要求1所述的一种获取和更新透明时钟的电路,其特征在于:传输的同步消息将以太网802.3协议帧中类型Type字段置为0x88D7;阻塞信号用于在MAC层处理模块中暂时停止对同步消息的发送,在收到继续信号后,同步消息被传输出去。
6.根据权利要求1所述的一种获取和更新透明时钟的电路,其特征在于:传输的透明时钟域,透明时钟域是指在消息传输过程中,截止当前的通过各级传输消耗的时间总和,透明时钟域的值记录了该传输消耗时间的数值。
7.根据权利要求1所述的一种获取和更新透明时钟的电路,其特征在于:更新延迟CMD和链路延迟LD,更新延迟CMD指同步消息在本模块中停留的时间,链路延迟LD是指同步消息在本模块向下一个模块传输消耗的时间。
8.根据权利要求1所述的一种获取和更新透明时钟的电路,其特征在于:还包括配置参数表,所述的配置参数表中至少包含计算更新延迟CMD和链路延迟LD;透明时钟计算模块从配置参数表中读取计算更新延迟CMD和链路延迟LD,更新延迟CMD存入寄存器,链路延迟LD存入寄存器;配置参数表中计算更新延迟CMD和链路延迟LD这两个参数值能够一次性配置,也能够定期动态配置。
9.根据权利要求1~5之一所述的一种获取和更新透明时钟的电路实现,其特征在于:所述计算新的透明时钟值的公式如下:
TCnew=TSend-TSstart+CMD+LD+TCold。
10.一种获取和更新透明时钟的方法,其特征在于步骤如下:
(1)MII接口监听模块监听MII接口,当发现MII接口从外部接收到的消息为同步消息时,MII接口监听模块向到达时间戳记录模块发送到达信号,并将同步消息发送给MAC层处理模块;
(2)到达时间戳记录模块收到步骤(1)MII接口监听模块发送的到达信号后,读取计时器的当前时间TSstart,并将该当前时间TSstart写入到达时间戳表;同时将同步消息中的透明时钟域值存入到达时间戳表;同步消息中存储了透明时钟域的值;
(3)当同步消息被原MAC层处理模块排队处理完后申请发送资源,准备好发送该同步消息时,离开时间戳记录模块向MAC层处理模块发送阻塞信号,阻塞信号将原MAC层处理模块同步消息的发送进程阻塞;
(4)离开时间戳记录模块读取计时器的当前时间TSend,将当前时间TSend放入透明时钟计算模块的寄存器R0,同时离开时间戳记录模块向透明时钟计算模块发送计算信号;
(5)透明时钟计算模块收到步骤(4)的计算信号后,从到达时间戳表中读取该同步消息的到达时间戳TSstart,将TSstart存入寄存器R1;
(6)透明时钟计算从到达时间戳表中读取透明时钟域的值,即同步消息的原透明时钟值TCold,将TCold存入寄存器R2;
(7)步骤(6)的同时透明时钟计算模块从配置参数表中读取计算更新延迟CMD和链路延迟LD,更新延迟CMD存入寄存器R3,链路延迟LD存入寄存器R4;
(8)透明时钟计算模块根据从R1获取TSstart,从R0中获取TSend,从R3中获取CMD,从R4中获取LD,从R2中获取TCold的值,计算新的透明时钟值TCnew并将该值TCnew写入寄存器R5中;
(9)透明时钟计算模块向透明时钟更新模块发送更新信号;透明时钟更新模块收到更新信号时,将寄存器R5中的值写入MAC层处理模块存储的同步消息的透明时钟域,再向MAC层处理模块发送继续信号;
(10)MAC层处理模块收到继续信号后,继续发送之前被阻塞的同步消息发送进程,完成同步消息的发送。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810268192.2A CN108683470B (zh) | 2018-03-29 | 2018-03-29 | 一种获取和更新透明时钟的电路及方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810268192.2A CN108683470B (zh) | 2018-03-29 | 2018-03-29 | 一种获取和更新透明时钟的电路及方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN108683470A CN108683470A (zh) | 2018-10-19 |
CN108683470B true CN108683470B (zh) | 2020-04-10 |
Family
ID=63800450
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201810268192.2A Active CN108683470B (zh) | 2018-03-29 | 2018-03-29 | 一种获取和更新透明时钟的电路及方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN108683470B (zh) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110505157B (zh) * | 2019-08-26 | 2021-04-16 | 电子科技大学 | 一种适应时间触发网络的分类调度方法及装置 |
CN113411157B (zh) * | 2021-08-20 | 2021-11-09 | 浙江国利信安科技有限公司 | 用于时钟同步的方法、从时钟设备、主时钟设备和*** |
Family Cites Families (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8295312B2 (en) * | 2009-06-08 | 2012-10-23 | Broadcom Corporation | Method and system for compensated time stamping for time-sensitive network communications |
CN103095607B (zh) * | 2013-02-21 | 2015-07-29 | 南京磐能电力科技股份有限公司 | 一种实时优先级以太网控制器实现方法 |
CN105634715A (zh) * | 2014-10-31 | 2016-06-01 | 中国飞行试验研究院 | 一种机载网络ieee1588协议透明时钟端口同步方法 |
CN105812117B (zh) * | 2014-12-29 | 2017-05-10 | 中国科学院沈阳自动化研究所 | 面向工业异构网络的无线链路时延补偿装置和方法 |
US9934185B2 (en) * | 2015-01-12 | 2018-04-03 | Xilinx, Inc. | Processing system network controller with interface to programmable logic |
CN106254198B (zh) * | 2016-09-13 | 2019-06-18 | 北京控制工程研究所 | 基于时间触发的分布式***级任务同步方法 |
-
2018
- 2018-03-29 CN CN201810268192.2A patent/CN108683470B/zh active Active
Also Published As
Publication number | Publication date |
---|---|
CN108683470A (zh) | 2018-10-19 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10931391B2 (en) | One-step time stamping of synchronization packets for networked devices | |
US10432336B2 (en) | System and method of synchronizing a distributed clock in a packet-compatible network | |
US20080031283A1 (en) | Time synchronization for network aware devices | |
Stanton | Distributing deterministic, accurate time for tightly coordinated network and software applications: IEEE 802.1 AS, the TSN profile of PTP | |
CN104836630B (zh) | Ieee1588时钟同步***及其实现方法 | |
US11522627B2 (en) | TSN enabled controller | |
JP5518191B2 (ja) | 光伝送網が時刻同期プロトコルをキャリングする方法及びシステム | |
US20230308201A1 (en) | Timing synchronization over cable networks | |
US11979481B2 (en) | Time synchronisation | |
KR20210019531A (ko) | 비용 최적화된 환경들에서 phy 레벨 하드웨어 타임스탬핑 및 시간 동기화의 수행 | |
WO2015196685A1 (zh) | 时钟同步方法及装置 | |
CN108259109B (zh) | Ptp域中的网络设备及tod同步方法 | |
CN108683470B (zh) | 一种获取和更新透明时钟的电路及方法 | |
CN110572230A (zh) | 一种用于实现时间同步的修正方法及装置 | |
WO2015131626A1 (zh) | 用于网络设备的时间同步方法、装置及时间同步服务器 | |
CN111585862A (zh) | 一种EtherCAT与TSN网络互通的实现方法及装置 | |
CN115333660A (zh) | 精确时间戳校正 | |
Dong et al. | The design and implementation of ieee 1588v2 clock synchronization system by generating hardware timestamps in mac layer | |
CN106130711B (zh) | 基于pac控制器的ieee1588对时方法及装置 | |
CN214480655U (zh) | 一种兼容可定义确定性通信以太网的嵌入式设备 | |
CN113381832B (zh) | 一种基于fpga平台的精确时间同步方法 | |
US9930627B2 (en) | Metered interface | |
CN110224777A (zh) | 一种基于1588协议传递时间的方法及其*** | |
CN110492966B (zh) | 一种分布式继电保护装置的时间同步方法 | |
CN108809464A (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 |