简介: 本文主要以FS6500系列展开介绍,介绍深度安全故障(深度睡眠)状态的转换,以及相关寄存器值的变化过程
1.控制器什么时候会因为SBC停止工作?
- 窗口看门狗未及时喂狗达到故障计数最大值
- 芯片进入某种(deep fail state)模式或LP-DFS模式或LP-Sleep模式
- 、、、、、、
2.如何正常进入deep fail state模式?
- SELECT引脚接地Deep fail-safe使能,SELECT引脚接电源芯片正极Deep fail-safe失能(如下图2-1所示)
3.相关寄存器状态
3.1SBC主程序相关状态
-
IO_0是唯一唤醒Deep fail-safe的引脚,在IO_0为低电平时(处于低功耗深度安全故障),在上升沿时唤醒Wake Up,状态切换图如图3-1-2所示;在电源芯片进入NORMAL模式后,对RSTB引脚拉低8s,在条件(存在debug电阻并且SELECT引脚接地)情况下,可以进入深度安全故障模式;硬件连接图可将下图3-1-1C55换为一个开关,控制RSTB低电平持续8s可进入深度安全故障状态
3.2看门狗喂狗相关值刷新- 喂狗错误计数器变化过程(0->2->4->0),当故障错误计数器(FLT_ERR_CNT)加到6自动变为0,并将故障错误计数器加1,看门狗错误计数器转换图如下图3-2-1所示。喂狗成功(WD_OK)一次WD_ERR计数器减1最多能减到0,并且刷新计数器加1;
- 当连续七次喂狗成功故障错误计数器减1,转换图如图3-2-2所示
- 初始化看门狗喂狗错误计数器,喂错(WD_NOK)一次WD_ERR计数器加2,并且对喂狗刷新计数器重新复位置零重新计数,看门狗刷新计数器如下图3-2-3和图3-2-4所示;
3.3看门狗喂狗错误分析
- 正确密钥状态:在窗口期内(OPEN)喂狗成功属于WD_OK,在非窗口期(CLOSED)喂狗属于WD_NOK,timeout 不喂狗也属于喂狗失败(WD_NOK)
- 错误密钥状态:在不在窗口期内喂狗都属于喂狗失败(WD_NOK)
看门狗错误状态表如下图3-3-1所示
窗口看门狗占空比如下图3-3-2所示,红色表示窗口期,黑色表示非窗口期
- 正确密钥状态:在窗口期内(OPEN)喂狗成功属于WD_OK,在非窗口期(CLOSED)喂狗属于WD_NOK,timeout 不喂狗也属于喂狗失败(WD_NOK)
- 喂狗错误计数器变化过程(0->2->4->0),当故障错误计数器(FLT_ERR_CNT)加到6自动变为0,并将故障错误计数器加1,看门狗错误计数器转换图如下图3-2-1所示。喂狗成功(WD_OK)一次WD_ERR计数器减1最多能减到0,并且刷新计数器加1;