Fault Collection Unit (FCU) RM0046
772/936 Doc ID 16912 Rev 5
The register block implements all the FCU registers including input capture logic. The
interface implements the read functionality and generated write and register enable signals.
The timeout counter implements the counter to calculate timeout to switch from Alarm state
to Fault state. The output prescaler module generates the prescaled clock to be used to
generate output sequence. The FCU control implements the FCU state machine. The output
generation logic generates two external output signals according to the output generation
protocol.
28.3.1 State machine
The FCU provides four states: Init, Normal, Alarm, and Fault.
Figure 449. Finite state machine
The Init state is entered after any destructive reset assertion. Once the FCU goes into Fault
state, both functional and destructive reset assertion lets the FCU move into Init state.
Once a configuration is locked (see Section , “Module Configuration Register (FCU_MCR)),
the FCU goes into Normal state. Then, when a fault occurs, the FCU can move into
Alarm/Fault states depending on the Fault Enable Register (FCU_FER). The Fault Flag
Register (FCU_FFR) stores any fault that has occurred, even if the FCU is not entering into
the Alarm or the Fault state.
When the FCU is in Alarm state, a timer starts counting up to a fixed timeout (see Section ,
“Timeout Register (FCU_TR)) before going into Fault state.
When the FCU goes into Fault state, the status of the FCU_MCR is copied into the
FCU_FMCSR. Also, the FCU_FFR is copied into the FCU_FFFR.
The FCU can be tested by setting field TM[1:0] in the FCU_MCR during initialization. In this
way, the FCU_FFGR can be accessed and faults can be emulated, since FCU behavior is
the same whether real or fake faults occur. Optionally, the output pins can be disabled in
Test mode (by setting the TM field to ‘01’). To exit from Test mode, the TM field must be set
to ‘00’ or ‘11’.
NORMAL
INIT
ALARMFAULT
Destructive reset
Destructive reset
Destructive reset
Destructive
A user-enabled fault
cause has been
detected.
Timeout is enabled
Fault is
recovered
A user-enabled fault
cause has been detected.
Timeout is disabled
Timeout elapses
Functional reset
reset
Configuration phase is finished