MCF8316D: Brake triggers WATCHDOG_FAULT when watchdog is enabled

Part Number: MCF8316D

Tool/software:

When I try to enable the brake function, the MCF8316D immediately reports a WATCHDOG_FAULT in the CONTROLLER_FAULT_STATUS register.  What's going on?

I have enabled the watchdog timer with the following settings (all set at once in a single I2C register write operation):

  • EXT_WDT_EN = 1 (enabled)
  • EXT_WDT_INPUT_MODE = 0 (tickle over I2C)
  • EXT_WDT_FAULT_MODE = 1 (latch MOSFETs in HI-Z)
  • EXT_WDT_CONFIG = 1 (2 seconds)

The behavior is the same regardless of the value of EXT_WDT_FAULT_MODE or EXT_WDT_CONFIG.  The WATCHDOG_FAULT triggers immediately upon activating the brake, regardless of the watchdog timeout or how recently the watchdog was tickled.  The WATCHDOG_FAULT cannot be cleared until the brake is deactivated.

The behavior is the same regardless of whether I set BRAKE_INPUT to 0 (hardware pin) and toggle the BRAKE pin on or set BRAKE_INPUT to 1 (override hardware pin and brake).

The behavior is different if the motor is running fast enough to engage the soft stop function.  In that case, when I activate the brake, the ALGORITHM_STATE transitions to SOFT_STOP and the motor gradually slows down.  Once the motor speed is below the soft stop threshold, the ALGORITHM_STATE transitions to BRAKE_ON_STOP, the WATCHDOG_FAULT immediately triggers, and the motor does not brake.

I find this behavior very mysterious.  I have been able to reproduce it with the EVM board and with my own PCB.

How do I use the brake together with a watchdog?

Jeff.