一种获取和更新透明时钟的电路及方法技术

技术编号:19219331 阅读:26 留言:0更新日期:2018-10-20 08:03
一种获取和更新透明时钟的电路及方法,包括:MII接口监听模块,到达时间戳记录模块,计时器,MAC层处理模块,离开时间戳记录模块,透明时钟计算模块,透明时钟更新模块和到达时间戳表和配置参数表。时间触发以太网中一项关键的技术就是时钟同步。时钟同步是将分布设备的时钟维持同步,而透明时钟技术是实现时钟同步的方法之一。本发明专利技术针对透明时钟的获取及更新提出了一种电路实现。本发明专利技术具有能够快速获取精确透明时钟,并且可以及时修改同步消息中的透明时钟值的优点,能够为高精度时钟同步提供基础保证。

【技术实现步骤摘要】
一种获取和更新透明时钟的电路及方法
本专利技术提出的一种获取和更新透明时钟的电路及方法,主要在时间触发以太网中应用,属于智能信号处理电路领域。
技术介绍
时间触发以太网是一种新型的实时以太网架构,在该架构中,所有通信动作都严格按照时间表进行驱动,通过设计时间表可以保证整个网络进行无冲突通信,即所有数据包不会发生资源竞争的情况,从而具备了强实时、延迟抖动小的特性。这些特性使得时间触发以太网非常适合应用于工控、航空航天、汽车电子以及机器人等对实时性有严格要求的系统。同时,时间触发以太网又具备传统以太网的高带宽、易扩展等优势,因此,时间触发以太网是一项很有应用前景的技术。时间触发以太网中一项关键的技术就是时钟同步。时钟同步是将分布设备的时钟维持同步,而透明时钟技术是实现时钟同步的方法之一。本专利技术针对透明时钟的获取及更新提出了一种电路实现。在时间触发以太网中,透明时钟的获取主要包含两部分:链路延迟获取和设备驻留时间获取。目前,链路延迟获取主要采用IEEE1588协议中的点对点传输测量机制,但是,该机制需要多次“握手”发包,不适用于时间触发以太网中单包传输的协议要求。而设备驻留时间的获取比较麻烦,现有方法主要有软件测量法、硬件测量法。其中,软件测量法实现简单,但是由于采用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层处理模块收到继续信号后,继续发送之前被阻塞的同步消息发送进程。到达模块,包括;到达时间戳记录模块、到达时间戳表;到达时间戳记录模块收到MII接口监听模块发送的到达信号后,读取计时器的当前时间TSstart,并将该当前时间TSstart写入到达时间戳表,同时将同步消息中的透明时钟域值存入到达时间戳表;同步消息中存储了透明时钟域值。还包括计时器,到达时间戳记录模块收到MII接口监听模块发送的到达信号后,当前时间TSstart从计时器读取;阻塞信号将MAC层处理模块同步消息的发送进程阻塞,当前时间TSend从计时器读取。寄存器包括寄存器R0~R5,寄存器R0~R5的存储内容如下:将当前时间TSend放入寄存器R0,将TSstart存入寄存器R1,将同步消息的当前透明时钟值TCold存入寄存器R2,同时透明时钟计算模块从配置参数表中读取计算更新延迟CMD和链路延迟LD,CMD存入寄存器R3,链路延迟LD存入寄存器R4;透明时钟计算模块根据从R1获取TSend,从R0中获取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层处理模块排队处理完后申请发送资源,准备好发送本文档来自技高网
...

【技术保护点】
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层处理模块收到继续信号后,继续发送之前被阻塞的同步消息发送进程。...

【技术特征摘要】
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;透明时钟计算模块根据从R1获取TSend,从R0中获取TSstart,从R3中获取CMD,从R4中获取LD,从R2中获取TCold的值,计算新的透明时钟值TCnew并将该值TCnew写入寄存器R5中。5.根据权利要求1所述的一种获取和更新透明时钟的电路,其特征在于:传输的同步消息将以太网802.3协议帧中类型Type字段置为0x88D7;阻塞信号用于在MAC层处理模块中暂时停止对同步消息的发送,在收到继...

【专利技术属性】
技术研发人员:蔺玥范松涛韩银和高亚楠于丹周远林
申请(专利权)人:北京控制工程研究所
类型:发明
国别省市:北京,11

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1