FS65 wdg error counter not incrementing

取消
显示结果 
显示  仅  | 搜索替代 
您的意思是: 
已解决

FS65 wdg error counter not incrementing

跳至解决方案
2,164 次查看
razvan_simtion
Contributor II

Hello,

Thank you in advance for your time on responding to my question.I have the following issue regarding the FS65:

The watchdog error counter does not increment when a wrong refresh is performed (either with a wrong data refresh or wrong timing refresh).

A bad read of the register who shows the status of the watchdog error counter (WD_COUNTER) is excluded since the WD_RFR_2:0 bits who report the  value of the watchdog refresh counter are incrementing when the Wdg is properly refreshed. However the WD_ERR_2:0 bits who report the value of the wdg error counter are not incrementing, even tough in the register WD_ANSWER, the WD_BAD_DATA and/or WD_BAD_TIMING bits are '1' (Wrong WD data refresh/Wrong WD timing refresh) , thing that represents an wdg error and it should increment the watchdog error counter.

Any idea why concerning this behaviour?

标签 (1)
标记 (3)
0 项奖励
1 解答
2,046 次查看
TomasVaverka
NXP TechSupport
NXP TechSupport

Hello Razvan,

I have not heard of such an issue so far.

 

If WD_BAD_DATA or WD_BAD_TIMING bits are set, the watchdog error counter should definitely be incremented by 2, even in debug mode.

 

Could you please double check if you read the WD_ERR_2:0 bits (bit 7 – bit 5 of the WD_COUNTER register) correctly?

Best regards,

Tomas

在原帖中查看解决方案

0 项奖励
3 回复数
2,047 次查看
TomasVaverka
NXP TechSupport
NXP TechSupport

Hello Razvan,

I have not heard of such an issue so far.

 

If WD_BAD_DATA or WD_BAD_TIMING bits are set, the watchdog error counter should definitely be incremented by 2, even in debug mode.

 

Could you please double check if you read the WD_ERR_2:0 bits (bit 7 – bit 5 of the WD_COUNTER register) correctly?

Best regards,

Tomas

0 项奖励
1,860 次查看
Gavinzhangwei
Contributor I

Hello Tomas,

For FS84, it seems that WD_BAD_DATA or WD_BAD_TIMING bits set but WD_ERR_2:0 bits not set. Could you help to check this. Thanks!

0 项奖励
2,046 次查看
razvan_simtion
Contributor II

Hello Tomas,

You are right, I have found the issue, I tried again today, added an extra if condition to my code: if(val_wd_counter & 0x00F0) then put a flag to TRUE, in order to check if the WD_ERR_2:0 ever got incremented. The flag was immediately set to true when bad timing/data refresh is performed.

The issue was that I was setting the max error counter value to 2 at INIT (change that I made in order to enter faster in Deep Fail-Safe mode) I changed it back to 6.In that previous config I believe the change(error counter incrementing) was too fast to capture it by my task(currently I am using DLT viewer to check the value of the registers, and my task that is showing this value was to slow and was all the time showing 0x0F00, or 0x0F02, 0x0F04 …0x0F0C,0x0F0E for WD_COUNTER even though the error counter was also increasing   ) .

Thanks again for the help.

Best Regards,

Razvan Simtion

0 项奖励