MCF8316DULVRGFR has an integrated Self Test Library (STL) to check the health
of critical peripherals used in current and voltage sensing, digital logic and
memory during power-up as well as motor operation - an unintended
condition/operation detected during these self-tests result in a latched fault with
specific fault information provided in CONTROLLER_FAULT_STATUS register.
The self tests performed during power-up can also be initiated by the user. The
procedure to initiate self test is as follows,
- Self test should be initiated
only when the device is in idle mode (motor is not driven by the device);
hence, stop the motor by issuing a zero reference command. Read
ALGORITHM_STATE (from 0x18E) variable to ensure the device is in idle state
(read back value should be 0x0) or in fault state (read back value should be
0xE).
- Write 0x0000037C to
ALGO_CTRL1 (at 0xEA) register to initiate self test sequence; initiation of
self test sequence results in device reset.
- Wait for 500ms for the self
test sequence to be completed.
- Read the CONTROLLER_FAULT_STATUS (at 0xE2) register to ensure there was no
fault during self test sequence.
- In case of fault during self
test sequence, issue another self test command to check if device recovers.
In case of persistent faults, perform a power recycle to check if device
recovers; if fault persists or device is unresponsive, the device (critical
peripherals, digital logic or memory) may not work as expected.