可靠系统中的图形(如航空仪表)
Graphics in reliable systems (like airline instruments)
我想知道是什么技术用来可视化飞机驾驶舱中的小型液晶显示器上的飞行仪器。
我是windows应用程序c++软件开发人员,我感兴趣的是,什么库可以用于这种高度可靠的系统,比如飞机机载系统其中一个lcd的例子,可能来自波音公司的飞机?
https://www.khronos.org/openglsc/OpenGL有一个安全关键子集,值得一读。
MFD(多功能显示器)本身是完全独立的计算机。它们与符合ARINC661标准的其他组件通信(以获得要显示的数据),ARINC6610标准定义了一种二进制通信格式,用于在显示器和用户应用程序(传感器等)之间交换数据。航空电子系统也使用RTOS(我的项目中使用了Integrity),每个组件本身都有一个分区,并由操作系统分配处理时间。此外,正如Andreas所说,OpenGL有一个用于此目的的安全关键子集。Avionic代码经过精心审查和认证,并且编码过于安全(例如,我们不允许在C++中使用"new"关键字,只允许静态内存分配)。
我在航空航天行业工作。很高兴你问我。
我的经验是,每个显示单元的硬件设置都是独一无二的。使用商业或定制的GPU,但驱动程序和库总是由显示单元供应商或多或少从头开始制作,因为CPU、GPU、操作系统和其间的连接器的组合通常是唯一的,并且始终是显示单元供应商的公司秘密。OpenGL安全关键配置文件确实出现在一些产品中,但最终供应商只开发客户真正需要并愿意支付的内容。通常情况下,公司会购买基本的产品,然后支付额外的功能,如另一种混合操作或更大的纹理。类似于汽车插件。
一般来说,航空航天在图形功能方面落后10-20年。对于像图中这样的显示器,也不需要更新。更复杂的功能在没有任何客户真正准备好支付费用的情况下带来了可怕的验证成本。不可能向飞行员提供错误的高度,因此测试和文档是巨大的。
娱乐系统通常更有能力,因为显示的信息不会使飞机坠毁。我认为它们与赌场老虎机中的系统相似。只要硬件不自行点火,它就足够安全。
我做的大部分事情要么是公司机密,要么是军事机密。除了公开的信息或行业常识,我不能说太多。我希望这能让你了解一下你感兴趣的环境。
- C++图形类指针混淆
- 我的代码中有错误吗?使用BGI图形的C++代码对我不起作用
- 如何在内核C++中使用1920x1080x16M图形或类似的16M颜色?(VGA)
- 这是实现图形的坏方法吗
- 打印 ONNXRUNTIME::图形没有模型
- 提升如何在图形可视化中写入边缘的权重?
- Doxygen - 如何在不生成图形的情况下生成文本调用关系结果
- C++ 中的图形菜单
- 将图形属性与 std::unique_ptr 捆绑在一起
- 从流到邻接列表的向量读取图形
- 替代在python中制作邻接列表与图形问题的字典?(如 C++ 中的 vector<vector<int&g
- 将图形表示为unordered_map<字符串、向量>时拓扑排序错误<string>
- 直接显示手动图形内存泄漏
- Directx 12 :在两个进程之间共享图形内存
- Microsoft C++ 用于图形 API 的 Rest SDK
- 如何将到达图形视图右侧(末端)的QGraphicsPixmapItem移动到左侧(开始)侧(就像在贪吃蛇游戏中发生的事情
- 图形初学者C++(跳过控制台)?
- 在 cpp 中最简单的图形实现
- 提升图形库:资源受限的最短周期
- 可靠系统中的图形(如航空仪表)