CN103139316B - 用于航空专用全双工交换以太网终端系统的sampling端口的实现方法 - Google Patents

用于航空专用全双工交换以太网终端系统的sampling端口的实现方法 Download PDF

Info

Publication number
CN103139316B
CN103139316B CN201110376038.5A CN201110376038A CN103139316B CN 103139316 B CN103139316 B CN 103139316B CN 201110376038 A CN201110376038 A CN 201110376038A CN 103139316 B CN103139316 B CN 103139316B
Authority
CN
China
Prior art keywords
port
message
main frame
sampling port
sampling
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN201110376038.5A
Other languages
English (en)
Other versions
CN103139316A (zh
Inventor
田泽
夏大鹏
王泉
杨峰
张荣华
王琦卉
张玲
陈佳
李哲
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Xian Xiangteng Microelectronics Technology Co Ltd
Original Assignee
AVIC No 631 Research Institute
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by AVIC No 631 Research Institute filed Critical AVIC No 631 Research Institute
Priority to CN201110376038.5A priority Critical patent/CN103139316B/zh
Publication of CN103139316A publication Critical patent/CN103139316A/zh
Application granted granted Critical
Publication of CN103139316B publication Critical patent/CN103139316B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Abstract

本发明涉及一种用于航空专用全双工交换以太网终端系统的SAMPLING端口的实现方法,方法包括以下步骤:1)主机创建与外部实现通信的SAMPLING端口;2)主机通过已经建立的SAMPLING端口与外部数据实现交互。本发明提供的用于航空专用全双工交换以太网终端系统的SAMPLING端口的实现方法为高性能的航电网络通信提供有效且可行的解决方案,该技术的研究将为实现大型飞机航空电子通信网络奠定基础,具有可靠性高、实时性强以及可扩展性强的优点。

Description

用于航空专用全双工交换以太网终端系统的SAMPLING端口的实现方法
技术领域
本发明属于计算机应用技术领域,涉及一种用于航空专用全双工交换以太网终端系统的SAMPLING端口的实现方法。
背景技术
随着微电子技术和信息技术的高速发展,航空电子系统结构发生了巨大的变化,对通信网络的性能需求不断提高,机载电子设备的智能化程度也不断提高。新一代的航电系统应该能够为飞行员提供实时决策咨询,对各种目标进行自动分类识别,对各种进攻武器进行实时发射计算、提供目标参数和引导控制等。机载系统资源的共享程度越来越高,航空电子通信网络上传输的不仅仅是命令和状态数据,还有大量的中间结果数据,要求通信网络具有更好的实时性、可靠性和可扩展性。
发明内容
为了解决背景技术中存在的上述技术问题,本发明提供了一种用于航空专用全双工交换以太网终端系统的SAMPLING端口的实现方法。
本发明的技术解决方案是:本发明提供了一种用于航空专用全双工交换以太网终端系统的SAMPLING端口的实现方法,其特殊之处在于:所述用于航空专用全双工交换以太网终端系统的SAMPLING端口的实现方法包括以下步骤:
1)主机创建与外部实现通信的SAMPLING端口;
2)主机通过已经建立的SAMPLING端口与外部数据实现交互。
上述步骤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)主机根据通信表中的SNMP端口配置表对SAMPLING端口分配接收与发送存储空间。
上述步骤1.2)的具体实现方式是:所述主机根据通信表调用LoadCfg(U32escfg,U32ESID)函数,为SAMPLING端口分配连续的地址空间,并进行大小端转换,并通过中断通知ES终端加载由主机所创建的通信表。
上述步骤1.3)的具体实现方式是:所述ES终端收到步骤1.2)由主机所发送的加载中断后,调用LoadCfg(U32escfg,U32ESID)函数,将由主机所创建的通信表加载到本地存储空间,然后依次轮询所有被创建的SAMPLING端口。
上述步骤1.4)的具体实现方式是:所述主机根据SNMP端口配置表,调用afdxCreateSPort(char*esname,unsignedintPortCfgID,unsignedint*portid,unsignedintaddrsum)函数来创建所有SAMPLING端口,并根据SAMPLING端口的ID给SAMPLING端口进行分配消息存储空间。
上述步骤2)包括以下步骤:
2.1)主机构建需要发送的消息并通过ES终端将该消息发送;
2.2)由ES终端接收外部消息并将该外部消息写入主机。
上述步骤2.1)包括以下步骤:
2.1.1)主机调用afdxSPortSndMsg(unsignedintportid,char*data,unsignedintdatalen)函数来发送消息,并根据SAMPLING端口的ID把需要发送的消息拷贝到SAMPLING端口的消息存储空间,并修改头指针;所述Portid是端口ID号,所述*data是主机内存地址,所述datalen是消息长度;
2.1.2)所述ES终端根据Port_ID先判断该端口上是否有需要发送的消息,若有,则启动PCI上DMA将消息大小从主机内存取出,再次启动DMA将消息从主机内存搬运至发送FIFO,修改尾指针;若没有,则轮询下一端口,所述ES终端内部调用Convey_From_Host_Saple(U16Port_ID,U32Start_AddrU16FlagID,U8MoreFlag)函数来发送需要发送的消息。
上述步骤2.2)包括以下步骤:
2.2.1)ES终端调用RcvMsgFromSampling()函数来接收消息,对接收到的消息包头进行校验;
若校验通过,则对SAMPLING端口是否存在进行检测;若校验不通过,则将接收到的消息丢弃;
若SAMPLING端口存在,则检查SAMPLING端口的首尾指针是否有缓存空间;若SAMPLING端口不存在,则将接收到的消息丢弃;
若SAMPLING端口的首尾指针没有缓存空间,则将接收到的消息丢弃;若SAMPLING端口的首尾指针有缓存空间,则将此消息和本地RTC值通过PCI上DMA拷贝到主机内存,然后修改尾指针;
2.2.2)主机调用unsignedintafdxSPortRcvMsg(unsignedintportid,char*data,unsignedint*datalen,unsignedint*newdata,unsignedlonglong*timeStamp)函数来接收外部消息,所述主机根据SAMPLING端口的ID判断是否有新消息,若有新消息,则把新消息从该端口的消息存储空间拷出,将新旧消息标志置位,并将采样时间写入主机内存,然后修改头指针;若没有新消息,则将前一消息从该端口的消息存储空间拷出,将新旧消息标志清零,并将采样时间写入主机内存,不改动头指针;所述portid是端口ID号,所述*data是主机内存地址,所述*datalen是消息长度,所述*newdata是新旧数据标志,所述*timeStamp是采样时间。
本发明的优点是:
本发明涉及用于航空专用全双工交换以太网终端系统的SAMPLING端口的实现方法,为高性能的航电网络通信提供有效且可行的解决方案,该技术的研究将为实现大型飞机航空电子通信网络奠定基础,本发明的主要关键在于根据AFDXSAMPLING端口的特殊需求对AFDX中端系统的SAMPLING端口进行设计,主要从主机端口的创建到ES内部协议栈的实现,本发明具有可靠性高、实时性强以及可扩展性强的优点。
具体实施方式
本发明涉及一种用于航空专用全双工交换以太网终端系统的SAMPLING端口的实现方法,该方法包括以下步骤:
(1)SAMPLING端口是一个通信对象,消息存储在FIFO中,其长度固定。
(2)因为SAMPLING端口的特殊性,因此在设计缓冲深度时将其设计为2,发送时只用一个缓冲区,接收时用两个缓冲区,但头指针指向的缓冲区总是存储的最新消息,而尾指针存储的总是旧消息。
(3)主机和端系统采用PCI的Target0和Target1通道进行通信,在Target0通道中,实现了各种功能的寄存器,Target1通道中,实现了主机与终端系统之间的信息交互,采用的规则是:主机只维护头指针,ES只维护尾指针,但缓冲深度为2。
(4)PCI接口中还有一个可以进行DMA传输功能的主通道,ES终端系统可以作为PCI总线上的主设备,主动与PCI总线上的主机内存进行数据交换,对于DMA访问地址和数据大小是由ES内部来进行配置管理。
(5)主机根据ES配置表、发送配置表、接收配置表、发送VL配置表、接收VL配置表等调用LoadCfg(U32escfg,U32ESID)函数,为所有端口分配连续的地址空间,并进行大小端转换,然后通过中断通知ES加载配置表。
(6)主机根据端口配置表,调用afdxCreateSPort(char*esname,unsignedintPortCfgID,unsignedint*portid,unsignedintaddrsum)函数来创建所有SAMPLING端口,并根据端口ID给该端口进行分配消息存储空间。
(7)ES收到加载中断后,调用LoadCfg(U32escfg,U32ESID)函数,将ES配置表、发送配置表、接收配置表、发送VL配置表、接收VL配置表等加载到本地存储空间,然后依次轮询所有被创建的端口。
(8)主机调用afdxSPortSndMsg(unsignedintportid,char*data,unsignedintdatalen)函数来发送消息,并根据端口ID把消息拷贝到该端口的消息存储空间,然后修改头指针。Portid为端口ID号,*data为主机内存地址,datalen为消息长度。SAMPLING端口只能缓存一个消息,假如前一个消息没有发出去,那么刚到达端口的消息就要被抛弃。
(9)ES内部调用Convey_From_Host_Saple(U16Port_ID,U32Start_Addr,U16FlagID,U8MoreFlag)函数来发送消息,根据Port_ID先判断是否有缓存(因为SAMPLING端口只能缓存一个消息),若没有缓存,则等待直到缓存空闲,然后启动PCI上DMA将消息大小从主机内存取出,再次启动DMA将消息从主机内存搬运至发送FIFO,修改尾指针。
(10)主机调用unsignedintafdxSPortRcvMsg(unsignedintportid,char*data,unsignedint*datalen,unsignedint*newdata,unsignedlonglong*timeStamp)函数来接收消息,并根据端口ID判断是否有新消息,若有新消息,则把新消息从该端口的消息存储空间拷出,将新旧消息标志置位,并将采样时间写入主机内存,然后修改头指针;若没有新消息,则将前一消息从该端口的消息存储空间拷出,将新旧消息标志清零,并将采样时间写入主机内存,不改动头指针。portid为端口ID号,*data为主机内存地址,*datalen为消息长度,*newdata为新旧数据标志,*timeStamp为采样时间。
(11)ES内部调用RcvMsgFromSampling()函数来接收消息,对接收到的消息包头进行校验,若通过再对端口进行检测,若该端口存在,则检查该端口的首尾指针,看是否有缓存空间,若没有缓存空间,则将接收到的消息丢弃,不往上提交,若有缓存空间,则将此消息和本地RTC值通过PCI上DMA拷贝到主机内存,然后修改尾指针。

Claims (7)

1.一种用于航空专用全双工交换以太网终端系统的SAMPLING端口的实现方法,其特征在于:所述用于航空专用全双工交换以太网终端系统的SAMPLING端口的实现方法包括以下步骤:
1)主机创建与外部实现通信联系的SAMPLING端口:
1.1)主机创建通信表;所述通信表包括ES终端配置表、发送SAP端口配置表、接收SAP端口配置表、发送VL端口配置表、接收VL端口配置表、RTC配置表、ICMP配置表、615A配置表以及SNMP端口配置表;
1.2)主机通过中断通知ES终端加载由步骤1.1)中主机所创建的通信表;
1.3)ES终端根据步骤1.1)中由主机所创建的通信表配置ES终端的物理层以及链路层;
1.4)主机根据通信表中的SNMP端口配置表对SAMPLING端口分配接收与发送存储空间;
2)主机通过已经建立的SAMPLING端口与外部数据实现交互。
2.根据权利要求1所述的用于航空专用全双工交换以太网终端系统的SAMPLING端口的实现方法,其特征在于:所述步骤1.2)的具体实现方式是:所述主机根据通信表调用LoadCfg(U32escfg,U32ESID)函数,为SAMPLING端口分配连续的地址空间,并进行大小端转换,并通过中断通知ES终端加载由主机所创建的通信表;所述LoadCfg(U32escfg,U32ESID)函数是驱动程序加载用户提供的配置表;参数U32escfg指代占用32个字节的配置表的指针;参数U32ESID指代占用32个字节的ES设备编号。
3.根据权利要求2所述的用于航空专用全双工交换以太网终端系统的SAMPLING端口的实现方法,其特征在于:所述步骤1.3)的具体实现方式是:所述ES终端收到步骤1.2)由主机所发送的加载中断后,调用LoadCfg(U32escfg,U32ESID)函数,将由主机所创建的通信表加载到本地存储空间,然后依次轮询所有被创建的SAMPLING端口。
4.根据权利要求3所述的用于航空专用全双工交换以太网终端系统的SAMPLING端口的实现方法,其特征在于:所述步骤1.4)的具体实现方式是:所述主机根据SNMP端口配置表,调用afdxCreateSPort(char*esname,unsignedintPortCfgID,unsignedint*portid,unsignedintaddrsum)函数来创建所有SAMPLING端口,并根据SAMPLING端口的ID给SAMPLING端口进行分配消息存储空间;所述afdxCreateSPort(char*esname,unsignedintPortCfgID,unsignedint*portid,unsignedintaddrsum)函数是驱动程序创建ID为PortCfgID的采样端口,并且给下一个创建的端口准备好空间和一些前导数据;参数esname是设备ES的名称;参数PortCfgID是要创建的端口;参数*portid是创建成功后返回指向当前端口控制块的指针;参数addrsum是当前未被占用的数据缓存区首地址。
5.根据权利要求1-4任一权利要求所述的用于航空专用全双工交换以太网终端系统的SAMPLING端口的实现方法,其特征在于:所述步骤2)包括以下步骤:
2.1)主机构建需要发送的消息并通过ES终端将该消息发送;
2.2)由ES终端接收外部消息并将该外部消息写入主机。
6.根据权利要求5所述的用于航空专用全双工交换以太网终端系统的SAMPLING端口的实现方法,其特征在于:所述步骤2.1)包括以下步骤:
2.1.1)主机调用afdxSPortSndMsg(unsignedintportid,char*data,unsignedintdatalen)函数来发送消息,并根据SAMPLING端口的ID把需要发送的消息拷贝到SAMPLING端口的消息存储空间,并修改头指针;所述portid是端口ID号,所述*data是主机内存地址,所述datalen是消息长度;所述afdxSPortSndMsg(unsignedintportid,char*data,unsignedintdatalen)函数是驱动程序由指定的采样端口发送数据;
2.1.2)所述ES终端根据portid先判断该端口上是否有需要发送的消息,若有,则启动PCI上DMA将消息大小从主机内存取出,再次启动DMA将消息从主机内存搬运至发送FIFO,修改尾指针;若没有,则轮询下一端口,所述ES终端内部调用Convey_From_Host_Saple(U16Port_ID,U32Start_Addr,U16FlagID,U8MoreFlag)函数来发送需要发送的消息;所述Convey_From_Host_Saple(U16Port_ID,U32Start_Addr,U16FlagID,U8MoreFlag)函数是检查并发送采样端口消息;参数U16Port_ID是占16字节的端口标识号;参数U32Start_Addr是占32字节的要发送数据的起始地址;参数U16FlagID是占16字节的IP标识;参数U8MoreFlag是占8字节的是否分片标识。
7.根据权利要求6所述的用于航空专用全双工交换以太网终端系统的SAMPLING端口的实现方法,其特征在于:所述步骤2.2)包括以下步骤:
2.2.1)ES终端调用RcvMsgFromSampling()函数来接收消息,对接收到的消息包头进行校验;所述RcvMsgFromSampling()函数是驱动程序由采样端口接收消息;
若校验通过,则对SAMPLING端口是否存在进行检测;若校验不通过,则将接收到的消息丢弃;
若SAMPLING端口存在,则检查SAMPLING端口的首尾指针是否有缓存空间;若SAMPLING端口不存在,则将接收到的消息丢弃;
若SAMPLING端口的首尾指针没有缓存空间,则将接收到的消息丢弃;若SAMPLING端口的首尾指针有缓存空间,则将此消息和本地RTC值通过PCI上DMA拷贝到主机内存,然后修改尾指针;
2.2.2)主机调用unsignedintafdxSPortRcvMsg(unsignedintportid,char*data,unsignedint*datalen,unsignedint*newdata,unsignedlonglong*timeStamp)函数来接收外部消息,所述主机根据SAMPLING端口的ID判断是否有新消息,若有新消息,则把新消息从该端口的消息存储空间拷出,将新旧消息标志置位,并将采样时间写入主机内存,然后修改头指针;若没有新消息,则将前一消息从该端口的消息存储空间拷出,将新旧消息标志清零,并将采样时间写入主机内存,不改动头指针;所述portid是端口ID号,所述*data是主机内存地址,所述*datalen是消息长度,所述*newdata是新旧数据标志,所述*timeStamp是采样时间;所述unsignedintafdxSPortRcvMsg(unsignedintportid,char*data,unsignedint*datalen,unsignedint*newdata,unsignedlonglong*timeStamp)函数是驱动程序通过采样端口接收消息。
CN201110376038.5A 2011-11-23 2011-11-23 用于航空专用全双工交换以太网终端系统的sampling端口的实现方法 Active CN103139316B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201110376038.5A CN103139316B (zh) 2011-11-23 2011-11-23 用于航空专用全双工交换以太网终端系统的sampling端口的实现方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201110376038.5A CN103139316B (zh) 2011-11-23 2011-11-23 用于航空专用全双工交换以太网终端系统的sampling端口的实现方法

Publications (2)

Publication Number Publication Date
CN103139316A CN103139316A (zh) 2013-06-05
CN103139316B true CN103139316B (zh) 2016-02-24

Family

ID=48498613

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201110376038.5A Active CN103139316B (zh) 2011-11-23 2011-11-23 用于航空专用全双工交换以太网终端系统的sampling端口的实现方法

Country Status (1)

Country Link
CN (1) CN103139316B (zh)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9015379B1 (en) * 2013-10-11 2015-04-21 Ge Aviation Systems, Llc Method of controlling data communication
CN115442281B (zh) * 2022-08-20 2024-01-16 西安翔腾微电子科技有限公司 一种基于arinc664协议的采样方法

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101604162A (zh) * 2009-07-02 2009-12-16 北京航空航天大学 一种民机航电综合模块化核心处理系统
CN101902504A (zh) * 2009-05-27 2010-12-01 北京神州飞航科技有限责任公司 航空电子全双工交换式以太网网卡及其集成化方法
CN102098216A (zh) * 2010-12-21 2011-06-15 中国航空无线电电子研究所 一种基于共享存储的afdx协议交换引擎

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
FR2905047B1 (fr) * 2006-08-17 2008-11-14 Airbus France Sas Reseau afdx supportant une pluralite de classes de service

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101902504A (zh) * 2009-05-27 2010-12-01 北京神州飞航科技有限责任公司 航空电子全双工交换式以太网网卡及其集成化方法
CN101604162A (zh) * 2009-07-02 2009-12-16 北京航空航天大学 一种民机航电综合模块化核心处理系统
CN102098216A (zh) * 2010-12-21 2011-06-15 中国航空无线电电子研究所 一种基于共享存储的afdx协议交换引擎

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
AFDX2ES芯片设计中主机端接口的设计与验证;曹庆年等;《西北大学学报》;20091031;第39卷(第5期);第762-763页正文第3.2-3.3节 *
AFDX端系统通信端口的设计与实现;武华等;《测控技术》;20090331;第28卷(第3期);第57-59页正文第2-3节 *

Also Published As

Publication number Publication date
CN103139316A (zh) 2013-06-05

Similar Documents

Publication Publication Date Title
US11809367B2 (en) Programmed input/output mode
CN102402487B (zh) 一种零拷贝接收报文的方法和系统
CN103763121A (zh) 一种网络配置信息快速下发的方法及装置
US10372633B1 (en) Interconnection of peripheral devices on different electronic devices
CN106685733A (zh) 一种fc‑ae‑1553网络快速配置与自动化测试方法
CN103139101B (zh) 用于航空专用全双工交换以太网终端系统的队列端口的实现方法
CN103139316B (zh) 用于航空专用全双工交换以太网终端系统的sampling端口的实现方法
CN103139061B (zh) 用于航空专用全双工交换以太网终端系统的方法
CN109286564B (zh) 一种报文转发方法及装置
US9288163B2 (en) Low-latency packet receive method for networking devices
EP3832987A1 (en) Data processing method and device
CN103139062B (zh) 用于航空专用全双工交换以太网终端系统的sap端口的实现方法
EP4297361A1 (en) Data packet sending method and device
US11106359B1 (en) Interconnection of peripheral devices on different electronic devices
CN100391200C (zh) 一种数据传送方法
CN112367374B (zh) 一种应用于民航的afdx数据通信系统
CN113794657B (zh) Mac地址迁移处理方法、装置及交换设备
CN103684852B (zh) Afdx网络冗余管理模块中的去冗余方法及系统
CN113141632A (zh) 一种5g通信用户面有序转发数据包的方法和终端
CN115665042A (zh) 数据处理方法、装置、用户平面功能实体及存储介质
CN117240656A (zh) 基于虚拟网络设备实现单向传输卡虚拟化的方法及系统
CN116801308A (zh) 数据处理方法、数据处理装置、电子设备、存储介质
Lageman et al. Performance analysis of a C/sup 2/system

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C14 Grant of patent or utility model
GR01 Patent grant
TR01 Transfer of patent right
TR01 Transfer of patent right

Effective date of registration: 20221111

Address after: Room S303, Innovation Building, No. 25, Gaoxin 1st Road, Xi'an, Shaanxi 710075

Patentee after: XI'AN XIANGTENG MICROELECTRONICS TECHNOLOGY Co.,Ltd.

Address before: 710068 No. 156 Taibai North Road, Shaanxi, Xi'an

Patentee before: 631ST Research Institute OF AVIC