一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

一种FC-AE设备快速获取接收帧来源的方法与流程

2022-02-22 10:10:24 来源:中国专利 TAG:

一种fc-ae设备快速获取接收帧来源的方法
技术领域
1.本发明涉及接收帧识别技术领域,尤其是一种fc-ae设备快速获取接收帧来源的方法。


背景技术:

2.光纤通道航空电子环境(fibre channel avionics environment,简称fc-ae)是一种高速通讯总线技术,是由美国国家标准协会ansi提出并制定的一簇协议族,是可以支持多种媒介和连接器件的网络通信协议。基于fc-ae协议的设备具有高带宽、高可靠性、确定性低延迟、可扩展性等诸多优点,逐渐在航空航天、车辆电子等领域得到广泛应用。
3.在fc-ae设备的生产、测试和使用过程中,需要对产品进行协议测试、功能测试、现场数据传输模拟、压力测试、故障注入模拟、传输路径检查等工作。因此,相关fc-ae测试设备和被测设备在接收数据帧时,需要快速获取数据帧的来源信息,以支持上述需求的实现。
4.在fc-ae设备的测试、检验和验证过程中,会使用到超短帧、超长帧、crc错误帧、关键字错误帧等故障帧,其数据帧的内容和关键字段会出现不符合协议规定的情况;同时,为了能够模拟所有可能出现的数据帧组成情况,要求使用到的数据帧的内容和关键字段可以被任意修改。因此,数据帧的内容和关键字段不能再作为标识数据帧来源的信息。
5.由于fc-ae协议规定了数据帧的最小帧间隔,而在fc-ae设备的测试、检验和验证过程中存在超短帧的传输。因此,需要解决在以最小帧间隔传输最短数据帧的情况下,仍能准确获取接收帧来源信息的问题,以达到不影响数据传输性能的目的。


技术实现要素:

6.针对上述问题,本发明提供了一种不影响fc-ae设备数据传输性能,且不依赖数据帧的内容和关键字段标识数据帧的情况下,快速获取接收数据帧来源信息的方法,能够适用于以最小帧间隔传输最短数据帧的情况。
7.一种fc-ae设备快速获取接收帧来源的方法,对新建数据帧或修改已有数据帧后新生成的数据帧进行crc-32值计算,仅保留与已有数据帧crc-32值均不相等的新生成数据帧;提取所有保留下来的数据帧的相关信息组成帧信息表并按照crc-32值由小到大排列成有序数据集,其中相关信息包括但不限于tx_calc_crc值、来源信息、目标信息;接收数据时,计算当前接收帧的crc-32值,与有序数据集中的crc-32值进行比较,若存在crc-32值相等的数据帧,则该已有数据帧的来源即为当前接收帧的来源。
8.本发明通过对数据帧进行实时计算所得的crc值进行接收数据帧的识别,无需使用数据的帧内容、帧关键字段、帧内携带的crc值,满足fc-ae设备传输的数据帧的内容和关键字段可以被任意编辑修改的使用要求。
9.为适用于以最小帧间隔传输最短数据帧的情况,当有序数据集包含的帧信息表数量过大时,为其建立多级查找表,通过逐级比较的检索方法进行crc-32值的比较,具体内容结合crc值比较过程展开描述如下。
10.步骤1,新建数据帧或修改已有数据帧形成新生成数据帧,计算新生成数据帧的crc-32值tx_calc_crc,其中crc-32值的计算方法符合fc-ae标准的规定。
11.步骤2,将新生成数据帧的tx_calc_crc值,与每条已有数据帧的tx_calc_crc值进行比较,若不存在tx_calc_crc值相等的已有数据帧,则保留该新生成数据帧,否则重复步骤1,参照图1。
12.步骤3,将保留下来的新生成数据帧的相关信息组成帧信息表,参照图5。
13.步骤4,将所有帧信息表,按照tx_calc_crc值由小到大的顺序进行排序,形成有序数据集。
14.步骤5,从有序数据集中提取帧信息表中的tx_calc_crc值,生成n级查找表,最后1级查找表包含有序数据集中所有帧信息表的tx_calc_crc值,并与有序数据集中的各帧信息表一一对应。
15.步骤6,接收数据时,计算当前接收帧的crc-32值rx_calc_crc,其中crc-32值的计算方法与步骤1相同。
16.步骤7,将当前接收帧的rx_calc_crc值依序与各级查找表表项中的tx_calc_crc值分别进行比较,并将前一级的比较结果转化为下一级查找表表项的索引,从下一级查找表中提取对应的表项,重复比较步骤。
17.步骤8,待n级查找表比较完成后,获得当前接收帧的rx_calc_crc值与最后1级查找表表项中的tx_calc_crc值的对应关系,进而获得rx_calc_crc值与有序数据集中的帧信息表的对应关系,将无法获得对应关系的rx_calc_crc值所属接收帧认定为未知来源帧。
18.步骤9,从有序数据集中提取与当前接收帧rx_calc_crc值对应的帧信息表,从该帧信息表中提取相关信息,获取接收帧来源。
19.进一步的,步骤5中n级查找表的生成规则:
20.有序数据集能够包含的帧信息表数量最大值记为t,t为非0自然数,当实际帧信息表数量不足t时,用tx_calc_crc值最大的帧信息表向下填充有序数据集空余部分;
21.从有序数据集中提取帧信息表tx_calc_crc值作为各级查找表表项时,每个表项包含的tx_calc_crc值数量最大值为记为m,m为非0自然数,m值根据系统处理能力适当选取,使得最小帧间隔所占时间与超短帧传输所占时间之和大于检索各级查找表所占用的时间,并且使得t为m的整数倍;
22.当前查找表级数记为i,i取值1,2,3,

,n-1,n,则当前查找表从有序数据集内以特定间隔提取tx_calc_crc值;
23.当1≤i<n时,提取间隔gi=t/mi,每个表项由有序数据集内以间隔gi提取的m个tx_calc_crc值组成,各表项保持tx_calc_crc值由小到大的顺序,依次排列形成第i级查找表;
24.当i=n时,提取间隔gi=1,若查找表仅1级,则每个表项包含的tx_calc_crc值数量为t个,否则每个表项包含的tx_calc_crc值数量为g
i-1
个,g
i-1
为上一级查找表的提取间隔.
25.进一步的,步骤7包括以下步骤:
26.步骤7.1,若当前查找表为最后1级查找表,则跳转步骤7.4,否则顺序执行;
27.步骤7.2,将当前接收帧的rx_calc_crc值与当前查找表表项中各个tx_calc_crc
值比较大小,索引比较结果compare_flagi的每个bit位,与当前查找表表项中各个tx_calc_crc值依次对应;当rx_calc_crc>tx_calc_crc时,索引比较结果compare_flagi的对应bit位置1,否则置0;若rx_calc_crc>最大的tx_calc_crc,则判定当前接收帧为未知来源帧;
28.步骤7.3,完成当前一级查找表的比较之后,从下一级查找表中提取索引值compare_indexi对应的表项,并将下一级查找表设置为当前查找表,跳转步骤7.1,形成查表流水线;
29.步骤7.4,将最后1级查找表表项中各个tx_calc_crc值,与当前接收帧的rx_calc_crc值进行比较;
30.步骤7.5,最终比较结果addr_flag的每个bit位,依次对应表项中各个tx_calc_crc值,当rx_calc_crc=tx_calc_crc时,最终比较结果addr_flag的对应bit位置1,否则置0;
31.步骤7.6,当在最后1级查找表中无法找到与当前接收帧rx_calc_crc值相等的tx_calc_crc值,则判定当前接收帧为未知来源帧。
32.进一步的,步骤7中进行crc值比较采用的方法包括但不限于并行处理、串行处理、串并混合处理,每一级检索所占用的时间≤最小帧间隔所占用的时间 超短帧传输所占用的时间。
33.本发明的有益效果:1、本发明通过对数据帧进行实时计算所得的crc值进行接收数据帧的识别,无需使用数据的帧内容、帧关键字段、帧内携带的crc值,满足fc-ae设备传输的数据帧的内容和关键字段可以被任意编辑修改的使用要求;2、通过建立多级查找表,实时计算接收帧crc值并进行逐级比较的流水线式检索方法,使检索整个有序数据集所需的时间分散到流水线各级,通过控制流水线级数和各级检索所占用时间,即可满足在最小帧间隔传输最短数据帧时的检索需求;3、适用于获取超短帧、超长帧、crc错误帧、关键字错误帧等故障帧来源信息的应用需求。
附图说明
34.图1是本发明的主流程图;
35.图2是本发明生成各级查找表的子流程图;
36.图3是本发明流水线式检索接收帧与帧信息表对应关系的子流程图;
37.图4是本发明实施例的系统示意图;
38.图5是本发明实施例的帧信息表结构示意图;
39.图6是本发明实施例的有序数据集示意图;
40.图7是本发明实施例的第1级查找表结构示意图;
41.图8是本发明实施例的第2级查找表结构示意图;
42.图9是本发明实施例的第3级查找表结构示意图。
具体实施方式
43.下面结合附图和具体实施方式对本发明作进一步详细的说明。本发明的实施例是为了示例和描述起见而给出的,而并不是无遗漏的或者将本发明限于所公开的形式。很多
修改和变化对于本领域的普通技术人员而言是显而易见的。选择和描述实施例是为了更好说明本发明的原理和实际应用,并且使本领域的普通技术人员能够理解本发明从而设计适于特定用途的带有各种修改的各种实施例。
44.实施例1
45.本实施例以图4所示系统为例对本发明提供的fc-ae设备快速获取接收帧来源的方法进行展开阐述。
46.图4所示系统由fc-ae压力测试仪(测试设备)与fc-ae交换机(被测设备)组成,由压力测试仪产生测试数据帧对交换机进行测试。从图4可以看出,该系统中压力测试仪有32个fc端口,其中ch1-ch16端口与交换机1的ch1-ch16端口分别依次连接,ch17-ch32端口与交换机2的ch1-ch16端口分别依次连接。
47.本发明应用于压力测试仪中,在接收数据时指明交换机转发的数据帧的发送端口信息,以便检查交换机的转发路由是否正常。
48.本实施例中,压力测试仪最大支持建立8192条测试帧,在检索接收帧rx_calc_crc值时,每次最多同时比较32个tx_calc_crc值,则有序数据集最多能包含的帧信息表数量最大值t为8192,各级查找表表项包含的tx_calc_crc值数量m最大为32,满足t为m整数倍的条件。
49.假设实际建立数据帧8000个,则形成帧信息表8000个,帧信息表结构如图5所示。帧信息表按tx_calc_crc值由小到大的顺序排序形成有序数据集,并用排第8000位的tx_calc_crc值最大的帧信息表向下填充有序数据集,使其所含帧信息表数量达到最大值t,如图6所示。
50.计算查找表从有序数据集内提取tx_calc_crc值的提取间隔gi=t/mi。
51.当i=1(1≤i<n)时,g1=t/m=8192/32=256;
52.当i=2(1≤i<n)时,g2=t/m2=8192/322=8;
53.当i=3(i=n)时,g3=t/m3=8192/323=0.25。
54.由以上可知,第1级查找表提取间隔g1为256,提取32个tx_calc_crc作为一个表项,且仅有一个表项,结构如图7所示;第2级查找表提取间隔g2为8,每次提取32个tx_calc_crc作为一个表项,总共形成32个表项,结构如图8所示。
55.由于g3计算值0.25小于1,则第3级查找表为最后1级查找表,提取间隔应设为1,每次应提取g2个tx_calc_crc作为一个表项,即每次提取8个tx_calc_crc作为一个表项,总共形成1024个表项,结构如图9所示。
56.为便于表述,首先假定接收帧的rx_calc_crc值与帧信息表2021中的tx_calc_crc相等,下面对检索过程进行展开论述。
57.接收帧的rx_calc_crc值与第1级查找表的32个tx_calc_crc值同时比较大小,参照图7,由于tx_calc_crc7<rx_calc_crc<tx_calc_crc8(7<2021/256<8),因此得到索引比较结果compare_flag1=0x0080,并转化为索引值compare_index1=8。
58.根据索引值compare_index1=8,参照图8,从第2级查找表提取第8个表项(第8行)的32个tx_calc_crc值(即tx_calc_crc225-tx_calc_crc256)与rx_calc_crc值同时比较大小,由于tx_calc_crc252<rx_calc_crc<tx_calc_crc253(252<2021/8<253),得到索引比较结果compare_flag2并转化为索引值compare_index2=253。
59.根据索引值compare_index2=253,从最后1级查找表提取第253个表项(第253行)的8个tx_calc_crc值(即tx_calc_crc2017-tx_calc_crc2024),与rx_calc_crc值同时比较是否相等,得到最终比较结果addr_flag。也就是说,在最后1级查找表的检索中,将rx_calc_crc与tx_calc_crc2017-tx_calc_crc2024这8个tx_calc_crc值进行对比,即可明确已有数据帧中是否存在与当前接收帧crc-32值一致的数据帧,进而判断当前接收帧是否为已知来源。若是已知来源,则从有序数据集中提取对应的帧信息表,从帧信息表表项中可获取当前接收帧的来源信息,达成获取接收帧的来源目标。
60.显然,所描述的实施例仅仅是本发明的一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域及相关领域的普通技术人员在没有作出创造性劳动的前提下所获得的所有其他实施例,都应属于本发明保护的范围。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献