[发明专利]用于航空专用全双工交换以太网终端系统的队列端口的实现方法有效
申请号: | 201110376033.2 | 申请日: | 2011-11-23 |
公开(公告)号: | CN103139101A | 公开(公告)日: | 2013-06-05 |
发明(设计)人: | 田泽;夏大鹏;杨峰;张荣华;王泉;王琦卉;陈佳;赵彬;张玲 | 申请(专利权)人: | 中国航空工业集团公司第六三一研究所 |
主分类号: | H04L12/861 | 分类号: | H04L12/861;H04L12/935 |
代理公司: | 西安智邦专利商标代理有限公司 61211 | 代理人: | 姚敏杰 |
地址: | 710068 *** | 国省代码: | 陕西;61 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 用于 航空 专用 双工 交换 以太网 终端 系统 队列 端口 实现 方法 | ||
技术领域
本发明属于计算机应用技术领域,涉及一种用于航空专用全双工交换以太网终端系统的队列端口的实现方法。
背景技术
随着微电子技术和信息技术的高速发展,航空电子系统结构发生了巨大的变化,对通信网络的性能需求不断提高,机载电子设备的智能化程度也不断提高。新一代的航电系统应该能够为飞行员提供实时决策咨询,对各种目标进行自动分类识别,对各种进攻武器进行实时发射计算、提供目标参数和引导控制等。机载系统资源的共享程度越来越高,航空电子通信网络上传输的不仅仅是命令和状态数据,还有大量的中间结果数据,要求通信网络具有更好的实时性、可靠性和可扩展性。
发明内容
为了解决背景技术中存在的上述技术问题,本发明提供了一种可靠性高、实时性强以及可扩展的用于航空专用全双工交换以太网终端系统的队列端口的实现方法。
本发明的技术解决方案是:本发明提供了一种用于航空专用全双工交换以太网终端系统的队列端口的实现方法,其特殊之处在于:所述方法包括以下步骤:
1)主机创建与外部实现通信联系的队列端口;
2)主机通过已经建立的队列端口与外部数据实现交互。
上述步骤1)的具体实现方式是:
1.1)主机创建通信表;所述通信表包括ES终端配置表、发送SAP端口配置表、接收SAP端口配置表、发送VL端口配置表、接收VL端口配置表、RTC配置表、ICMP配置表、615A配置表以及SNMP配置表;
1.2)主机通过中断通知ES终端加载由步骤1.1)中主机所创建的通信表;
1.3)ES终端根据步骤1.1)中由主机所创建的通信表配置ES终端的物理层以及链路层;
1.4)主机根据通信表中的发送VL端口配置表以及接收VL端口配置表对发送VL端口以及接收VL端口分配接收与发送存储空间。
上述步骤1.2)的具体实现方式是:所述主机根据通信表调用LoadCfg(U32escfg,U32 ESID)函数,为所有发送VL端口以及接收VL端口分配连续的地址空间,并进行大小端转换,并通过中断通知ES终端加载由主机所创建的通信表。
上述步骤1.3)的具体实现方式是:
所述ES终端收到步骤1.2)由主机所发送的加载中断后,调用LoadCfg(U32escfg,U32ESID)函数,将由主机所创建的通信表加载到本地存储空间,然后依次轮询所有被创建的发送VL端口以及接收VL端口。
上述步骤1.4)的具体实现方式是:所述主机根据发送VL端口配置表以及接收VL端口配置表,调用afdxCreateQPort(char*esname,unsigned int PortCfgID,unsigned int*portid,unsigned int addrsum)函数来创建所有队列端口,并根据端口ID给发送VL端口以及接收VL端口进行分配消息存储空间。
上述步骤2)包括以下步骤:
2.1)主机构建需要发送的消息并通过ES终端将该消息发送;
2.2)由ES终端接收外部消息并将该外部消息写入主机。
上述步骤2.1)包括以下步骤:
2.1.1)主机调用afdxQPortSndMsg(unsigned int portid,char*data,unsigned int datalen)函数来发送需要发送的消息:所述主机根据发送VL端口ID把需要发送的消息拷贝到发送VL端口的消息存储空间,并修改头指针;所述Portid是端口ID号,所述*data是主机内存地址,所述datalen是消息长度;
2.1.2)所述ES终端根据Port_ID启动PCI上DMA将消息大小从主机内存取出,再次启动DMA将消息从主机内存搬运至发送FIFO,并修改尾指针;所述ES终端调用Convey_From_Host_Queue(U16 Port_ID,U32 Start_Addr,U16 FlagID,U8MoreFlag)函数来发送需要发送的消息。
上述步骤2.2)包括以下步骤:
2.2.1)ES终端调用RcvMsgFromQue()函数来接收外部消息,对接收到的消息包头进行校验,若校验通过,则对接收VL端口进行检测;若校验不通过,则丢弃外部消息;若接收VL端口存在,则将此消息通过PCI上DMA拷贝到主机内存,并修改尾指针;若接收VL端口不存在,则丢弃外部消息;
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于中国航空工业集团公司第六三一研究所,未经中国航空工业集团公司第六三一研究所许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201110376033.2/2.html,转载请声明来源钻瓜专利网。