Redundant Calibration Definition

Installs the redundant calibration feature into a model.

Block ID

Redundant Calibration Definition

Library

woodward_custom_redundantcal_lib

Description

Why use this feature

Calibration is stored in non-volatile memory. When a DEV memory layout is used this calibration memory can be altered after the module has been programmed. Altering non-volatile memory takes a finite amount of time. Also, altering a calibration value can result in the entire calibration being re-written when the non-volatile memory is a flash memory (because it must be erased before it can be written). The calibration could be corrupted if the module were to lose power or suffer a reset while the calibration is being re-written.

Two copies of the calibration are created when redundancy is installed. One copy of the calibration is marked as the active copy and the other is considered to be the inactive copy. Only the inactive copy is ever written so the calibration in use (the active copy) won't be corrupted if the write to the inactive copy were to fail or be interrupted by an unexpected loss of power. If the write is successful then the calibration that was just written becomes the active copy and the copy that was active is now marked as inactive. In a system that is operating without error the two copies represent the last two saves. Typically a save only occurs when there are calibration changes and therefore the copies can be similar, but they are not expected to be the same. They do not mirror one another.

Impact of Calibration Write Failure

The impact of a calibration write failure depends upon the non-volatile memory technology in use. Normally flash memory is used, which is only written when the module is shutting down. Any changes made to calibration are buffered in volatile memory until the flash is written during shutdown. The buffered calibration changes will be lost if the calibration flash write were to fail. This is the same as if an unexpected power loss were to occur while the module was running. The only difference is that the redundancy ensures that the calibration is not corrupted.

Impact when using the PROD memory layout

A build that uses a PROD memory layout is not able to save its calibration, but the feature can still be selected. This will allow a PROD build of a model to be used interchangeably with a DEV build of the model. A PROD build will always report the status as Freshly Programmed.

Block Parameters

Parameter Field Values Comments/Description
Name Alpha-numeric text, single quote enclosed Name that will be assigned to the redundant calibration. This is used by other blocks like the Status block to reference this definition.
Resource Drop down list The list of resources that are capable of supporting this behavior. The feature is not supported for the selected target if there are no resources available to select.
Full Reset on Calibration Corruption Checkbox Calibration redundancy installs two copies of the calibration. A calibration copy is not used by the executable unless it is considered valid. A CRC is used to validate. The state of the calibration is not known if neither calibration passes the CRC validation step. The redundancy strategy should make it impossible for a calibration to be corrupted when being written. However the flash memory may fail over time (retention failure) that could lead to the CRC failing. The module will reset if this checkbox is checked, but will allow execution to continue using the older calibration copy when not checked.
Use Internal Data Probes Check Box Check this box to have internal data probes populated within the device driver. These will be visible to scan tools. Don't check to save some memory and execution time. The data probes provide information that can be used to verify the operation of the strategy. One data probe that is added when this is checked provides a measure on the time taken to execute the verification step. This time is the additional time it takes to start the module when the redundant calibration feature is in use.
Read Access Level 1-4 Sets security level 1 lowest, 4 highest, for user access to data probes
Group String Alpha-numeric text, single-quote enclosed Determines Folder name and hierarchy. Use "|" character between folder names to delineate subgroup structure