在汽车功能安全领域,锁步核(LockStep Core)是一项关键技术,有助于提升汽车系统运行的可靠性和安全性。下面我们来详细了解锁步核的原理、工作机制以及应用情况。
“Lockstep” 直译为 “步调一致”,初源于军事语境,用于描述队伍齐步行军时所有人保持一致的动作步伐。后来该概念被引入计算机领域,应用于计算机容错系统。其思想是使用相同的、冗余的硬件组件在同一时间内处理相同的指令,以实现多个 CPU 或内存的同步。
锁步核(LockStep Core)分为主核(Master Core)和检查核(Checker Core)。这两个核使用相同的输入数据,并执行相同的操作,同时借助硬件比较器逐周期对主 CPU 和检查 CPU 的输出进行比较,以此判断系统是否正常工作。
- 相同的输入:主核(Master core)和检查核(Checker core)接收相同的输入数据。这确保了两个核处理的是完全一样的信息,为后续的比较提供了基础。
- 延时设置:在检查核的输入位置插入 n 个周期(cycle)的延时,通常 n 设置为 2。同时,主核的输出需要经过 “非” 操作(即反转),然后也插入 n 个周期的延时,得到信号 x [i] 。而检查核的输出记为 y [i] 。这里主核和检查核虽然延时位置不同,但延时时间是相等的。
- 比较操作:将经过处理的主核输出信号 x [i] 和检查核输出信号 y [i] 进行同或操作,得到结果 cmp [i]。如果 cmp [i] 等于 1,表明锁步出现错误;如果 cmp [i] 等于 0,则说明锁步检查正常。
主核和检查核有相同之处,也有不同点。相同点在于它们的输入相同,且处理算法逻辑相同(基于硬件层面)。不同之处在于,检查核在输入端做了延时,主核在输出端做了延时,但延时时间相同;同时,主核做了反转操作,而检查核没有。这样设计的目的是为了防止共模干扰,确保系统的稳定性和可靠性。在正常情况下,x [i] 和 y [i] 必然是严格相反的,因此按位同或的输出值必然是 0,这就证明了此时两个 CPU 都在正常工作。
当锁步核检测到故障时,通常会将故障信息连接到系统管理单元(SMU)的 Alarm 寄存器上。一旦 LockStep 故障发生,会通过 SMU 触发系统复位(reset),以保障系统的安全性。而且,锁步核是基于纯硬件电路的冗余与保护,不会对软件运行产生影响,这使得它在汽车电子系统中具有很高的实用性。
一般来说,在汽车功能安全等级为 ASIL C 和 ASIL D 的情况下,会启用锁步核。这是因为这些安全等级对系统的可靠性和安全性要求较高,锁步核能够有效提高系统的容错能力,降低因硬件故障导致的安全风险。
综上所述,锁步核(LockStep Core)在汽车功能安全中扮演着重要角色,通过其独特的工作原理和故障处理机制,为汽车电子系统的稳定运行提供了有力保障.
