Interrupt Frequency

Test Name: Interrupt handling and execution.

Purpose of test: Verify that interrupts occur and are handled at the expected rate.

Requirement ID: SW_INTERRUPT_FREQUENCY_TEST_01

Acceptable Measure: Time-slot monitoring of the program sequence.

Description: Most applications rely on interrupts for their operation and it is therefore important to verify that these occur at the time they are expected and are handled accordingly. Acceptable measures for fault detection include functional testing and/or time-slot monitoring of the interrupts. Time-slot monitoring is recommended since this will help detect faulty operation once the appliance is in use. Any interrupt testing will also indirectly test the interrupt controller.

The chosen method is time-slot monitoring with the Real Time Counter (RTC, clock independent from the CPU clock). In short, any interrupt to be monitored has to increase a counter every time it is executed. The RTC generates an interrupt periodically where the interrupt counters are checked. If any counter is outside an interrupt-specific configurable range, the error handler is called.

The interrupt monitor checks the frequency of those interrupts that are both registered and activated. Registering an interrupt means to give the interrupt monitor the following information on the interrupt to check: identifier, expected frequency, and deviation tolerance. The interrupt monitor creates a data structure with this information. Activating an interrupt means to tell the monitor that it should start checking a registered interrupt to be monitored.

API Documentation: SW_INTERRUPT_FREQUENCY_TEST_01