5.1.19. CCP configuration (pcp_CCPConfiguration)

This block configures the way OpenECU handles any CAN Calibration Protocol (CCP) messages it receives.

5.1.19.1. Supported targets

All targets

5.1.19.2. Required license

None (Main library). (See Section 2.3, “Licensed Features”.)

5.1.19.3. Description

The CAN Calibration Protocol (CCP) is a CAN based messaging system designed to allow tools to access information in real-time. For more details, refer to ASAM Standards: ASAM MCD: MCD 1a at the ASAM Web site (http://www.asam.de).

This block configures OpenECU's CCP settings. The user can choose the transmit and receive CAN message identifiers, the CCP station address and the CAN bus communications will take place over. The block also configures whether CCP communications can take place when the ECU is in application mode running the model.

If the block is absent from the model, CCP communications is disabled when the model is running. CCP communications are still possible when OpenECU is being reprogrammed.

5.1.19.4. Inports

None.

5.1.19.5. Outports

None.

5.1.19.6. Mask parameters

  • Receive message identifier

    A unique CAN message identifier for CCP CRO messages.

    Range: [0, 2047] or [0, 536870911] when Use CRO extended ID? (29 bit) is selected.

    Value type:Integer
    Calibratable:No
  • Transmit message identifier

    A unique CAN message identifier for CCP DTO messages.

    Range: [0, 2047] or [0, 536870911] when Use DTO extended ID? (29 bit) is selected.

    Value type:Integer
    Calibratable:No
  • Station address

    The station address for CCP sessions. OpenECU will only communicate using CCP if a session is opened using this station address. This feature is often used for connecting multiple CCP devices to the same CAN bus using the same CRO and DTO identifiers.

    Range: [0, 255]

    Value type:Integer
    Calibratable:No
  • CAN bus identifier

    Which can bus CCP communications will occur on.

    Value type:List
    Calibratable:No
  • Enable CCP during model execution?

    If checked, then CCP communications is enabled while the model is running. If unchecked, CCP communications is disabled while the model is running. In either case, CCP communications is enabled when reprogramming OpenECU.

    Warning

    By not checking this option, reprogramming mode can only be entered with FEPS applied. The ECU will not be able to be re-flashed without FEPS.

    Value type:Boolean
    Calibratable:No
  • Use CRO extended ID? (29 bit)

    If checked, then 29 bit CAN identifiers for CCP receive messages will be supported the range being [0, 536870911]. If unchecked, then CCP will support 11 bit CAN identifiers the range being [0, 2047].

    Value type:Boolean
    Calibratable:No
  • Use DTO extended ID? (29 bit)

    If checked, then 29 bit CAN identifiers for CCP transmit messages will be supported the range being [0, 536870911]. If unchecked, then CCP will support 11 bit CAN identifiers the range being [0, 2047].

    Value type:Boolean
    Calibratable:No

5.1.19.7. Notes

  • CCP communications can only be configured for one CAN bus. OpenECU does not support CCP on more than one CAN bus.

  • It is possible to connect OpenECU to a CAN bus with other nodes that also communicate using CCP (including other OpenECU devices):

    Here, both devices use different CRO and DTO message identifiers. This is enough to uniquely identify each device. Note that although each device has a station address of zero, because all CRO and DTO identifiers are unique, the station addresses could be any value.

    Here, both devices use the same CRO and DTO message identifiers so the station address is used to distinguish between CCP devices.

    Section 2.3.3, “Configuring two OpenECUs on the same CAN bus with ATI Vision” details how to connect ATI Vision and two ECUs for the first time. The procedure is similar for other tools.

  • If no configuration block exists in the model, CCP communications are disabled when the model is running. When reprogramming, the following default settings are used:

    Table 5.3. CCP defaults

    CCP settingDefault value
    CRO message identifier1785
    DTO message identifier1784
    Station address0
    CAN bus identifierCAN 0 or CAN A
    CAN bus baud-rate 250kBps or 500kBps [a]

    [a] The default baud-rate for CCP will depend on which version of firmware was flashed into the ECU. Standard ECUs (such as M220-000 or M250-000) typically use 500 kBps default baud rate, but note that the M461-000 uses 250 kBps. Refer to Section 5.3, “OpenECU software versioning” for details.


  • If a configuration block exists in the model but CCP communications are disabled then when reprogramming, the CCP settings from the configuration block are used.

  • If the hardware does not support the CAN bus selected, CCP communications will cease while the model is running and while reprogramming. In this case, the OpenECU device must be returned to Pi for reconditioning.

  • The platform software supports version 2.1 of the CCP standard (Table 6.1, “Supported CCP commands” shows which commands are implemented).

    Warning

    OpenECU does not adhere to all the message timing characteristics listed by the CCP standard all the time (especially when the model being run pushes the CPU loading closer to 100%). Some calibration tools may raise an error or warning if it does not receive a rely to a command within a time

  • If the OpenECU module is not communicating to the calibration tool after a recently build model is flashed onto the ECU, then try following Appendix 7, CCP troubleshooting guide to recover the ECU.