0
\$\begingroup\$

I need to implement a feature similar to that provided by the IWDG on the STM32L073RZ. The issue I'm facing is that the maximum timeout value of the IWDG is ~ 32 seconds - I need something that can work for timespans up to 24 hours.

Pouring through the datasheet isn't really helping at the moment. I'm already using the RTC to wake from Standby mode (though this feature is to prevent an issue that may occur if an RTC wakeup isn't serviced correctly so I wouldn't want to use the RTC in this situation).

Any suggestions are greatly appreciated.

\$\endgroup\$
  • 2
    \$\begingroup\$ You need a watchdog, for reset purposes, with a 24 hour delay? \$\endgroup\$ – Jeroen3 Jul 19 at 9:56
  • \$\begingroup\$ I do. The device can sit in a very low power state and wake up at very long intervals. If, for any reason, the device weren't to wake then a watchdog would do it's thing and the board would just reset. Better half a days lost data than having to send a technician to reset the device manually in a weeks time. \$\endgroup\$ – Adam Mitchell Jul 19 at 13:55
1
\$\begingroup\$

There is no on chip functionality for a 24 hour delay watchdog. But you can use an external RTC.
You may need some edge sensitive logic that prevents the external RTC from keeping reset low.

\$\endgroup\$
  • \$\begingroup\$ I've been thinking along these lines, or even a monostable multivibrator along the lines of a TI CD4047B... \$\endgroup\$ – Adam Mitchell Jul 19 at 14:01
  • \$\begingroup\$ @AdamMitchell Yes, but an external RTC will use less power. \$\endgroup\$ – Jeroen3 Jul 19 at 14:17
0
\$\begingroup\$

Reading the datasheet, I came across this:

6.3.10 Standby mode

The Standby mode allows to achieve the lowest power consumption. It is based on the Cortex®-M0+ Deepsleep mode, with the voltage regulator disabled. The VCORE domain is consequently powered off.

But then later:

25.3.4 Behavior in Stop and Standby modes

Once running, the IWDG cannot be stopped.

I assume this means IWDG will just continue when RTC wakeup event happens. I guess this might be suitable for your problem (RTC wakeup not being serviced correctly), but maybe not.

If this doesn't fit, you're probably looking for an external hardware watchdog solution.

\$\endgroup\$
  • \$\begingroup\$ The watchdog continues, yes, but you have to service it (and wake up to do so) more often than the asker desires. It may be possible to have a soft watchdog that feeds the hardware one but the overall goal seems dubious \$\endgroup\$ – Chris Stratton Jul 19 at 13:52
  • \$\begingroup\$ Exactly, the IWDG would have been perfect were it able to tick for much greater periods of time. I can understand that my use case is very much an edge case! \$\endgroup\$ – Adam Mitchell Jul 19 at 13:57

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.