CN110505157B - 一种适应时间触发网络的分类调度方法及装置 - Google Patents
一种适应时间触发网络的分类调度方法及装置 Download PDFInfo
- Publication number
- CN110505157B CN110505157B CN201910790676.8A CN201910790676A CN110505157B CN 110505157 B CN110505157 B CN 110505157B CN 201910790676 A CN201910790676 A CN 201910790676A CN 110505157 B CN110505157 B CN 110505157B
- Authority
- CN
- China
- Prior art keywords
- frame
- module
- ethernet
- port
- frames
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L47/00—Traffic control in data switching networks
- H04L47/10—Flow control; Congestion control
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Small-Scale Networks (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本发明公开了一种适应时间触发网络的分类调度方法及装置,涉及时间触发以太网领域;其装置增设链路延时测量模块和流量控制模块;其方法接收方向时,以太网帧分类模块将接收的以太网帧分为TT帧、LT0帧、LT1帧、PCF帧、PT帧、ET帧后,分别送入对应的模块;发送方向时,各类帧的模块将对应类型的帧或者指示信号送往以太网帧调度模块,由以太网帧调度模块对各类帧统一调度发送,在保证原有时间触发TT业务的确定性与实时性的基础上,通过LT0帧、LT1帧从硬件底层实现链路延时的自动和动态测量,提高测量精度,保证时钟同步;流量控制可以有效防止ET帧因为接收端底层存储空间不足而丢帧,提高了网络数据传输的效率。
Description
技术领域
本发明涉及时间触发以太网领域,尤其是一种适应时间触发网络的分类调度方法及装置。
背景技术
近年来,分布式网络被广泛应用到工业系统中,系统中各个设备间通过特定的网络进行通信,这要求网络在实时性、低延时、高带宽、强容错、无冲突等方面有很好的性能。传统以太网因为其高带宽、高灵活性和低成本等特别也被列入考虑范围。而时间触发以太网的提出,不仅继承了传统以太网的上述优点,也弥补了传统以太网的一些缺点,在实时性、低延时、强容错和无冲突方面有着很好的性能,被在国外被广泛应用到各类工业系统中。
时间触发以太网技术中终端设备和交换机实现的关键在于底层的时间同步和各类帧的调度处理以及接收分类处理。现有技术中专利号:CN201811492235.1、专利名称:时间触发以太网多业务消息发送的混合调度方法,提供了一种时间触发以太网多业务消息发送的混合调度方法,以及适用此方法的发送调度消息交互机制,符合TT消息的时间触发特性、 PCF消息的事件触发特性、RC消息的速率限制特性和BE消息的尽力而为传输特性,解决了时间触发以太网中难以兼顾多种业务消息传输特性的问题,为设计和实现支持多种业务流的端系统提供技术支撑。
上述方法存在以下问题:一、上述方法中设备间实现时间同步需要得到设备间链路延时的值,现有技术获取链路延时是依据IEEE1588协议计算链路延时,需要上层软件收发 PTP帧,发往硬件再发往对端。硬件负责在上面加时间戳,软件计算延时值,通过软件方法获取链路延时增大了上层软件逻辑复杂度和软硬件逻辑的耦合度,也降低了链路延时测量的精度;二、在调度发送PCF帧时,每个PCF帧进入缓存到输出缓存的时间是动态变化的,上述动态的路径延时未记载将导致同步的精度降低;三、上述该方法未对BE帧的流量控制帧做调度发送处理,容易出现流量控制帧被BE帧阻塞,导致流量控制没有被及时执行,时间触发帧无法正常传输,影响以太网帧的传输速率和稳定性。因此,本申请提出一种分类调度方法及装置,克服以上问题。
发明内容
本发明的目的在于:本发明提供了一种适应时间触发网络的分类调度方法及装置,解决现有采用软件测量链路延时存在软件逻辑复杂度高、软硬件逻辑耦合度要求高和测量精度低缺点,从而导致同步精度低的问题。
本发明采用的技术方案如下:
一种适应时间触发网络的分类调度方法,包括如下步骤:
本端口的以太网帧调度模块将接收的以太网帧发送至对端口的以太网帧分类模块,对端口的以太网帧分类模块将接收的以太网帧分类后发送至对应上层模块完成各类帧调度;
所述以太网帧包括链路延时测量模块生成的LT0帧和LT1帧,具体如下:
本端口的以太网帧调度模块将本端口链路延时测量模块生成并发送的LT0帧发送至对端口的以太网帧分类模块,
对端口的以太网帧分类模块将接收的LT0帧发送至对端口的链路延时测量模块,
对端口的链路延时测量模块根据LT0帧生成LT1帧后,将LT1帧发送至对端口的以太网帧调度模块;
对端口的以太网帧调度模块将所述LT1帧发送至本端口的以太网帧分类模块,
本端口的以太网帧分类模块将所述LT1帧发送至本端口的链路延时测量模块,本端口的链路延时测量模块接收LT1帧,解析LT1帧计算链路延时,
将所述链路延时发送至时间同步模块。
优选地,所述链路延时计算包括如下步骤:
对端口的链路延时测量模块提取LT0帧的time0字段,将所述time0字段赋值给生成的 LT1帧的time0字段;
本端口的链路延时测量模块接收LT1帧时记录此时刻为T7时刻,解析LT1帧提取time0 和time1字段,根据T7、time0和time1计算链路延时值Link Latency,计算公式如下:
T7-T1=t1+t2+t3+t4+t5+t6
T1=time0.t4=time1
t1=t5=Link Latency=(T7-time0-t2-t3-time1-t6)/2
其中,t0~t6为T1~T7时刻点之间的时间长度,其中t2、t3和t6为可测的固定值,T0 时刻为本端口的链路延时测量模块发送LT0帧时本端口的本地计时器值,T1时刻为本端口的以太网帧调度模块发送LT0帧时本端口的本地计时器值,T2时刻为对端口的以太网帧分类模块接收LT0帧时对端口的本地计时器值,T3时刻为对端口的链路延时测量模块接收LT0 帧时对端口的本地计时器值,T4时刻为对端口的链路延时测量模块发送LT1帧时对端口的本地计时器值,T5时刻为对端口的以太网帧调度模块发送LT1帧时对端口的本地计时器值, T6时刻为本端口的以太网帧分类模块接收LT1帧时本端口的本地计时器值,T7时刻为本端口的链路延时测量模块接收LT1帧时本端口的本地计时器值;链路延时测量模块到本端口的以太网帧调度模块的路径延时默认为0,T4时刻也为对端口的以太网帧调度模块接收LT1 帧时对端口的本地计时器值。
优选地,所述以太网帧还包括时间同步模块收发的PCF帧、流量控制模块收发的PT帧、以太网数据收发模块的ET帧和TT帧,上述各类帧调度包括如下步骤:
步骤a:本端口/对端口的以太网帧调度模块接收以太网帧后,获取LT1帧、PCF帧和ET帧的描述符信息,将前述帧数据和描述符信息存入对应的缓存FIFO中;
步骤b:本端口/对端口的以太网帧调度模块根据TT帧的调度表、前述帧数据、描述符缓存FIFO状态以及本地时钟发送以太网帧至对端口/本端口的以太网帧分类模块;
步骤c:对端口/本端口的以太网帧分类模块接收以太网帧,根据以太网帧的TYPE字段发送各类帧至对端口/本端口的上层模块。
优选地,所述步骤a包括如下步骤:
将LT0帧和LT1帧分别送入LT0帧数据缓存FIFO和LT1帧数据缓存FIFO,将收到LT1帧时的本地计时器值T4存入LT1描述符缓存FIFO;
将时间同步模块发送的PCF帧和当前时刻本地计时器值分别存入PCF帧数据缓存FIFO 和PCF帧描述符缓存FIFO中;
将以太网数据收发模块发送的TT帧和ET帧分别存入TT帧数据缓存FIFO和ET帧数据缓存FIFO中,将ET帧存入FIFO的同时记录存入的ET帧的帧长,将ET帧的帧长信息存入ET帧描述符缓存FIFO中;
将流量控制模块发送的PT帧存入PT帧数据缓存FIFO中。
优选地,所述步骤b包括如下步骤:
若本地时钟不在LT1帧保护带内且LT1帧数据缓存FIFO中有数据,则发送LT1帧,发送的同时根据发送LT1帧时刻本地计时器值T5与LT1帧描述符缓存FIFO中的计时器值 T4的差值t4修改LT1帧中的time1字段和CRC字段;
若本地时钟不在LT0帧保护带内且LT0帧数据缓存FIFO中有数据,则发送LT0帧,发送的同时根据发送LT0帧时刻本地计时器值T1修改LT0帧中的time0字段和CRC字段;
若本地时钟等于调度发送时刻点且TT帧数据缓存FIFO中有数据,则发送TT帧;
若本地时钟不在PCF帧保护带内且PCF帧数据缓存FIFO中有数据,则发送PCF帧,发送的同时会根据发送PCF帧时刻本地计时器值与PCF帧描述符缓存FIFO中的描述符的差值加上PCF帧中透明时钟字段Transparent Clock修改PCF帧中的透明时钟字段 TransparentClock和CRC字段;
若本地时钟不在PT帧保护带内且PT帧数据缓存FIFO中有数据,则发送PT帧;
若本地时钟不在ET帧保护带内且ET帧数据缓存FIFO中有数据且暂停发送信号Pause Flag无效,则发送ET帧。
优选地,所述步骤c包括如下步骤:
若TYPE字段为0x88f0,则将该LT0帧发送至链路延时测量模块,链路延时测量模块提取该帧的time0字段,将该字段赋给新生成的LT1帧的time0字段,链路延时测量模块将新生成的LT1帧发送至以太网帧调度模块;
若TYPE字段为0x88f1,则将LT1帧发送至链路延时测量模块,链路延时测量模块记录收到该LT1帧的本地计时器值T7,并提取该LT1帧的time0字段和time1字段;
若TYPE字段为0x88d7,则将该TT帧发送至以太网数据收发模块,以太网数据收发模块根据TT帧调度表调度接收该TT帧;
若TPYE字段为0x891d,则将该PCF帧发送至时间同步模块,时间同步模块用该帧修改本地时钟,为以太网帧调度模块和以太网数据收发模块提供同步后的本地时钟;
若TYPE字段为0x8808,则将该PT帧发送至流量控制模块,流量控制模块解析出该帧的Parameter字段,并根据Parameter字段的值将发送至以太网帧调度模块的暂停发送信号 Pause Flag拉高Pause Count个时钟周期;
若TYPE字段为0x0800,则将该ET帧发送至以太网数据收发模块,以太网数据收发模块将该帧存入ET帧缓存FIFO中,同时以太网数据收发模块检查ET帧缓存FIFO,若ET 帧缓存FIFO中数据量达到预定值,生成预满信号Almost Full发送至流量控制模块。
一种基于上述方法的装置,包括
以太网帧调度模块,用于接收上层模块发送的各类帧数据和指示信号,将帧数据存入对应缓存FIFO中,然后根据TT帧的调度表、各类帧数据、描述符缓存FIFO状态以及本地时钟发送各类帧;
以太网帧分类模块,用于接收以太网帧,根据以太网帧的TYPE字段将各类帧分别发送至对应的上层模块;
链路延时测量模块,用于生成LT0帧和LT1帧测量本端口和对端口的链路延时,周期性的为本地的时间同步模块提供链路延时;
时间同步模块,用于接收到以太网帧分类模块发送的PCF帧修正本地时钟,为本地的以太网帧调度模块和以太网数据收发模块提供同步后的本地时钟;用于发送PCF帧至以太网帧调度模块。
优选地,还包括
以太网数据收发模块,用于接收以太网帧分类模块发送的TT帧和ET帧;用于发送TT 帧和ET帧至以太网帧调度模块,并对TT帧进行调度接收处理和检查ET帧缓存FIFO,若ET帧缓存FIFO中数据量达到预定值,生成预满信号Almost Full发送至流量控制模块;
流量控制模块,用于对接收预满信号Almost Full后生成PT帧,通过本端口的以太网帧调度模块、对端口的以太网帧分类模块发送至对端口的流量控制模块,对端口的流量控制模块拉高暂停发送信号Pause Flag,对端口的以太网帧调度模块对应暂停发送ET帧。
综上所述,由于采用了上述技术方案,本发明的有益效果是:
1.本发明提出了链路延时测量帧以及对链路延时帧LT帧的调度发送方法,通过硬件生成链路测量帧在每个设备端口的硬件底层实现链路延时的测量,不需要上层软件的参与,降低了上层软件的逻辑复杂度和软硬件逻辑的耦合度;因为逻辑完全用硬件实现,一次往返测量的时间长度大大降低,降低了其中链路延时帧在对端滞留的时间,提高了测量的精度;例如,在对端滞留时间1ms且时钟抖动为百万分之二十时,实际计算的链路延时误差为20ns,这会对时钟精度有明显影响,本法用硬件可以实现对端滞留时间小于16us,链路延时误差小于0.32ns,对时钟精度影响明显降低;
2.本发明将调度发送PCF帧时PCF帧进入缓存到输出缓存对应的动态路径延时记录在 PCF帧的透明时钟字段,保证端口发送出的PCF帧的透明时钟字段Transparent Clock等于该PCF帧所经历的延时,提高了系统时钟同步的精度;
3.本发明提出了流量控制帧的调度发送方法,将流量控制帧存入单独的FIFO,单独做调度发送处理,在调度发送ET帧的同时对流量控制帧做调度发送处理,防止ET帧阻塞流量控制帧,保证了流量控制被及时执行,保证了时间触发帧正常传输的同时也最大化提高了普通以太网帧的传输速率和稳定性。
附图说明
为了更清楚地说明本发明实施例的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,应当理解,以下附图仅示出了本发明的某些实施例,因此不应被看作是对范围的限定,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他相关的附图。
图1为本发明的装置接收方向和发送方向示意图;
图2为本发明的以太网帧调度模块结构示意图;
图3为本发明的以太网帧调度模块流程图;
图4为本发明的链路延时模块测量路径图;
图5为本发明的PCF帧、LT0帧、LT1帧、PT帧的帧结构示意图;
图6为本发明的PCF帧的帧数据字段示意图;
图7为本发明的LT0帧和LT1帧的帧数据字段示意图;
图8为本发明的PT帧的帧数据字段示意图。
具体实施方式
为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅用以解释本发明,并不用于限定本发明,即所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。通常在此处附图中描述和示出的本发明实施例的组件可以以各种不同的配置来布置和设计。
因此,以下对在附图中提供的本发明的实施例的详细描述并非旨在限制要求保护的本发明的范围,而是仅仅表示本发明的选定实施例。基于本发明的实施例,本领域技术人员在没有做出创造性劳动的前提下所获得的所有其他实施例,都属于本发明保护的范围。
需要说明的是,术语“第一”和“第二”等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
以下结合实施例对本发明的特征和性能作进一步的详细描述。
实施例1
现有技术中调度各类帧需要实现时间同步,设备间实现时间同步需要计算设备间链路延时;现有技术中现有技术获取链路延时是依据IEEE1588协议计算链路延时,需要上层软件收发PTP帧,发往硬件再发往对端。硬件负责在上面加时间戳,软件计算延时值,通过软件方法获取链路延时增大了上层软件逻辑复杂度和软硬件逻辑的耦合度,也降低了链路延时测量的精度;因此,本申请提出一种分类调度方法,改进计算链路延时,细节如下:
专业术语定义:时间触发帧-TT帧,链路延时测量帧-LT0/LT1帧,协议控制帧-PCF帧,流量控制帧-PT帧,普通以太网帧-ET帧。
本端口的以太网帧调度模块将接收的以太网帧发送至对端口的以太网帧分类模块,对端口的以太网帧分类模块将接收的以太网帧分类后发送至对应上层模块完成各类帧调度;
如图4所示,所述以太网帧包括链路延时测量模块生成的LT0帧和LT1帧,具体如下:
本端口的以太网帧调度模块将本端口链路延时测量模块生成并发送的LT0帧发送至对端口的以太网帧分类模块,
对端口的以太网帧分类模块将接收的LT0帧发送至对端口的链路延时测量模块,
对端口的链路延时测量模块根据LT0帧生成LT1帧后,将LT1帧发送至对端口的以太网帧调度模块;
对端口的以太网帧调度模块将所述LT1帧发送至本端口的以太网帧分类模块,
本端口的以太网帧分类模块将所述LT1帧发送至本端口的链路延时测量模块,本端口的链路延时测量模块接收LT1帧,解析LT1帧计算链路延时,
将所述链路延时发送至时间同步模块。
对端口的链路延时测量模块提取LT0帧的time0字段,将所述time0字段赋值给生成的 LT1帧的time0字段;
本端口的链路延时测量模块接收LT1帧时记录此时刻为T7时刻,解析LT1帧提取time0 和time1字段,根据T7、time0和time1计算链路延时值Link Latency,计算公式如下:
T7-T1=t1+t2+t3+t4+t5+t6
T1=time0,t4=time1
t1=t5=Link Latency=(T7-time0-t2-t3-time1-t6)/2
其中,t0~t6为T1~T7时刻点之间的时间长度,其中t2、t3和t6为可测的固定值,T0 时刻为本端口的链路延时测量模块发送LT0帧时本端口的本地计时器值,T1时刻为本端口的以太网帧调度模块发送LT0帧时本端口的本地计时器值,T2时刻为对端口的以太网帧分类模块接收LT0帧时对端口的本地计时器值,T3时刻为对端口的链路延时测量模块接收LT0 帧时对端口的本地计时器值,T4时刻为对端口的链路延时测量模块发送LT1帧时对端口的本地计时器值,T5时刻为对端口的以太网帧调度模块发送LT1帧时对端口的本地计时器值, T6时刻为本端口的以太网帧分类模块接收LT1帧时本端口的本地计时器值,T7时刻为本端口的链路延时测量模块接收LT1帧时本端口的本地计时器值;链路延时测量模块到本端口的以太网帧调度模块的路径延时默认为0,T4时刻也为对端口的以太网帧调度模块接收LT1 帧时对端口的本地计时器值。
本发明提出了链路延时测量帧以及对链路延时帧LT帧的调度发送方法,通过硬件生成链路测量帧在每个设备端口的硬件底层实现链路延时的测量,不需要上层软件的参与,降低了上层软件的逻辑复杂度和软硬件逻辑的耦合度;因为逻辑完全用硬件实现,一次往返测量的时间长度大大降低,降低了其中链路延时帧在对端滞留的时间,提高了测量的精度;例如,在对端滞留时间1ms且时钟抖动为百万分之二十时,实际计算的链路延时误差为20ns,这会对时钟精度有明显影响,本法用硬件可以实现对端滞留时间小于16us,链路延时误差小于0.32ns,对时钟精度影响明显降低。
实施例2
基于实施例1,细化各类帧的调度细节,将调度发送PCF帧时PCF帧进入缓存到输出缓存对应的动态路径延时记录在PCF帧的透明时钟字段,保证端口发送出的PCF帧的透明时钟字段Transparent Clock等于该PCF帧所经历的延时,优化时钟同步;调度发送ET帧的同时对流量控制帧PT帧做调度发送处理,防止ET帧阻塞流量控制帧,保证了流量控制被及时执行,保证了时间触发帧正常传输的同时也最大化提高了普通以太网帧的传输速率和稳定性;细节如下:
如图1、4所示,分为发送帧方向和接收帧方向,0端口为发送帧方向,1端口为接收帧方向,包括如下步骤:
步骤1:0端口以太网帧调度模块接收各个上层模块发送的各类帧数据和指示信号,计算LT1帧、PCF帧和ET帧的描述符信息,将帧数据和描述符信息存入对应缓存FIFO中;
将链路延时测量模块发送的链路延时测量帧LT0和LT1分别送入LT0数据缓存FIFO和 LT1数据缓存FIFO,将收到LT1帧时的本地计时器值(0端口内部一个计时器,其位宽和精度与时间同步模块提供的本地时钟相同,但本地计时器区别于本地时钟)送入LT1描述符缓存FIFO中;
将时间同步模块发送的PCF帧和当前时刻本地计时器值分别送入PCF帧数据缓存FIFO 和PCF帧描述符缓存FIFO中;
将以太网数据收发模块发送的TT帧和ET帧分别送入TT帧数据缓存FIFO和ET帧数据缓存FIFO中,将ET帧存入FIFO的同时记录存入的ET帧的帧长,将ET帧的帧长信息存入ET帧描述符缓存FIFO中;
将流量控制模块发送的PT帧存入PT帧数据缓存FIFO中。
步骤2:0端口以太网帧调度模块根据TT帧的调度表、各类帧数据和描述符缓存FIFO 非空指示以及本地时钟来将各类帧从0端口发送出去;
如图2、3、5、6、7、8所示,若本地时钟等于调度发送时刻点(TT帧事先规划好要发送的本地时钟时刻点)且TT帧数据缓存FIFO中有数据,则发送TT帧;
若本地时钟不在LT1帧保护带内且LT1帧数据缓存FIFO中有数据,则发送LT1帧,发送的同时会根据发送LT1帧时刻本地计时器值与LT1帧描述符缓存FIFO中的描述符的差值来修改LT1帧中的time1字段和CRC字段;其中,保护带为本地时钟在该区间内不允许发送帧的时间区间,用来保证TT帧在调度发送时刻点能准时发送,保护带的长度与对应帧的长度有关,其中LT0帧、LT1帧、PCF帧和PT帧的长度固定为64Byte,ET帧的长度由 ET帧描述符缓存FIFO提供;
若本地时钟不在LT0帧保护带内且LT0帧数据缓存FIFO中有数据,则发送LT0帧,发送的同时会将发送LT0帧时刻本地计时器值写入LT0帧中的time0字段并修改CRC字段;
若本地时钟不在PCF帧保护带内且PCF帧数据缓存FIFO中有数据,则发送PCF帧,发送的同时会根据发送PCF帧时刻本地计时器值与PCF帧描述符缓存FIFO中的描述符的差值加上PCF帧中透明时钟字段Transparent Clock来修改PCF帧中的透明时钟字段Transparent Clock和CRC字段;
若本地时钟不在PT帧保护带内且PT帧数据缓存FIFO中有数据,则发送PT帧;
若本地时钟不在ET帧保护带内且ET帧数据缓存FIFO中有数据且暂停发送信号Pause Flag无效,则发送ET帧。
步骤3:1端口以太网帧分类模块接收到以太网帧,根据以太网帧的TYPE字段,将以太网帧分为各类不同的帧,再将各类帧分别送往对应的各类模块;
若TYPE字段为0x88d7,则将该TT帧送往以1端口太网数据收发模块,以太网数据收发模块根据TT帧调度表调度接收该TT帧;其中,调度接收指若接收到TT帧时的本地时钟值在调度表的起始时刻与终止时刻之间,则接收该TT帧,若否,则丢弃该TT帧;
若TYPE字段为0x88f0,则将该LT0帧送往1端口链路延时测量模块,链路延时测量模块提取该帧的time0字段,将该字段赋给新生成的LT1帧的time0字段,链路延时测量模块将新生成的LT1帧送往1端口的以太网帧调度模块;
若TYPE字段为0x88f1,则将该LT1帧送往1端口链路延时测量模块,链路延时测量模块记录收到该LT1帧的本地计时器值T7,提取该LT1帧的time0字段和time1字段,根据T7、time0、time1值计算链路延时Link Latency,将链路延时值Link Latency送往时间同步模块;
若TPYE字段为0x891d,则将该PCF帧送往1端口时间同步模块,时间同步模块用该帧修改本地时钟,为1端口以太网帧调度模块和以太网数据收发模块提供同步后的本地时钟;
若TYPE字段为0x8808,则将该PT帧送往1端口流量控制模块,流量控制模块解析出该帧的Parameter字段,并根据Parameter字段的值将送往1端口以太网帧调度模块的暂停发送信号Pause Flag拉高Pause Count时间,Pause Count值与Parameter字段的值相关,Parameter的单位为传输512bit数据的时间,Pause Count单位为1个时钟周期,例如,千兆以太网中,1个时钟周期传输数据为8bit,所以Pause Count=64*Parameter;
若TYPE字段为0x0800,则将该ET帧送往1端口以太网数据收发模块,以太网数据收发模块将该帧存入ET帧缓存FIFO中供直接内存存取DMA逻辑提取,同时以太网数据收发模块会检查ET帧缓存FIFO,若ET帧缓存FIFO中数据量达到预定值,生成预满信号 AlmostFull送往1端口流量控制模块。
本实施例时间同步模块中同步模式方法是6802协议,本实施例为适应AS6802协议的分类调度方法,相似协议均可使用。
如图1、4所示,发送方向时,T0->T1(LT0帧)和T4->T5(LT1帧),接收方向时, T2->T3(LT0帧)和T6->T7(LT1帧);因为1端口没有0端口的时钟,1端口只能提供驻留时间,因此采用T7-T1计算设备间的链路延时,根据链路延时测量模块的链路延时测量帧在时间T0生成LT0帧,收到LT0帧生成LT1帧,链路延时测量模块在T7接收并解析 LT1帧,从硬件实现计算链路延时。通过硬件生成链路测量帧在每个设备端口的硬件底层实现链路延时的测量,不需要上层软件的参与,降低了上层软件的逻辑复杂度和软硬件逻辑的耦合度;因为逻辑完全用硬件实现,一次往返测量的时间长度大大降低,降低了其中链路延时帧在对端滞留的时间,提高了测量的精度。
实施例3
基于实施例1或者2,提出一种装置,所述装置,包括
以太网帧调度模块,用于接收上层模块发送的各类帧数据和指示信号,将帧数据存入对应缓存FIFO中,然后根据TT帧的调度表、各类帧数据、描述符缓存FIFO状态以及本地时钟发送各类帧;
以太网帧分类模块,用于接收以太网帧,根据以太网帧的TYPE字段将各类帧分别发送至对应的上层模块;
链路延时测量模块,用于生成LT0帧和LT1帧测量本端口和对端口的链路延时,周期性的为本地的时间同步模块提供链路延时;
时间同步模块,用于接收到以太网帧分类模块发送的PCF帧修正本地时钟,为本地的以太网帧调度模块和以太网数据收发模块提供同步后的本地时钟;用于发送PCF帧至以太网帧调度模块。
还包括
以太网数据收发模块,用于接收以太网帧分类模块发送的TT帧和ET帧;用于发送TT 帧和ET帧至以太网帧调度模块,并对TT帧进行调度接收处理和检查ET帧缓存FIFO,若ET帧缓存FIFO中数据量达到预定值,生成预满信号Almost Full发送至流量控制模块;
流量控制模块,用于对接收预满信号Almost Full后生成PT帧,通过本端口的以太网帧调度模块、对端口的以太网帧分类模块发送至对端口的流量控制模块,对端口的流量控制模块拉高暂停发送信号Pause Flag,对端口的以太网帧调度模块对应暂停发送ET帧。
如图1所示,图1中的(a)为接收帧方向装置各模块的连接图,图1中的(b)为发送帧方向装置各模块的连接图。各个模块的连接如上述,其中调度方法如实施例1或者2所述,在此不进行赘述。
链路延时测量模块包括LT帧生成模块和LT帧解析模块。
LT帧生成模块,本地计时器值为T0且该模块没有在生成LT1帧时,该模块生成LT0帧并发送LT0帧;本地计时器值为T0且该模块有在生成LT1帧时,等待LT1帧生成完成后再生成LT0帧发送出去;该模块收到LT帧解析模块的生成LT1帧指示LT1_flag且该模块没有在生成LT0帧时,该模块生成LT1帧发送出去,LT1帧的time0字段由LT帧解析模块提供;该模块收到LT帧解析模块的生成LT1帧指示LT1_flag且该模块有在生成LT0帧时,等待LT0帧生成完成后再生成LT1帧发送出去,LT1帧的time0字段由LT帧解析模块提供。
LT帧解析模块,接收到LT0帧时,解析出LT0帧的time0字段,将生成LT1帧指示LT1_flag和time0字段送往LT帧生成模块;接收到LT1帧时,解析出LT1帧的time0字段和time1字段,结合本地计时器值T7计算出链路延时值Link Latency。
流量控制模块包括PT帧生成模块和PT帧解析模块。
PT帧生成模块收到预满信号Almost Full时,生成PT帧发送出去,PT帧中的Parameter 字段可预先被配置为固定值;
PT帧解析模块收到PT帧时,解析该帧的Parameter字段,根据Parameter字段将暂停发送信号Pause Flag拉高Pause Count时间,Pause Count值根据Parameter字段的值计算。
综上,本发明设置链路延时测量模块,通过硬件生成链路延时测量帧,在每个设备端口的硬件底层实现链路延时的测量,不需要上层软件的参与,降低了上层软件的逻辑复杂度和软硬件逻辑的耦合度;因为逻辑完全用硬件实现,一次往返测量的时间长度大大降低,降低了其中链路延时帧在对端滞留的时间,提高了测量的精度;例如,在对端滞留时间1ms 且时钟抖动为百万分之二十时,实际计算的链路延时误差为20ns,这会对时钟精度有明显影响,本法用硬件可以实现对端滞留时间小于16us,链路延时误差小于0.32ns,对时钟精度影响明显降低;
设置流量控制模块在调度发送ET帧的同时对流量控制帧做调度发送处理,防止ET帧阻塞流量控制帧,保证了流量控制被及时执行,保证了时间触发帧正常传输的同时也最大化提高了普通以太网帧的传输速率和稳定性。
以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内所作的任何修改、等同替换和改进等,均应包含在本发明的保护范围之内。
Claims (7)
1.一种适应时间触发网络的分类调度方法,其特征在于:包括如下步骤:
本端口的以太网帧调度模块将接收的以太网帧发送至对端口的以太网帧分类模块,对端口的以太网帧分类模块将接收的以太网帧分类后发送至对应上层模块完成各类帧调度;
所述以太网帧包括链路延时测量模块生成的LT0帧和LT1帧,具体如下:
本端口的以太网帧调度模块将本端口链路延时测量模块生成并发送的LT0帧发送至对端口的以太网帧分类模块,
对端口的以太网帧分类模块将接收的LT0帧发送至对端口的链路延时测量模块,
对端口的链路延时测量模块根据LT0帧生成LT1帧后,将LT1帧发送至对端口的以太网帧调度模块;
对端口的以太网帧调度模块将所述LT1帧发送至本端口的以太网帧分类模块,
本端口的以太网帧分类模块将所述LT1帧发送至本端口的链路延时测量模块,本端口的链路延时测量模块接收LT1帧,解析LT1帧计算链路延时,
将所述链路延时发送至时间同步模块;
所述链路延时测量模块的链路延时计算包括如下步骤:
对端口的链路延时测量模块提取LT0帧的time0字段,将所述time0字段赋值给生成的LT1帧的time0字段;
本端口的链路延时测量模块接收LT1帧时记录此时刻为T7时刻,解析LT1帧提取time0和time1字段,根据T7、time0和time1计算链路延时值Link Latency,计算公式如下:
T7-T1=t1+t2+t3+t4+t5+t6
T1=time0,t4=time1
t1=t5=Link Latency=(T7-time0-t2-t3-time1-t6)/2
其中,t0~t6为T1~T7时刻点之间的时间长度,其中t2、t3和t6为可测的固定值,T0时刻为本端口的链路延时测量模块发送LT0帧时本端口的本地计时器值,T1时刻为本端口的以太网帧调度模块发送LT0帧时本端口的本地计时器值,T2时刻为对端口的以太网帧分类模块接收LT0帧时对端口的本地计时器值,T3时刻为对端口的链路延时测量模块接收LT0帧时对端口的本地计时器值,T4时刻为对端口的链路延时测量模块发送LT1帧时对端口的本地计时器值,T5时刻为对端口的以太网帧调度模块发送LT1帧时对端口的本地计时器值,T6时刻为本端口的以太网帧分类模块接收LT1帧时本端口的本地计时器值,T7时刻为本端口的链路延时测量模块接收LT1帧时本端口的本地计时器值;链路延时测量模块到本端口的以太网帧调度模块的路径延时默认为0,T4时刻也为对端口的以太网帧调度模块接收LT1帧时对端口的本地计时器值。
2.根据权利要求1所述的一种适应时间触发网络的分类调度方法,其特征在于:所述以太网帧还包括时间同步模块收发的PCF帧、流量控制模块收发的PT帧、以太网数据收发模块的ET帧和TT帧,上述各类帧调度包括如下步骤:
步骤a:本端口/对端口的以太网帧调度模块接收以太网帧后,获取LT1帧、PCF帧和ET帧的描述符信息,将前述LT1帧、PCF帧和ET帧的帧数据和描述符信息存入对应的缓存FIFO中;
步骤b:本端口/对端口的以太网帧调度模块根据TT帧的调度表、前述帧数据、描述符缓存FIFO状态以及本地时钟发送以太网帧至对端口/本端口的以太网帧分类模块;
步骤c:对端口/本端口的以太网帧分类模块接收以太网帧,根据以太网帧的TYPE字段发送各类帧至对端口/本端口的上层模块。
3.根据权利要求2所述的一种适应时间触发网络的分类调度方法,其特征在于:所述步骤a包括如下步骤:
将LT0帧和LT1帧分别送入LT0帧数据缓存FIFO和LT1帧数据缓存FIFO,将收到LT1帧时的本地计时器值T4存入LT1描述符缓存FIFO;
将时间同步模块发送的PCF帧和当前时刻本地计时器值分别存入PCF帧数据缓存FIFO和PCF帧描述符缓存FIFO中;
将以太网数据收发模块发送的TT帧和ET帧分别存入TT帧数据缓存FIFO和ET帧数据缓存FIFO中,将ET帧存入FIFO的同时记录存入的ET帧的帧长,将ET帧的帧长信息存入ET帧描述符缓存FIFO中;
将流量控制模块发送的PT帧存入PT帧数据缓存FIFO中。
4.根据权利要求2所述的一种适应时间触发网络的分类调度方法,其特征在于:所述步骤b包括如下步骤:
若本地时钟不在LT1帧保护带内且LT1帧数据缓存FIFO中有数据,则发送LT1帧,发送的同时根据发送LT1帧时刻本地计时器值T5与LT1帧描述符缓存FIFO中的计时器值T4的差值t4修改LT1帧中的time1字段和CRC字段;
若本地时钟不在LT0帧保护带内且LT0帧数据缓存FIFO中有数据,则发送LT0帧,发送的同时根据发送LT0帧时刻本地计时器值T1修改LT0帧中的time0字段和CRC字段;
若本地时钟等于调度发送时刻点且TT帧数据缓存FIFO中有数据,则发送TT帧;
若本地时钟不在PCF帧保护带内且PCF帧数据缓存FIFO中有数据,则发送PCF帧,发送的同时会根据发送PCF帧时刻本地计时器值与PCF帧描述符缓存FIFO中的描述符的差值加上PCF帧中透明时钟字段Transparent Clock修改PCF帧中的透明时钟字段TransparentClock和CRC字段;
若本地时钟不在PT帧保护带内且PT帧数据缓存FIFO中有数据,则发送PT帧;
若本地时钟不在ET帧保护带内且ET帧数据缓存FIFO中有数据且暂停发送信号PauseFlag无效,则发送ET帧。
5.根据权利要求2所述的一种适应时间触发网络的分类调度方法,其特征在于:所述步骤c包括如下步骤:
若TYPE字段为0x88f0,则将该LT0帧发送至链路延时测量模块,链路延时测量模块提取该帧的time0字段,将该字段赋给新生成的LT1帧的time0字段,链路延时测量模块将新生成的LT1帧发送至以太网帧调度模块;
若TYPE字段为0x88f1,则将LT1帧发送至链路延时测量模块,链路延时测量模块记录收到该LT1帧的本地计时器值T7,并提取该LT1帧的time0字段和time1字段;
若TYPE字段为0x88d7,则将该TT帧发送至以太网数据收发模块,以太网数据收发模块根据TT帧调度表调度接收该TT帧;
若TPYE字段为0x891d,则将该PCF帧发送至时间同步模块,时间同步模块用该帧修改本地时钟,为以太网帧调度模块和以太网数据收发模块提供同步后的本地时钟;
若TYPE字段为0x8808,则将该PT帧发送至流量控制模块,流量控制模块解析出该帧的Parameter字段,并根据Parameter字段的值将发送至以太网帧调度模块的暂停发送信号Pause Flag拉高Pause Count个时钟周期;
若TYPE字段为0x0800,则将该ET帧发送至以太网数据收发模块,以太网数据收发模块将该帧存入ET帧缓存FIFO中,同时以太网数据收发模块检查ET帧缓存FIFO,若ET帧缓存FIFO中数据量达到预定值,生成预满信号Almost Full发送至流量控制模块。
6.一种基于权利要求1所述方法的装置,其特征在于:包括
以太网帧调度模块,用于接收上层模块发送的各类帧数据和指示信号,将帧数据存入对应缓存FIFO中,然后根据TT帧的调度表、各类帧数据、描述符缓存FIFO状态以及本地时钟发送各类帧;
以太网帧分类模块,用于接收以太网帧,根据以太网帧的TYPE字段将各类帧分别发送至对应的上层模块;
链路延时测量模块,用于生成LT0帧和LT1帧测量本端口和对端口的链路延时,周期性的为本地的时间同步模块提供链路延时;
时间同步模块,用于接收到以太网帧分类模块发送的PCF帧修正本地时钟,为本地的以太网帧调度模块和以太网数据收发模块提供同步后的本地时钟;用于发送PCF帧至以太网帧调度模块。
7.根据权利要求6所述的装置,其特征在于:还包括
以太网数据收发模块,用于接收以太网帧分类模块发送的TT帧和ET帧;用于发送TT帧和ET帧至以太网帧调度模块,并对TT帧进行调度接收处理和检查ET帧缓存FIFO,若ET帧缓存FIFO中数据量达到预定值,生成预满信号Almost Full发送至流量控制模块;
流量控制模块,用于对接收预满信号Almost Full后生成PT帧,通过本端口的以太网帧调度模块、对端口的以太网帧分类模块发送至对端口的流量控制模块,对端口的流量控制模块拉高暂停发送信号Pause Flag,对端口的以太网帧调度模块对应暂停发送ET帧。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910790676.8A CN110505157B (zh) | 2019-08-26 | 2019-08-26 | 一种适应时间触发网络的分类调度方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910790676.8A CN110505157B (zh) | 2019-08-26 | 2019-08-26 | 一种适应时间触发网络的分类调度方法及装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN110505157A CN110505157A (zh) | 2019-11-26 |
CN110505157B true CN110505157B (zh) | 2021-04-16 |
Family
ID=68589499
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910790676.8A Active CN110505157B (zh) | 2019-08-26 | 2019-08-26 | 一种适应时间触发网络的分类调度方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN110505157B (zh) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111698059B (zh) * | 2020-05-28 | 2023-03-31 | 中国航空工业集团公司西安航空计算技术研究所 | 协议控制帧无冲突传输方法 |
CN112532427B (zh) * | 2020-11-05 | 2023-03-14 | 中国航空工业集团公司西安航空计算技术研究所 | 一种时间触发通信网络的规划调度方法 |
Family Cites Families (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107425936B (zh) * | 2017-06-15 | 2019-04-16 | 西安微电子技术研究所 | 一种透明时钟测量装置 |
CN107147465B (zh) * | 2017-06-30 | 2019-03-01 | 西安微电子技术研究所 | 一种面向时间触发网络的交换机时钟同步控制器及控制方法 |
CN107819539B (zh) * | 2017-11-17 | 2019-04-19 | 西安电子科技大学 | 一种实现时间触发以太网端系统的装置及方法 |
CN108683470B (zh) * | 2018-03-29 | 2020-04-10 | 北京控制工程研究所 | 一种获取和更新透明时钟的电路及方法 |
CN108712289B (zh) * | 2018-05-24 | 2021-01-12 | 西安电子科技大学 | 采用硬件实现的tte端系统网络管理装置 |
-
2019
- 2019-08-26 CN CN201910790676.8A patent/CN110505157B/zh active Active
Also Published As
Publication number | Publication date |
---|---|
CN110505157A (zh) | 2019-11-26 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN106850466B (zh) | 一种时间触发网络中数据包的转发方法及装置 | |
US8068429B2 (en) | Transmit scheduling | |
US11647371B2 (en) | Synchronization of bluetooth low energy isochronous transmissions | |
CN102132535B (zh) | 在通信网中传输数据分组的方法和交换装置 | |
CN102932676B (zh) | 基于音视频同步的自适应带宽传输和播放方法 | |
KR101290643B1 (ko) | 광 전송 네트워크에서 시간 동기화 프로토콜을 베어링하는 방법 및 시스템 | |
US8089979B2 (en) | Packet relay apparatus and packet relay method | |
CN110505157B (zh) | 一种适应时间触发网络的分类调度方法及装置 | |
CN112511376A (zh) | 一种tsn网络转发时间特性的测量方法及终端 | |
CN110460548B (zh) | 基于多平面的时间触发以太网交换机及调度分组交换方法 | |
WO2015131626A1 (zh) | 用于网络设备的时间同步方法、装置及时间同步服务器 | |
US11075968B1 (en) | Synchronization of Bluetooth low energy transmissions across connected isochronous groups | |
US11758434B2 (en) | Dynamic buffer allocation for bluetooth low energy isochronous transmissions | |
CN105610727A (zh) | 一种网络数据传输方法及装置 | |
CN113644998A (zh) | 一种5g网络的ioam时延测量方法和装置 | |
JP7191253B2 (ja) | パケット交換ネットワークにおいて通信エンティティのコンピューター手段によって実施される方法、並びにそのコンピュータープログラム及びコンピューター可読非一時的記録媒体、並びにパケット交換ネットワークの通信エンティティ | |
CN115208808A (zh) | 服务质量测试方法、装置以及芯片设备、存储介质 | |
CN108777609A (zh) | 在tte网络中避免tt业务与et业务输出冲突的方法 | |
CN115066870A (zh) | 网络设备以及用于借助该网络设备采集和处理包信息的方法 | |
US10334539B2 (en) | Metered interface | |
CN114268563B (zh) | 精确测量时间触发以太网透明时钟的方法 | |
CN112134639B (zh) | Oam报文发送的方法、装置、计算机介质和电子设备 | |
CN103490995A (zh) | 报文发送方法和装置 | |
CN113708903A (zh) | 基于时间戳的信令确定性传输方法、装置、设备及介质 | |
CN115022208B (zh) | 一种tte网络流量监控设备及方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |