ZHCAE28 May 2024 TMS320F2800132 , TMS320F2800133 , TMS320F2800135 , TMS320F2800137 , TMS320F2800152-Q1 , TMS320F2800153-Q1 , TMS320F2800154-Q1 , TMS320F2800155 , TMS320F2800155-Q1 , TMS320F2800156-Q1 , TMS320F2800157 , TMS320F2800157-Q1 , TMS320F28P650DH , TMS320F28P650DK , TMS320F28P650SH , TMS320F28P650SK , TMS320F28P659DH-Q1 , TMS320F28P659DK-Q1 , TMS320F28P659SH-Q1
安全标准的要求几乎是统一的,但不同认证机构的理解和要求有所不同。因此,TI 针对这些标准中的 MCU 部分提供了非常成熟的诊断库,让工程师可以根据机构的具体要求进行库的调用。为了满足 IEC/UL 60730-1/60335-1 的测试要求,通常会在上电或复位后执行一轮自检,并在应用程序正常运行后执行定期自检。图 4-1 显示了常用的自检软件结构。
上电后,当 MCU 初始化完成时,会执行一轮自检,包括栈溢出检测、看门狗测试、CPU 和 FPU 寄存器测试、PC 测试、时钟测试、RAM 测试 (March13N)、闪存测试(CRC 或 ECC)、ADC 测试,等等。系统功能进入运行状态后,会执行定期自检。上电检测和定期检测之间的主要区别在于栈和看门狗。栈溢出检测由硬件触发,可在上电检测中进行配置。看门狗检测只需在上电检测期间执行一次,因为在程序运行时会定期馈送看门狗。
TI 的 C2000ware SDK 提供与前述 MCU 的自检相关的软件诊断库。以 F280013x 为例,代码位于 C2000Ware_x_0x_00_00\libraries\diagnostic\f280013x,示例工程位于 f280013x \examples\test_application。为了帮助工程师更好地理解 C2000 MCU 自检的原理和方法,还为了便于将所需的源代码应用到系统工程中,以及与安全认证机构进行通信和确认,下面将详细介绍每个自检项。