目前市场上能够通过IOS26262等车规标准的双核锁步DCLS芯片主要有TI的Hercules系列、英飞凌AURIX系列和NXP S32系列等。
一、TI Hercules系列
Hercules是TI公司以ARM Cortex核心构建的安全关键CPU,包括三个系列:RM4,TMS570和TMS470M,内部由锁步双核CPU组成,最高可满足ISO26262 ASIL-D和IEC61508 SIL3功能安全标准的要求,并符合AEC-Q100车规级要求,双核锁步CPU架构、硬件BIST、MPU、ECC、片上时钟和电压监控可以满足汽车、铁路和航天航空关键功能安全应用。
?该芯片双核锁步实现的具体要点:
- CPU配有专门的硬件自检模块,只需要很少的软件开销就可以完成CPU的自检。
- CPU比较模块(CCM) 会逐周期对输出指令进行比对,一旦不一致立即报告错误。
- 两个CPU呈镜像且旋转90度的方式放置,并且保证间距大于100微米,从空间上避免了共模失效;
- 两个CPU在分别在运算之前和之后有两个周期的延时,从时间上避免了共模失效;
- 每个CPU都有独立的保护环,可以有效减少共模失效的可能性。
- 采用该双核锁步架构优势在于:
- 具有更快地错误检测速度,只需要两三个周期就可以检测到系统出错;
- 具有更高的错误覆盖率,可以检测的故障覆盖硬件、瞬态、持续等各种错误类型;
- 诊断功能工作时对性能的影响非常低,甚至没有任何影响,不需要额外的软件开销,对存储空间没有影响,而且几乎不占用Flash和RAM空间;
- 对于原有的设计,用户不需要额外的软件开发工作,易于集成到现有的应用中,从而缩短产品开发的周期;
- 诊断覆盖率可控,用户不需要担心软件的校验是否已经足够保证CPU的安全性,而可以将更多的时间用来开发自己的应用程序。
二、英飞凌AURIX系列
AURIX多核微控制器具有高实时性和嵌入式安全和安保特性。可用于控制内燃机、电动汽车和混动汽车的ECU单元、底盘域、刹车系统,EPS,安全气囊和ADAS系统,还可应用于铁路、工业自动化等领域。最新一代的AURIX TC3xx系列搭载了多达6个TriCore嵌入式内核,每个内核的时钟频率最高可达300MHz。配备千兆以太网、信号处理单元等最新通信接口。
AURIX的双核锁步具体实现为:
- 时间上,Primary Core先取指,运算结束后延时两个CPU clock时间,再传给Compare单元,Checker Core延时两个CPU clock时间后取指令,运算结束后传给Compare单元;
- 算法上,Primary Core运算结束是直接译码,再传给Compare单元;Checker Core运算结束是反码译码,再传给Compare单元。
- 空间上,Primary Core和Checker Core的布局间距>50um,预防收到放射线等共模失效。
三、NXP S32、MPC57xx系列
NXP的S32系列基于ARM Cortex架构,包括:
- S32K MCU用于一般的汽车和工业应用,达到ASIL B/D的high safety和security;
- S32G车用网络处理器,用于处理与面向服务的网关、域控制器和安全协处理器相关的高性能应用;
- S32S车辆安全动力学MCU,用于管理为未来的自动驾驶和电动汽车安全加速、制动和转向;
- S32R45雷达处理器,用于远距离雷达成像的高性能、安全和可靠的处理。
MPC57xx系列基于Power Architecture,包括MPC5777C,MPC577xK,MPC5777M,MPC5744P等,应用于汽车动力学、ADAS、高级自动驾驶应用。
主要特性:
- 具有双核锁步PowerPC e200 Z4内核,可提供最高200MHz的运行频率;
- 提供端到端错误纠正代码,以提高容错率及检测能力;
- checker核采用“safety lake”设计,独立电源供电;
- 主核delay后进入RCCU比较错误;
- BIU输出采用ECC校验;
- CPU和存储器之间通过相对应的内存控制器连接形成内存分级结构;?
四、总结
目前商用的双核锁步lockstep方案,基本上是周期精确的硬件对比为主,不过多修改软件程序正常进程,同时硬件保证数据对比结果正确性,并及时硬件纠错和程序回卷。同时,在芯片设计过程中,还需要对两个核的位置摆放和电源供电等有特殊要求。商用方案均采用delay周期的方式解决共模失效问题,同时checker内部可以上电自检一次,确保上电后checker硬件有效,内部需集成self test模块,该模块用于自测试和LBIST测试。
|