7.7.61. PPR memory update (ppr_Memory)

Retain the In-use performance ratio data in non-volatile storage across power cycles.

7.7.61.1. Supported targets

All targets

7.7.61.2. Required license

EXT_DIAG (Extended diagnostics library). (See Section 2.3, “Licensed Features”.)

7.7.61.3. Description

The ppr_Memory block stores the In-use performance ratio data in non-volatile memory. Storage consists of DME and DTE data plus the ignition cycle counter and general denominator. On start-up, the block attempts to retrieve the data prior to running the model. While the model is running, the time at which the data is stored back to non-volatile memory is determined by the model itself.

Failure to retrieve the data on start-up causes the data to be reverted to the default start-up conditions.

The target non-volatile memory may be provided in two ways: either through storage that requires an external power source when the ECU is powered down (battery backed RAM storage), or not (Flash storage). In the case of IUPR data, only Flash storage is supported. See the technical specification for details on which storage type is supported by each target.

This block is used to write the In-use performance ratio data to non-volatile store. When the inport commit is set to 1, the block pauses execution of the model, stores the IUPR data in non-volatile memory, then continues execution of the model.

Note

This block suspends the scheduler for a period of time. When storing the information, the worst case Flash erase time given worst case environmental conditions, can be around 1.8 seconds.

Old IUPR data is reused so long as it has the expected total data size and was written by an application with the same user-specified version number. Otherwise the values revert to defaults.

To ensure the IUPR data is up to date before shutting down the ECU, the store_up_to_date outport provides an indication of whether the storage to Flash was successful or not. If not, shutdown of the module can be prevented (if conditions are appropriate), and the store updated (by setting the commit inport to 1).

7.7.61.4. Inports

  • commit

    Set to 1 to write the IUPR data to non-volatile memory. Note that the block responds to the rising edge of this inport in order to prevent multiple stores to NVM. Set to zero otherwise.

    Range: 0 or 1

    Value type:Boolean
    Calibratable:No

7.7.61.5. Outports

  • store_up_to_date

    Set to 1 if the storage of IUPR data to non-volatile memory was successful, set to zero otherwise.

    Range: 0 or 1

    Value type:Boolean
    Calibratable:No

7.7.61.6. Mask parameters

7.7.61.7. Notes

  • None.