Commonly seen architectures used for implementing functional safety into motor systems are shown on this and the following slide. The first is the Distributed Safety Architecture, in which monitoring and redundancy is implemented through the addition of various discrete components to the system. A secondary MCU (sometimes called a sub-MCU) is added to the system to implement and compare some of the safety related tasks in case there is a failure on the primary MCU. The sub-MCU also handles non-safety critical tasks and can optionally be used for safety software synchronization between the primary and sub-MCU. Similarly, components for system monitoring like a discrete watchdog, IO monitors and MCU monitors are added to the system to act as independent and redundant monitors. The primary MCU or secondary MCU is often programmed with secure communication links and driver diagnostic software to ensure that the system is checked at power up. Latent fault detection can also be implemented in these systems by injecting faults using discrete components. Distributed safety systems are fairly popular in the industry as they can be built from components that are simple to use and easy to source. Another key benefit is the flexibility it gives the system designer in mitigating any faults that are specific to the system.