新手小白,请问Hercules芯片的安全功能,例如ECC,CRC等,是硬件实现的还是软件实现的?我想要移植一套软plc的runtime上去,移植后ECC,CRC这些功能还存在吗,需要我自己重新实现吗?谢谢大家
This thread has been locked.
If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.
新手小白,请问Hercules芯片的安全功能,例如ECC,CRC等,是硬件实现的还是软件实现的?我想要移植一套软plc的runtime上去,移植后ECC,CRC这些功能还存在吗,需要我自己重新实现吗?谢谢大家
图中红色部分是上面所说的由硬件完成诊断的安全岛,蓝色区域是基于安全 岛概念,由硬件、软件混合完成诊断的模块。黑色部分为非关键性区域,不会进 行任何诊断。
首先看一下红色标识的“安全岛”部分,CPU 配有专门的硬件自检模块,只需 要很少的软件开销就可以完成 CPU 的自检,而且两个一样的 CPU 采用同样的逻 辑和物理放置方式,可以大大降低共因失效的可能性。双核锁步 CPU 架构会逐 周期对指令进行比对。
第二是存储器部分,整个 Flash 和 RAM 部分都带有 ECC 校验,可以完成 1 位纠错,2 位报错的功能,自带的硬件 BIST 模块会在启动时检测所有的 RAM 区 功能。
第三系统管理部分,带有片内时钟及电源监视模块,负责检测是否有电源和 时钟出现失效,专门的 ESM 模块负责对错误信号进行处理和输出。
蓝色表示混合诊断部分,所有外设,DMA 和中断控制器的 RAM 都带有奇偶 校验功能,串口和网络通信模块有奇偶校验或 CRC 校验,I/O 口部分有 I/O 回环 功能来完成自测。ADC 也有相应的自检功能,并且两个 ADC 有共享通道,以实现 ADC 部分的通道冗余。
黑色部分主要是一些调试和下载模块,因为在 MCU 开始正常工作于一个应 用中时,这些模块并不会参与工作,因此,不需要特别的安全性设计。