CN103139316B - 用于航空专用全双工交换以太网终端系统的sampling端口的实现方法 - Google Patents
用于航空专用全双工交换以太网终端系统的sampling端口的实现方法 Download PDFInfo
- 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
Links
Abstract
本发明涉及一种用于航空专用全双工交换以太网终端系统的SAMPLING端口的实现方法,方法包括以下步骤:1)主机创建与外部实现通信的SAMPLING端口;2)主机通过已经建立的SAMPLING端口与外部数据实现交互。本发明提供的用于航空专用全双工交换以太网终端系统的SAMPLING端口的实现方法为高性能的航电网络通信提供有效且可行的解决方案,该技术的研究将为实现大型飞机航空电子通信网络奠定基础,具有可靠性高、实时性强以及可扩展性强的优点。
Description
技术领域
本发明属于计算机应用技术领域,涉及一种用于航空专用全双工交换以太网终端系统的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)函数是驱动程序通过采样端口接收消息。
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)
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)
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)
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 |
-
2011
- 2011-11-23 CN CN201110376038.5A patent/CN103139316B/zh active Active
Patent Citations (3)
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)
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 |