To get rid of useless redundancy–do I realy need a voltage supervisor

monitorstm32watchdog

I am using a voltage supervisor from MAXIAM(MAX7634A). It monitors VCC_3V3 and VCC_-3V3(I use LM358 to make it a positive one).Power supply distribution is shown below:
VCC_3V3:

  1. stm32f103
  2. EMP570T144
  3. some logic gates
  4. some daughter board that use VCC_3V3
  5. optocoupler
  6. MAX3232
  7. bipolar amplifier

VCC_-3V3:

  1. bipolar amplifier

I use LM317 and LM337 to create VCC_3V3 and VCC_-3V3. LM358 is powered by the source of LM317 and LM337. so my circuit of MAX7634A is shown below:
MAX6734A

I connect 'SUPERVISOR_RESET' to RST pin of STM32 and 'SUPERVISOR_WDO' 'SUPERVISOR_WDI' to IO of STM32. I jusr wonder whether this design is realy meaningful since STM32 has its own watchdog and brown-out check. Suppose that there is somthing wrong with VCC_-3V3, MAX7634A can only reset STM32! It is realy ridiculous. And what if LM317 and LM337 does not work correctly? MAX7634A still offers no hlep in this case.

Is is due to my wrong design using a voltage moniter? Can any experienced designer give me any suggestions to improve the whole reliability?

Best Answer

Not having used either of those devices in particular I'll leave this as a bit of a list of some generic reasons I can think of why using a seperate supervisor can still be useful:

  • You may want a trip voltage that is different to those offered by the microcontroller. For example that STM32 has a 2.8V odd minimum threshold, maybe you have other logic that stops operating below 3V for example and need a reset to reinitalize it.

  • Some microcontrollers have power-on reset and brown out detection logic that doesn't work well with very slow rise and fall times. Not sure about the STM32 in particular but that's a common reason for using one.

  • While it sounds like it's not used in this application the watchdog output could be used to physically power cycle the system and/or trigger an external alarm. This may be important to protect against some sort of latch-up condition (although that would normally be a design problem).

  • Some of these functions could be useful while the CPU is asleep, for example the watchdog might be used to signal that an bus no longer has activity and force the CPU to wake up rather than reset.

Whether it's worthwhile really depends on the overall design. For example a solar-powered datalogger in a remote location might have to deal with very slow rise and fall times and it might be vital that the system recovers from any situation reliably. A counter-example is a consumer USB product where it's likely to be a waste of time because the first thing most people will do is try to unplug it and plug back in.