[发明专利]用于航空专用全双工交换以太网终端系统的队列端口的实现方法有效
申请号: | 201110376033.2 | 申请日: | 2011-11-23 |
公开(公告)号: | CN103139101A | 公开(公告)日: | 2013-06-05 |
发明(设计)人: | 田泽;夏大鹏;杨峰;张荣华;王泉;王琦卉;陈佳;赵彬;张玲 | 申请(专利权)人: | 中国航空工业集团公司第六三一研究所 |
主分类号: | H04L12/861 | 分类号: | H04L12/861;H04L12/935 |
代理公司: | 西安智邦专利商标代理有限公司 61211 | 代理人: | 姚敏杰 |
地址: | 710068 *** | 国省代码: | 陕西;61 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 用于 航空 专用 双工 交换 以太网 终端 系统 队列 端口 实现 方法 | ||
1.一种用于航空专用全双工交换以太网终端系统的队列端口的实现方法,其特征在于:所述用于航空专用全双工交换以太网终端系统的队列端口的实现方法包括以下步骤:
1)主机创建与外部实现通信联系的队列端口;
2)主机通过已经建立的队列端口与外部数据实现交互。
2.根据权利要求1所述的用于航空专用全双工交换以太网终端系统的队列端口的实现方法,其特征在于:所述步骤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端口分配接收与发送存储空间。
3.根据权利要求2所述的用于航空专用全双工交换以太网终端系统的队列端口的实现方法,其特征在于:所述步骤1.2)的具体实现方式是:所述主机根据通信表调用LoadCfg(U32 escfg,U32 ESID)函数,为所有发送VL端口以及接收VL端口分配连续的地址空间,并进行大小端转换,并通过中断通知ES终端加载由主机所创建的通信表。
4.根据权利要求3所述的用于航空专用全双工交换以太网终端系统的队列端口的实现方法,其特征在于:所述步骤1.3)的具体实现方式是:
所述ES终端收到步骤1.2)由主机所发送的加载中断后,调用LoadCfg(U32escfg,U32 ESID)函数,将由主机所创建的通信表加载到本地存储空间,然后依次轮询所有被创建的发送VL端口以及接收VL端口。
5.根据权利要求4所述的用于航空专用全双工交换以太网终端系统的队列端口的实现方法,其特征在于:所述步骤1.4)的具体实现方式是:所述主机根据发送VL端口配置表以及接收VL端口配置表,调用afdxCreateQPort(char *esname,unsigned int PortCfgID,unsigned int*portid,unsigned int addrsum)函数来创建所有队列端口,并根据端口ID给发送VL端口以及接收VL端口进行分配消息存储空间。
6.根据权利要求1-5任一权利要求所述的用于航空专用全双工交换以太网终端系统的队列端口的实现方法,其特征在于:所述步骤2)包括以下步骤:
2.1)主机构建需要发送的消息并通过ES终端将该消息发送;
2.2)由ES终端接收外部消息并将该外部消息写入主机。
7.根据权利要求6所述的用于航空专用全双工交换以太网终端系统的队列端口的实现方法,其特征在于:所述步骤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)函数来发送需要发送的消息。
8.根据权利要求7所述的用于航空专用全双工交换以太网终端系统的队列端口的实现方法,其特征在于:所述步骤2.2)包括以下步骤:
2.2.1)ES终端调用RcvMsgFromQue()函数来接收外部消息,对接收到的消息包头进行校验,若校验通过,则对接收VL端口进行检测;若校验不通过,则丢弃外部消息;若接收VL端口存在,则将此消息通过PCI上DMA拷贝到主机内存,并修改尾指针;若接收VL端口不存在,则丢弃外部消息;
2.2.2)主机调用afdxQPortRcvMsg(unsigned int portid,char*data,unsigned int*datalen)函数来接收外部消息,所述主机根据接收VL端口的ID把外部消息从接收VL端口的消息存储空间拷出,并修改头指针;所述portid是端口ID号,所述*data是主机内存地址,所述*datalen是消息长度。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于中国航空工业集团公司第六三一研究所,未经中国航空工业集团公司第六三一研究所许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201110376033.2/1.html,转载请声明来源钻瓜专利网。