一种时间触发以太网中压缩修正值的计算方法技术

技术编号:20013056 阅读:23 留言:0更新日期:2019-01-05 21:49
本发明专利技术涉及一种时间触发以太网中压缩修正值的计算方法。采用统一的状态机控制计算流程,每个新到的pcf时间触发状态机状态的转换,当观测窗口结束后,可以立刻得到时间修正值的结果。该方法不需要在压缩计算前就指定计算方法,而是随着到达pcf帧数量的变化而不断动态调整计算方法,因此计算前不需要缓存所有pcf帧,可以减小压缩计算延时;计算过程使用简单的有限状态机控制实现,需要保存临时数据的寄存器数目要求少,便于硬件电路实现。

A Computing Method of Compression Correction Value in Time Triggered Ethernet

The invention relates to a calculation method of compression correction value in time triggered ethernet. A unified state machine is used to control the calculation process. Each new PCF time triggers the state transition of the state machine. When the observation window is finished, the result of time correction can be obtained immediately. This method does not need to specify the calculation method before compression calculation, but adjusts the calculation method dynamically with the change of the number of PCF frames arriving, so it does not need to cache all PCF frames before calculation, which can reduce the compression calculation delay. The calculation process is realized by using simple finite state machine control, and the number of registers that need to save temporary data is less, which is convenient for hardware circuit implementation. \u3002

【技术实现步骤摘要】
一种时间触发以太网中压缩修正值的计算方法
本专利技术是针对时间触发以太网中压缩控制器设备上基于硬件电路实现时间压缩修正值的一种方法。
技术介绍
时间触发以太网中,为了实现全网节点的时间同步,压缩控制器(CM)需要周期性的设置观测窗口,接收各压缩控制器发过来的pcf帧,通过计算pcf帧到达时间的平均值,得到经过各SM可接受的“标准时间”,然后CM将自己的时间修订为这个“标准时间”,再通知各SM与自己的标准时间同步。设在观测窗口中CM收到i(i≥1)个pcf帧,以第1个帧的到达时间为基准,第i个帧与第1个帧的到达时间差为input[i],显然input[1]=0,input[k]<input[k+1],k=1…i-1。时间触发以太网规范中规定了压缩修正值CC(Compression_correction)的计算原则。●当i=1时,CC=input[1]●当i=2时,CC=(input[1]+input[2])/2●当i=3时,CC=input[2]●当i=4时,CC=(input[2]+input[3])/2●当i=5时,CC=(input[2]+input[4])/2●当i>5时,CC为第k个最大输入与第k个最小输入的算术平均值。其中,k是一个可配置参数,如在2容错情况下设置为3。CC计算的难点是当观测窗口开始时,无法预估究竟有多少个pcf帧到达,因此无法确定具体使用何种计算方法,通常只能将所有的pcf帧到达时间保留下来,待观测窗口结束后,再开始CC的计算。这样做的缺点有两个,一是计算延时大,二是需要保存所有pcf帧到达时间戳。而在时间触发以太网中,同步间隔越小,全网的同步精度越高,而缩小压缩计算的延时对缩小同步间隔具有重要意义。因此需要压缩算法能够以更加快速的方式实现,特别是能够以硬件模块的方式嵌入到时间触发以太网专用芯片中实现,然而目前还没有相关实现方法的报道。此外,在复杂的时间触发以太网环境下不同的SM可能产生结团现象,此时每个CM可能同时打开多个监测窗口以监测分属不同集成周期的pcf帧,这种复杂的情况本专利技术不做考虑。
技术实现思路
本专利技术提出一种CM进行压缩计算时间修正值的方法,该方法的主要特点是采用统一的状态机控制计算流程,每个新到的pcf触发状态机状态的转换,当观测窗口结束后,可以立刻得到时间修正值的结果;本方法具体内容如下:(一)电路的基本组成本专利技术提出的方法适合硬件电路实现,其组成如附图1所示,主要包含偏差计算模块,压缩计算模块和K计算模块。电路的输入信号包括win_open,Rx_pit和参数K。win_open从0变到1代表一个观测窗口打开,从1变到0代表观测窗口关闭;Rx_pit代表每次接收一个pcf帧的时刻;参数K是系统工作的参数,在系统初始化时配置,工作过程中不会改变。电路的输出信号包括计算的到的CC值,以及参与计算该值的pcf的帧数目pcf_num;偏差计算模块通过监测Win_open信号获取观测窗口打开时刻,然后将窗口打开后接收的第一个pcf帧到达时间作为基准时间input[1],同时计算后续到达pcf帧的时间与基准时间的差值input[i],i>1。并将每个pcf分组对应的input值送压缩计算模块和K计算模块;K计算模块通过监测Win_open信号获取观测窗口打开时刻,根据预先配置的K值,在计算整个观测窗口中接收pcf帧中第K个最大的input值和第K个最小的input值,并将这两个值送给压缩计算模块;压缩计算模块是电路的核心模块,通过监测Win_open信号获取观测窗口打开时刻后,监测接收pcf帧的数量,并根据接收pcf帧的数量不断调整CC的计算方法,获取最新的CC值,一旦接收到win_open从1变成0的信号,立刻输出CC的计算结果;(二)偏差计算模块工作流程偏差计算模块设置一个First_input_pit寄存器;(1)当监测到win_open从0变1后,接收到第一个RX_pit时:First_input_pit=Rx_pit;input=0;(2)当接收到后续RX_pit时:Input=Rx_pit-First_input_pit;(三)压缩计算模块工作流程压缩计算模块的工作流程由一个包含7个状态的有限状态机控制,如附图2所示。其中状态机的状态转换条件在图中已经标明,带箭头的实线表示接收到有效的input输入,虚线箭头标示观测窗口关闭(win_open信号变为0);每个状态中的操作如下,其中tmp1和tmp2是两个用于计算CC的变量寄存器;(1)idle状态:CC=0;tmp1=0;tmp2=0;pcf_num=0;(2)R1状态(接收到第1个pcf帧后)CC=0;tmp1=0;tmp2=0;pcf_num=1;(3)R2状态(接收到第2个pcf帧后)CC=input>>2;tmp1=input;pcf_num=2;其中>>代表右移两位,即除以2的操作。此时tmp1中保存input[2]的值;(4)R3状态(接收到第3个pcf帧后)CC=tmp1,tmp2=input;pcf_num=3;此时tmp1中保存input[2]的值,tmp2中保存input[3]的值;(5)R4状态(接收到第4个pcf帧后)CC=(tmp1+tmp2)>>2;tmp2=input;pcf_num=4;此时tmp1中保存input[2]的值,tmp2中保存input[4]的值;(6)R5状态(接收到第5个pcf帧后)CC=(tmp1+tmp2)>>2;pcf_num=5;(7)Rx状态(接收到第6个及其以后的帧)CC=(Kmin+Kmax)>>2;pcf_num=pcf_num+1;根据上述流程,当在窗口内到达有效input数目不大于5时,在每个状态中CC的计算算法完全不同,而当状态机进入Rx状态时,CC根据K计算模块输出的Kmax和Kmin求平均值得到,完全符合规范要求;(四)K计算模块工作流程K计算模块主要监测接收pcf帧的数量和时间,根据[配置的参数K,计算第K歌最大的input值和第K个最小的input值。K计算模块通过一个有限状态机控制,如附图3所示。其中状态机的状态转换条件在图中已经标明,带箭头的实线表示接收到有效的input输入,虚线箭头标示观测窗口关闭(win_open信号变为0)。在waitK状态接收到有效input信号是,若pcf_num<K表示还没有收到K个有效的pcf帧,状态机仍保留在该状态,否则状态机进入WaitClose状态;K计算模块保留两个变量寄存器,Kmin表示到当前为止,第K个最小的input值,Kmax表示到当前为止,第K个最大的input值。Kmax_tmp[1]…Kmax_tmp[K]为长度为K的数组,用于临时保存相关的input数据;每个状态中的操作如下:K_Idle状态:Kmin=0;Kmax=0;Kmax_tmp[i]=0,i=1…K;WaitK状态:Kmin=input;Kmax=Kmax_tmp[1];Kmax_tmp[i]=Kmax_本文档来自技高网
...

【技术保护点】
1.一种时间触发以太网中压缩修正值的计算方法,采用统一的状态机控制计算流程,每个新到的pcf触发状态机状态的转换,当观测窗口结束后,立刻得到时间修正值的结果;其特征在于,本方法具体内容如下:(一)电路的基本组成本方法采用如下的电路来实现,该电路包含偏差计算模块、压缩计算模块和K计算模块,电路的输入信号包括win_open、Rx_pit和参数K,win_open从0变到1代表一个观测窗口打开,从1变到0代表观测窗口关闭;Rx_pit代表每次接收一个pcf帧的时刻;参数K是系统工作的参数,在系统初始化时配置,工作过程中不会改变,电路的输出信号包括计算得到的CC值,以及参与计算该值的pcf的帧数目pcf_num;偏差计算模块通过监测Win_open信号获取观测窗口打开时刻,然后将窗口打开后接收的第一个pcf帧到达时间作为基准时间input[1],同时计算后续到达pcf帧的时间与基准时间的差值input[i],i>1,并将每个pcf分组对应的input值送压缩计算模块和K计算模块;K计算模块通过监测Win_open信号获取观测窗口打开时刻,根据预先配置的K值,在计算整个观测窗口中接收pcf帧中第K个最大的input值和第K个最小的input值,并将这两个值送给压缩计算模块;压缩计算模块是电路的核心模块,通过监测Win_open信号获取观测窗口打开时刻后,监测接收pcf帧的数量,并根据接收pcf帧的数量不断调整CC的计算方法,获取最新的CC值,一旦接收到win_open从1变成0的信号,立刻输出CC的计算结果;(二)偏差计算模块工作流程偏差计算模块设置一个First_input_pit寄存器;(1)当监测到win_open从0变1后,接收到第一个RX_pit时:First_input_pit=Rx_pit;input=0;(2)当接收到后续RX_pit时:Input=Rx_pit‑First_input_pit;(三)压缩计算模块工作流程压缩计算模块的工作流程由一个包含7个状态的有限状态机控制,其中状态机的状态转换条件在图中已经标明,带箭头的实线表示接收到有效的input输入,虚线箭头标示观测窗口关闭;每个状态中的操作如下,其中tmp1和tmp2是两个用于计算CC的变量寄存器;(1)idle状态:CC=0;tmp1=0;tmp2=0;pcf_num=0;(2)R1状态,接收到第1个pcf帧后CC=0;tmp1=0;tmp2=0;pcf_num=1;(3)R2状态,接收到第2个pcf帧后CC=input>>2;tmp1=input;pcf_num=2;其中>>代表右移两位,即除以2的操作,此时tmp1中保存input[2]的值;(4)R3状态,接收到第3个pcf帧后;CC=tmp1,tmp2=input;pcf_num=3;此时tmp1中保存input[2]的值,tmp2中保存input[3]的值;(5)R4状态,接收到第4个pcf帧后;CC=(tmp1+tmp2)>>2;tmp2=input;pcf_num=4;此时tmp1中保存input[2]的值,tmp2中保存input[4]的值;(6)R5状态,接收到第5个pcf帧后;CC=(tmp1+tmp2)>>2;pcf_num=5;(7)Rx状态,接收到第6个及其以后的帧;CC=(Kmin+Kmax)>>2;pcf_num=pcf_num+1;根据上述流程,当在窗口内到达有效input数目不大于5时,在每个状态中CC的计算算法完全不同,而当状态机进入Rx状态时,CC根据K计算模块输出的Kmax和Kmin求平均值得到,完全符合规范要求;(四)K计算模块工作流程K计算模块主要监测接收pcf帧的数量和时间,根据[配置的参数K,计算第K歌最大的input值和第K个最小的input值,K计算模块通过一个有限状态机控制,带箭头的实线表示接收到有效的input输入,虚线箭头标示观测窗口关闭,在waitK状态接收到有效input信号是,若pcf_num...

【技术特征摘要】
1.一种时间触发以太网中压缩修正值的计算方法,采用统一的状态机控制计算流程,每个新到的pcf触发状态机状态的转换,当观测窗口结束后,立刻得到时间修正值的结果;其特征在于,本方法具体内容如下:(一)电路的基本组成本方法采用如下的电路来实现,该电路包含偏差计算模块、压缩计算模块和K计算模块,电路的输入信号包括win_open、Rx_pit和参数K,win_open从0变到1代表一个观测窗口打开,从1变到0代表观测窗口关闭;Rx_pit代表每次接收一个pcf帧的时刻;参数K是系统工作的参数,在系统初始化时配置,工作过程中不会改变,电路的输出信号包括计算得到的CC值,以及参与计算该值的pcf的帧数目pcf_num;偏差计算模块通过监测Win_open信号获取观测窗口打开时刻,然后将窗口打开后接收的第一个pcf帧到达时间作为基准时间input[1],同时计算后续到达pcf帧的时间与基准时间的差值input[i],i>1,并将每个pcf分组对应的input值送压缩计算模块和K计算模块;K计算模块通过监测Win_open信号获取观测窗口打开时刻,根据预先配置的K值,在计算整个观测窗口中接收pcf帧中第K个最大的input值和第K个最小的input值,并将这两个值送给压缩计算模块;压缩计算模块是电路的核心模块,通过监测Win_open信号获取观测窗口打开时刻后,监测接收pcf帧的数量,并根据接收pcf帧的数量不断调整CC的计算方法,获取最新的CC值,一旦接收到win_open从1变成0的信号,立刻输出CC的计算结果;(二)偏差计算模块工作流程偏差计算模块设置一个First_input_pit寄存器;(1)当监测到win_open从0变1后,接收到第一个RX_pit时:First_input_pit=Rx_pit;input=0;(2)当接收到后续RX_pit时:Input=Rx_pit-First_input_pit;(三)压缩计算模块工作流程压缩计算模块的工作流程由一个包含7个状态的有限状态机控制,其中状态机的状态转换条件在图中已经标明,带箭头的实线表示接收到有效的input输入,虚线箭头标示观测窗口关闭;每个状态中的操作如下,其中tmp1和tmp2是两个用于计算CC的变量寄存器;(1)idle状态:CC=0;tmp1=0;tmp2=0;pcf_num=0;(2)R1状态,接收到第1个pcf帧后CC=0;tmp1=0;tmp2=0;pcf_num=1;(3)R2状态,接收到第2个pcf帧后CC=input>>2;tmp1=input;pcf_num=2;其中>>代表右移两位,即除以2的操作,此时tmp1中保存input[2]的值;(4)R3状态,接收到第3个pcf帧后;CC=tmp1,tmp2=input;pcf_num=...

【专利技术属性】
技术研发人员:唐路张怡
申请(专利权)人:湖南华芯通网络科技有限公司
类型:发明
国别省市:湖南,43

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

1