多端口ptp报文的处理系统的制作方法

文档序号:10578047阅读:594来源:国知局
多端口ptp报文的处理系统的制作方法
【专利摘要】本发明公开了一种多端口PTP报文的处理系统,涉及通信领域。该系统包括CPU接口模块、实时时间生成模块、发送标志和序列号生成模块、Sync帧发送模块、Delay_Req帧发送模块、Delay_Resp帧发送模块、Announce帧发送模块、Sync帧接收模块、Delay_Req帧接收模块、Delay_Resp帧接收模块、Announce帧接收模块、复用模块、解复用模块、帧监控模块。本发明能有效降低通信网络设备开发成本,能提供灵活的PTP报文的处理方案。
【专利说明】
多端口 PTP报文的处理系统
技术领域
[0001]本发明涉及通信领域,具体是涉及一种多端口PTP报文的处理系统。
【背景技术】
[0002]伴随着网络技术的不断发展,尤其是以太网在测量和控制系统中应用越来越广泛,计算机和网络业界也在致力于解决以太网的定时同步能力不足的问题,以减少采用其它技术,例如IRIG-B等带来的额外布线开销。于是开发出一种软件方式的NTP (NetworkTime Protocol,网络时间协议),来提高各网络设备之间的定时同步能力。
[0003]1992年NTP版本的同步准确度可以达到200ys,但是仍然不能满足测量仪器和工业控制所需的准确度。网络精密时钟同步委员会于2001年中获得IEEE(Institute ofElectrical and Electronics Engineers,美国电气和电子工程师协会)仪器和测量委员会美国标准技术研究所(NIST)的支持,该委员会起草的规范在2002年底获得IEEE标准委员会通过,作为IEEEl588标准。该标准定义的就是PTP(Precis1n Time Protocol,精确时间协议)。
[0004]PTP协议无需时钟专线传输时钟同步信号,利用数据网络传输时钟同步消息,降低组建同步系统的费用;在提供和GPS(Global Posit1ning System,全球定位系统)相同的精度情况下,不需要为每个设备安装GPS那样昂贵的组件,只需要一个高精度的本地时钟和提供高精度时钟戳的部件,相对成本低。采用硬件与软件结合设计,并对各种影响同步精度的部分进行有效矫正,以提供亚微秒级的同步精度。
[0005]目前PTP协议已广泛应用于通信网络设备中,通常采用专用的PTP协议处理芯片来实现高精度时间同步功能。采用专用的PTP协议处理芯片成本较高,使用起来也不够灵活。

【发明内容】

[0006]本发明的目的是为了克服上述【背景技术】的不足,提供一种多端口PTP报文的处理系统,能够有效降低通信网络设备开发成本,能够针对具体应用场景提供灵活的PTP报文的处理方案。
[0007 ]本发明提供一种多端口 PTP报文的处理系统,该系统包括CPU接口模块、实时时间生成模块、发送标志和序列号生成模块、Sync帧发送模块、Delay_Req帧发送模块、Delay_Resp帧发送模块、Announce帧发送模块、Sync帧接收模块、Delay_Req帧接收模块、Delay_Resp帧接收模块、Announce帧接收模块、复用模块、解复用模块、帧监控模块,其中:
[0008]Sync为1588v2协议定义的一种用于频率同步的同步报文;
[0009]Delay_Req为1588v2协议定义的一种用于链路时延计算的时延计算请求报文;
[0010]Delay_Resp为1588v2协议定义的一种用于链路时延计算的时延计算应答报文;
[0011]Announce为1588v2协议定义的一种主从时钟之间相互协商的消息报文;
[0012]CPU接口模块用于:给需要配置的变量分配寄存器地址,实现可读/可写寄存器;给需要读取的变量或常量分配寄存器地址,实现只读寄存器;给具备CHJ接口的其他子模块提供子片选信号和数据输入/输出接口,其中128个精确时间协议PTP通道的配置寄存器采用块存储器实现,并按发送标志和序列号生成模块生成的PTP通道指示信号以时分复用的方式读出通道配置数据;
[0013]实时时间生成模块用于:根据输入的秒脉冲信号PPS_IN和CPU配置的秒值生成实时时间,在PPS_IN有效的时候采样日时间T0D_TIME作为秒时间,纳秒时间为零,然后每来一个时钟的上升沿,纳秒时间加8 ;
[0014]发送标志和序列号生成模块用于:给各个通道的各类PTP报文提供发送标志和发送序列号,产生PTP帧发送标志的基本使能信号;
[0015]Sync帧发送模块用于:根据CPU配置的Sync帧相关参数完成数据包组帧与发送;
[0016]Delay_Req帧发送模块用于:根据CPU配置的Delay_Req帧相关参数完成数据包组帧与发送;Delay_Req帧发送模块还向Delay_Req接收模块提供Delay_Req帧发送序列号和相应的发送时戳T3、T4时戳和从时钟到主时钟方向的总的CF域:T4-T4'+T3-T3',其中,T3为主控板卡发送Delay_Req帧时打的时戳,Τ3’为线卡发送Delay_Req帧时打的时戳,Τ4为主控板卡接收Delay_Req帧时打的时戳,T4’为线卡接收Delay_Req帧时打的时戳;
[0017]Delay_Resp帧发送模块用于:根据CPU配置的Delay_Resp帧相关参数和从Delay_Req帧中提取的部分字段完成数据包组帧与发送;
[0018]Announce帧发送模块用于:根据CPU配置的Announce帧相关参数完成数据包组帧与发送;
[0019]Sync帧接收模块用于:根据CPU配置的从端口号Slave_port_num和PTP报文对应的通道号Channe 1_ID,从输入的数据流中识别Slave端口接收的Sync帧,生成Sync帧接收时戳T2,并从接收的PTP消息中提取时戳Tl、T2'和CF域,然后向CPU上报Tl,Τ2时戳和主时钟到从时钟方向的总的CF域:Tl'-Τ1+Τ2-Τ2',其中,Tl为主控板卡发送Sync报文时打的时戳,Tl'为线卡发送Sync报文时打的时戳,Τ2为主控板卡接收Sync报文时打的时戳,Τ2'为线卡接收Sync报文时打的时戳;
[°02°] Delay_Req帧接收模块用于:根据Slave_port_num和Channel_ID,从输入的数据流中识别Master端口接收的Delay_Req报文,生成Delay_Req报文的接收时戳T4,并从接收的Delay_Req报文中提取请求端口标识、T4'和CF域,然后将请求端口标识、T4和总的CF域:T4-T4'+T3'-T3,输出给Delay_ReSp 发帧模块;
[0021 ] Delay_Resp帧接收模块用于:根据Slave_port_num和Channel_ID,从输入的数据流中识别Slave端口接收的Delay_Resp帧,并从接收的Delay_Resp帧中提取请求帧序列号、时戳T4和修正域CF;然后将接收的请求帧序列号和缓存中来自Delay_Req发送模块的请求帧序列号进行比较,如果两者的值相等,则向CPU上报T3、T4时戳和总的CF域:T4-T4'+T3-T3如果接收的请求帧序列号的值较大,则继续从缓存中取发送请求帧序列号,直到两者的值相等,然后向CPU上报Τ3、Τ4时戳和Τ4-Τ4'+Τ3-Τ3';如果接收的请求帧序列号的值较小,则重新接收Delay_Resp报文;
[0022]Announce帧接收模块用于:根据Channel_ID将各通道的报文转存进双口 RAM中相应的存储空间,供CPU读取;
[0023]复用模块用于:将各通道的Sync、Delay_Req、Delay_Resp和Announce报文先复用成一路,然后按1588帧载荷格式进行封装,最后按带VLAN的以太网封装格式进行封装;
[0024]解复用模块用于:对接收到的1588帧,先根据带VLAN的以太网封装格式进行1588帧解封装,得到1588帧载荷,然后对PTP Packet进行解封装,得到PTP消息帧;
[0025]帧监控模块用于:根据寄存器的配置从收/发的1588帧中选择一路进行抓包操作,同时对各类收/发报文进行计数。
[0026]在上述技术方案的基础上,所述发送标志和序列号生成模块发送标志的过程为:参考PPS_IN信号将I秒分为256个3.91ms的时隙,设NI为某个通道的Sync帧每秒的发帧数,【=1/2,1,2,4,8,16,32,64,128,256,在某1秒内的第一个时隙发帧,然后间隔256/^个3.91!118的时隙发下一帧;设吧为某个通道的06137_1^9/^11110111106帧每秒的发帧数,06137_Req/Announce为1588v2协议定义的一种主从时钟之间相互协商的消息报文,N2 = l/16,I/8/,I/4,I/2,I,2,4,8,16,在某I秒内的第一个时隙发帧,然后间隔256/N个3.9 Ims的时隙发下一帧,同时根据主控板卡支持的最大PTP通道数128,对每个3.91ms的时隙做进一步细分,每个细分的30.52us的时隙对应一个PTP通道,用于传输该通道的相应PTP报文;在每个细分时隙的第128个时钟周期输出Sync帧发送标志,第128+512个时钟周期输出DeIay_Req/Delay_Resp发送标志,第128+1024个时钟周期输出Announce帧发送标志。
[0027]在上述技术方案的基础上,所述发送标志和序列号生成模块发送序列号的过程为:根据Sync/Delay_Req/Announce帧的发送标志和PTP通道指示信号,产生时分复用的Sync/Delay_Req/Announce 帧的发送序列号;
[0028]在上述技术方案的基础上,所述Sync帧发送模块根据CPU配置的Sync帧相关参数完成数据包组帧与发送的过程如下:首先根据上级发送标志和序列号生成模块提供的启动信号,生成一个发送计数器;然后根据计数器的值生成帧起始标志、帧内容和数据有效信号,最后在组帧完成后生成帧结束信号。
[0029]在上述技术方案的基础上,所述Delay_Req帧发送模块根据CPU配置的Delay_Req帧相关参数完成数据包组帧与发送的具体过程如下:首先根据上级发送标志和序列号生成模块提供的启动信号,生成一个发送计数器;然后根据计数器的值生成帧起始标志、帧内容和数据有效信号,最后在组帧完成后生成帧结束信号。
[°03°]在上述技术方案的基础上,所述Delay_Resp帧发送模块根据CPU配置的Delay_Resp帧相关参数和从Delay_Req帧中提取的部分字段完成数据包组帧与发送的具体过程如下:首先根据上级发送标志和序列号生成模块提供的启动信号和Delay_Req接收指示信号,生成Delay_Resp帧发送起始信号,并配置计数器初值,根据Delay_Resp帧的长度维护计数器;然后根据计数器的变化生成帧内容和数据有效信号,最后在组帧完成后生成帧结束信号。
[0031 ] 在上述技术方案的基础上,所述Announce帧发送模块根据CPU配置的Announce帧相关参数完成数据包组帧与发送的具体过程如下:首先根据上级发送标志和序列号生成模块提供的启动信号,生成一个发送计数器;然后根据计数器的值生成帧起始标志、帧内容和数据有效信号,最后在组帧完成后生成帧结束信号。
[0032]在上述技术方案的基础上,所述1588帧载荷的前14个字节为扩展头部,分别用于传递1588帧信号流向、PTP通道号、载荷长度和时戳,载荷,扩展头部的字节数根据需要进行调整。
[0033]在上述技术方案的基础上,所述PTP消息帧由标准的PTP消息帧加扩展头部组成,扩展头部和1588帧载荷的扩展头部一致。
[0034]与现有技术相比,本发明的优点如下:
[0035](I)本发明根据实际应用需求,最多提供128个PTP端口,其中一个端口为slave端口,其余的端口均为master端口;采用时分复用的方式进行PTP报文的发送,将I秒分成256个时间段,每个时间段再分成128个时间段,这样就可以轻松实现128个端口的PTP报文发送,PTP报文发送频率可达每秒256次,满足1588V2规范;每个通道的参数可以独立配置,便于和不同应用模式或不同封装格式的1588端口互联。本发明具备集中式PTP报文处理能力,能够有效降低通信网络设备开发成本,能够针对具体应用场景提供灵活的PTP报文的处理方案,适用于PTN、IPRAN和POTN等多种通信网络设备。
[0036](2)本发明提供主控板卡上Sync(Sync为1588v2协议定义的一种用于频率同步的同步报文)报文的发送时戳1'1、主控板卡上37110报文的接收时戳12、主控板卡上06137_1^9(Delay_Req为1588v2协议定义的一种用于链路时延计算的时延计算请求报文)报文的发送时戳T3和主控板卡上Delay_Req报文的接收时戳T4的上报接口,直接上报匹配好的时戳和计算好的CF(Correct1n Field,修正域)域等信息,便于软件计算线路延时。
[0037](3)本发明提供丰富的性能统计寄存器和FPGA内部各节点抓包功能。
【附图说明】
[0038]图1是本发明实施例中多端口PTP报文的处理系统(PTP_Engine)的整体功能框图。
[0039]图2是本发明实施例中PTP报文时分复用发送的示意图。
[0040]图3是本发明实施例中Tl、T2时戳及CF域的处理流程图。
[0041 ]图4是本发明实施例中Τ3、Τ4时戳及CF域的处理流程图。
[0042]图5是本发明实施例中CXU(主控)板卡1588帧载荷的格式示意图。
[0043]图6是本发明实施例中CXU板卡1588帧格式示意图。
[0044]图7是本发明实施例中CCU板卡PTP消息帧的格式示意图。
【具体实施方式】
[0045]下面结合附图及具体实施例对本发明作进一步的详细描述。
[0046]本发明实施例应用于通信网络设备,使其支持1588功能。在支持1588功能时,本实施例需要和软件及其他1588相关功能组件,例如:lPPS(Pulse per Second,秒脉冲)+T0D(Time of Day,日时间)接口,同步以太网等协同运行。
[0047]参见图1所示,本发明实施例提供一种多端口PTP报文的处理系统,该系统包括CPU接口模块(CPU_IF)、实时时间生成模块(REALTME_GEN)、发送标志和序列号生成模块(ST_SID_GEN)、Sync帧发送模块、Delay_Req帧发送模块、Delay_Resp帧发送模块、Announce帧发送模块、Sync帧接收模块、Delay_Req帧接收模块、Delay_Resp帧接收模块、Announce帧接收模块、复用模块、解复用模块、帧监控模块,其中:
[0048]Sync为1588v2协议定义的一种用于频率同步的同步报文;
[0049]Delay_Req为1588v2协议定义的一种用于链路时延计算的时延计算请求报文;[°°50] Delay_Resp为1588v2协议定义的一种用于链路时延计算的时延计算应答报文;[0051 ] Announce为1588v2协议定义的一种主从时钟之间相互协商的消息报文;
[0052]CPU接口模块(CPU_IF:CPU interface,CPU接口)用于:给需要配置的变量分配寄存器地址,实现可读/可写寄存器;给需要读取的变量或常量分配寄存器地址,实现只读寄存器;给具备CPU接口的其他子模块提供子片选信号和数据输入/输出接口,其中128个PTP通道的配置寄存器米用BRAM(Block Random Access Memory,块存储器)实现,并按发送标志和序列号生成模块(ST_SID_GEN)生成的PTP通道指示信号以时分复用的方式读出通道配置数据;
[0053]实时时间生成模块(REALTME_GEN)用于:根据输入的秒脉冲信号(PPS_IN)和CPU配置的秒值生成实时时间,在PPS_IN有效的时候采样T0D_HME作为秒时间,纳秒时间为零,然后每来一个时钟的上升沿,纳秒时间加8 ;
[0054]发送标志和序列号生成模块(ST_SID_GEN)用于:给各个通道的各类PTP报文提供发送标志和发送序列号,发送标志的过程为:参考PPS_IN信号将I秒分为256个3.91ms的时隙,设NI为某个通道的Sync帧每秒的发帧数,Nl = l/2,1,2,4,8,16,32,64,128,256,在某I秒内的第一个时隙发帧,然后间隔256/N个3.91ms的时隙发下一帧;设N2为某个通道的Delay_Req/Announce帧每秒的发帧数,N2 = l/16,1/8/,1/4,1/2,I,2,4,8,16,在某I秒内的第一个时隙发帧,然后间隔256/N个3.91ms的时隙发下一帧,同时根据主控板卡支持的最大PTP通道数128,对每个3.91ms的时隙做进一步细分,每个细分的30.52us的时隙对应一个PTP通道,用于传输该通道的相应PTP报文;在每个细分时隙的第128个时钟周期可以输出Sync帧发送标志,第128+512个时钟周期可以输出06]^7_1^9/06137_1^8口发送标志,第128+1024个时钟周期可输出Announce帧发送标志;参见图2所示,产生PTP帧发送标志的基本使能信号,要产生PTP帧发送标志还需要满足其他条件;发送序列号的过程为:根据Sync/Delay_Req/Announce帧的发送标志和PTP通道指示信号,产生时分复用的Sync/Delay_Req/Announce帧的发送序列号;
[0055]Sync帧发送模块用于:根据CPU配置的Sync帧相关参数完成数据包组帧与发送,具体过程如下:首先根据上级发送标志和序列号生成模块提供的启动信号,生成一个发送计数器;然后根据计数器的值生成帧起始标志、帧内容和数据有效信号,最后在组帧完成后生成帧结束信号;
[0056]Delay_Req帧发送模块用于:根据CPU配置的Delay_Req帧相关参数完成数据包组帧与发送,具体过程如下:首先根据上级发送标志和序列号生成模块提供的启动信号,生成一个发送计数器;然后根据计数器的值生成帧起始标志、帧内容和数据有效信号,最后在组帧完成后生成帧结束信号;Delay_Req帧发送模块还向Delay_Req接收模块提供Delay_Req帧发送序列号(请求帧序列号)和相应的发送时戳T3、T4时戳和从时钟到主时钟方向的总的CF域:Τ4-Τ4' +Τ3-Τ3',便于Slave端口上报T3;其中,T3为主控板卡发送Delay_Req帧时打的时戳,T3’为线卡发送Delay_Req帧时打的时戳,T4为主控板卡接收Delay_Req帧时打的时戳,T4’为线卡接收Delay_Req帧时打的时戳;
[0057]Delay_Resp帧发送模块用于:根据CPU配置的Delay_Resp帧相关参数和从Delay_Req帧中提取的部分字段完成数据包组帧与发送,具体过程如下:首先根据上级发送标志和序列号生成模块提供的启动信号和Delay_Req接收指示信号,生成Delay_Resp帧发送起始信号,并配置计数器初值,根据Delay_ReSp帧的长度维护计数器;然后根据计数器的变化生成帧内容和数据有效信号,最后在组帧完成后生成帧结束信号。
[0058]Announce帧发送模块用于:根据CPU配置的Announce帧相关参数完成数据包组帧与发送,具体过程如下:首先根据上级发送标志和序列号生成模块提供的启动信号,生成一个发送计数器;然后根据计数器的值生成帧起始标志、帧内容和数据有效信号,最后在组帧完成后生成帧结束信号;
[0059]Sync帧接收模块用于:根据Slave+pori^nunKC]3!]配置的从端口号)和Channel_ID(PTP报文对应的通道号),从输入的数据流中识别Slave端口接收的Sync帧,生成Sync帧接收时戳T2,并从接收的PTP消息中提取时戳Tl、T2'和CF域,然后向CPU上报Tl,T2时戳和主时钟到从时钟方向的总的CF域:TI' -TI +T2-T2',其中,TI为主控板卡发送Sync报文时打的时戳,Tl'为线卡发送Sync报文时打的时戳,T2为主控板卡接收Sync报文时打的时戳,T2'为线卡接收Sync报文时打的时戳,参见图3所示;
[0000]Delay_Req帧接收模块用于:根据Slave_port_num和Channel_ID,从输入的数据流中识别Master端口接收的Delay_Req报文,生成Delay_Req报文的接收时戳T4,并从接收的Delay_Req报文中提取请求端口标识、T4'和CF域,然后将请求端口标识、T4和总的CF域:T4-T4'+T3'-T3,输出给Delay_ReSp发帧模块,参见图4所示;
[0061 ] Delay_Resp帧接收模块用于:根据Slave_port_num和Channel_ID,从输入的数据流中识别Slave端口接收的Delay_Resp帧,并从接收的Delay_Resp帧中提取请求帧序列号、时戳T4和修正域CF;然后将接收的请求帧序列号和缓存中来自Delay_Req发送模块的请求帧序列号进行比较,如果两者的值相等,则向CPU上报T3、T4时戳和总的CF域:T4-T4'+T3-T3' ;如果接收的请求帧序列号的值较大,则意味着Slave端口发出的Delay_Req帧有丢失,可以继续从缓存中取发送请求帧序列号,直到两者的值相等,然后向CPU上报T3、T4时戳和T4-Τ4'+Τ3-Τ3';如果接收的请求帧序列号的值较小,则意味着链路延时太大,和接收请求帧序列号相等的发送请求帧序列号已经从缓存中读出了,需要重新接收Delay_ReSp报文;
[0062]Announce帧接收模块用于:根据Channel_ID将各通道的报文转存进双口 RAM中相应的存储空间,供CPU读取;
[0063]MUX模块(复用模块)用于:将各通道的Sync、Delay_Req、Delay_Resp和Announce报文先复用成一路,然后按图5所示的1588帧载荷格式进行封装:1588帧载荷的前14个字节为扩展头部,分别用于传递1588帧信号流向、PTP通道号、载荷长度和时戳,载荷,扩展头部的字节数可以根据需要进行调整;最后按图6所示的带VLAN的以太网封装格式进行封装;
[0064]DEMUX模块(解复用模块)用于:对接收到的1588帧,先根据图6所示的带VLAN的以太网封装格式进行1588帧解封装,得到图5所示的1588帧载荷,然后对PTP Packet进行解封装,得到如图7所示的PTP消息帧,PTP消息帧由标准的PTP消息帧加扩展头部组成,扩展头部和1588帧载荷的扩展头部一致;
[0065]MONITOR模块(帧监控模块)用于:根据寄存器的配置从收/发的1588帧中选择一路进行抓包操作,同时对各类收/发报文进行计数。
[0066]本领域的技术人员可以对本发明实施例进行各种修改和变型,倘若这些修改和变型在本发明权利要求及其等同技术的范围之内,则这些修改和变型也在本发明的保护范围之内。
[0067]说明书中未详细描述的内容为本领域技术人员公知的现有技术。
【主权项】
1.一种多端口 PTP报文的处理系统,其特征在于,该系统包括CPU接口模块、实时时间生成模块、发送标志和序列号生成模块、Sync帧发送模块、Delay_Req帧发送模块、Delay_Resp帧发送模块、Announce帧发送模块、Sync帧接收模块、Delay_Req帧接收模块、Delay_Resp帧接收模块、Announce帧接收模块、复用模块、解复用模块、帧监控模块,其中: Sync为1588v2协议定义的一种用于频率同步的同步报文; 06]^7_!^9为1588¥2协议定义的一种用于链路时延计算的时延计算请求报文; Delay_Resp为1588v2协议定义的一种用于链路时延计算的时延计算应答报文; Announce为1588v2协议定义的一种主从时钟之间相互协商的消息报文; CPU接口模块用于:给需要配置的变量分配寄存器地址,实现可读/可写寄存器;给需要读取的变量或常量分配寄存器地址,实现只读寄存器;给具备CPU接口的其他子模块提供子片选信号和数据输入/输出接口,其中128个精确时间协议PTP通道的配置寄存器采用块存储器实现,并按发送标志和序列号生成模块生成的PTP通道指示信号以时分复用的方式读出通道配置数据; 实时时间生成模块用于:根据输入的秒脉冲信号PPS_IN和CHJ配置的秒值生成实时时间,在PPS_IN有效的时候采样日时间T0D_TIME作为秒时间,纳秒时间为零,然后每来一个时钟的上升沿,纳秒时间加8 ; 发送标志和序列号生成模块用于:给各个通道的各类PTP报文提供发送标志和发送序列号,产生PTP帧发送标志的基本使能信号; Sync帧发送模块用于:根据CRJ配置的Sync帧相关参数完成数据包组帧与发送;Delay_Req帧发送模块用于:根据CPU配置的Delay_Req帧相关参数完成数据包组帧与发送;Delay_Req帧发送模块还向Delay_Req接收模块提供Delay_Req帧发送序列号和相应的发送时戳T3、T4时戳和从时钟到主时钟方向的总的CF域:Τ4-Τ4'+Τ3-Τ3 ',其中,Τ3为主控板卡发送Delay_Req帧时打的时戳,Τ3’为线卡发送Delay_Req帧时打的时戳,Τ4为主控板卡接收Delay_Req帧时打的时戳,T4’为线卡接收Delay_Req帧时打的时戳; Delay_Resp帧发送模块用于:根据CPU配置的Delay_Resp帧相关参数和从Delay_Req帧中提取的部分字段完成数据包组帧与发送; Announce帧发送模块用于:根据CPU配置的Announce帧相关参数完成数据包组帧与发送; Sync帧接收模块用于:根据CPU配置的从端口号Slave_port_num和PTP报文对应的通道号Channel_ID,从输入的数据流中识别Slave端口接收的Sync帧,生成Sync帧接收时戳T2,并从接收的PTP消息中提取时戳Tl、T2'和CF域,然后向CPU上报Tl,T2时戳和主时钟到从时钟方向的总的CF域:Tl'-T1+T2-T2',其中,Tl为主控板卡发送Sync报文时打的时戳,Tl'为线卡发送Sync报文时打的时戳,T2为主控板卡接收Sync报文时打的时戳,T2'为线卡接收Sync报文时打的时戳; Delay_Req帧接收模块用于:根据Slave_port_num和Channel_ID,从输入的数据流中识别Mas ter端口接收的Delay_Req报文,生成Delay_Req报文的接收时戳T4,并从接收的Delay_Req报文中提取请求端口标识、T4'和CF域,然后将请求端口标识、T4和总的CF域:T4-T4' +T3' -T3,输出给 De lay_Resp 发帧模块; Delay_Resp帧接收模块用于:根据Slave_port_num和Channel_ID,从输入的数据流中识别Slave端口接收的Delay_Resp帧,并从接收的Delay_Resp帧中提取请求帧序列号、时戳T4和修正域CF;然后将接收的请求帧序列号和缓存中来自Delay_Req发送模块的请求帧序列号进行比较,如果两者的值相等,则向CPU上报T3、T4时戳和总的CF域:Τ4-Τ4' +Τ3-Τ3' ;如果接收的请求帧序列号的值较大,则继续从缓存中取发送请求帧序列号,直到两者的值相等,然后向CPU上报Τ3、Τ4时戳和Τ4-Τ4'+Τ3-Τ3';如果接收的请求帧序列号的值较小,则重新接收Delay_Resp报文; Announce帧接收模块用于:根据Channel_ID将各通道的报文转存进双口 RAM中相应的存储空间,供CPU读取; 复用模块用于:将各通道的Sync、De lay_Req、De lay_Resp和Announce报文先复用成一路,然后按1588帧载荷格式进行封装,最后按带VLAN的以太网封装格式进行封装; 解复用模块用于:对接收到的1588帧,先根据带VLAN的以太网封装格式进行1588帧解封装,得到1588帧载荷,然后对PTP Packet进行解封装,得到PTP消息帧; 帧监控模块用于:根据寄存器的配置从收/发的1588帧中选择一路进行抓包操作,同时对各类收/发报文进行计数。2.如权利要求1所述的多端口PTP报文的处理系统,其特征在于:所述发送标志和序列号生成模块发送标志的过程为:参考PPS_IN信号将I秒分为256个3.91ms的时隙,设NI为某个通道的Sync帧每秒的发帧数,NI = 1/2,I,2,4,8,16,32,64,128,256,在某I秒内的第一个时隙发帧,然后间隔256/N个3.911!^的时隙发下一帧;设似为某个通道的061&7_1?叫/Announce帧每秒的发帧数,06]^7_1^9/^11110111106为1588¥2协议定义的一种主从时钟之间相互协商的消息报文,N2= 1/16,1/8/,1/4,1/2,I,2,4,8,16,在某I秒内的第一个时隙发帧,然后间隔256/N个3.9Ims的时隙发下一帧,同时根据主控板卡支持的最大PTP通道数128,对每个3.9Ims的时隙做进一步细分,每个细分的30.52us的时隙对应一个PTP通道,用于传输该通道的相应PTP报文;在每个细分时隙的第128个时钟周期输出Sync帧发送标志,第128+512个时钟周期输出Delay_Req/Delay_Resp发送标志,第128 + 1024个时钟周期输出Announce帧发送标志。3.如权利要求1所述的多端口PTP报文的处理系统,其特征在于:所述发送标志和序列号生成模块发送序列号的过程为:根据Sync/Delay_Req/Announce帧的发送标志和PTP通道指示信号,产生时分复用的Sync/Delay_Req/Announce帧的发送序列号。4.如权利要求1所述的多端口PTP报文的处理系统,其特征在于:所述Sync帧发送模块根据CPU配置的Sync帧相关参数完成数据包组帧与发送的过程如下:首先根据上级发送标志和序列号生成模块提供的启动信号,生成一个发送计数器;然后根据计数器的值生成帧起始标志、帧内容和数据有效信号,最后在组帧完成后生成帧结束信号。5.如权利要求1所述的多端口PTP报文的处理系统,其特征在于:所述Delay_Req帧发送模块根据CPU配置的Delay_Req帧相关参数完成数据包组帧与发送的具体过程如下:首先根据上级发送标志和序列号生成模块提供的启动信号,生成一个发送计数器;然后根据计数器的值生成帧起始标志、帧内容和数据有效信号,最后在组帧完成后生成帧结束信号。6.如权利要求1所述的多端口PTP报文的处理系统,其特征在于:所述Delay_Resp帧发送模块根据CHJ配置的Delay_ReSp帧相关参数和从Delay_Req帧中提取的部分字段完成数据包组帧与发送的具体过程如下:首先根据上级发送标志和序列号生成模块提供的启动信号和Delay_Req接收指示信号,生成Delay_ReSp帧发送起始信号,并配置计数器初值,根据Delay_ReSp帧的长度维护计数器;然后根据计数器的变化生成帧内容和数据有效信号,最后在组帧完成后生成帧结束信号。7.如权利要求1所述的多端口PTP报文的处理系统,其特征在于:所述Announce帧发送模块根据CPU配置的Announce帧相关参数完成数据包组帧与发送的具体过程如下:首先根据上级发送标志和序列号生成模块提供的启动信号,生成一个发送计数器;然后根据计数器的值生成帧起始标志、帧内容和数据有效信号,最后在组帧完成后生成帧结束信号。8.如权利要求1所述的多端口PTP报文的处理系统,其特征在于:所述1588帧载荷的前14个字节为扩展头部,分别用于传递1588帧信号流向、PTP通道号、载荷长度和时戳,载荷,扩展头部的字节数根据需要进行调整。9.如权利要求1所述的多端口PTP报文的处理系统,其特征在于:所述PTP消息帧由标准的PTP消息帧加扩展头部组成,扩展头部和1588帧载荷的扩展头部一致。
【文档编号】H04J3/06GK105939243SQ201610231798
【公开日】2016年9月14日
【申请日】2016年4月14日
【发明人】杨虎林, 钟永波, 谢秋红, 刘超
【申请人】烽火通信科技股份有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1