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~8 | Label(标签) | 标识数据类型,如 203 表示气压高度 |
| 9~10 | SDI | 源/目标标识,区分多套同型设备 |
| 11~29 | Data | 有效数据区,19 位 |
| 30~31 | SSM | 符号/状态矩阵,表示数据有效性及方向 |
| 32 | Parity | 奇偶校验位,采用奇校验 |
需要特别注意的是,标签字段在传输时是“反向”发送的:位 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 指示无效,即使数据位数值看起来合理,也不能用于显示或控制。
奇偶校验:奇校验机制
ARINC 429 采用奇校验:发送端统计位 1~31 中“1”的个数,若为偶数,则第 32 位置 1;若为奇数,则第 32 位置 0,最终使整个 32 位字中“1”的总数为奇数。接收端重新统计 32 位中“1”的个数,若为偶数则判定校验错误,丢弃该字并记录故障。
奇偶校验只能检测奇数个位错误,无法纠正错误,也无法检测偶数个位同时翻转。因此在实际系统中,它通常与标签合法性检查、SSM 有效性判断、数据范围检查联合使用,形成多层防护。
传输速率与双向总线机制
ARINC 429 本质上是单向广播总线:一个发送端可以连接最多 20 个接收端,但接收端不能在同一对线上反向发送。如果两个设备需要双向通信,必须使用两对独立的双绞线,分别构成两条单向链路。这就是“双向总线机制”的真实含义——不是一条线双向,而是两条单向线成对使用。
发送端以固定间隔连续发送字,通常每个标签按一定周期刷新。接收端通过标签识别和周期超时判断数据是否“新鲜”。如果某个标签超过预定周期未更新,即使最后一次数据校验正确,也应标记为超时失效。
解析示例:从原始位到物理量
假设接收端捕获到一个 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),即可换算出实际高度值。
故障定位中的关键观察点
当 ARINC 429 链路出现异常时,可按以下顺序排查:
- 物理层:用示波器测量 A-B 差分电压,确认是否存在 +10V/-10V 跳变。若始终为 0V,检查发送端供电、线缆断开或接收端负载过重。
- 速率匹配:测量位宽,12.5 kbps 对应 80 μs/位,100 kbps 对应 10 μs/位。位宽偏差超过 ±2% 可能导致接收端采样错误。
- 标签与周期:用总线分析仪抓取标签列表,确认目标标签是否按预期周期出现。若某标签消失,检查发送端软件是否停止更新。
- 校验与 SSM:统计奇偶校验错误计数和 SSM 无效计数。若两者同时升高,可能是线缆干扰或发送端数据源异常。
- SDI 冲突:若两套同型设备使用相同 SDI,接收端无法区分数据来源,表现为数值跳变或随机切换。
ARINC 429 的可靠性来自“简单且固定”:固定 32 位、固定单向、固定差分电平。正因如此,它在解析时几乎没有歧义,故障定位也可以沿着“电气→位→字段→语义→周期”这条链路逐层收敛。掌握这条链路,就掌握了 ARINC 429 分析与排故的核心方法。