3. ARINC 429 协议深度解析

ARINC 429 是民用航空电子系统中最经典的点到多点单向串行总线标准。它的设计哲学非常明确:以确定性和可靠性优先,用一条单向差分链路把“发送端”和“接收端”固定下来,从而避免总线仲裁和冲突带来的不确定性。理解 ARINC 429,不能只记“32 位字”,而要把电气层、字结构、标签语义、状态矩阵和总线拓扑串成一条完整的信号链。

物理层:差分信号与电平定义

ARINC 429 使用屏蔽双绞线传输差分信号,逻辑状态由两条线 A(正端)与 B(负端)之间的电压差决定。标准定义如下:

  • 高电平(逻辑 1):A 线相对 B 线为 +10V ±1V,即 A-B 差值约为 +10V。
  • 低电平(逻辑 0):A 线相对 B 线为 -10V ±1V,即 A-B 差值约为 -10V。
  • 零电平(NULL):A-B 差值接近 0V,表示无有效传输或空闲状态。

这种双极性三态(+10V、0V、-10V)设计使接收端可以通过差分比较器判断逻辑值,同时具备较强的共模干扰抑制能力。传输速率方面,ARINC 429 支持两种标准速率:低速 12.5 kbps 和 高速 100 kbps。低速用于对带宽要求不高的传感器与显示设备,高速用于惯导、大气数据计算机等数据量较大的设备。速率由发送端时钟决定,接收端必须匹配同一速率,否则会出现位采样错位。

字格式:32 位固定结构

ARINC 429 的每个数据字固定为 32 位,按位编号 1~32,其中位 1 为最低有效位(LSB),位 32 为最高有效位(MSB)。整个字被划分为五个字段:

位区间字段作用
1~8Label(标签)标识数据类型,如 203 表示气压高度
9~10SDI源/目标标识,区分多套同型设备
11~29Data有效数据区,19 位
30~31SSM符号/状态矩阵,表示数据有效性及方向
32Parity奇偶校验位,采用奇校验

需要特别注意的是,标签字段在传输时是“反向”发送的:位 1 先发,但标签的数值通常以八进制表示,且位序与常规二进制书写相反。例如标签 203(八进制)对应二进制 010 000 011,实际发送时位 1 到 8 依次为 1、1、0、0、0、0、0、1。接收端在解析时必须按 ARINC 429 规范做位序还原,否则标签会完全错乱。

标签、SDI 与 SSM 的协同语义

标签决定“这是什么数据”,SDI 决定“这是谁的数据”,SSM 决定“这个数据是否可信、方向如何”。三者组合起来,才能完整表达一个参数的含义。

以标签 203(气压高度)为例,若 SDI=01,表示来自第一套大气数据计算机;SSM=11 表示数据正常且为正;SSM=00 表示数据正常但为负;SSM=01 表示数据无效;SSM=10 表示功能测试模式。接收端在解析时,先看标签匹配,再看 SDI 选择对应设备,最后用 SSM 判断是否采纳该数据。如果 SSM 指示无效,即使数据位数值看起来合理,也不能用于显示或控制。

SSM 的编码含义随标签类型不同而变化。对于 BNR(二进制补码)格式,SSM 通常表示符号与有效性;对于 BCD 格式,SSM 可能表示数据源或状态。解析时必须结合标签定义表,不能一概而论。

奇偶校验:奇校验机制

ARINC 429 采用奇校验:发送端统计位 1~31 中“1”的个数,若为偶数,则第 32 位置 1;若为奇数,则第 32 位置 0,最终使整个 32 位字中“1”的总数为奇数。接收端重新统计 32 位中“1”的个数,若为偶数则判定校验错误,丢弃该字并记录故障。

奇偶校验只能检测奇数个位错误,无法纠正错误,也无法检测偶数个位同时翻转。因此在实际系统中,它通常与标签合法性检查、SSM 有效性判断、数据范围检查联合使用,形成多层防护。

传输速率与双向总线机制

ARINC 429 本质上是单向广播总线:一个发送端可以连接最多 20 个接收端,但接收端不能在同一对线上反向发送。如果两个设备需要双向通信,必须使用两对独立的双绞线,分别构成两条单向链路。这就是“双向总线机制”的真实含义——不是一条线双向,而是两条单向线成对使用。

发送端以固定间隔连续发送字,通常每个标签按一定周期刷新。接收端通过标签识别和周期超时判断数据是否“新鲜”。如果某个标签超过预定周期未更新,即使最后一次数据校验正确,也应标记为超时失效。

ARINC 429 字结构与单向总线拓扑 32 位字格式(位 1 → 位 32) Label 1-8 SDI 9-10 Data 11-29(19 位) SSM 30-31 P 32 位1 位8 位9 位10 位11 位29 位30 位31 位32 SSM 典型编码(BNR 数据) 00 = 正常,负值 01 = 数据无效 10 = 功能测试 11 = 正常,正值 单向广播拓扑(一条链路最多 20 个接收端) 发送端 TX A 线(+) B 线(-) 接收端 1 接收端 2 接收端 N 双向通信实现方式 设备 A → 设备 B:链路 1(A 发 B 收) 设备 B → 设备 A:链路 2(B 发 A 收) 两条独立单向链路成对使用,物理上不共享同一对双绞线

解析示例:从原始位到物理量

假设接收端捕获到一个 32 位字,按位 1~32 排列为:

位1-8:   11000001  → 标签反向还原为 203(八进制)
位9-10:  01        → SDI = 1(第一套设备)
位11-29: 0000000000001010000 → 数据区
位30-31: 11        → SSM = 正常,正值
位32:    1         → 奇校验位

解析步骤:先统计位 1~31 中“1”的个数,若为偶数则校验位应为 1,此处校验通过。标签 203 对应气压高度,SDI=1 选择第一套 ADC,SSM=11 表示数据有效且为正。数据区按 BNR 格式解析,最高位为符号位,其余为数值位,结合标签定义的分辨率(例如 1 英尺/LSB),即可换算出实际高度值。

如果标签 203 的 SSM 为 01,即使数据区数值看起来正常,也必须丢弃该字。在故障定位时,应优先检查发送端是否进入故障模式、传感器是否失效、或链路是否存在间歇性中断。

故障定位中的关键观察点

当 ARINC 429 链路出现异常时,可按以下顺序排查:

  1. 物理层:用示波器测量 A-B 差分电压,确认是否存在 +10V/-10V 跳变。若始终为 0V,检查发送端供电、线缆断开或接收端负载过重。
  2. 速率匹配:测量位宽,12.5 kbps 对应 80 μs/位,100 kbps 对应 10 μs/位。位宽偏差超过 ±2% 可能导致接收端采样错误。
  3. 标签与周期:用总线分析仪抓取标签列表,确认目标标签是否按预期周期出现。若某标签消失,检查发送端软件是否停止更新。
  4. 校验与 SSM:统计奇偶校验错误计数和 SSM 无效计数。若两者同时升高,可能是线缆干扰或发送端数据源异常。
  5. SDI 冲突:若两套同型设备使用相同 SDI,接收端无法区分数据来源,表现为数值跳变或随机切换。

ARINC 429 的可靠性来自“简单且固定”:固定 32 位、固定单向、固定差分电平。正因如此,它在解析时几乎没有歧义,故障定位也可以沿着“电气→位→字段→语义→周期”这条链路逐层收敛。掌握这条链路,就掌握了 ARINC 429 分析与排故的核心方法。