虚拟飞控计算机:飞行控制系统验证与优化的利器

01.背景介绍

随着航空技术的飞速发展,飞行控制系统作为飞机的心脏,全面负责监测、调整和维持飞行器的姿态、航向、高度等参数,用以确保飞行的安全和稳定。为了满足这些要求,现代飞控系统通常采用先进的处理器和外设来确保其高效、稳定的运行。

▲C919模拟驾驶舱

然而,在实际应用中,受到成本、技术、安全等多种因素的限制,真实的处理器和外设往往难以满足测试和验证的需求。为解决这一困境,虚拟飞控计算机应运而生,它能够模拟出真实的处理器及外设,为飞控软件提供接近真实环境的运行支撑。

02.飞控计算机硬件技术方案

为实现飞控计算机的虚拟仿真,首先需要了解飞控计算机的硬件技术方案。现代飞控计算机的设计方案通常包括指令支路和监控支路两部分。

指令支路涉及飞行控制系统的实际控制部分,包括姿态控制、油门控制、舵面控制等。在指令支路中,飞控计算机会根据传感器提供的数据和控制算法的指导,计算出相应的控制指令,然后发送给执行器系统。

监控支路通常涉及故障检测、系统诊断、性能监测等功能。飞控计算机会定期检查传感器的数据、执行器的响应以及其他系统的运行情况,如果发现任何异常,则会采取相应的措施,如发出警报、停止指令支路的指令输出、采取容错控制或自动转换备用系统等,以保证飞行控制的安全和稳定。

飞控计算机的硬件架构拓扑图如下:

▲飞控计算机的硬件架构拓扑图

2.1 飞控计算机系统

飞控计算机的设计方案中,指令和监控支路分别采用了基于PowerPC和ARM架构的处理器,其余的硬件模块则主要依赖于FPGA来实现。这两条支路共享电源、时钟和复位,以确保处理器在相同的复位和时钟信号下同步运行。

2.2 系统功能和通讯

指令支路为不同单元提供分时分区同步中断,确保各任务能够同步运行;

数据传输借助基于FPGA的CLDL总线(一种总线通讯协议),实现指令支路与监控支路之间的通信。这种设计使得飞控计算机能够高效、安全地处理飞行控制指令,并实时监控飞机状态,从而确保飞行的安全性和稳定性;

飞控计算机通过以太网与上位机通信,允许上位机配置网络参数,使用指令获取系统软件中的变量数据,获得真实飞机运行状态及控制的关键参数。 

03.基于SkyEye的虚拟飞控计算机实现方案

与飞控计算机的硬件技术方案相对应,SkyEye仿真实现的虚拟飞控计算机的基本架构如下图所示:

▲SkyEye飞控计算机系统仿真基本架构

3.1 架构与同步机制

与真实硬件一致,基于SkyEye的虚拟飞控计算机由指令支路板卡和监控支路板卡构成。指令支路板卡包含CPU1和FPGA模型,监控支路板卡则包含CPU2和FPGA模型。两个支路的同步是通过SkyEye的同步工具实现的,该工具利用同步步长来确保指令支路与监控支路同步运行。在任何给定时刻,这两个支路的仿真时间都是相同的。 

3.2 同步中断设计

为了实现两支路的分时分区同步中断,基于实际硬件情况,虚拟飞控计算机将指令支路的同步中断传递给监控支路。一旦此中断被触发,指令支路和监控支路的同步中断任务将同步启动,确保两支路之间的同步运行。这种设计提高了系统的可靠性和稳定性,使得虚拟飞控计算机能够更好地模拟真实硬件的行为,并为飞控计算机系统软件的测试和分析提供了便利。

3.3 CLDL通信模拟

基于SkyEye的虚拟飞控计算机模拟了两支路间的CLDL通信协议。当指令支路需要向监控支路发送数据时,相关任务将数据传输给指令支路的CLDL模块,CLDL模块解析数据并通过网络发送给监控支路的CLDL模块,并由该模块将数据解析并保存到指定ID的CLDL缓冲区中。随后,监控支路的处理任务读取该缓冲区中相应ID的数据,并进行进一步的处理。

3.4 网络数据交互设计

基于SkyEye的虚拟飞控计算机通过以太网与上位机相连,确保数据传输的稳定性和高效性。为实现网络数据的收发,指令支路采用虚拟W5100网络接口芯片,保持与硬件使用芯片一致,监控支路采用TAP虚拟网卡模拟芯片GMAC模块。

这种配置保证了两条支路能快速、准确地接收和发送网络数据。一旦上位机完成网络IP和端口号的配置,便能通过发送指令获取飞控计算机软件的数据。这一功能使得上位机能实时监控飞控计算机软件的运行状态,并观察到软件内部各个变量的变化情况,为开发者、测试人员和操作员提供了极大的便利,使得他们能更直观地了解飞控计算机软件的运行状况,并及时发现、解决潜在问题。

04.总结

基于SkyEye虚拟飞控计算机技术不仅提供了一种新的开发方式,还对传统的开发模式进行了优化和替代。具体表现在以下几个方面:

1. 开发流程优化:通过逼真地仿真硬件技术路线实现全流程的仿真测试,使得开发流程更加高效、精准。

2. 早期验证与评估:实现早期阶段的验证与评估,通过提前发现问题并修复来降低后期风险和成本。

3. 并行开发与协同工作:支持多团队、多平台的并行开发与协同工作,提高开发效率。

4. 持续测试与迭代优化:通过不断地测试、分析和改进进一步提高飞控系统的性能和稳定性。

5. 可扩展性与灵活性:可根据技术不断发展随时进行更新和升级,以适应新的硬件设备和系统需求。

6. 安全性与可靠性提升:避免真实硬件可能出现的物理损伤或故障,提前发现潜在问题,进一步提高飞控系统的可靠性和稳定性。

综上所述,基于SkyEye的虚拟飞控计算机通过逼真仿真出真实飞控计算机的技术路线,为飞控系统软件的开发带来了显著的优势和价值。随着虚拟技术的不断发展和完善,相信虚拟飞控计算机将在未来发挥更加重要的作用,为航空工业的繁荣做出更大的贡献。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/672051.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

一文简介Maven初级使用

一.概述 Maven是专门用于管理和构建Java项目的工具,它的主要功能有: 提供了一套标准化的项目结构提供了一套标准化的项目构建流程(编译,测试,打包,发布)提供了一套依赖管理机制 一方面&…

【Java EE】----Bean的作用域和生命周期

1.Bean的作用域 定义:Bean 的作⽤域是指 Bean 在 Spring 整个框架中的某种⾏为模式,⽐如 singleton 单例作⽤域,就 表示 Bean 在整个 Spring 中只有⼀份 (产生的原因,Bean 默认情况下是单例状态(singleton&…

隧道穿透:端口转发、socket隧道代理

目录 端口转发 lcx工具 Lcx工具正向连接 Lcx工具反向连接 SOCKET隧道代理 socks常见利用场景 Proxifier SocksCap64 Proxychains 端口转发 本篇会和搭建介绍一下端口转发和socket隧道代理的概念和简单演示 lcx工具 lcx工具是一个红队人员在内网渗透测试中最典型的端…

俩种方法解决 VScode中 NPM 脚本消失,NPM 脚本未显示在资源管理器侧栏中

npm脚本是npm包管理器的一个功能,允许开发者在package.json文件中定义一系列命令脚本,用于执行各种开发任务。 今天打开准备运行的时候发现找不到NPM脚本了,左侧的一栏完全没有显示,在网上查阅了很多资料后总结出俩个方法可以用来…

存算一体:架构创新,打破算力极限

1 需求背景 在全球数据量呈指数级暴涨,算力相对于AI运算供不应求的现状下,存算一体技术主要解决了高算力带来的高能耗成本矛盾问题,有望实现降低一个数量级的单位算力能耗,在功耗敏感的百亿级AIoT设备上、高能耗的数据中心、自动驾…

2024.02.06

TCP提供面向有连接的,可靠的数据传输服务,传输过程中,数据无误、数据无丢失、数据无失序、数据无重复 UDP面向无连接的,不保证数据可靠的,尽最大努力传输的协议,数据传输过程中,可能出现数据丢…

大路灯护眼灯有必要吗安全吗?五款优秀品质大路灯推荐

随着人们对健康生活的追求和对眼睛健康的关注,落地护眼灯逐渐成为一种热门的家居用品。落地护眼灯主要通过提供适宜的光照条件来保护眼睛,减少眼睛疲劳和视力损害的发生。那么,落地护眼灯是否有必要?它的使用是否安全呢&#xff1…

外包干了10个月,技术退步明显.......

先说一下自己的情况,大专生,18年通过校招进入武汉某软件公司,干了接近4年的功能测试,今年年初,感觉自己不能够在这样下去了,长时间呆在一个舒适的环境会让一个人堕落! 而我已经在一个企业干了四年的功能测…

三网码支付系统源码,三网免挂有PC软件,有云端源码,附带系统搭建教程

搭建教程 1.先上传云端源码 然后配置Core/Config.php文件里面数据库信息注改;数据库帐号密码 2.云端源码里面Core/Api_Class/Instant_Url_List.php文件配置终端地址注改;第4 http://终端地址/ 3.导入云端数据库 账号admin 密码123456注改&#xff1…

【C语言】三子棋游戏实现代码

目录 1.三子棋代码功能介绍 2.三子棋游戏实现步骤 ①打印菜单栏 ②判断是否进入三子棋游戏 ③三子棋游戏基本函数实现 (1)清空(初始化)棋盘函数实现 (2)打印棋盘函数实现 (3&#xff0…

【如何学习CAN总线测试】——Vector VH6501干扰仪测试BusOff

系列文章目录 【如何学习CAN总线测试】系列文章目录汇总 文章目录 系列文章目录前言一、环境搭建1.硬件环境2.软件环境3.原理 二、测试方法1.打开Disturbance(CAN)工程2.使能 VH65013.MainConfigPanel面板4.TriggerConfiguration配置5.Sequence Configuration配置6.干扰结果 前…

leetcode9. 回文数|详细深入讲解算法

前往题目有 反转一半数字 思路 映入脑海的第一个想法是将数字转换为字符串,并检查字符串是否为回文。但是,这需要额外的非常量空间来创建问题描述中所不允许的字符串。 第二个想法是将数字本身反转,然后将反转后的数字与原始数字进行比较&…

通信图(Communication Diagram)

UML2.0之前叫协作图(Collaboration Diagram) 一、定义 显示在某种情形下对象之间发送的消息。 协作图显示了一系列的对象和在这些对象之间的联系以及对象间发送和接收的消息 二、元素 通信图的组成元素: 对象、链、消息 1、对象 通信图中的对象与顺序图中对象的概念相同&…

js中的事件模型详解

文章目录 一、事件与事件流二、事件模型原始事件模型标准事件模型IE事件模型 一、事件与事件流 javascript中的事件,可以理解就是在HTML文档或者浏览器中发生的一种交互操作,使得网页具备互动性, 常见的有加载事件、鼠标事件、自定义事件等 …

工业以太网交换机引领现代工厂自动化新潮流

随着科技的飞速发展,现代工厂正迎来一场前所未有的自动化变革,而工业以太网交换机的崭新角色正是这场变革的关键组成部分。本文将深入探讨工业以太网交换机与现代工厂自动化的紧密集成,探讨这一集成如何推动工业生产的智能化、效率提升以及未…

金融信贷风控系统设计

前言 近一年多以来在金融行业负责风控系统,根据自己工作中的经验,写下这篇文章。既是对自己在风控领域工作的总结,也是给刚入行和准备入行的朋友打个样,希望能有所帮助。 为什么要有风控系统 记得 2016 年信贷行业的发展形势还…

Tauri 的基本使用笔记

文章目录 前言如何将 Tauri 集成到前端项目?进程间通信(命令)const invoke window.__TAURI__.invoke; 进程间通信(事件)前端 ⇒ RustRust ⇒ 前端我的疑问 开发时的一些技巧用代码打开前端的开发者工具让 Tauri 不要监听文件Rus…

cocos creator 3.x 预制体无法显示

双击预制体,进入详情页,没有显示资源 Bomb 是个预制体,但是当我双击进来什么都没有了,无法对预制体进行可视化编辑 目前我只试出来一个解决方法: 把预制体拖进Canvas文件中,这样就能展示到屏幕上&#xff…

Wireshark中的ARP协议包分析

Wireshark可以跟踪网络协议的通讯过程,本节通过ARP协议,在了解Wireshark使用的基础上,重温ARP协议的通讯过程。 ARP(Address Resolution Protocol)地址解析协议,是根据IP地址获取物理地址的一个TCP/IP协议。…

Vue-53、Vue技术vuex使用

vuex 是什么 1、概念 专门在Vue 中实现集中式状态(数据)管理的一个Vue 插件,对vue 应用中多个组件的共享状态进行集中式的 管理(读/写),也是一种组件间通信的方式,且适用于任意组件间通信。2、…