实现任意TSN时窗周期的方法和装置制造方法及图纸

技术编号:32911005 阅读:11 留言:0更新日期:2022-04-07 12:01
本发明专利技术提供一种实现任意TSN时窗周期的方法和装置,该方法包括:构建至少两个时间窗口,所述至少两个时间窗口包括工作窗口和预备窗口;通过比较报文的时间戳与时间窗口的左右边界,来判断报文所属的时间窗口;通过定期扫描门控列表来执行窗口滑动,以更新预备窗口左右边界,同时将预备窗口变为工作窗口。本发明专利技术以低成本方式解决了大规模门控管理下高精度任意TSN周期数据的时窗的实现方法,让TSN通信设备支持数据频率更广泛的终端设备。备支持数据频率更广泛的终端设备。备支持数据频率更广泛的终端设备。

【技术实现步骤摘要】
实现任意TSN时窗周期的方法和装置


[0001]本专利技术涉及以太网时间敏感网络TSN实现领域,尤其涉及一种实现任意TSN时窗周期的方法和装置。

技术介绍

[0002]IEEE 802.1TSN任务组定义了时间敏感网络,通过一套协议规范构建超低时延和抖动、高可靠的确定性网络。其中在802.1AS时间同步的基础上,802.1Qci、802.1Qbv等协议规范通过仿真时分复用(TDM)来实现时间确定性功能及周期性数据非周期性数据同时传输的功能。
[0003]802.1Qbv主要完成出方向队列门控逻辑,在预先设置的时窗内将周期性的时间敏感数据从队列中发送出去,而802.1Qci除完成流过滤及发送队列选择外,还需完成对时间敏感数据时窗的判定检查与保护,如是否有非时间敏感数据占用时间敏感数据时窗,非敏感数据的时窗内最后一帧数据是否应该发送等,802.1Qci主要完成了入方向的时窗门控逻辑。图1是一个具有两路周期性信号S1和S2和非周期数据的场景,其中,S1的频率是S2的2倍,t
base
为周期信号开始的基准时间,d
s1
为信号S1的传输窗口时长,d
s2
为信号S2的传输窗口时长,t
i
为第i个传输周期的起始时间,Ti为第i个传输周期。
[0004]若信号S2的周期为250us,频率为4KHz,则信号S1的周期为125us,频率为8KHz,如上图T0,T1,T3

Tn的时长为125us,若信号S2的周期长度为100us,频率为10KHz,则信号S1的周期为50us,频率为20KHz,则上图T0,T1,T3

Tn的时长为50us。
[0005]无论是在入方向的判定数据是否落在指定的时窗内,还是出方向在指定的周期时窗内将数据发送出去,都需要维护一个计时器,如果有多条流(多条信号流)就需要多个计时器,来计算周期及各个传输窗口的起止时间。通常在具体实现计时器时会先确定一个计时器粒度,比如10us、5us或1us,可视为计时器的Tick,即计时器每跳动一次时间增加一个Tick的长度d
Tick
,这样就可以计算出时窗和周期的起止时间,比如第i个周期Ti的开始时间为
[0006]t
i
=t
base
+i*T
[0007]假如T为n个d
Tick
,则上述计算为
[0008]t
i
=t
base
+i*(n*d
Tick
)
[0009]同理如上图信号S1的第i个传输时窗的结束时间为(假如传输时窗的时长为k个tick)
[0010]t
si
=t
base
+i*T+k*d
Tick
=t
base
+i*(n*d
Tick
)+k*d
Tick
[0011]即通过若干个Tick来确定时窗或周期的起止时间。这样可以通过Tick数来确定一个时窗或周期的计时器是否到期,从而更新窗口内容。
[0012]以上现有的技术因为计时器粒度的存在,计时器存在一个精度问题,从而在使用上或设计上有一定的限制,比如若计时器粒度d
Tick
为5us,根据以上计算过程,传输窗口和循环周期的时长都必须5us的倍数,比如5us,10us,125us,250us等,若计时器的粒度更小,
比如1us,可以实现任意整数个微妙的窗口或周期时长,但是更小的粒度需要花费更高的成本,无论粒度多小,计时器的精度问题总是存在的。
[0013]在工业领域或其他相关领域,一些设备可能具有数倍于8KHz的采样或传输频率,比如16KHz或32KHz等,16KHz对应的周期为62.5us,32KHz对应的周期为31.25us。对于类似0.25us这样的精度,特别在实现大规模计时器时,简单的采用上述方法已经不能精确实现这类窗口或循环周期时长。

技术实现思路

[0014]为了解决上述技术问题,本专利技术公开了一种实现任意TSN时窗周期的方法和装置,本专利技术可以通过低成本的方式,实现大规模的任意时长的传输窗口或循环周期的精确管理,也即可以用于实现任意频率周期数据的传输,时窗或周期的精度可以达到主频的级别,而不局限于计时器的粒度。比如在250MHz的主频下,时窗或周期的精度可以达到4ns,可以满足更多场景的需要。
[0015]为达到上述目的,本专利技术的技术方案提供了一种实现任意TSN时窗周期的方法,其包括:构建至少两个时间窗口,所述至少两个时间窗口包括工作窗口和预备窗口;通过比较报文的时间戳与时间窗口的左右边界,来判断报文所属的时间窗口;通过定期扫描门控列表来执行窗口滑动,以更新预备窗口左右边界,同时将预备窗口变为工作窗口。
[0016]在进一步的技术方案中,在定期扫描门控列表时,针对每个门控,如果当前时间CurrentTs大于其门控的当前工作窗口的右边界Gate.curWinRightTs加上预备窗口最晚更新时长dChange的结果Tchange,则执行窗口滑动,否则该门控不执行窗口滑动。
[0017]在进一步的技术方案中,在执行窗口滑动的过程中,首先通过该门控的下一个窗口指针Gate.nextWinPtr从该门控的窗口列表中获取下一个时窗Wini的窗口长度Win.dWin和下一个窗口指针Win.nextPtr,然后计算预备窗口的左右边界,左边界为当前工作窗口的右边界,右边界为左边界加上窗口长度,同时通过将Gate.CurSlideWinPos指向预备窗口,来将预备窗口变为新的工作窗口。
[0018]在进一步的技术方案中,通过比较报文的时间戳与时间窗口的左右边界,来判断报文所属的时间窗口,包括:
[0019]将报文的接收时间Tpkt与每个时间窗口的左边界T(Start)及右边界T(End)进行比较,若Tpkt大于等于T(Start)并且小于T(End),则将相应时间窗口视为该报文所属的时间窗口。
[0020]在进一步的技术方案中,报文的时间戳为802.1AS gPTP时间或者相对时间。
[0021]本专利技术的实施方式还提供了一种实现任意TSN时窗周期的装置,其包括:时间窗口构建模块,用于构建至少两个时间窗口,所述至少两个时间窗口包括工作窗口和预备窗口;报文窗口判定模块,用于通过比较报文的时间戳与时间窗口的左右边界,来判断报文所属的时间窗口;窗口更新模块,用于通过定期扫描门控列表来执行窗口滑动,以更新预备窗口左右边界,同时将预备窗口变为工作窗口。
[0022]在进一步的技术方案中,所述窗口更新模块在定期扫描门控列表时,针对每个门控,如果当前时间CurrentTs大于其门控的当前工作窗口的右边界Gate.curWinRightTs加上预备窗口最晚更新时长dChange的结果Tchange,则执行窗口滑动,否则该门控不执行窗
口滑动。
[本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种实现任意TSN时窗周期的方法,其特征在于,包括:构建至少两个时间窗口,所述至少两个时间窗口包括工作窗口和预备窗口;通过比较报文的时间戳与时间窗口的左右边界,来判断报文所属的时间窗口;通过定期扫描门控列表来执行窗口滑动,以更新预备窗口左右边界,同时将预备窗口变为工作窗口。2.根据权利要求1所述的方法,其特征在于,在定期扫描门控列表时,针对每个门控,如果当前时间CurrentTs大于其门控的当前工作窗口的右边界Gate.curWinRightTs加上预备窗口最晚更新时长dChange的结果Tchange,则执行窗口滑动,否则该门控不执行窗口滑动。3.根据权利要求2所述的方法,其特征在于,在执行窗口滑动的过程中,首先通过该门控的下一个窗口指针Gate.nextWinPtr从该门控的窗口列表中获取下一个时窗Wini的窗口长度Win.dWin和下一个窗口指针Win.nextPtr,然后计算预备窗口的左右边界,左边界为当前工作窗口的右边界,右边界为左边界加上窗口长度,同时通过将Gate.CurSlideWinPos指向预备窗口,来将预备窗口变为新的工作窗口。4.根据权利要求1

3中任一项所述的方法,其特征在于,通过比较报文的时间戳与时间窗口的左右边界,来判断报文所属的时间窗口,包括:将报文的接收时间Tpkt与每个时间窗口的左边界T(Start)及右边界T(End)进行比较,若Tpkt大于等于T(Start)并且小于T(End),则将相应时间窗口视为该报文所属的时间窗口。5.根据权利要求1

3中任一项所述的方法,其特征在于,报文的时间戳为802.1AS gPTP时间或者相对时间。6.一种实现任意TSN时窗周期的装置,其特征在于,包...

【专利技术属性】
技术研发人员:刘端
申请(专利权)人:昆高新芯微电子江苏有限公司
类型:发明
国别省市:

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

1