Course contentsShow
← Embedded Systems & Computer Architecture
Lesson 687 of 9369. Embedded Systems Reliability and SafetyFree lesson

Analyzing Fault Propagation Across System Boundaries

Evaluate how localized exceptions propagate through peripherals to develop robust containment strategies that prevent total system collapse.

In this lesson, you will learn how to identify and contain localized peripheral exceptions before they cascade into a total system failure.

The Anatomy of Propagation

In an embedded system, a fault rarely stays contained within the specific peripheral where it originated. A peripheral—such as an SPI bus controller or an analog-to-digital converter—is physically linked to the CPU via shared memory maps, interrupt controllers, and power rails. When a peripheral enters an illegal state (e.g., a "babbling" controller holding the bus high), it can propagate that error by flooding the processor with spurious interrupts or stalling the system bus, effectively blinding the core.

Containment Through Hardware-Software Boundaries

To prevent these local exceptions from collapsing the entire system, we must treat the peripheral as an untrusted agent. Even if we have implemented Memory Protection Unit (MPU) boundaries or Dual Core Lockstep execution, these mechanisms can be bypassed if the faulty peripheral triggers a cascading hardware exception that the CPU cannot clear.

Consider a scenario where a faulty sensor peripheral triggers an infinite stream of interrupts. If your interrupt service routine (ISR) does not account for this, the CPU will never return to the main loop, leading to a hang.

// Fault containment strategy: ISR Rate Limiting
void Peripheral_IRQHandler(void) {
    static uint32_t error_count = 0;
    
    if (Is_Peripheral_Stuck()) {
        error_count++;
        if (error_count > MAX_THRESHOLD) {
            // Force peripheral into a Safe State
            Disable_Peripheral_Interrupts();
            Set_Peripheral_To_Reset_State(); 
            Log_Error_And_Degrade();
        }
    }
}

Strategic Isolation

When analyzing propagation, you must map the physical and logical paths a fault can take. By applying Software Checkpointing before interacting with high-risk peripherals, you ensure that if the peripheral causes a crash, the system can perform a Safe Recovery Sequence using a known good state. Furthermore, by using an Independent Watchdog Timer, you ensure that even if a peripheral locks the bus, the hardware will force a reset, preventing the fault from propagating into the power management or safety-critical output drivers.

Key Takeaway: Fault propagation is an architectural hazard; robust containment requires treating peripheral exceptions as system-wide threats by combining ISR rate limiting, MPU isolation, and hardware-level watchdog supervision.