System.ArgumentOutOfRangeException: 索引和长度必须引用该字符串内的位置。 参数名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind()
【技术实现步骤摘要】
本专利技术涉及通信,尤其涉及一种提高fc-ae-1553消息处理效率的方法。
技术介绍
1、fc-ae-1553协议具备高可靠性、高稳定性、高带宽等优点。为了便于基于fc-ae-1553协议的应用开发,很多情况下需要将应用程序部署在搭载windows操作系统的硬件平台上。
2、通常windows平台应用程序通过api(应用程序界面,application programinterface)操作fc-ae-1553通信卡设备进行数据交互。以nt(网络终端,networkterminal)角色应用程序为例,当fc-ae-1553通信卡接收到nc(网络控制器,networkcontroller)的调度信息时,通信卡固件首先执行该消息;每当消息执行成功后,都将产生一条状态消息;固件程序将状态消息存储到消息完成队列中,同时,产生一个中断信号,通知windows操作系统;windows接收到该中断信号后,通过调用应用软件注册的回调处理函数的形式通知应用程序进行后续处理。fc-ae-1553协议处理过程中,每一个交换根据消息长度的不同,需要20us到700us不等的时间。每一个交换执行完成都可以产生一个交换完成中断,提示应用程序进行后续处理。每秒中将会产生1500到50000个中断。然而,windows操作系统并不是一个高实时性的操作系统,它是一个抢占式的分时多任务操作系统。系统接管全部硬件资源,应用程序在cpu的ring3级上运行,无法直接与硬件打交道。操作系统将处理器的运行时间分成小的时间片段,并分配给多个线程。每个线程在操作
3、综上,目前windows平台的fc-ae-1553消息处理方法,存在中断次数多、数据处理效率低以及系统的吞吐能力差等缺陷。
技术实现思路
1、鉴于上述的分析,本专利技术实施例旨在提供一种提高fc-ae-1553消息处理效率的方法,用以解决现有windows平台的fc-ae-1553消息处理方法中存在的中断次数多、数据处理效率低以及系统的吞吐能力差等问题。
2、本专利技术的目的主要是通过以下技术方案实现的:
3、本专利技术实施例提供了一种提高fc-ae-1553消息处理效率的方法,包括如下步骤:
4、基于应用软件,获得nt角色固件;等待并获取nc角色调度信息;
5、利用nt角色固件进行fc-ae-1553通信,通过处理nc角色调度信息,生成消息执行状态,并将消息执行状态写入cq,获得cq队列;
6、基于所述cq队列,判断是否满足动态均衡负载因子a或中断上报超时负载因子b的触发条件;若满足,则产生中断信号;否则等待并处理nc角色调度信息,更新所述cq队列,直至满足所述触发条件;
7、基于中断信号,利用应用软件完成对所述cq队列中的消息执行状态的处理。
8、基于上述方法的进一步改进,基于应用软件,获得nt角色固件;等待并获取nc角色调度信息,包括:
9、启动应用软件,向windows操作系统注册回调处理函数;所述回调处理函数用于当windows操作系统接收到所述中断信号时,通知应用软件对所述cq队列中的消息执行状态进行处理;
10、利用应用软件对fc-ae-1553通信卡进行nt角色参数初始化,获得nt角色固件,并等待nc角色调度信息;
11、经nc角色进行信息调度,输出nc角色调度信息至nt角色固件。
12、基于上述方法的进一步改进,利用应用软件对fc-ae-1553通信卡进行nt角色参数初始化,获得nt角色固件,包括:
13、对通信卡的固件寄存器进行配置;
14、对所有子地址的scb进行配置;其中,每个子地址分为发送scb和接收scb;
15、经过上述配置的fc-ae-1553通信卡,完成nt角色参数初始化,成为nt角色固件。
16、基于上述方法的进一步改进,基于所述cq队列,判断是否满足动态均衡负载因子a或中断上报超时负载因子b的触发条件;若满足,则产生中断信号,包括:
17、判断未处理的cq个数是否大于负载因子a;
18、若是,则产生中断信号;否则继续判断负载因子b是否满足触发条件;
19、若负载因子b不满足触发条件,则等待nc角色调度信息;
20、若负载因子b满足触发条件且cq队列非空则产生中断信号。
21、基于上述方法的进一步改进,所述负载因子a和负载因子b均根据fc-ae-1553网络实时有效带宽进行动态配置;其中,
22、负载因子a用于标识每上报一次中断前未处理的cq个数上限;
23、负载因子b用于标识每处理一个cq后允许不上报中断的间隔时间上限;其中,当处理一个cq后不上报中断的间隔时间超过负载因子b时,无论是否满足负载因子a的触发条件,均上报中断信号。
24、基于上述方法的进一步改进,所述负载因子a和负载因子b均根据fc-ae-1553网络实时有效带宽进行动态配置,包括:
25、通过以下算法获得fc-ae-1553网络的有效带宽:
26、γ=(∑(α*8)(t))/β*100%
27、其中,α为每个fc-ae-1553交换的大小,表示fc-ae-1553通信中命令序列指定的数据长度;γ为fc-ae-1553网络的有效带宽,实时计算更新;t为对γ进行实时计算更新的间隔时间;β为协议带宽;
28、根据γ,对负载因子a和负载因子b进行动态配置。
29、基于上述方法的进一步改进,根据γ,对负载因子a和负载因子b进行动态配置,包括:
30、将γ按照0~100%的范围,划定为若干有效带宽区间,并按照有效带宽由低到高进行排序,得到多个排序后的有效带宽区间;
31、按照负载因子a最小取值至最大取值的范围,获得数量等于所述排序后的有效带宽区间个数的负载因子a预设值,并将负载因子a预设值按照由低到高进行排序,与所述多个排序后的有效带宽区间一一对应;
32、按照负载因子b最小取值至最大取值的范围,获得数量等于所述排序后的有效带宽区间个数的负载因子b预设值,并将负载因子b预设值按照由低到高进行排序,与所述多个排序后的有效带宽区间一一对应;
33、对γ进行实时计算更新,判断γ所处的排序后的有效带宽区间,实时配置对应的负载因子a预设值和负载本文档来自技高网...
【技术保护点】
1.一种提高FC-AE-1553消息处理效率的方法,其特征在于,包括如下步骤:
2.根据权利要求1所述的提高FC-AE-1553消息处理效率的方法,其特征在于,基于应用软件,获得NT角色固件;等待并获取NC角色调度信息,包括:
3.根据权利要求2所述的提高FC-AE-1553消息处理效率的方法,其特征在于,利用应用软件对FC-AE-1553通信卡进行NT角色参数初始化,获得NT角色固件,包括:
4.根据权利要求3所述的提高FC-AE-1553消息处理效率的方法,其特征在于,基于所述CQ队列,判断是否满足动态均衡负载因子A或中断上报超时负载因子B的触发条件;若满足,则产生中断信号,包括:
5.根据权利要求4所述的提高FC-AE-1553消息处理效率的方法,其特征在于,所述负载因子A和负载因子B均根据FC-AE-1553网络实时有效带宽进行动态配置;其中,
6.根据权利要求5所述的提高FC-AE-1553消息处理效率的方法,其特征在于,所述负载因子A和负载因子B均根据FC-AE-1553网络实时有效带宽进行动态配置,包括:<
...【技术特征摘要】
1.一种提高fc-ae-1553消息处理效率的方法,其特征在于,包括如下步骤:
2.根据权利要求1所述的提高fc-ae-1553消息处理效率的方法,其特征在于,基于应用软件,获得nt角色固件;等待并获取nc角色调度信息,包括:
3.根据权利要求2所述的提高fc-ae-1553消息处理效率的方法,其特征在于,利用应用软件对fc-ae-1553通信卡进行nt角色参数初始化,获得nt角色固件,包括:
4.根据权利要求3所述的提高fc-ae-1553消息处理效率的方法,其特征在于,基于所述cq队列,判断是否满足动态均衡负载因子a或中断上报超时负载因子b的触发条件;若满足,则产生中断信号,包括:
5.根据权利要求4所述的提高fc-ae-1553消息处理效率的方法,其特征在于,所述负载因子a和负载因子b均根据fc-ae-1553网络实时有效带宽进行动态配置;其中,
...
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。