CN107977323A - 一种基于以太网的afdx总线仿真方法 - Google Patents
一种基于以太网的afdx总线仿真方法 Download PDFInfo
- Publication number
- CN107977323A CN107977323A CN201711202639.8A CN201711202639A CN107977323A CN 107977323 A CN107977323 A CN 107977323A CN 201711202639 A CN201711202639 A CN 201711202639A CN 107977323 A CN107977323 A CN 107977323A
- Authority
- CN
- China
- Prior art keywords
- afdx
- data
- bus
- ethernet
- parameter
- 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.)
- Pending
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/10—Program control for peripheral devices
- G06F13/105—Program control for peripheral devices where the programme performs an input/output emulation function
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L12/00—Data switching networks
- H04L12/28—Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
- H04L12/40—Bus networks
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Debugging And Monitoring (AREA)
Abstract
本发明属于机载航电系统应用软件技术领域,具体涉及一种基于以太网的AFDX总线仿真方法。本发明基于以太网的AFDX总线仿真方法,基于以太网部署多台计算机的AFDX总线通信系统,采用全双工的模式进行数据的发送和接收,AFDX总线通信系统对AFDX总线进行封装形成链接库,向外部暴露出符合AFDX总线的接口函数,在这些接口函数中通过调用链接库实现通信。本发明采用总线仿真方法,提供真实板卡不具备使用条件时,使用虚拟技术即可进行先期验证,实现在地面仿真验证实验室使用符合AFDX总线标准的通信总线进行通信;对AFDX板卡总线进行了封装,向外部暴露出符合AFDX总线的接口函数,使用起来灵活且易于扩展。
Description
技术领域
本发明属于机载航电系统应用软件技术领域,具体涉及一种基于以太网的AFDX总线仿真方法。
背景技术
航电操作系统软件是为机载设备专门研制的嵌入式实时操作系统,它能够支持机载环境的主流PowerPC和x86处理器,并具备灵活的可移植性和可升级性,支持不同硬件平台间的移植和升级。航电操作系统适应多应用任务设备或系统,为综合化、模块化航空电子系统提供健壮分区的支持能力,满足改进改型航空电子系统上的要求。
为了对“机载航电操作系统”的功能和性能进行验证。以适应不同项目的试验,自动化程度,就需要仿真、综合测试系统提供完善的试验管理功能。在试验前,确定每次试验的软硬件配置和产生仿真、试验的想定是试验管理重要的任务,同时要对环境中的在线节点进行监控和管理;在试验进行中,对试验过程进行监控,对试验的状态进行控制,并可实时干预试验进程;在试验结束后,控制试验数据的存储、显示、打印、绘图及结果分析、试验管理构成了地面仿真验证环境。
地面仿真验证环境作为综合系统仿真、验证支持环境的重要组成部分,在常温常压得情况下,在实验室内为验证系统提供了模拟飞行,数据激励,数据监控等功能,为验证“机载航电操作系统”设计的合理性、正确性起到了重要作用。
在地面仿真验证环境中,飞管、中央维护系统运行时,需要外部激励的驱动。根据分析,最少激励需要大气机、贯性导航和机电等三个子系统。这三个子系统采用模型进行模拟。进入飞管、中央维护接收的AFDX总线数据,而大气机、惯性导航子系统输出的是429总线数据,机电子系统输出是AFDX总线数据,因此,大气机、惯性导航模拟器的数据不能直接与飞管、中央维护对接,而机电模拟器的数据可以直接与飞管、中央维护系统对接。
发明内容
本发明的目的是:提出一种复用性高,移植性好的AFDX总线仿真方法,为综合化航空电子系统提供安全支撑环境。
本发明的技术方案是:一种基于以太网的AFDX总线仿真方法,其基于以太网部署多台计算机的AFDX总线通信系统,采用全双工的模式进行数据的发送和接收,AFDX总线通信系统对AFDX总线进行封装形成链接库,向外部暴露出符合AFDX总线的接口函数,在这些接口函数中通过调用链接库实现通信。
打开VS2010开发平台上建一个Win32项目CommBus,应用程序类型选择DLL,直接点击完成即可,在头文件中添加afdxComPortSndMsg和afdxComPortRcvMsg函数的声明,在.cpp文件中按照真实AFDX总线标准接口进行仿真,添加afdxComPortSndMsg和afdxComPortRcvMsg函数的具体实现,编译运行后,即可在Debug目录下生成链接库CommBus.Lib和CommBus.dll。
符合AFDX总线的接口函数afdxComPortSndMsg函数为接口发送函数,afdxComPortRcvMsg函数为接口接收函数,
对于消息发送方,调用afdxComPortSndMsg接口进行消息的发送,其内部实现了根据配置文件的发送信息去调用底层的板卡进行发送数据;
对于消息接收方,调用afdxComPortRcvMsg接口进行消息的接收,其内部实现了根据配置文件的接收信息去调用底层的板卡进行接收数据。
afdxComPortSndMsg函数声明:unsigned int afdxComPortSndMsg(unsigned intcom_portid,char*data,unsigned int*datalen):
参数1(unsigned int com_portid):发送的端口号,也是发布的主题;
参数2(char*data):发送的数据;
参数3(unsigned int*datalen):发送的数据长度。
afdxComPortRcvMsg函数声明:afdxComPortRcvMsg(unsigned int com_portid,char*data,unsigned int*datalen,unsigned int*RefreshFlag,unsigned int*timeStamp):
参数1(unsigned int com_portid):接收的端口号,也是订阅的主题;
参数2(char*data):要接收的数据;
参数3(unsigned int*datalen):要接收的数据长度;
参数4(unsigned int*RefreshFlag):是否刷新数据;
参数5(unsigned int*timeStamp):时间戳。
本发明的技术效果是:本发明基于以太网的AFDX总线仿真方法所设计的AFDX总线仿真架构,相对于真实AFDX板卡设备方式,具有以下优点:
1)在验证环境中,没有真实AFDX板卡,也可以方便实现板卡的功能,节约了成本和资源。
2)模块接口标准化。采用标准的AFDX接口,保证了总线接口的一致性,提升总线仿真设计的可复用性。
3)提升了系统结构的可扩展性。总线仿真接口可以根据需要进行扩展,而不会带来总线接口复杂度的显著提升。因此,总线仿真结构为AFDX总线仿真提供了良好的可扩展性。
附图说明
图1是AFDX总线仿真组件示意图;
图2是RDC单元组成机接口示意图;
图3是发布/订阅中间件模型示意图。
具体实施方式
下面结合附图和实施例对本发明做进一步说明:
请参阅图1,本发明基于以太网的AFDX总线仿真方法,其基于以太网部署多台计算机的AFDX总线通信系统,采用全双工的模式进行数据的发送和接收,AFDX总线通信系统对AFDX总线进行封装形成链接库,向外部暴露出符合AFDX总线的接口函数,在这些接口函数中通过调用链接库实现通信。
请参阅图2,为了将大气机、惯性导航子系统模拟器的数据送入飞管,需要对其输出进行转换,这就是远程数据转发软件的作用,其功能就是将虚拟AFDX总线数据通过真实AFDX总线数据转发出去。数据采集软件则实现了这一功能,具体功能如下:
1)接收到开始指令后,开始采集数据;
2)采集大气、惯导发来的ICD数据以及集中器发出的AFDX数据;
3)当接收到结束指令后,停止采集并向服务器提交所采集的数据。
本发明具体实施过程如下:
第一步:以太网部署
采用全双工的模式,总线型拓扑结构的以太网进行数据的发送和接收,将两台PC机用两根双绞线分别连接到路由器上,将两台PC机和路由器的IP地址配置在一个网段内,两台PC机上分别部署远程数据集中器软件和数据采集软件。使用以太网部署的优点是所需电缆较少,价格便宜,管理方便,连接简单。
第二步:发布/订阅的数据分发服务
请参考图3,机载应用程序A、B、C、D之间需要传输的数据由主题来标识,数据的实际分发是由发布/订阅中间件来处理。发布方应用A将包含主题A的消息发布给发布/订阅中间件,订阅方C、D应用程序则向发布/订阅中间件订阅自己需要接受的主题消息A。发布方与订阅方通过相同的主题建立映射关系,这个映射关系由发布/订阅中间件来维护。发布订阅/中间件根据发布方与订阅方的映射关系,不断将订阅方所订阅的消息推送给订阅方。
发布/订阅模式通过中间件模型实现了数据发送者和数据接收者之间的松耦合,实现了机载系统分布式通信中各通信实体之间的异步独立性。这种通信是一种主动、实时的信息传递方式,一旦消息发布者有动态更新的数据产生时,发布/订阅中间件通过事件通知机制通知消息订阅者存在新的可用数据,而无须消息订阅者进行轮询。因此,发布/订阅通信模型非常适合于对于机载系统这种具有实时性、异步性、异构性的系统的分布式数据交互行为进行仿真。
具体实施时,首先调用获取主题函数获取消息发布(接收)的主题,而获取主题函数,函数内部则是根据传过来的AFDX的端口ID自动生成主题,并将该主题返回到afdxComPortSndMsg和afdxComPortRcvMsg接口中,afdxComPortSndMsg和afdxComPortRcvMsg再根据获取的主题创建发布者(订阅者),将消息发布出去(订阅该主题的消息),这里的主题即就是端口id,用来唯一标识收发的两端。
第三步:接口封装库
打开VS2010新建一个Win32项目(命名为CommBus),应用程序类型选择DLL,直接点击完成即可。在头文件中添加afdxComPortSndMsg和afdxComPortRcvMsg函数的声明。在.cpp文件中按照真实AFDX总线标准接口进行仿真,添加afdxComPortSndMsg和afdxComPortRcvMsg函数的具体实现。编译运行后,即可在Debug目录下生成接口封装库CommBus.Lib和CommBus.dll。
其中,向外部暴露出符合AFDX总线的接口函数afdxComPortRcvMsg以及afdxComPortSndMsg。在这些接口函数中通过调用底层的静态库实现通信。其中所有的通信信息通过XML进行动态配置。
对于消息发送方,调用afdxComPortSndMsg接口进行消息的发送,其内部实现了根据配置文件的发送信息去调用底层的板卡进行发送数据。
而对于消息接收方,调用afdxComPortRcvMsg接口进行消息的接收,其内部实现了根据配置文件的接收信息去调用底层的板卡进行接收数据。
具体函数实现说明:
发送函数:unsigned int afdxComPortSndMsg(unsigned int com_portid,char*data,unsigned int*datalen):将数据通过发送函数发送给其他设备软件。
参数1(unsigned int com_portid):发送的端口号,也是发布的主题。
参数2(char*data):发送的数据。
参数3(unsigned int*datalen):发送的数据长度。
接收函数:afdxComPortRcvMsg(unsigned int com_portid,char*data,unsignedint*datalen,unsigned int*RefreshFlag,unsigned int*timeStamp):使用接收函数接收来自其他设备软件的数据。
参数1(unsigned int com_portid):接收的端口号,也是订阅的主题。
参数2(char*data):要接收的数据。
参数3(unsigned int*datalen):要接收的数据长度。
参数4(unsigned int*RefreshFlag):是否刷新数据。
参数5(unsigned int*timeStamp):时间戳。
第四步,调用动态链接库,实现AFDX总线仿真。2台PC机上分别部署的远程数据集中器软件和数据采集软件中分别引用CommBus链接库。
引用方式:
项目->属性->链接器->常规->附加库目录加入库目录
项目->属性->链接器->输入->附加依耐项加入库名称
其中,大气激励器软件,惯导激励器软件使用库函数afdxComPortSndMsg()根据端口id将数据发送出去,在RDC软件中在接收端调用库函数afdxComPortRcvMsg()根据端口id来接收数据。
当接收端(RDC软件)成功收到发送端(大气激励器软件,惯导激励器软件)发送的数据,AFDX总线成功实现仿真。
Claims (5)
1.一种基于以太网的AFDX总线仿真方法,其特征在于,基于以太网部署多台计算机的AFDX总线通信系统,采用全双工的模式进行数据的发送和接收,AFDX总线通信系统对AFDX总线进行封装形成链接库,向外部暴露出符合AFDX总线的接口函数,在这些接口函数中通过调用链接库实现通信。
2.根据权利要求1所述的基于以太网的AFDX总线仿真方法,其特征在于,打开VS2010开发平台上建一个Win32项目CommBus,应用程序类型选择DLL,直接点击完成即可,在头文件中添加afdxComPortSndMsg和afdxComPortRcvMsg函数的声明,在.cpp文件中按照真实AFDX总线标准接口进行仿真,添加afdxComPortSndMsg和afdxComPortRcvMsg函数的具体实现,编译运行后,即可在Debug目录下生成链接库CommBus.Lib和CommBus.dll。
3.根据权利要求1或2所述的基于以太网的AFDX总线仿真方法,其特征在于,符合AFDX总线的接口函数afdxComPortSndMsg函数为接口发送函数,afdxComPortRcvMsg函数为接口接收函数,
对于消息发送方,调用afdxComPortSndMsg接口进行消息的发送,其内部实现了根据配置文件的发送信息去调用底层的板卡进行发送数据;
对于消息接收方,调用afdxComPortRcvMsg接口进行消息的接收,其内部实现了根据配置文件的接收信息去调用底层的板卡进行接收数据。
4.根据权利要求3所述的基于以太网的AFDX总线仿真方法,其特征在于,afdxComPortSndMsg函数声明:unsigned int afdxComPortSndMsg(unsigned int com_portid,char*data,unsigned int*datalen):
参数1unsigned int com_portid:发送的端口号,也是发布的主题;
参数2char*data:发送的数据;
参数3unsigned int*datalen:发送的数据长度。
5.根据权利要求3所述的基于以太网的AFDX总线仿真方法,其特征在于,afdxComPortRcvMsg函数声明:afdxComPortRcvMsg(unsigned int com_portid,char*data,unsigned int*datalen,unsigned int*RefreshFlag,unsigned int*timeStamp):
参数1unsigned int com_portid:接收的端口号,也是订阅的主题;
参数2char*data:要接收的数据;
参数3unsigned int*datalen:要接收的数据长度;
参数4unsigned int*RefreshFlag:是否刷新数据;
参数5unsigned int*timeStamp:时间戳。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201711202639.8A CN107977323A (zh) | 2017-11-24 | 2017-11-24 | 一种基于以太网的afdx总线仿真方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201711202639.8A CN107977323A (zh) | 2017-11-24 | 2017-11-24 | 一种基于以太网的afdx总线仿真方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN107977323A true CN107977323A (zh) | 2018-05-01 |
Family
ID=62011941
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201711202639.8A Pending CN107977323A (zh) | 2017-11-24 | 2017-11-24 | 一种基于以太网的afdx总线仿真方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN107977323A (zh) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107942725A (zh) * | 2017-11-24 | 2018-04-20 | 中国航空工业集团公司西安航空计算技术研究所 | 一种远程数据集中器地面仿真方法 |
CN109510748A (zh) * | 2018-12-29 | 2019-03-22 | 北京润科通用技术有限公司 | 节点及节点交互方法和系统 |
CN114006850A (zh) * | 2021-10-25 | 2022-02-01 | 中航通飞华南飞机工业有限公司 | 一种便携式航电总线测试系统及内部数据传输方法 |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106371847A (zh) * | 2016-09-07 | 2017-02-01 | 湖北三江航天万峰科技发展有限公司 | Windows xp系统下CPCI总线RS422通信驱动方法及系统 |
-
2017
- 2017-11-24 CN CN201711202639.8A patent/CN107977323A/zh active Pending
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106371847A (zh) * | 2016-09-07 | 2017-02-01 | 湖北三江航天万峰科技发展有限公司 | Windows xp系统下CPCI总线RS422通信驱动方法及系统 |
Non-Patent Citations (2)
Title |
---|
韩红斌: "基于虚拟链路的航电系统激励技术研究", 《中国优秀硕士学位论文全文数据库工程科技Ⅱ辑》 * |
马智骢: "通用航电总线驱动软件设计与应用", 《电讯技术》 * |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107942725A (zh) * | 2017-11-24 | 2018-04-20 | 中国航空工业集团公司西安航空计算技术研究所 | 一种远程数据集中器地面仿真方法 |
CN109510748A (zh) * | 2018-12-29 | 2019-03-22 | 北京润科通用技术有限公司 | 节点及节点交互方法和系统 |
CN109510748B (zh) * | 2018-12-29 | 2021-06-29 | 北京润科通用技术有限公司 | 节点及节点交互方法和系统 |
CN114006850A (zh) * | 2021-10-25 | 2022-02-01 | 中航通飞华南飞机工业有限公司 | 一种便携式航电总线测试系统及内部数据传输方法 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN107976916A (zh) | 一种基于以太网的arinc429总线仿真方法 | |
CN1825816B (zh) | 管理装置的方法、管理装置的系统及可管理装置 | |
CN111195433B (zh) | 训练器和测试环境中具有虚拟化的虚拟现实 | |
CN107977323A (zh) | 一种基于以太网的afdx总线仿真方法 | |
CN109639446A (zh) | Fpga设备、基于fpga设备的云系统 | |
CN103813202B (zh) | 具有互动功能的智能电视和手持设备及其互动方法 | |
CN110096424A (zh) | 测试的处理方法、装置、电子设备及存储介质 | |
US20170005878A1 (en) | Method and system for testing and analyzing management servers | |
CN105391652A (zh) | 基于usb重定向实现usb设备网络共享的系统及方法 | |
CN112115552B (zh) | 一种机载飞行数据回灌方法及装置 | |
CN102325057A (zh) | 一种网络测试装置 | |
CN105897899A (zh) | 一种基于自动化平台的标准作业程序电子化方法 | |
CN114707236A (zh) | 一种基于模型的虚实结合仿真试验方法 | |
CN106991001A (zh) | 无线电导航识别模拟系统 | |
RU2019126462A (ru) | Универсальная платформа виртуализации для систем с использованием уровней программного обеспечения для абстрагирования аппаратных средств | |
CN108052449A (zh) | 操作系统运行状态检测方法和装置 | |
CN105406996B (zh) | 一种智能变电站站控层mms通信仿真的方法 | |
CN117193249A (zh) | 一种复杂航电系统测试与集成验证平台 | |
CN112181843A (zh) | 一种基于星载软件开发测试验证系统 | |
CN107563075B (zh) | 一种实现CosiMate网络和DDS网络互联的方法 | |
CN107948014A (zh) | 一种基于以太网的cpci总线仿真方法 | |
CN110098989A (zh) | 一种基于canfd总线的多路can仿真系统及测试方法 | |
CN103995475B (zh) | 一种柔性嵌入式被测设备模拟器 | |
CN111082984A (zh) | 模拟登录网络设备进行命令行交互的方法和装置 | |
CN115600323B (zh) | 航空系统仿真方法、系统、电子设备及可读存储介质 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
RJ01 | Rejection of invention patent application after publication | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20180501 |