飞机数据网络--ARINC 664协议

飞机数据网络主要是根据ARINC 664协议规范进行数据的计算,传输转换。然而ARINC 664 英文规范太过复杂,不易理解,即使是专业人员,也需要对其进行抽丝剥茧,结合实际进行理解。本文即从基础角度简单分析一下ARINC 664 应用报文(Applicaiton Message)的结构组成。

位(bit)与字节(byte)传输顺序

在计算机结构中,对于字节(byte),字(word)等基本单位的存储机制有所不同,所以用什么样的顺序进行信息单元的传送数据是计算机通信过程中一个很重要的问题。如果不达成一致的通信规则,通信双方将无法进行正确的编码译码从而导致通信失败。

在飞机数据网络中,A664-P7规范定义了信息单位传输的顺序采用大端格式(Big-Endian),即将高序字节存储在起始地址。

如图1所示是飞机数据网络中”字”(Word)的构成。通常来说,一个“字” 是16位,“长字”(long word)才是32位。但在飞机数据网络中,将“字”定义为32位的字符串。

图1 ARINC 664 协议规范 字 定义

32位的“字”在内存中的地址如图2所示,地址编码采用16进制。高位字节(Most significant byte)的地址在最前,低位字节(Least significant byte)的地址在最后,也就是说高位有效字节会先被传输。在物理层媒介上,24~31位的字节会被传输,然后是16~23位,依次往下传输。

图2 字 内存地址与大端格式

典型应用报文举例

通过飞机数据网络应用报文(Application Message)的接收和发送,应用端主机(Application host)与主机之间可以进行数据的通信。在这个过程中,应用报文会因为飞机数据网络传输媒介的性能限制而进行报文分组,即一条报文被分为多条子报文进行传输通信。在被另一端的应用主机接收前,终端系统会自动将分组的报文整合。

如图3所示是A664 P7规范所定义的应用报文数据结构。

图3 ARINC 664 应用报文结构ju'li

报文结构由一行行“字”组成,每行字有32个位。每条A664 P7报文信息都从1个字的保留区(Reserved)开始。

保留区的作用是预留未来更改的空间,是每条应用报文的开始“字”,其数据应全为0。

紧接在保留区后的是功能数据设置区(Functional Data Set,FDS)。功能数据设置区由功能状态设置字(Functional Status Set Word ,FSS)和数据设置(Data Set ,DS)两部分组成。

功能状态设置字FSS word至少包含一个功能状态FS部分,至多包含四个功能状态部分(每个8位,1字节),但可以有不同大小和不同形式的数据设置DS部分。

上图中数据设置1部分包含3个参数(参数1、参数2和参数3),而数据设置2包含1个参数4,数据设置3包含3个参数(参数5、参数6和参数7)。而数据设置4则仅有1个参数8.

功能状态FS的作用是为数据设置区DS的一个或者一组参数提供有效性的验证,而数据设置DS则是实际传输数据参数的存放位置。有效性验证是飞机数据网络进行数据传输不可或缺的功能,只有数据再通过有效性验证之后,才可以在网络上进行传输。

如图4所示可以更好地说明飞机数据网络报文的结构组成。

图4 飞机数据网络ARINC 664 报文组成

如果应用报文需要额外的参数,可以在应用报文中继续添加功能数据设置区FDS。可由图3知参数9、参数10和参数11即在功能数据设置2区,由另一行功能状态字FSS word负责数据验证,其他的情况以此类推。

功能设置Functional Set的取值与定义如下图5所示。

图5

无数据(No Data)表示功能状态区相关联的数据设置区没有参数信息。

正常运行(Normal Operation)表示功能状态区相关联的数据设置验证成功,数据传输正常。

无计算数据(No Computed Data)表示设备正常运行,但功能状态区相关联的的数据无法验证数据,即有数据而检测不到数据。

功能测试则是指功能状态区相关联的数据设置区参数正在进行功能测试。

应用报文的数据调整

在飞机数据网络数据传输过程中,必须对应用报文的数据结构进行一定的调整,使其以一个合适的方式储存在计算机物理内存中。这样一来,可以最大化利用计算机处理数据的效率,也保证了飞机数据网络带宽的使用更加高效。

在应用报文的数据结构中,常常通过置零位(Padding)的方式让调整数据在物理内存中的地址。如图6中例子所示,如果一个4字节的参数1储存在地址0x0008至0x000B中,那么大小为8字节的参数2在物理地址上就需要进位,因为0x000C至0x000F只有4个字节,参数2需要储存至0x0010至0x0013的物理内存地址上。

图6 报文数据结构调整

所以,为了参数2可以完整的储存在一个物理内存地址上,需要将应用报文中中物理内存地址为0x000C至0x000F的部分置零。

结合A664 规范所定义的MAC数据帧传输规范,实际应用报文与数据帧的关系如下图7所示。应用报文中的每行以32位“字”的形式组合在MAC数据帧中。

图7 报文应用数据在数据帧中的

以上是对飞机数据网络应用报文组成的简单介绍,报文的结构组成大多来自于A664规范的定义。实际上,在飞机网络进行传输时,会完成不同类型信号之间的转化。ARINC 429,ARINC 825和离散量信号都需要将自己的数据内容通过终端系统和交换机转变成本文所述的报文组成中,完成航电系统复杂信息数据的交互。

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

如若内容造成侵权/违法违规/事实不符,请联系一条长河网进行投诉反馈,一经查实,立即删除!

相关文章

【python学习】思考-如何在PyCharm中编写一个简单的Flask应用示例以及如何用cProfile来对Python代码进行性能分析

引言 Python中有两个流行的Web框架:Django和Flask。Django是一个高级的Python Web框架,它鼓励快速开发和干净、实用的设计;Flask是一个轻量级的Web应用框架,适用于小型到大型应用。以下是使用Flask创建一个简单应用的基本步骤cPro…

【书籍推荐】探索AI大语言模型的基石与边界:《基础与前沿》

本文主要介绍了AI大语言模型的基础与前沿,希望能对学习大模型的同学们有所帮助。 文章目录 1. 前言2. 书籍推荐 2.1 内容简介2.2 本书作者2.3 本书目录2.4 适合读者 1. 前言 全球首个完全自主的 AI 软件工程师上线,它是来自 Cognition 这家初创公司…

上市公司-企业数据要素利用水平(2010-2022年)

企业数据要素利用水平数据:衡量数字化时代企业竞争力的关键指标 在数字化时代,企业对数据的收集、处理、分析和应用能力成为衡量其竞争力和创新能力的重要标准。企业数据要素利用水平的高低直接影响其市场表现和发展潜力。 企业数据要素利用水平的测算…

学习记录——day17 数据结构 队列 链式队列

队列介绍 1、队列也是操作受限的线性表:所有操作只能在端点处进行,其删除和插入必须在不同端进行 2、允许插入操作的一端称为队尾,允许删除操作的一端称为队头 3、特点:先进先出(FIFO) 4、分类: 顺序存储的栈称为顺序栈 链式存储的队列&a…

Spring Boot+WebSocket向前端推送消息

​ 博客主页: 南来_北往 🔥系列专栏:Spring Boot实战 什么是WebSocket WebSocket是一种在单个TCP连接上进行全双工通信的协议,允许服务器主动向客户端推送信息,同时也能从客户端接收信息。 WebSocket协议诞生于2008年&#…

【北京迅为】《i.MX8MM嵌入式Linux开发指南》-第三篇 嵌入式Linux驱动开发篇-第四十七章 字符设备和杂项设备总结回顾

i.MX8MM处理器采用了先进的14LPCFinFET工艺,提供更快的速度和更高的电源效率;四核Cortex-A53,单核Cortex-M4,多达五个内核 ,主频高达1.8GHz,2G DDR4内存、8G EMMC存储。千兆工业级以太网、MIPI-DSI、USB HOST、WIFI/BT…

springboot旅游规划系统-计算机毕业设计源码60967

摘 要 微信小程序的旅游规划系统设计旨在为用户提供个性化的旅游规划服务,结合Spring Boot框架实现系统的高效开发与部署。该系统利用微信小程序平台,包括用户信息管理、目的地选择、行程规划、路线推荐等功能模块,为用户提供便捷、智能的旅…

英迈中国与 Splashtop 正式达成战略合作协议

2024年7月23日,英迈中国与 Splashtop 正式达成战略合作协议,英迈中国正式成为其在中国区的战略合作伙伴。此次合作将结合 Splashtop 先进的远程桌面控制技术和英迈在技术服务与供应链管理领域的专业优势,为中国地区的用户带来更加安全的远程访…

Python:对常见报错导致的崩溃的处理

Python的注释: mac用cmd/即可 # 注释内容 代码正常运行会报以0退出,如果是1,则表示代码崩溃 age int(input(Age: )) print(age) 如果输入非数字,程序会崩溃,也就是破坏了程序,终止运行 解决方案&#xf…

Java开发之Redis

1、非关系型数据库、快、高并发、功能强大 2、为什么快?内存单线程 非阻塞的IO多路复用有效的数据类型/结构 3、应用:支持缓存、支持事务、持久化、发布订阅模型、Lua脚本 4、数据类型: 5 种基础数据类型:String(字…

html 解决tooltip宽度显示和文本任意位置换行文本显示问题

.el-tooltip__popper {max-width: 480px;white-space: break-spaces; /* 尝试不同的white-space属性值 */word-break:break-all; }

前端文件下载word乱码问题

记录一次word下载乱码问题: 用的请求是axios库,然后用Blob去接收二进制文件 思路:现在的解决办法有以下几种,看看是对应哪种,可以尝试解决 1.将响应类型设为blob,这也是最重要的,如果没有解决…

C#开源、简单易用的Dapper扩展类库 - Dommel

项目特性 Dommel 使用 IDbConnection 接口上的扩展方法为 CRUD 操作提供了便捷的 API。 Dommel 能够根据你的 POCO 实体自动生成相应的 SQL 查询语句。这大大减少了手动编写 SQL 代码的工作量,并提高了代码的可读性和可维护性。 Dommel 支持 LINQ 表达式&#xff…

【Linux】进程IO|系统调用|open|write|文件描述符fd|封装|理解一切皆文件

目录 ​编辑 前言 系统调用 open 参数flags 参数mode write 追加方式 read close 文件描述符 打开多个文件并观察其文件描述符 C语言文件操作 理解一切皆文件 理解open操作 前言 各类语言的文件操作其实是对系统调用的封装 我们经常说,创建一个文件&a…

【Linux】:自定义shell(简易版)

朋友们、伙计们,我们又见面了,本期来给大家带来一期自定义shell,如果看完之后对你有一定的启发,那么请留下你的三连,祝大家心想事成! C 语 言 专 栏:C语言:从入门到精通 数据结构专栏…

虚拟现实和增强现实技术系列—Expressive Talking Avatars

文章目录 1. 概述2. 背景介绍3. 数据集3.1 设计标准3.2 数据采集 4. 方法4.1 概述4.2 架构4.3 目标函数 5. 实验评测5.1 用户研究5.2 我们方法的结果5.3 比较与消融研究 1. 概述 支持远程协作者之间的交互和沟通。然而,明确的表达是出了名的难以创建,主…

SSRF中伪协议学习

SSRF常用的伪协议 file:// 从文件系统中获取文件内容,如file:///etc/passwd dict:// 字典服务协议,访问字典资源,如 dict:///ip:6739/info: ftp:// 可用于网络端口扫描 sftp:// SSH文件传输协议或安全文件传输协议 ldap://轻量级目录访问协议 tftp:// 简单文件传输协议 gopher…

媒体邀约专访与群访的区别?

传媒如春雨,润物细无声,大家好,我是51媒体网胡老师。 媒体邀约中的专访与群访在多个方面存在显著差异,以下是对这两种采访方式的详细比较: 一、定义与形式 专访: 定义:专访是指由媒体记者对单…

iOS 开发包管理之CocoaPods

CocoaPods(Objective-C 时期,支持Objective-C和swift),CocoaPods下载第三方库源代码后会将其编译成静态库.a 文件 或动态库框架.framework 文件 的形式,并将它们添加到项目中,建立依赖关系,这种…

CPU与IO设备交互

距离cpu比较近的总线速度快,价格昂贵一些,根据重要程度选择总线,cpu不是通过总线直接和io设备相连接的,而是通过设备控制器进行连接的,暂时只需要关注cpu和设备控制器的直接进行的操作。 通过判断状态寄存器是否usy或者…