Ptp引擎广播时戳的方法、芯片处理时戳的方法及装置的制造方法

文档序号:8265143阅读:604来源:国知局
Ptp引擎广播时戳的方法、芯片处理时戳的方法及装置的制造方法
【技术领域】
[0001]本发明涉及网络通信技术领域,尤其是涉及一种减少MAC广播时戳的比特数的PTP引擎广播时戳的方法,以及基于该方法实现的芯片处理时戳的方法及装置。
【背景技术】
[0002]IEEE 1588是网络测量和控制系统的精密时钟同步协议标准,采用精确时间同步协议(Precis1n Time Synchronizat1n Protocol,PTP),精度可以达到微秒级,目前在以太网的时间同步方案中被大量采用。
[0003]PTP协议实现分为一步模式和两步模式,两步模式主要通过软件辅助实现本地时间与远端主时钟的同步,依赖于硬件记录当前PTP事件消息的时戳,软件读取时戳,并把这个时戳放到下一个PTP事件消息中传递给对方。PTP一步模式不需要软件的参与,可以直接把PTP事件消息发送时刻的时戳插入到当前的PTP事件消息中合适的位置,并更新报文的校验值,可以不需要发送follow_up消息。
[0004]如图1所示,在以太网交换芯片中由于包含多个媒体访问控制器(MAC),例如目前应用于数据中心的主流以太网交换芯片往往包含96或者128个以上的MAC。通过集中的PTP引擎来实现本地时间与远端时钟的同步,为了降低芯片后端布线的拥塞,采用逐级广播的方式,第一级广播到所有的MAC汇聚单元,第二级再从每个MAC汇聚单元广播到下面的16个MAC中,来实现一步模式的时戳插入和纠正域的计算。
[0005]由于时戳信息包括一共62比特纳秒信息数据。因此在由集中的PTP引擎将62比特时戳信息广播到分布在芯片四周96个或者128个以上的MAC中时,会占用大量的走线资源以及MAC中存储时戳信息的资源,从而增加芯片布局布线的难度以及芯片最终的面积与功耗。

【发明内容】

[0006]本发明的目的在于克服现有技术的缺陷,提供一种PTP引擎广播时戳的方法,通过改进集中PTP引擎广播时戳给MAC的方式,以减少广播时戳信息在芯片内的走线。
[0007]为实现上述目的,本发明提出如下技术方案:一种PTP引擎广播时戳的方法,包括:PTP引擎将调整后的低位的纳秒时戳信息广播给所有报文接收方向的MAC和报文发送方向的MAC,同时将完整的时戳信息传送给入方向处理模块和出方向处理模块,所述完整的时戳信息包括完整的纳秒时戳信息和调整后的秒加纳秒时戳信息。
[0008]优选地,所述PTP引擎将调整后的低位的16比特纳秒时戳信息广播给所有报文接收方向的MAC和报文发送方向的MAC,所述完整的时戳信息包括62比特纳秒时戳信息和调整后的62比特秒加纳秒时戳信息。
[0009]优选地,从所述接收方向的MAC接收到报文,到报文传到所述入方向处理模块的延迟不超过216纳秒,以及从所述出方向处理模块发出报文,到报文到达所述发送方向的MAC的延迟同样不超过216纳秒。
[0010]本发明还提出一种芯片处理时戳的方法,包括以下步骤:
[0011]SI,报文接收方向的MAC收到PTP报文时,将捕捉的由PTP引擎广播的低位的纳秒时戳信息记录下来,和所述PTP报文汇聚后传送给入方向处理模块;
[0012]S2,在所述入方向处理模块内,根据所述低位的纳秒时戳信息和自身收到的所述完整的纳秒时戳信息,推算出报文进入所述报文接收方向的MAC时完整的时戳信息;
[0013]S3,在所述出方向处理模块内,记录其接收到报文时的纳秒时戳信息,再根据步骤S2中推算的报文进入接收方向的MAC时完整的时戳信息,计算出报文从接收方向的MAC接收到出方向处理模块的延迟时戳信息,所述延迟时戳信息的报文头随着所述PTP报文传送给所述报文发送方向的任意一 MAC ;
[0014]S4,所述报文发送方向的MAC记录接收所述延迟时戳信息的报文头时的纳秒时戳信息,再根据步骤3计算出的所述延迟时戳信息,推算出所述PTP报文从MAC接收到MAC发送出的完整的延迟时戳信息。
[0015]优选地,所述S2中,推算出报文进入所述报文接收方向的MAC时完整的时戳信息的过程为:对应的逻辑推算公式为:
[0016]FTS_1[61:16] = (FTS_2[15:0]彡 FTS_1[15:0]) ? FTS_2[61:16]-1:FTS_2[61:16],其中,FTS_1[61:16]表示推算出的报文进入接收方向的MAC时的高比特时戳,FTS_1 [15:0]表示报文进入接收方向MAC时,PTP引擎广播的低16位纳秒时戳,FTS_2[61:O]表示报文进入入方向处理模块时,接收到的完整的62比特纳秒时戳信息。
[0017]优选地,所述S3中,计算所述报文经接收方向的MAC接收到出方向处理模块的延迟时戳信息的公式为:
[0018]FTS_4 [47:0] = FTS_3[61:0]-FTS_l[61:0];
[0019]其中,FTS_4[47:0]表示报文经接收方向的MAC接收到出方向处理模块的延迟时戳;FTS_3[61:0]表示出方向处理模块接收到PTP报文时的纳秒时戳信息;FTS_1[61:0]表示报文进入接收方向的MAC时完整的时戳信息。
[0020]优选地,所述S4中,推算出报文从MAC接收到MAC发送出的完整的延迟时戳信息的逻辑推算公式为:
[0021]FTS_7[15:0] = FTS_5[15:0]-FTS_3[15:0];
[0022]FTS_6[47:0] = FTS_7[15:0]+FTS_4[47:0];
[0023]其中,FTS_7[15:0]表示报文从出方向处理模块到发送方向MAC的纳秒延迟时间,FTS_5[15:0]表示报文进入发送方向MAC时广播的低16比特纳秒时戳信息,FTS_3[15:0]表示出方向处理模块接收到PTP报文时的低16比特纳秒时戳,FTS_6[47:0]为报文从MAC接收到MAC发送的纳秒延迟时间,FTS_4[47:0]为报文经接收方向的MAC接收到出方向处理模块的纳秒延迟时间。
[0024]本发明还提出一种芯片处理时戳的装置,包括PTP引擎、复数个接收方向的MAC、入方向处理模块、流量控制(TM)模块、出方向处理模块和复数个发送方向的MAC,
[0025]所述PTP引擎用于发送低位的16比特纳秒时戳信息给所有所述接收方向的MAC和发送方向的MAC,同时将完整的时戳信息传送给所述入方向处理模块和出方向处理模块;
[0026]所述入方向处理模块用于根据所述低位的16比特纳秒时戳信息和自身收到的所述完整的时戳信息,推算出所述PTP报文进入所述报文接收方向的MAC时完整的时戳信息;
[0027]所述TM模块用于将所述入方向处理模块发出的报文转发给所述出方向处理模块;
[0028]所述出方向处理模块用于记录其接收到所述PTP报文时的纳秒时间戳信息,再根据所述入方向处理模块推算的报文进入接收方向的MAC时完整的时戳信息,计算出报文经接收方向的MAC接收到出方向处理模块的延迟时戳信息,且将所述延迟时戳信息的报文头随着所述PTP报文传送给所述报文发送方向的任意一 MAC ;
[0029]所述发送方向的MAC用于记录接收所述延迟时戳信息的报文头时的纳秒时戳信息,再根据所述出方向处理模块推算出的所述延迟时戳信息,计算出所述PTP报文从MAC接收到MAC发送出的完整的延迟时戳信息。
[0030]优选地,所述装置还包括报文汇聚模块和报文分发模块,所述报文汇聚模块用于将复数个所述接收方向的MAC接收的报文汇聚后发送给所述入方向处理模块;所述报文分发模块用于将所述出方向处理模块处理后的报文分发给所述发送方向的MAC。
[0031]优选地,所述入方向处理模块推算出报文进入所述报文接收方向的MAC时完整的时戳信息的逻辑公式为:
[0032]FTS_1[61:16] = (FTS_2[15:0]彡 FTS_1[15:0]) ? FTS_2[61:16]-1:FTS_2[61:16],其中,FTS_1[61:16]表示推算出的报文进入接收方向的MAC时的高比特时戳,FTS_1 [15:0]表示报文进入接收方向MAC时,PTP引擎广播的低16位纳秒时戳,FTS_2[61:O]表示报文进入入方向处理模块时,接收到的完整的62比特纳秒时戳信息;
[0033]所述出方向处理模块计算报文经接收方向的MAC接收到出方向处理模块的延迟时戳信息的公式为:
[0034]FTS_4 [47:0] = FTS_3[61:0]-FTS_l[61:0],
[0035]其中,FTS_4[47:0]表示报文经接收方向的MAC接收到出方向处理模块的延迟时戳;FTS_3[61:0]表示出方向处理模块接收到PTP报文时的纳秒时戳信息;FTS_1[61:0]表示报文进入接收方向的MAC时完整的时戳信息;
[0036]所述发送方向的MAC计算出报文从MAC接收到MAC发送出的完整的延迟时戳信息的逻辑公式为:
[00
当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1