How to reset or stop Watchdog in FXTH87

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

How to reset or stop Watchdog in FXTH87

Jump to solution
677 Views
abarnic_co
Contributor III

Hi Dears

I working with FXTH87EH911DT1.

I have made about 50,000 sensors using FXTH87EH911DT1.
About 20% of the sensors hang up(stop working)after programming and then after about 3 days the battery is fully discharged..

I decided to use a watch dog to solve this problem.
But the watchdog is never disabled.

this is my prog for watchdog:

SIMOPT1=SIMOPT1|SIMOPT1_COPCLKS_MASK;
SIMOPT2_COPT0=0;SIMOPT2_COPT1=0;SIMOPT2_COPT2=0;
SIMOPT1 = (SIMOPT1 | SIMOPT1_STOPE_MASK) & (UINT8) (((UINT8) SIMOPT1_COPE_MASK));

When the َapplication program enters STOP1 mode, it resets immediately.
I reset the watchdog use" __RESET_WATCHDOG ();" , but when the micro enters STOP1 mode, it resets immediately.

please help me to solve my problem.

best regards.

 

0 Kudos
1 Solution
650 Views
TomasVaverka
NXP TechSupport
NXP TechSupport

Hi,

 

Please find below the answer from our TPMS expert.

 

Regarding the fact that 20% of the sensors hang up and have their battery discharged after 3 days, I think that a possible cause is that there has not been a true POR after programming. When the FXTH is programmed via the BDM, it enters BACKGROUND debug mode, in which its behavior is different from the “normal” behavior. For example, STOP1 entry is replaced by a STOP4 entry, which impacts the application flow and power consumption.

To force the FXTH to restart in “normal” mode, a POR must be done after programming.

 

Regarding the watchdog configuration, some bits of the SIMOPT1 and SIMOPT2 are write-once only, so can be accessed only once for write operations. We thus recommend to write all fields with one write access only. For example:

/* Enable STOP mode, enable COP, select LFO as COP source */

SIMOPT1 = (SIMOPT1 | SIMOPT1_STOPE_MASK | SIMOPT1_COPE_MASK ) & (UINT8)(~((UINT8) (SIMOPT1_COPCLKS)));

/* Watchdog 2048ms timeout */

SIMOPT2_COPT = 7;

 

Please let us know if there are any further questions.

 

Best regards,

Tomas

 

View solution in original post

2 Replies
651 Views
TomasVaverka
NXP TechSupport
NXP TechSupport

Hi,

 

Please find below the answer from our TPMS expert.

 

Regarding the fact that 20% of the sensors hang up and have their battery discharged after 3 days, I think that a possible cause is that there has not been a true POR after programming. When the FXTH is programmed via the BDM, it enters BACKGROUND debug mode, in which its behavior is different from the “normal” behavior. For example, STOP1 entry is replaced by a STOP4 entry, which impacts the application flow and power consumption.

To force the FXTH to restart in “normal” mode, a POR must be done after programming.

 

Regarding the watchdog configuration, some bits of the SIMOPT1 and SIMOPT2 are write-once only, so can be accessed only once for write operations. We thus recommend to write all fields with one write access only. For example:

/* Enable STOP mode, enable COP, select LFO as COP source */

SIMOPT1 = (SIMOPT1 | SIMOPT1_STOPE_MASK | SIMOPT1_COPE_MASK ) & (UINT8)(~((UINT8) (SIMOPT1_COPCLKS)));

/* Watchdog 2048ms timeout */

SIMOPT2_COPT = 7;

 

Please let us know if there are any further questions.

 

Best regards,

Tomas

 

646 Views
abarnic_co
Contributor III

Hi Dear Tomas

I'd like to explain our operation procedure :

1-We program the FXTH87 by  BDM programmer( without battery and with other 3.3v voltage supply)

2-disconnect power and programmer

3-Install the battery to FXTH87 PCB.

Also it's better that you know about the my application software routine:

1-configoration

2-enter in STOP1

3-Exit from STOP1 with LF interrupt or PWU periodic interrupt .

4-Go to STOP4 (for measure P_T_V_AccZ ) 

5-RF TX

I need to enable "COP Watchdog" in start step of my program for system reset when the application software fails to execute as expected.

But when i  enable the "COP WATCHDOG" MCU after the end of program line's and as soon as entry in STOP1, MCU restarted and its continue and other part of program do not execute.

Note:I use __RESET_WATCHDOG(); in program routine but COP timer does not stop or reset.

 

In reality my problem is that i can not reset cop timer in interrupts routine or when program is in STOP1 Mode.

best regards.

 

 

 

 

0 Kudos