[发明专利]一种ARINC429网卡的多通道并行数据加载方法有效
申请号: | 202011164225.2 | 申请日: | 2020-10-27 |
公开(公告)号: | CN112291336B | 公开(公告)日: | 2022-08-12 |
发明(设计)人: | 王锡;姚斌;唐大鹏;高心怡;李准 | 申请(专利权)人: | 中航雷华柯林斯(无锡)航空电子设备有限公司 |
主分类号: | H04L67/10 | 分类号: | H04L67/10;G06F9/50;G06F9/48 |
代理公司: | 无锡华源专利商标事务所(普通合伙) 32228 | 代理人: | 过顾佳;聂启新 |
地址: | 214063 江苏省*** | 国省代码: | 江苏;32 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 arinc429 网卡 通道 并行 数据 加载 方法 | ||
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个通道的按照预定顺序的下一个通道;
其中,所述方法还包括:创建全局的通道状态数组,所述通道状态数组包括N个成员变量,所述N个成员变量分别对应N个通道,且每个成员变量的取值为初始标识或预定标识;则所述驱动调用线程检测第i个通道对应的第i个数据处理线程是否有数据收发请求,包括:所述驱动调用线程检测所述通道状态数组中与所述第i个通道对应的成员变量,若检测到对应的成员变量为预定标识则确定所述第i个数据处理线程有数据收发请求,否则确定所述第i个数据处理线程没有数据收发请求。
2.根据权利要求1所述的方法,其特征在于,所述方法还包括:
每个数据处理线程在请求收发数据时,查询所述通道状态数组中对应的成员变量的取值直至对应的成员变量当前为初始标识时,将对应的成员变量置为预定标识指示具有数据收发请求;
所述驱动调用线程在通过所述第i个通道与对应的ARINC429设备进行数据收发后,将所述通道状态数组中与第i个通道对应的成员变量置为初始标识。
3.根据权利要求2所述的方法,其特征在于,每个数据处理线程的数据收发请求包括数据发送请求,对应的成员变量的预定标识包括发送标识,则:
第i个数据处理线程在请求发送数据且查询到所述通道状态数组中对应的成员变量当前为初始标识时,将待发送数据写入所述第i个通道对应的数据缓存区中,并将对应的成员变量置为发送标识指示具有数据发送请求;
则所述驱动调用线程根据所述第i个数据处理线程的数据发送请求调用ARINC429网卡提供的接口函数通过所述第i个通道将所述第i个通道对应的数据缓存区中的待发送数据发送给所连接的ARINC429设备。
4.根据权利要求2所述的方法,其特征在于,每个数据处理线程的数据收发请求包括数据接收请求,对应的成员变量的预定标识包括接收标识,则:
第i个数据处理线程在请求接收数据且查询到所述通道状态数组中对应的成员变量当前为初始标识时,将对应的成员变量置为接收标识指示具有数据接收请求;所述第i个数据处理线程再次查询所述通道状态数组中对应的成员变量的取值直至对应的成员变量由所述驱动调用线程再次置为初始标识时从对应的数据缓存区中读取待接收数据;
其中,所述待接收数据是所述驱动调用线程根据所述第i个数据处理线程的数据接收请求调用ARINC429网卡提供的接口函数通过所述第i个通道接收到的所连接的ARINC429设备发送的、且写入所述第i个通道对应的数据缓存区中的数据。
5.根据权利要求3或4所述的方法,其特征在于,每个通道的数据缓存区包括待发送缓存区和待接收缓存区,且待发送缓存区中的待发送数据包括数据长度和数据主体,待接收缓存区中的待接收数据包括数据长度和数据主体,则当所述驱动调用线程处理第i个数据处理线程的数据收发请求时:
所述驱动调用线程按照第i个通道对应的待发送缓存区中的待发送数据的数据长度将数据主体发送给所连接的ARINC429设备;
或者,第i个数据处理线程从对应的数据缓存区中按照待接收数据的数据长度读取数据主体。
6.根据权利要求1所述的方法,其特征在于,每个通道的数据缓存区包括待发送缓存区和待接收缓存区,则所述方法包括:
为每个通道分别分配一个待发送缓存区和待接收缓存区,各个通道的待发送缓存区和待接收缓存区分别占用连续且独立的内存空间,且每个待发送缓存区和待接收缓存区占用的内存空间的大小与ARINC429网卡单次收发的最大数据长度匹配。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于中航雷华柯林斯(无锡)航空电子设备有限公司,未经中航雷华柯林斯(无锡)航空电子设备有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202011164225.2/1.html,转载请声明来源钻瓜专利网。