历史上的今天
今天是:2024年11月05日(星期二)
2020年11月05日 | 符合ASIL-D的看门狗应用设计
2020-11-05
当下,一边汽车自动化驾驶的发展势头节节攀高,一边频频出现各类痛心的质量事故。需求促进变革,需求促进功能安全在汽车电子的快速落地,本文就带你领略高安全等级设计中的看门狗。
在汽车安全性要求越来越高的电子系统中,为保证系统程序按照预期流程运行,看门狗对程序的监控措施已成为功能安全需求不可或缺的部分。比如实现程序运行逻辑的监控,实现程序运行时间的监控等,这样的看门狗应用需求,一般的看门狗是无法满足的,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 程序序列监控相关技术要求,可达到很高等级的诊断覆盖率。
史海拾趣
|
硬件工程师 职位要求: 1、电子工程专业背景。 2、能熟练使用PROTEL99、CADENCE等工具设计线路图、线路板,有能力通过合理布线消除各电路之间的各种干扰(如地线噪音干扰、模拟与数字电路相互干扰、高频电磁干扰等) 3、要求有足够模拟及数字电 ...… 查看全部问答> |
|
WinCE 6.0下DirectDraw Sample运行出错,Why? 运行目录public\\directx\\sdk\\samples\\ddraw\\src\\DDex1的程序,结果Display driver doesn\'t support flipping surfaces,提示GWES Hook fails surface creation. IDirectDraw::CreateSurface fails.why? VS2005,OS Design时direct的已经选 ...… 查看全部问答> |
|
811的板子 GPIO怎么设置才可以既当做输入又可以当做输出 GPIO怎么设置才可以既当做输入又可以当做输出? 我的PB口在写给芯片数据的时候需要时输出模式,读芯片数据的时候需要输入模式,请问怎么设置才能这样使用呢。 [ 本帖最后由 jinghong21 于 2011-8-28 12:32 编辑 ]… 查看全部问答> |
|
EK-LM3S811_ND Rev3 开发板上的作为仿真器的芯片发热严重 刚收到的EK-LM3S811_ND 开发板插上电,仿真器的那颗芯片发热,大家的开发板有没有这种现象.....??… 查看全部问答> |
|
本帖最后由 dontium 于 2015-1-23 12:59 编辑 参数可以自己选择, 器件最好TI的 我主要是想学习原理,各种资料也行,先谢谢啦 … 查看全部问答> |
|
altium不能调用集成库中的封装了,不知道怎么回事。 比如我在院里图中放置一个电阻,现在想更换该电阻的封装 我记得原来只用在封装的选项里面点浏览, 然后更换封装就好了。 但是现在不行,集成库已经添加,但是在可用的封装里面没有显示。 ...… 查看全部问答> |
|
更改形状按以下步骤:“设计”--->\"板子形状\"--->\"重新定义PCB外形\" ,然后就可以重新定义外形了。 建议在重定义PCB外形前,先在\"KEEPOUT层\"(禁止布线层)上先用直线把大概轮廓画出来,也包括固定孔。如果想精确定位pcb的外 ...… 查看全部问答> |




