当下,一边汽车自动化驾驶的发展势头节节攀高,一边频频出现各类痛心的质量事故。需求促进变革,需求促进功能安全在汽车电子的快速落地,本文就带你领略高安全等级设计中的看门狗


在汽车安全性要求越来越高的电子系统中,为保证系统程序按照预期流程运行,看门狗对程序的监控措施已成为功能安全需求不可或缺的部分。比如实现程序运行逻辑的监控,实现程序运行时间的监控等,这样的看门狗应用需求,一般的看门狗是无法满足的,ZLG 为用户推荐使用 FS45/65 电源管理芯片,其看门狗基于“question/answer”原理实现,可以很好的支持相关功能安全设计。

 

 

一、看门狗介绍

 

图 1  Challenger WD


FS45/65 的看门狗是 Challenger WD,基于“question/answer”原理实现看门狗刷新:FS45/65 基于线性移位寄存器(LFSR)生成 8 位伪随机数,MCU 可以发送自定义 LFSR 的 seed 或使用 FS45/65 默认的 LFSR 值(0xB2),执行预定义的计算,通过 SPI 发送结果给 FS45/65 进行验证。验证正确,会产生新的伪随机数;验证错误,WD 错误计数器递增,WD_LFSR 的值不变,WD 错误计数器按照预定的配置,达到一定阈值,对 RSTB 和 FS0B 进行控制,从而使系统进入安全状态。


任何 WD 的刷新都会重新启动窗口,这样可确保 MCU 与 FS65 之间的同步,同时与 MCU 系统独立的外部看门狗更能保证系统的稳定性。


二、看门狗窗口

 

图 2  看门狗窗口


第一个看门狗刷新在 INIT 阶段,第一次看门狗刷新后,设备进入正常 WD 刷新模式,MCU 必须在看门狗窗口打开期间刷新看门狗。看门狗窗口时间可以在 WD_WINDOW[3:0]位配置为 1.0ms 到 1024ms。看门狗只能在 INIT 阶段禁用,以允许“重新编程”。

 

  • 无论好的、坏的 WD 刷新或 WD 超时,都会重新启动新的 WD 窗口;

 

  • 可以在任意阶段更改窗口时间,更改窗口时间将在下一次 WD 刷新之后体现;

 

  • 窗口的占空比为 50%±10%,不可修改。


三、看门狗错误计数

 

图 3  看门狗错误计数器


FS45/65 实现看门狗错误计数器管理,器件在 INIT 阶段通过配置看门狗错误计数阈值来决定 RSTB 和 FS0B 的动作,保证系统在发生严重的看门狗故障时,能够迅速进入安全状态。


出现看门狗故障时,WD 错误计数器加 2;正确刷新时,WD 错误计数器减 1。该原理确保循环的“OK/NOK”行为收敛于故障检测。为了允许应用程序的灵活性,在 INIT 阶段,该计数器的最大值可以使用 WD_CNT_RFR[1:0]位进行配置。


看门狗错误计数器值可由单片机读取 WD_ERR[2:0]位,用于诊断看门狗是否刷新正确。


四、看门狗刷新计数器

 

图 4  看门狗刷新计数器


看门狗刷新计数器用于递减故障错误计数器。每次看门狗正确刷新时,看门狗刷新计数器将增加 1,每当看门狗刷新计数器达到 6,如果下一次 WD 刷新也很好,故障错误计数器递减 1。


无论看门狗刷新计数器的当前值是多少,每次刷新看门狗出现错误时,看门狗刷新计数器将复位为 0。
五、ZLG 资源

 

图 5  ZLG 资源


ZLG 为用户准备了完善的器件使用及功能安全资源,包括器件的评测套件、基础功能使用说明文档、基础功能代码、功能安全使用说明文档以及功能安全 SafetyLib。


六、总结
FS45/65 在看门狗应答策略、故障计数管理功能和诊断等一系列特性都远远优于传统窗口看门狗,能够有效保证系统稳定运行,并且符合国标 GB/T 34590-5 程序序列监控相关技术要求,可达到很高等级的诊断覆盖率。