FS23 Wdg Mode

cancel
Showing results for 
Show  only  | Search instead for 
Did you mean: 

FS23 Wdg Mode

Jump to solution
10,303 Views
WeiCh
Contributor III

When initializing, use Wdg_43_fs23_SetMode to set the mode of the watchdog to FAST. After a period of time, it was set to OFF mode again. I found that the watchdog could not be turned off, because the FS_WDW_CFG register WDW_EN bit configured in OFF mode is 1. If it is set to 0, the watchdog can be turned off. Is this abnormal?

0 Kudos
Reply
1 Solution
10,116 Views
WeiCh
Contributor III

我已经找到这个问题的原因了:在调用SetMode接口设置OFF后,需要成功刷新一次看门狗,新的看门狗周期(无限窗口)才会生效。我之前用的是超时看门狗,所以设置OFF模式后直接刷新看门狗就可以了。但是后来改成了窗口看门狗,就不能直接刷新看门狗,需要在合理的窗口时间进行刷新。

但是我在查看设置OFF的SPI数据时有个疑惑,在Sbc_fs23_DisableWatchdog()这个函数内部,对FS_WDW_CFG寄存器进行了读-写-读,确认修改周期对之后设置LOCK_INT位退出INIT状态。

可后面又一次对FS_WDW_CFG寄存器进行了读-写-读,这是不是重复的操作?此时如果不在INIT状态,会不会有什么问题?

WeiCh_0-1734938013111.png

 

View solution in original post

0 Kudos
Reply
15 Replies
10,292 Views
guoweisun
NXP TechSupport
NXP TechSupport

HI 韦崇

你是想要disable WD的功能当芯片进入normal模式以后对吧?

0 Kudos
Reply
10,289 Views
WeiCh
Contributor III
是的,芯片在初始化时WDG配的是OFF模式,进入Normal模式再设置成SLOW或FAST模式。在开启WDG后,后续有时会切回OFF模式,我看函数的返回值都是OK的,但关闭看门狗没成功。我对比了一下成功时的情况,就是那个WDW_EN窗口看门狗使能位的配置差异。
0 Kudos
Reply
10,286 Views
guoweisun
NXP TechSupport
NXP TechSupport

这个WD 关闭的时间节点只有在INIT也就是初始化的时候配置WDW_PERIOD 为’0‘去关闭它,只有这样进入normal模式以后才是WD 才是OFF的状态,但每次reset都要这样在INTI的阶段把它关掉

0 Kudos
Reply
10,281 Views
WeiCh
Contributor III
我看驱动代码Wdg_43_fs23_SetMode接口,如果是要设置OFF模式,会让SBC进入INIT状态,再去配置WDW_PERIOD 为’0‘
0 Kudos
Reply
10,278 Views
guoweisun
NXP TechSupport
NXP TechSupport

对的是这样的

0 Kudos
Reply
10,271 Views
WeiCh
Contributor III

另外,FS23最新手册上有个描述错误:

_0-1734576691731.png

 

0 Kudos
Reply
10,268 Views
guoweisun
NXP TechSupport
NXP TechSupport

是这样的多谢指正,下一版会更正这个!

0 Kudos
Reply
10,204 Views
WeiCh
Contributor III

我使用的FS23驱动版本是1.0.0,RTD驱动版本是5.0.0。如果上面的情况下无法关闭看门狗,那驱动上是不是应该修改一下:

1、EB Tresos生成的OFF模式配置WDW_EN位是不是应为“0”,即超时看门狗;

_0-1734594429372.png

2、SBC驱动代码中切换模式时,应该同时修改PERIOD位和WDW_EN位:

_1-1734594598614.png

 

0 Kudos
Reply
10,209 Views
WeiCh
Contributor III
可以帮我确认一下当配置为OFF模式(周期位“0”和WDW_EN位“1”)的时候,看门狗是不是开始开启的。
0 Kudos
Reply
10,203 Views
guoweisun
NXP TechSupport
NXP TechSupport

你可以理解为period设定为0是无限制时间,然后后面那个是WD的类型,0是timeout,1是window型的。

guoweisun_0-1734594764139.png

 

他并不是说WD 真正的off了,只是说给你无限的时间去写对的seed喂狗,因为你后面还要喂狗来减error counter的值到0,才能释放FSXB进入normal模式。

0 Kudos
Reply
10,195 Views
WeiCh
Contributor III
我理解你的意思,但我实测就是设置OFF模式后,如果停止喂狗,就会出现看门狗复位,关于设置WDW寄存器,我在早期0.8.0版本上看到的是配置所有位,但0.9.0和1.0.0是只配了WDW_PERIOD位的。
0 Kudos
Reply
10,193 Views
guoweisun
NXP TechSupport
NXP TechSupport

那倒不会这样,假如你disable了这个WDW_PERIOD,然后WDW_WIN选择默认的timeout 跟Window都应该是一样的。

你可以试试全部都配置看看结果,一定是在INIT初始化阶段配置才有效关于这个WDW_PERIOD setting as ’0000‘

0 Kudos
Reply
10,117 Views
WeiCh
Contributor III

我已经找到这个问题的原因了:在调用SetMode接口设置OFF后,需要成功刷新一次看门狗,新的看门狗周期(无限窗口)才会生效。我之前用的是超时看门狗,所以设置OFF模式后直接刷新看门狗就可以了。但是后来改成了窗口看门狗,就不能直接刷新看门狗,需要在合理的窗口时间进行刷新。

但是我在查看设置OFF的SPI数据时有个疑惑,在Sbc_fs23_DisableWatchdog()这个函数内部,对FS_WDW_CFG寄存器进行了读-写-读,确认修改周期对之后设置LOCK_INT位退出INIT状态。

可后面又一次对FS_WDW_CFG寄存器进行了读-写-读,这是不是重复的操作?此时如果不在INIT状态,会不会有什么问题?

WeiCh_0-1734938013111.png

 

0 Kudos
Reply
10,112 Views
guoweisun
NXP TechSupport
NXP TechSupport

HI 

退出INIT状态以后假如进入normal模式了 对FS_WDW_CFG操作就是要把他重新打开配置,意味着他还想用这个WD供能但是不能设置period在无限’0000‘的状态了。

0 Kudos
Reply
10,301 Views
WeiCh
Contributor III

FS_WDW_CFG register config  In  OFF Mode :

_0-1734571139393.png

 

0 Kudos
Reply