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.

[参考译文] TMS320F280039:功能安全:闪存和 RAM ECC

Guru**** 2782635 points
请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

https://e2e.ti.com/support/microcontrollers/c2000-microcontrollers-group/c2000/f/c2000-microcontrollers-forum/1614995/tms320f280039-functional-safety-flash-and-ram-ecc

器件型号: TMS320F280039

现有产品需要满足 IEC 60730 B 级的功能安全要求。在查看 TI 的相关文档后、我打算使用闪存 ECC 和 RAM ECC 来执行数据/地址的功能安全监控项目等 但是、对于初始化和运行时期间是否需要故障注入仿真、我有些疑问。 具体的实施过程如下所述:

问题 1 — 对于闪存相关检测过程,至少需要以下哪种方法才能满足 IEC 60730 B 类要求:
A1) 在初始化期间仅启用闪存 ECC 函数。 如果在运行时发生相关的错误机制、请通过闪存 ECC 中断/NMI 中断处理来确保系统安全。
A2) 在 A1 的基础上、在初始化期间仿真故障注入以确保 SECDED 功能正常、然后继续像 A1 中那样进行正常的程序执行。
A3) 基于 A2)、在正常程序执行期间定期仿真故障注入、并定期验证 SECDED 是否正常工作。

问题 2 — 对于与 RAM 相关的检测过程、需要以下哪种方法至少满足 IEC 60730 B 类要求:
b1) 自动启用 RAM ECC 检测。 如果发生 ECC 错误、请通过 RAM ECC 中断/ITRAP/NMI 中断处理来确保系统安全。
b2) 基于 b1)、在初始化期间仿真 32 位与数据相关的 RAM 数据/地址/ECC 错误以确保 SECDED 正常运行、然后像在 b1 中一样继续。
B3) 在 B2 的基础上、在初始化期间对整个 RAM 区域执行故障注入测试、然后像在 B2 中一样继续。
B4) 在正常运行期间、定期仿真故障注入以确保 SECDED 功能正常。 如果需要此操作、是否只需要像 B2 中那样注入一个数据点、或者必须像 B3 中那样在整个 RAM 区域仿真故障注入?

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    据我所知、IEC 60730 标准不要求您在实际应用中使用这些故障注入测试模式来测试 ECC 逻辑、但这对您的测试或向评估人员证明您的应用程序会适当地处理 ECC 错误有所帮助。

    您当然可以在启动时添加检查、以进一步保证 ECC 正常工作并准备好检测错误。 对于 RAM、我们建议测试每个 RAM 块中的单个位置(或至少测试包含安全关键数据/代码的每个块)。

    Whitney