4. 安全编码器设计

安全编码器并不是“普通编码器加一个报警输出”,它的核心目标是在位置、速度或角度反馈链路中,让任何单点故障、信号篡改或传输干扰都无法伪装成合法测量值。设计时通常从编码器结构入手,再叠加安全约束,最后用抗攻击编码策略和典型设计模式把安全完整性落实到电路、协议和诊断逻辑中。

一、编码器结构:从单通道到双通道冗余

安全编码器的物理结构决定了它能覆盖哪些故障。常见结构包括:

  • 单通道增量式:仅 A/B/Z 三路信号,成本低,但无法区分“轴真的转动”与“信号线被短接/注入”。
  • 双通道独立传感:两套敏感元件、两套供电、两套输出,通道间保持电气隔离,可检测共因失效以外的单点故障。
  • 多轨绝对式:采用伪随机码、格雷码或安全 CRC 编码,每个位置都带校验信息,适合高安全等级场景。
  • 自诊断编码器:内置温度、电压、LED 老化、信号幅值监测,能在故障发生前输出预警。

结构设计的关键是物理独立与逻辑关联的平衡:两通道必须独立到足以避免共因失效,又必须通过交叉校验确认彼此一致。下图展示了典型双通道安全编码器的信号链与诊断路径。

双通道安全编码器:结构、信号链与交叉诊断 旋转轴 机械输入 位置/速度 通道 A 敏感元件 A 独立供电 A 编码/CRC A 驱动输出 A 通道 B 敏感元件 B 独立供电 B 编码/CRC B 驱动输出 B 安全处理单元 交叉校验 CRC/签名验证 时间戳比对 故障判定 安全状态输出 安全输出 位置/速度 状态字 报警/安全停机 诊断反馈:通道偏差、CRC 错误、供电异常 攻击面 信号注入 重放/篡改 供电干扰

二、安全约束:把“可信”写成可验证条件

安全约束不是泛泛的“高可靠”,而是可量化、可测试、可诊断的硬性条件。典型约束包括:

  • 通道独立性:两通道的供电、地线、敏感元件、信号路径不得共享关键节点,避免单点短路导致双通道同时失效。
  • 数据完整性:每帧位置数据必须携带 CRC、序列号或 MAC,接收端在限定时间窗内验证,超时即判为无效。
  • 一致性约束:两通道位置差不得超过允许阈值,速度方向必须一致,否则进入安全状态。
  • 时间约束:数据新鲜度由时间戳或滚动计数器保证,防止重放旧数据。
  • 故障响应时间:从检测到故障到输出安全状态,必须满足系统安全时间要求。

安全约束示例:某伺服安全编码器要求通道偏差 < 0.5°,CRC 校验失败连续 3 帧即触发安全停机,故障响应时间 ≤ 10 ms,两通道供电隔离耐压 ≥ 1 kV。

三、抗攻击编码策略:让篡改难以伪装

攻击者可能通过信号注入、重放、旁路、故障注入等方式伪造位置。抗攻击编码策略的核心是让合法数据具有不可预测性和可验证性。常见策略如下表:

策略 实现方式 防御目标 代价/注意点
CRC 校验 每帧附加 CRC-8/CRC-16 随机位翻转、传输错误 无法防重放,需配合序列号
滚动计数器 帧内嵌入递增计数值 重放旧帧 接收端需维护窗口,掉电需同步
通道交叉校验 双通道数据实时比对 单通道篡改、漂移 需处理同步误差和共因失效
伪随机码绝对位置 码盘采用 PRBS 或安全码 位置伪造、局部遮挡 解码复杂度高,需自同步
MAC/签名 对关键帧计算消息认证码 恶意注入、伪造帧 增加计算和密钥管理开销

实际设计中,通常将 CRC、滚动计数器和交叉校验组合使用,形成多层防御。例如:通道 A 和 B 各自输出带 CRC 和计数器的帧,安全处理单元先验证 CRC,再检查计数器连续性,最后比对两通道位置差。任何一层失败都进入安全状态。

四、典型设计模式与实操要点

在工程落地时,安全编码器常采用以下设计模式:

  1. 双通道独立 + 交叉校验模式:适合 SIL2/SIL3 场景,两通道物理隔离,处理单元做一致性判断。
  2. 单通道自诊断 + 安全协议模式:成本敏感场景,通过 CRC、计数器、温度/电压监测提升诊断覆盖率。
  3. 绝对位置 + 增量校验模式:绝对式码盘提供粗位置,增量信号提供细分辨率和运动方向,两者互相验证。
  4. 安全状态机模式:编码器内部维护“正常/降级/安全”状态,故障时主动输出安全值或断开驱动。

实操建议:调试阶段先用示波器同时抓取 A/B 通道的差分信号和 CRC 帧,确认通道间延迟小于系统允许的同步误差;再用故障注入工具短接某一路信号,观察安全处理单元是否在要求时间内输出安全状态。

常见误区:只做 CRC 不做计数器,无法防重放;只做双通道不做交叉校验,无法发现两通道同时漂移;把安全逻辑放在非安全 MCU 中,诊断覆盖率不足;忽略供电共因,导致“独立通道”在电源故障时同时失效。

复盘时,建议用故障树梳理每个攻击面和失效模式,确认安全约束是否覆盖了“单点故障 + 潜在故障 + 共因故障”。只有把结构、约束、编码策略和设计模式统一到同一张安全论证中,安全编码器才能真正成为双通道反馈链路中可信的测量源头。