接口实战笔记:1553B——军工航电“一主多四“总线,测试到底卡在哪几关
一、先把 1553B 的定位钉死它不是军工版 CAN很多刚接军工项目的工程师会下意识把 1553B 当CAN 的军用慢速版——完全不是。两者的设计哲学差了一个量级维度CAN/CAN FDMIL-STD-1553B拓扑多主/广播CSMA/CR强一主多从BC→RTRT→RTRT→BC物理CAN 收发器双绞线 transformer-coupled 双绞屏蔽线短截线 stub1 主最多 31 RT总线两端 70~85Ω 终端波特率500k/1M/2M/5M固定 1Mbps硬规定帧长8B / 64B最大 32 字每字 16bit 状态/命令字错误检测CRC15 / CRC17-21命令/状态/数据字自带奇偶 终端 Synchronization典型场景汽车/工业战机/直升机/导弹/雷达/飞控/航电骨干⚠️第一个难点1553B 是BCBus Controller一言堂——所有通信必须由 BC 发起命令字RT 不能主动抢总线。所以测试侧伪造一个 RT 主动发包是非法场景但伪造 BC 发错命令字 / 伪造 RT 回错状态字是合法且高价值的故障注入。二、1553B 测试的四层拆法L1物理层 变压器耦合验证短截线stub长度标准 ≤ 20ft~6m过长反射终端电阻总线两端70~85Ω不是 120Ω别拿 CAN 电阻去量变压器中心抽头要接RT 地否则共模漂A/B 双总线冗余BC 要能切 A→BA 失效时 B 接管L2链路层 命令字/状态字/数据字命令字Command WordT/R 位0BC→RT1RT→BCRT 地址5bit0~3031 是广播子地址 SA5bit1~300 和 31 保留字计数 WC5bit032 字1~32状态字Status Word忙/故障/终端标志/服务请求/广播收妥Message Error BitRT 检测到命令奇偶错时置位数据字Data Word16bit × WCL3协议层 故障注入HIL 值钱段RT 地址跳变 / 地址冲突BC 以为 RT 地址是 5实际 RT 跳成 6或两块 RT 都配成 5WC 错配命令字 WC8RT 回 9 个字 → BC 怎么处理状态字 Message Error 注入伪造 RT 回的状态字里 ME 位1 → BC 重发逻辑广播RTAddr31漏收BC 发广播某 RT 没回状态 → BC 广播完成判据RT→RT 中转BC 命令 RTa→RTbRTa 回状态后 BC 再命令 RTb→BC —— 中转超时怎么处理A/B 总线切换BC 发 A 总线 3 帧无 ACK → 切 B切回条件L4应用层BC 调度表 / 消息间隙 / 超帧消息间隙Inter-Message Gap≥ 2~4 μs按 BC 设计超帧Major FrameBC 调度表一轮的周期典型 20ms / 40ms / 64msRT 子地址映射SA1 是遥测、SA2 是遥控、SA16 是 BIT… 每家所里的 ICD 都不一样三、1553B 四大重灾区比 CAN 还阴重灾①终端电阻拿错信号眼图永远不漂亮1553B 是70~85Ω 中心抽头变压器耦合不是 CAN 的 120Ω。现场常见工程师拿 CAN 电阻盒120Ω往 1553B 上怼 → 阻抗不匹眼图闭、过冲、BC 偶发重发。测试侧第一件事先量 A-A / B-B 直流电阻 ≈ 70~85Ω离线再上电。重灾②RT 子地址 字长 ICD 对不上型号间互操作翻车高发同样是遥测 SA1甲所 WC16、乙所 WC32、丙所 SA1 是遥控反着来。HIL 测试侧如果只按帧格式对不按SAWC信号位映射对连通能过数据解出来全是错字段——这种 bug 外场才暴露代价极大。重灾③BC 超帧抖动 RT 响应时延BC 调度表里命令字发出 → RT 回状态数据之间有个RT 响应窗典型 4~12 μs 传输。测试侧要能量命令发出时刻 → RT 状态字首位到 的时延以及 BC 超帧周期的长期抖动。这又回到老问题——测试设备自身抖动要比被测小一个量级否则量的不是 DUT 是测试机自己。重灾④A/B 冗余切换的三错才切逻辑1553B 的 A/B 冗余不是发一帧失败就切是连续 N 帧无合法响应 → 切 B。很多产线工装只测切 B 能通不测连续错 N-1 次还在 A、第 N 次切 B、B 活了再切回 A这条完整链——结果定型后才发现 BC 切回条件写反返工。四、ETest 里 1553B 是怎么落地的先确认事实「测试资源管理」硬件通道列表里明确列了 1553B同节还有 ARINC429、AFDX、FC-AE-ASM、CANFD 等 50 种4.6「ICD 管理」也明确写 ICD 可绑 1553B 通道原文支持数据块与通道的绑定包括 TCP、UDP、RS232/422/485、ARINC429/1553B、AFDX、1394、FC-AE-ASM、 1553B 等——注意原文笔误重复列了一次 1553B但至少确认是支持项。下面把四层测试对应到 ETest 能力。1通道配置1553B 通道属性可配BC/RT/Monitor 模式、终端电阻、A-B 冗余、消息间隙支持连接器引脚表 Excel 导入1553B 的 A/A-/B/B-/屏蔽层 5 线制接线错一个全红2ICD 绑定ICD 数据块 →绑 1553B 通道消息帧支持命令字 / 状态字 / 数据字 结构化周期 / 事件 / 组合帧大小端、位偏移、物理值↔原始值转换激励运行时可调参选命令字数据字按周期发BC 模拟或 RT 响应模拟——可实时改 SA/WC/数据字内容3协议字段级精确到位(bit) 的协议字段定义——命令字的 T/R、RTAddr(5bit)、SA(5bit)、WC(5bit) 全可拆状态字的 Busy/Fault/MsgErr/SvcReq 等位可独立拼CRC / 奇偶校验 → 内置 自定义校验算法 → 注入奇偶错 / MsgErr 置位 / WC 错配不用改 DUT4测试序列 实时性测试序列串行/并行、单步/断点、通道数据记录执行器响应 ≤1ms同步抖动 10μs——对 1553B 1Mbps、RT 响应窗 μs 级计量够用实时监控表格曲线命令字/状态字/数据字可分栏显示5部署形态场景ETest 部署1553B 适用性弹载/机载板板级通电体检设计器执行器同机非实时够测 BC/RT 命令响应、ICD 一致性航电 HILRT 模型 1553B 交联设计器上位机 执行器下位机Linux-RT/翼辉推荐抖动稳可跑 RT 响应窗计量多 RT 并发BC 4~8 RT 全挂多执行器分布式大型航电综合台五、一份可抄走的 1553B 测试核查清单直接贴进测试方案附录用。【1553B 测试核查清单】L1 物理层[ ] A/B 总线两端终端电阻 70~85Ω离线直流量[ ] 短截线 stub 长度 ≤ 6m[ ] 变压器中心抽头接 RT 地A/B 屏蔽层单点接地[ ] A/B 双总线冗余切换手动验证L2 链路层[ ] 命令字 / 状态字 / 数据字 解析与 ICD 一致[ ] RT 地址0~30合法性31 广播专用[ ] SA1~30 WC032映射正确[ ] 奇偶校验错 → MsgErr 置位 → BC 重发L3 故障注入字段级[ ] RT 地址跳变BC 以为 5实际 RT 配 6[ ] SA/WC 错配命令 WC8RT 回 9[ ] 状态字 MsgErr / Fault / Busy 注入[ ] 广播RTAddr31漏收单 RT → BC 判据[ ] RT→RT 中转超时BC 命令 RTa→RTbRTa 回状态后 BC 判 RTb 响应L4 应用层 / 超帧[ ] BC 超帧周期如 20ms/40ms抖动计量[ ] 命令字→RT 状态字首位的 RT 响应时延μs 级[ ] A 总线连续 N 帧无响应 → 切 B[ ] B 恢复后切回 A 的条件防乒乓