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

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.rhkb.cn/news/252521.html

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

相关文章

智能运维哪些算法?智能运维包含哪些

在智能运维领域,详细介绍一些关键的算法,并阐述这些算法是如何被应用于智能运维系统中的。此外,关于智能运维中包含的主要组成部分或功能模块,以及它们各自的作用和重要性。如何应用再场景中应用在智能运维行业,一些关…

从零开始手写mmo游戏从框架到爆炸(三)— 服务启动接口与网络事件监听器

导航:从零开始手写mmo游戏从框架到爆炸(零)—— 导航-CSDN博客 上一章我们完成了netty服务启动的相关抽象(https://blog.csdn.net/money9sun/article/details/136025471),这一章我们再新增一个全…

2023 OpenHarmony 年度运营报告

汇聚 70 家企业 6700名贡献者力量, OpenHarmony 已成为下一代智能终端操作系统根社区; 我们在成长,OpenHarmony 项目群成员单位增至 35 家; 2023 年持续迭代更新 6 个版本及 OpenHarmony4.0 重点特性简介……

09_树莓派_树莓派外设板_GPIO_按键的中断与消抖

目录 1.树莓派外设集成板总体介绍 2.第一部分 按键矩阵 GPIO_按键与中断 3.实现效果 1.树莓派外设集成板总体介绍 1)前言:这是一块为了验证树莓派【兼容树莓派多个型号】的40pins的外设接口的外接板,告别复杂的面包板外设搭建。【欢迎各位…

EMNLP 2023精选:Text-to-SQL任务的前沿进展(上篇)——正会论文解读

导语 本文记录了今年的自然语言处理国际顶级会议EMNLP 2023中接收的所有与Text-to-SQL相关(通过搜索标题关键词查找得到,可能不全)的论文,共计12篇,包含5篇正会论文和7篇Findings论文,以下是对这些论文的略…

安卓动态链接库文件体积优化探索实践

背景介绍 应用安装包的体积影响着用户下载量、安装时长、用户磁盘占用量等多个方面,据Google Play统计,应用体积每增加6MB,安装的转化率将下降1%。 安装包的体积受诸多方面影响,针对dex、资源文件、so文件都有不同的优化策略&…

爬虫实战--人民网

文章目录 前言发现宝藏 前言 为了巩固所学的知识,作者尝试着开始发布一些学习笔记类的博客,方便日后回顾。当然,如果能帮到一些萌新进行新技术的学习那也是极好的。作者菜菜一枚,文章中如果有记录错误,欢迎读者朋友们…

[UI5 常用控件] 07.SplitApp,SplitContainer

文章目录 前言1. SplitApp1.1 组件结构1.2 Demo1.3 mode属性 2. SplitContainer 前言 本章节记录常用控件SplitApp,SplitContainer。主要功能是在左侧显示Master页面,右侧显示Detail页面。 Master页面和Detail页面可以由多个Page组成,并支持…

Kubernetes基础(十一)-CNI网络插件用法和对比

1 CNI概述 1.1 什么是CNI? Kubernetes 本身并没有实现自己的容器网络,而是借助 CNI 标准,通过插件化的方式来集成各种网络插件,实现集群内部网络相互通信。 CNI(Container Network Interface,容器网络的…

【Mysql】事务的隔离级别与 MVCC

事务隔离级别 我们知道 MySQL 是一个 C/S 架构的服务,对于同一个服务器来说,可以有多个客户端与之连接,每个客户端与服务器连接上之后,就是一个会话( Session )。每个客户端都可以在自己的会话中向服务器发…

DockerUI如何部署结合内网穿透实现公网环境管理本地docker容器

文章目录 前言1. 安装部署DockerUI2. 安装cpolar内网穿透3. 配置DockerUI公网访问地址4. 公网远程访问DockerUI5. 固定DockerUI公网地址 前言 DockerUI是一个docker容器镜像的可视化图形化管理工具。DockerUI可以用来轻松构建、管理和维护docker环境。它是完全开源且免费的。基…

Node.js+Express+Mysql服务添加环境变量

1、使用dotenv插件 1)安装插件:npm install dotenv-cli --save-dev 2)在项目根目录下添加对应的 .env 配置文件; // .env配置文件内容 MODEdevelopment, BASE_URLhttp://127.0.0.1:80813) 在启动命令中设置对应的加载文件&#…

springboot158基于springboot的医院资源管理系统

简介 【毕设源码推荐 javaweb 项目】基于springbootvue 的 适用于计算机类毕业设计,课程设计参考与学习用途。仅供学习参考, 不得用于商业或者非法用途,否则,一切后果请用户自负。 看运行截图看 第五章 第四章 获取资料方式 **项…

chisel RegInit/UInt/U

val reg RegInit(0.U(8.W)) //ok val reg RegInit(0.UInt(8.W)) //errU 使用在数字 . 后边50.U UInt 使用在IO(new Bundle val a Input(UInt(8.W)) 或者 def counter(max:UInt, a1:UInt) package emptyimport chisel3._ import chisel3.util._class MyCounter extends …

02-Java抽象工厂模式 ( Abstract Factory Pattern )

抽象工厂模式(Abstract Factory Pattern)是围绕一个超级工厂创建其他工厂 该超级工厂又称为其他工厂的工厂 在抽象工厂模式中,接口是负责创建一个相关对象的工厂,不需要显式指定它们的类 每个生成的工厂都能按照工厂模式提供对象 …

rust开发wasm

首先需要安装wasm-pack cargo install wasm-pack 使用cargo创建工程 cargo new --lib mywasm 编辑Cargo.toml文件,修改lib的类型为cdylib,并且添加依赖wasm-bindgen [package] name "mywasm" version "0.1.0" edition "…

Micro micro controller一览

https://www.microchip.com.cn/, Microchip中文网站 https://www.microchip.com.cn/newcommunity/index.php?mSearch&adosearch&moduleDownload&keyworddsPIC33&p3 Microcontrollers and microProcessors dsPIC33 Digital Signal Controllers (D…

【数据结构和算法】--- 基于c语言排序算法的实现(1)

目录 一、排序的概念及其应用1.1排序的概念1.2 排序的应用1.3 常见的排序算法 二、插入排序2.1直接插入排序2.2 希尔排序2.2.1 预排序2.2.2 缩小gap2.2.3 小结 三、选择排序3.1 直接选择排序3.2 堆排序 一、排序的概念及其应用 1.1排序的概念 排序: 所谓排序&…

【Spring Boot】第一篇 创建简单的Spring Boot项目

导航 一. 简介二. 创建简单的Spring Boot项目1. 工具选择和版本确定2. 创建步骤 三. 部署项目四. 测试验证 一. 简介 Spring Boot是一个用于构建独立的、生产级别的Spring应用程序的框架。它简化了Spring应用程序的创建和配置过程,同时提供了很多开箱即用的功能&am…

C++ map和set

1. 关联式容器 序列式容器:因为其底层为线性序列的数据结构,里面存储的是元素本身,比如:vector、list、deque 关联式容器也是用来存储数据的,与序列式容器不同的是,其里面存储的是结构的键值对&#xff0…