After the UJA1169 go into normal mode some time (about 3 minutes),it go into standby mode automaticlly, I don't write Mode control register (0x01) , and also kick watchdog periodly. So why does that happen?
您使用的是UJA1169 还是UJA1169A?
是UJA1169A
读 0x03,看 RSS 是哪个码:
我这边可能没法第一时间读出,只能是发现之后再去读一下。
这次读出来是0xf,对应起来是watchdog overflow。
但实际喂狗动作一直是在执行的,而且发生这种状况时,是启动后分钟级别的时间,而watchdog是毫秒级别的。
那么这可能是什么原因?
0x00在初始化时会设置为0x2b,然后进入normal mode。
喂狗就是将0x00读出来再写进去。
现在进入standby后,0x00变成了0x44,这应该是默认值。
改成1024ms之后,目前大概一个小时,依然还是normal mode。
但1024ms有点太长了,我觉得即使继续测试下去没问题也不太适合作为解决办法,还有什么其它方案吗?
这就涉及到另外一个问题,就是这里提出的:
UJA1169 can not write Mode control register (0x01) with S32k312
在初始化的时候,读写Lock control register (Address: 0x0A)是正常的,写入值和读值一样。
但是写入watchdog register/Mode control register,发现读出的值依然是默认值,而不是写入值。这样SBC无法进入normal mode。
我是在之后又执行了一次同样的动作才能正常写入,进入normal mode,从而进行到现在的状态。
喂狗也是一样的现象,最开始喂的时候,值是没变的。
所以第一次写不进去watchdog register/Mode control register的问题一直存在?
结合之前的分析来看应该不是没写进去,而是之后喂狗不及时,导致mode回到了standby,所以寄存器的值不正确。
所以还是这个topic的issue没解决导致的。
你再催一下这个topic的回复。