4. 机载数据交换基础
机载数据交换的本质,是在有限带宽和确定时限约束下,把来自不同航电功能的数据可靠地送到正确的接收端。理解这一过程,需要同时看清四条线索:数据从哪来、经过哪些环节、由谁决定何时发送、接收端如何确认它有效。本节围绕数据流模型、端到端通信、消息调度以及时间触发与事件触发机制展开,帮助建立后续网关配置与排障所需的底层认知。
一、数据流模型:从源端到目的端的四层视图
机载数据交换可以抽象为“源—封装—传输—解封装—目的”的数据流模型。源端通常是传感器、飞控计算机、显示控制单元或机电管理单元,它们产生周期状态量、离散量或事件报文。数据在源端被组织为消息,消息包含标识、长度、有效载荷和必要的校验字段。传输层由总线或交换网络承担,如 ARINC 429、MIL-STD-1553B、ARINC 664 或 CAN。目的端收到消息后完成校验、解析和交付,最终被应用软件消费。
在这个模型中,有三个关键参数决定数据流是否健康:刷新率、端到端时延和数据新鲜度。刷新率表示源端产生同一类数据的周期,例如大气数据计算机以 50 ms 周期发送空速;端到端时延表示从源端采样到目的端可用之间的时间;数据新鲜度则用于判断接收端当前持有的数据是否仍然有效。若目的端超过若干个刷新周期未收到更新,就应将该数据标记为失效,而不是继续沿用旧值。
二、端到端通信:不只是“发出去”,还要“收得对”
端到端通信关注的是从源端应用到目的端应用之间的完整语义。它至少包含四个约定:数据标识、传输方向、更新周期和失效策略。以 ARINC 429 为例,一条总线上一个标签(Label)通常只允许一个发送端,接收端根据标签和 SDI 位识别数据来源。若同一参数需要被多个接收端使用,往往通过网关进行转发或复制,而不是让多个源端同时驱动同一标签。
端到端通信中常见的错误不是“完全收不到”,而是“收到了但用错了”。例如,接收端把旧周期数据当作新数据使用,或者在双通道冗余系统中混用了两个通道的数据。为避免这类问题,工程上通常要求:每条消息携带时间戳或序号;接收端维护“最后有效时间”;当超过新鲜度窗口时,将数据质量位置为无效,并触发显示端的失效提示或降级逻辑。
下面给出一个可参考的端到端通信参数示例表,用于描述某型大气数据参数从 ADC 到显示器的交换约定。表中数值为教学示例,不是实测结果。
| 参数 | 源端 | 目的端 | 总线/标签 | 刷新周期 | 新鲜度窗口 | 失效动作 |
|---|---|---|---|---|---|---|
| 空速 | ADC | 显示器 | ARINC 429 / Label 206 | 50 ms | 150 ms | 显示“---”并置无效 |
| 气压高度 | ADC | 显示器 | ARINC 429 / Label 203 | 50 ms | 150 ms | 显示“---”并置无效 |
| 航向 | AHRS | 显示器 | ARINC 429 / Label 320 | 20 ms | 60 ms | 显示“---”并置无效 |
| 起落架状态 | 机电管理单元 | 显示器 | CAN / ID 0x120 | 100 ms | 300 ms | 保持最后有效并告警 |
三、消息调度:谁先发、发多久、冲突怎么办
消息调度决定总线或交换网络上的发送顺序与时间分配。机载网络常见的调度方式包括固定周期轮询、优先级仲裁和时分复用。以 MIL-STD-1553B 为例,总线控制器按命令字依次发起传输,远程终端只有在被寻址时才响应,因此调度表本质上是一张“时间—命令”映射表。以 ARINC 664 为例,虚拟链路(VL)按带宽分配间隔发送,交换机依据 VL 标识进行转发和整形。
调度设计需要回答三个问题:周期消息能否在截止时间内完成、突发消息是否会影响周期消息、总线利用率是否留有裕量。一个实用的判断方法是计算最坏情况下的总线占用时间。例如,某 1553B 总线上有 30 条周期消息,每条消息平均传输时间为 80 μs,周期均为 20 ms,则每 20 ms 内周期消息占用约 2.4 ms,总线利用率约 12%。若再加入 10 条事件消息,每条平均 100 μs,则需评估事件消息在最坏情况下的排队时延是否仍满足周期消息的截止时间。
四、时间触发与事件触发:两种不同的发送哲学
时间触发(Time-Triggered, TT)按照预先定义的时间表发送消息,发送时刻与总线上的其他节点无关。它的优点是确定性好、时延可预测、适合飞控和显示等周期数据。事件触发(Event-Triggered, ET)则在事件发生时才发送消息,例如按钮按下、故障置位或状态跳变。它的优点是响应及时、带宽占用少,但缺点是多个事件同时发生时可能产生冲突和排队。
实际机载网络通常采用“时间触发为主、事件触发为辅”的混合模式。周期数据走 TT 通道,保证刷新率和时延;离散量和告警走 ET 通道,保证及时性。网关在两者之间进行转换时,需要特别注意:ET 消息不能无限占用 TT 通道的带宽;TT 消息也不能因为等待 ET 消息而错过发送时刻。常见的做法是给 ET 消息设置优先级上限和队列深度,并在网关内部为 TT 消息保留固定时间片。
下面给出一个混合调度的判断逻辑示例,用于说明网关在收到不同消息时的处理路径。该逻辑为教学示例,实际实现需结合具体总线协议和网关能力。
收到消息 M:
若 M 属于 TT 表:
在预定时间片内发送
若错过时间片:记录调度偏差,等待下一周期
否则若 M 属于 ET 消息:
若 ET 队列未满:入队,按优先级发送
若 ET 队列已满:丢弃最低优先级消息,记录溢出计数
否则:
丢弃并记录未知消息类型
五、把四件事串起来看
数据流模型回答“数据经过哪些环节”,端到端通信回答“两端如何约定”,消息调度回答“总线何时发送”,时间触发与事件触发回答“为什么这样发送”。四者共同决定了机载数据交换的确定性和可靠性。在后续网关配置中,无论是添加一条转发规则、调整一个刷新周期,还是排查一次数据失效,都可以回到这四个维度定位问题:是源端没有产生、封装标识不匹配、调度时间片冲突,还是接收端新鲜度判断过严。