If the data correctness check is enabled (see Table 12-434, DISPC Safety Check Regions Parameters):
- When a new signature is generated, it is compared against the reference signature provided by the software. A SAFETY_REF_SIGNATURE register must be configured with a reference signature data, see Table 12-434, DISPC Safety Check Regions Parameters.
- If signatures do not match, an interrupt event is generated to indicate data mismatch.
If the freeze frame detection is enabled (see Table 12-434, DISPC Safety Check Regions Parameters):
- When a new signature is generated, it is first compared against the saved signature (from previous frame).
- If signatures match, an internal counter used to keep track of the number of frames with no data change (for the region) is incremented.
- If signatures do not match, the counter is cleared.
- If the counter value is greater than the user programmed freeze frame detection threshold value (see Table 12-434, DISPC Safety Check Regions Parameters), an interrupt event (VIDSAFETYREGION_IRQ or VPSAFETYREGION_IRQ, see Section 12.9.1.4.1.5, DISPC Interrupt Requests) is generated to indicate a possible freeze frame detection. The threshold value must be configured with the maximum number of identical successive frames allowed before an interrupt is generated.
- After the comparison, the signature is saved as the previous signature.
- The counter is cleared when the interrupt event is generated or when freeze frame detection check is disabled.
This frame freeze is different from the display frozen due to pipeline lock up. In that case, the DISPC will generate an SYNCLOST_IRQ and/or DMA VIDBUFFERUNDERFLOW_IRQ interrupt. The freeze frame detection is for source data frozen while the DSS is working normally.
The two safety checks are continuously performed over multiple frames as long as their mode enable register bits are set.