一种ARINC429网卡的多通道并行数据加载方法技术

技术编号:27203902 阅读:17 留言:0更新日期:2021-01-31 12:20
本发明专利技术公开了一种ARINC429网卡的多通道并行数据加载方法,涉及航空设备领域,该方法创建一个驱动调用线程并每个通道分别创建一个数据处理线程,驱动调用线程采用快速轮询的机制按序处理各个通道的数据处理线程的数据收发请求,可以最大限度的利用网卡的多个通道,实现利用一块ARINC429网卡对多台ARINC429设备进行加载,由于控制处理数据需要时间,且传输协议规定数据间隔时间的存在,在快速轮询下基本不会造成各个通道收发数据的延迟,在体验上实际类似于并行加载,不会造成单个加载任务耗时的延长、速度不受影响,从而极大地提升了数据加载的效率,提高了对网卡的利用率。提高了对网卡的利用率。提高了对网卡的利用率。

【技术实现步骤摘要】
一种ARINC429网卡的多通道并行数据加载方法


[0001]本专利技术涉及航空设备领域,尤其是一种ARINC429网卡的多通道并行数据加载方法。

技术介绍

[0002]ARINC429总线结构简单、性能稳定,抗干扰性强、可靠性高,是航空电子设备及有关系统间的一种常用的数字信息传输形式。对ARINC429设备进行数据加载和下载主要通过ARINC429网卡进行通道直连通信,ARINC429网卡通常具有多个通道,常见的是4通道和8通道的制式,不同的通道分配有不同的传输速率适应不同的场景需求。但ARINC429网卡内部各个通道无法共用句柄因此无法并行通信,所以现有的ARINC429网卡无论有多少个通道,在进行数据加载时都只能通过一个通道对一个ARINC429设备进行加载,造成了其余通道的浪费。若要对多个ARINC429设备进行加载,则只能排队按序加载,或者为每个ARINC429设备配备一张ARINC429网卡进行加载,导致加载效率低下、加载成本上升。

技术实现思路

[0003]本专利技术人针对上述问题及技术需求,提出了一种ARINC429网卡的多通道并行数据加载方法,本专利技术的技术方案如下:
[0004]一种ARINC429网卡的多通道并行数据加载方法,该方法包括:
[0005]创建一个驱动调用线程,并为ARINC429网卡每个通道分别创建对应的数据处理线程,ARINC429网卡包括N个分别连接有ARINC429设备的通道,N≥2;
[0006]驱动调用线程检测第i个通道对应的第i个数据处理线程是否有数据收发请求,i为参数且i的起始值为1;
[0007]若第i个数据处理线程没有数据收发请求,则直接执行检测是否满足i<N的步骤;
[0008]若第i个数据处理线程有数据收发请求,则驱动调用线程根据第i个数据处理线程的数据收发请求调用ARINC429网卡提供的接口函数、基于第i个通道的数据缓存区通过第i个通道与对应的ARINC429设备进行数据收发,并执行检测是否满足i<N的步骤;
[0009]检测是否满足i<N,若i<N则令i=i+1,若i=N则令i=1,并再次执行驱动调用线程处理第i个通道对应的第i个数据处理线程的数据收发请求的步骤,第i+1个通道是第i个通道的按照预定顺序的下一个通道。
[0010]其进一步的技术方案为,该方法还包括:
[0011]创建全局的通道状态数组,通道状态数组包括N个成员变量,N个成员变量分别对应N个通道,且每个成员变量的取值为初始标识或预定标识;
[0012]则驱动调用线程检测第i个通道对应的第i个数据处理线程是否有数据收发请求,包括:
[0013]驱动调用线程检测通道状态数组中与第i个通道对应的成员变量,若检测到对应的成员变量为预定标识则确定第i个数据处理线程有数据收发请求,否则确定第i个数据处
理线程没有数据收发请求。
[0014]其进一步的技术方案为,该方法还包括:
[0015]每个数据处理线程在请求收发数据时,查询通道状态数组中对应的成员变量的取值直至对应的成员变量当前为初始标识时,将对应的成员变量置为预定标识指示具有数据收发请求;
[0016]驱动调用线程在通过第i个通道与对应的ARINC429设备进行数据收发后,将通道状态数组中与第i个通道对应的成员变量置为初始标识。
[0017]其进一步的技术方案为,每个数据处理线程的数据收发请求包括数据发送请求,对应的成员变量的预定标识包括发送标识,则:
[0018]第i个数据处理线程在请求发送数据且查询到通道状态数组中对应的成员变量当前为初始标识时,将待发送数据写入第i个通道对应的数据缓存区中,并将对应的成员变量置为发送标识指示具有数据发送请求;
[0019]则驱动调用线程根据第i个数据处理线程的数据发送请求调用ARINC429网卡提供的接口函数通过第i个通道将第i个通道对应的数据缓存区中的待发送数据发送给所连接的ARINC429设备。
[0020]其进一步的技术方案为,每个数据处理线程的数据收发请求包括数据接收请求,对应的成员变量的预定标识包括接收标识,则:
[0021]第i个数据处理线程在请求接收数据且查询到通道状态数组中对应的成员变量当前为初始标识时,将对应的成员变量置为接收标识指示具有数据接收请求;第i个数据处理线程再次查询通道状态数组中对应的成员变量的取值直至对应的成员变量由驱动调用线程再次置为初始标识时从对应的数据缓存区中读取待接收数据;
[0022]其中,待接收数据是驱动调用线程根据第i个数据处理线程的数据接收请求调用ARINC429网卡提供的接口函数通过第i个通道接收到的所连接的ARINC429设备发送的、且写入第i个通道对应的数据缓存区中的数据。
[0023]其进一步的技术方案为,每个通道的数据缓存区包括待发送缓存区和待接收缓存区,且待发送缓存区中的待发送数据包括数据长度和数据主体,待接收缓存区中的待接收数据包括数据长度和数据主体,则当驱动调用线程处理第i个数据处理线程的数据收发请求时:
[0024]驱动调用线程按照第i个通道对应的待发送缓存区中的待发送数据的数据长度将数据主体发送给所连接的ARINC429设备;
[0025]或者,第i个数据处理线程从对应的数据缓存区中按照待接收数据的数据长度读取数据主体。
[0026]其进一步的技术方案为,每个通道的数据缓存区包括待发送缓存区和待接收缓存区,则方法包括:
[0027]为每个通道分别分配一个待发送缓存区和待接收缓存区,各个通道的待发送缓存区和待接收缓存区分别占用连续且独立的内存空间,且每个待发送缓存区和待接收缓存区占用的内存空间的大小与ARINC429网卡单次收发的最大数据长度匹配。
[0028]本专利技术的有益技术效果是:
[0029]本申请公开了一种ARINC429网卡的多通道并行数据加载方法,该方法可以最大限
度的利用ARINC429网卡的多个通道,实现利用一块ARINC429网卡对多台ARINC429设备进行加载,由于控制处理数据需要时间,且传输协议规定数据间隔时间的存在,在快速轮询下基本不会造成各个通道收发数据的延迟,在体验上实际类似于并行加载,不会造成单个加载任务耗时的延长、速度不受影响,从而极大地提升了数据加载的效率,提高了对ARINC429网卡的利用率。
附图说明
[0030]图1是本申请中的系统架构图。
[0031]图2是本申请公开的方法在通道需要发送数据时的调度流程示意图。
[0032]图3是本申请公开的方法在通道需要接收数据时的调度流程示意图。
具体实施方式
[0033]下面结合附图对本专利技术的具体实施方式做进一步说明。
[0034]本申请公开了一种ARINC429网卡的多通道并行数据加载方法,请参考图1所示的系统架构图,该方法包括如下内容:
[0035]一、该方法所基于的硬件结构:
[0036]主本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种ARINC429网卡的多通道并行数据加载方法,其特征在于,所述方法包括:创建一个驱动调用线程,并为ARINC429网卡每个通道分别创建对应的数据处理线程,所述ARINC429网卡包括N个分别连接有ARINC429设备的通道,N≥2;所述驱动调用线程检测第i个通道对应的第i个数据处理线程是否有数据收发请求,i为参数且i的起始值为1;若所述第i个数据处理线程没有数据收发请求,则直接执行检测是否满足i<N的步骤;若所述第i个数据处理线程有数据收发请求,则所述驱动调用线程根据所述第i个数据处理线程的数据收发请求调用ARINC429网卡提供的接口函数、基于所述第i个通道的数据缓存区通过所述第i个通道与对应的ARINC429设备进行数据收发,并执行检测是否满足i<N的步骤;检测是否满足i<N,若i<N则令i=i+1,若i=N则令i=1,并再次执行所述驱动调用线程处理第i个通道对应的第i个数据处理线程的数据收发请求的步骤,第i+1个通道是第i个通道的按照预定顺序的下一个通道。2.根据权利要求1所述的方法,其特征在于,所述方法还包括:创建全局的通道状态数组,所述通道状态数组包括N个成员变量,所述N个成员变量分别对应N个通道,且每个成员变量的取值为初始标识或预定标识;则所述驱动调用线程检测第i个通道对应的第i个数据处理线程是否有数据收发请求,包括:所述驱动调用线程检测所述通道状态数组中与所述第i个通道对应的成员变量,若检测到对应的成员变量为预定标识则确定所述第i个数据处理线程有数据收发请求,否则确定所述第i个数据处理线程没有数据收发请求。3.根据权利要求2所述的方法,其特征在于,所述方法还包括:每个数据处理线程在请求收发数据时,查询所述通道状态数组中对应的成员变量的取值直至对应的成员变量当前为初始标识时,将对应的成员变量置为预定标识指示具有数据收发请求;所述驱动调用线程在通过所述第i个通道与对应的ARINC429设备进行数据收发后,将所述通道状态数组中与第i个通道对应的成员变量置为初始标识。4.根据权利要求3所述的方法,其特征在于,每个数据处理线程的数据收发请求包括数据发送请求,对应的成员变量的预定标识包括发送标识,则:第i个数...

【专利技术属性】
技术研发人员:王锡姚斌唐大鹏高心怡李准
申请(专利权)人:中航雷华柯林斯无锡航空电子设备有限公司
类型:发明
国别省市:

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

1