Commercial-off-the-shelf The process of recording data from internal ECU memory and external sensors.Measurement & The process of ECU parameter tuning. Tests with ECU hardware and software in the loop are carried out. ECU internal variables and external sensor data is recorded and analyzed. The values of internal ECU parameters are determined as a result of this process.Calibration tools (Measurement and CalibrationMC-tools) for automotive ECU development emerged in the mid 90th and quickly replaced in-house developed tools, which were commonly used at that time. The companies ETAS, Vector Informatik and Accurate Technologies quickly gained a substantial market share of today more than 80% in this area. Very early on, standardization work groups came together to define standards for the The process of recording data from internal ECU memory and external sensors.Measurement & The process of ECU parameter tuning. Tests with ECU hardware and software in the loop are carried out. ECU internal variables and external sensor data is recorded and analyzed. The values of internal ECU parameters are determined as a result of this process.Calibration area. The standards, called Arbeitskreis zur Standardisierung von Applikationssystemen (Eng.: Working Group for the Standardization of Calibration Systems)ASAP-1, -2 and -3 at that time, specified virtually all interfaces that are external to the ECU. One area was not covered by standards, which is the interface for direct, fast access to the microcontroller's resources via its data- and address bus or the debug Synonymous expression for 'Interface'.Port. Such interfaces are commonly called 'plug-on device' (Plug-On DevicePOD), 'memory emulator module' or 'ETK' (German: Emulatortastkopf). They are highly dependent on hardware and have to meet critical performance requirements. This was probably the primary reason why this area was left out from standardization. Tool vendors created their own PODs, adapted and optimized them for specific hardware (i.e. microcontrollers and debug-interfaces) and delivered them together with the necessary drivers to their customers. Despite the Arbeitskreis zur Standardisierung von Applikationssystemen (Eng.: Working Group for the Standardization of Calibration Systems)ASAP standards that the marked-leading tools supported early on, this lack of a standardized Plug-On DevicePOD interface made users of commercial Measurement and CalibrationMC-tools effectively highly dependent on one tool vendor. They cannot easily switch the PODs from different vendors on one ECU, or connect different tools from multiple vendors to one Plug-On DevicePOD. This led to the status-quo in ECU development that all components of an Measurement and CalibrationMC-tool chain typically come from one vendor.
ASAM Measurement, Calibration and DiagnosticsMCD-1 Plug-On DevicePOD addresses the standardization of the Plug-On DevicePOD driver, called PSS in the A public specification, which has been developed by experts in a defined consensus-driven development process and was released by officials that represent a significant share of the industry for which it is targeted, giving the specification the necessary legitimacy to be called a 'Standard'.Standard: Plug-On DevicePOD Service Software. ASAM started the project in 2014. Experts from ten companies from Europe and the US participated in the project group, supported by two service providers. Japanese OEMs participated during the public review of the A public specification, which has been developed by experts in a defined consensus-driven development process and was released by officials that represent a significant share of the industry for which it is targeted, giving the specification the necessary legitimacy to be called a 'Standard'.Standard. Version 1.0 was released in mid 2017, covering Plug-On DevicePOD configuration, detection, initialization, synchronous The process of recording data from internal ECU memory and external sensors.Measurement and The process of ECU parameter tuning. Tests with ECU hardware and software in the loop are carried out. ECU internal variables and external sensor data is recorded and analyzed. The values of internal ECU parameters are determined as a result of this process.Calibration. Additional commands and events for the ASAM Measurement, Calibration and DiagnosticsMCD-1 Universal Measurement and Calibration Protocol (ASAM Standard)XCP protocol are specified to support the communication between the Plug-On DevicePOD and connected tools. The A public specification, which has been developed by experts in a defined consensus-driven development process and was released by officials that represent a significant share of the industry for which it is targeted, giving the specification the necessary legitimacy to be called a 'Standard'.Standard reduces the strong dependency from the Plug-On DevicePOD-vendor by making the integration of the PSS into the overall ECU software easier through a standardized Application Programming InterfaceAPI.
Motivation
When changing the Plug-On DevicePOD on an ECU, it is typically required to change the PSS in the ECU software as well. This furthermore requires a new ECU software build and corresponding integration tests. Consequently, swapping PODs and their attached tool chain is not plug-and-play. This practically inhibits the use of multiple The process of ECU parameter tuning. Tests with ECU hardware and software in the loop are carried out. ECU internal variables and external sensor data is recorded and analyzed. The values of internal ECU parameters are determined as a result of this process.Calibration tools within one ECU development project.
With a fully standardized PSS, the Plug-On DevicePOD and attached tools could be exchanged in a plug-and-play manner. The first version of ASAM Measurement, Calibration and DiagnosticsMCD-1 Plug-On DevicePOD achieves this partially. Major parts of the PSS Application Programming InterfaceAPI are standardized, while there are still vendor-specific parts left over in the PSS. This standardization makes the integration of the PSS from different vendors easier and integration testing is quicker. However, the goal of Plug-On DevicePOD plug-and-play capability is not yet fully achieved.
Application Areas
The primary application area of ASAM Measurement, Calibration and DiagnosticsMCD-1 Plug-On DevicePOD is in Measurement and CalibrationMC-systems. The A public specification, which has been developed by experts in a defined consensus-driven development process and was released by officials that represent a significant share of the industry for which it is targeted, giving the specification the necessary legitimacy to be called a 'Standard'.Standard specifies the ECU driver of a plug-on device (Plug-On DevicePOD) for the purpose to gain access to internal resources of the microcontroller and the ECU. This allows to carry out typical tasks in ECU software development such as The process of ECU parameter tuning. Tests with ECU hardware and software in the loop are carried out. ECU internal variables and external sensor data is recorded and analyzed. The values of internal ECU parameters are determined as a result of this process.Calibration of ECU parameters, logging and The process to input data into a test system during test execution.Stimulation of ECU-internal variables, and ECU flash programming. The Plug-On DevicePOD and driver might also be used by debugging tools.
The A public specification, which has been developed by experts in a defined consensus-driven development process and was released by officials that represent a significant share of the industry for which it is targeted, giving the specification the necessary legitimacy to be called a 'Standard'.Standard has been created to support the development and easy integration of software drivers for the integration of PODs in ECUs. The A public specification, which has been developed by experts in a defined consensus-driven development process and was released by officials that represent a significant share of the industry for which it is targeted, giving the specification the necessary legitimacy to be called a 'Standard'.Standard also defines a framework for Plug-On DevicePOD configuration via Universal Measurement and Calibration Protocol (ASAM Standard)XCP commands and ASAM MCD-2 MC LanguageA2L-files. Tool vendors in the area of Measurement and CalibrationMC-tools, debuggers, data loggers and rapid control prototyping systems (i.e. bypassing) may decide to implement PODs according to this A public specification, which has been developed by experts in a defined consensus-driven development process and was released by officials that represent a significant share of the industry for which it is targeted, giving the specification the necessary legitimacy to be called a 'Standard'.Standard. ECU software developers and integrators, particularly in the area of basic ECU software, as well as experts in development tools & methods at Original Equipment ManufacturerOEM- and Tier-1-companies, would profit most from using the A public specification, which has been developed by experts in a defined consensus-driven development process and was released by officials that represent a significant share of the industry for which it is targeted, giving the specification the necessary legitimacy to be called a 'Standard'.Standard. The most prominent benefit of having an ASAM-compliant Plug-On DevicePOD in the ECU is the easy software integration and quick exchange of external ECU tools within the same development and testing project.
Technical Content
System Architecture
Plug-on devices (Plug-On DevicePOD) are used in ECU development. A Plug-On DevicePOD is a hardware adapter, which is typically integrated directly on the ECU board and has an interface for direct access to the microcontroller's resources. This interface is typically a debug Synonymous expression for 'Interface'.Port with serial communication. The Plug-On DevicePOD connects the ECU with one or multiple external tools for the purpose to establish communication between the ECU application software (EAP) and the application software of the external tool(s). An external tool is typically a The process of recording data from internal ECU memory and external sensors.Measurement & The process of ECU parameter tuning. Tests with ECU hardware and software in the loop are carried out. ECU internal variables and external sensor data is recorded and analyzed. The values of internal ECU parameters are determined as a result of this process.Calibration system, a data logger, a rapid control prototyping system for bypassing or a debugger.
Overview of the system architecture
The overall system architecture is shown in the figure on the right in an example with two connected tools. The architecture consist of three major components:
ECU
POD
external tool(s)
The ECU interface is specified by other standards, such as BDM, Joint Test Action Group (IEEE Standard)JTAG, Nexus or DAB. This interface requires a driver in the ECU software, called Plug-On DevicePOD Service Software (PSS). The PSS is the primary subject of standardization of ASAM Measurement, Calibration and DiagnosticsMCD-1 Plug-On DevicePOD. The standardfully defines the Application Programming InterfaceAPI between the EAP and the PSS. Furthermore, some common functions of the PSS are defined, which are shared by all A public specification, which has been developed by experts in a defined consensus-driven development process and was released by officials that represent a significant share of the industry for which it is targeted, giving the specification the necessary legitimacy to be called a 'Standard'.Standard-compliant PODs (ASAM PSS). Other functions remain vendor specific. They use the standardized Application Programming InterfaceAPI, too. However, each Plug-On DevicePOD has their own, vendor-specific implementations of the functions, which must be individually integrated into the ECU software (Vendor PSS). This is necessary to allow for vendor-specific functionality and optimization.
Components of the architecture, which are within the scope of this A public specification, which has been developed by experts in a defined consensus-driven development process and was released by officials that represent a significant share of the industry for which it is targeted, giving the specification the necessary legitimacy to be called a 'Standard'.Standard, are surrounded with a red box in the above figure. They are described in the following table.
Component
Description
POD API
Application interface between the EAP and the PSS.
ASAM PSS
PSS functions shared by all PODs, e.g. detection of PODs.
XCP
XCP protocol, extended with POD-specific commands and events from this standard.
A2L
A2L-file, with POD-specific AML interface definition from this standard.
Components of the architecture, which are out of scope of this A public specification, which has been developed by experts in a defined consensus-driven development process and was released by officials that represent a significant share of the industry for which it is targeted, giving the specification the necessary legitimacy to be called a 'Standard'.Standard, are described in the following table.
None-A public specification, which has been developed by experts in a defined consensus-driven development process and was released by officials that represent a significant share of the industry for which it is targeted, giving the specification the necessary legitimacy to be called a 'Standard'.Standard Component
Description
EAP
ECU application software.
Vendor PSS
PSS functions, whose functionality is defined and implemented by the POD vendor. Uses the POD API.
ECU Interface
Interface between the ECU and POD. Typically a debug port such as BDM, JTAG, Nexus or DAB.
POD Adapter
Small embedded board with processor and its own memory.
Tools
External tools for ECU development, such as calibration systems, data loggers, rapid control prototyping systems or debuggers.
Multiple PSS components and other communication drivers
The architecture could include multiple PODs from different vendors. Furthermore, other means of communication between the ECU and external tools could be integrated into the overall architecture, for example Universal Measurement and Calibration Protocol (ASAM Standard)XCP. This is shown in the figure on the right.
The A public specification, which has been developed by experts in a defined consensus-driven development process and was released by officials that represent a significant share of the industry for which it is targeted, giving the specification the necessary legitimacy to be called a 'Standard'.Standard makes the assumption that only one Plug-On DevicePOD is connected to the ECU at any time. However, the ECU software could have multiple PSSs, which would allow to switch between multiple PODs without the need to create a new ECU software version. The EAP would have to handle this scenario. Plug-On DevicePOD- and PSS-switching is out of scope for this A public specification, which has been developed by experts in a defined consensus-driven development process and was released by officials that represent a significant share of the industry for which it is targeted, giving the specification the necessary legitimacy to be called a 'Standard'.Standard. Furthermore, the communication between the Plug-On DevicePOD and the PSS is proprietary to the tool vendor and the used ECU interface, hence it is out of scope, too.
Supported Technical Use-Cases and Features
The A public specification, which has been developed by experts in a defined consensus-driven development process and was released by officials that represent a significant share of the industry for which it is targeted, giving the specification the necessary legitimacy to be called a 'Standard'.Standard defines three technical use-cases that are required to start and configure the Plug-On DevicePOD. The use-cases are:
POD Configuration
POD Detection
PSS Initialization
The A public specification, which has been developed by experts in a defined consensus-driven development process and was released by officials that represent a significant share of the industry for which it is targeted, giving the specification the necessary legitimacy to be called a 'Standard'.Standard defines two features, which support specific processes that are part of an ECU development process. Those features are:
Synchronous Measurement
Calibration
The next chapters describe the technical use-cases and features. They include tables of standardized Application Programming InterfaceAPI functions for the communication between PSS and EAP to support the use-cases and features. If not otherwise stated in the description, then the function is mandatory. Functions are common for all PODs, if their function name starts with the prefix "A_PSS_". Such a function must be integrated only once in the ECU software and can be used by all A public specification, which has been developed by experts in a defined consensus-driven development process and was released by officials that represent a significant share of the industry for which it is targeted, giving the specification the necessary legitimacy to be called a 'Standard'.Standard-compliant PODs from all vendors. If the function name starts with the prefix " <VENDOR>_PSS_", then this is a Plug-On DevicePOD-specific function and can only be provided by the vendor of that Plug-On DevicePOD. Such a function must be integrated for each Plug-On DevicePOD individually in the ECU software and can only be used for this Plug-On DevicePOD exclusively.
POD Configuration
Plug-On DevicePOD configuration is the process to select and activate a specific setup for the system to support a specific work scenario.
Example for a configuration
External tools need to have concurrent but conflict-free access to the internal resources of the ECU, so that users can carry out their work unaffected by tools that interfere with each other. Furthermore, a Plug-On DevicePOD shall be usable with multiple variants of one ECU. The Plug-On DevicePOD configuration shall ensure this through the definition of 'Configurations'. They are identified via 'Variants' and 'Scenarios'. This overall setup is defined at compile-time, typically by a Plug-On DevicePOD-integrator or tool-administrator in collaboration with tool users. The figure on the right shows an example of two ECU variants with three scenarios and a total of four configurations.
The terms and their corresponding ASAM MCD-2 MC MetalanguageAML keywords for Plug-On DevicePOD configuration are defined in the next table.
Term
ASAM MCD-2 MC MetalanguageAML Keyword
Description
Variant
VARIANT_ID
A variant describes all resource of an ECU that are available to the POD. Examples for ECU resources are memory, emulation RAM, mailboxes, busses and others. The variant is stored in the EAP through the Variant ID.
Scenario
OPERATIONAL_SCENARIO
A scenario is a set of features which can be carried out concurrently and which use resources that do not overlap. Available features are:
PGM: ECU flash programming
CAL: Calibration
MEAS: Measurement
BYPASS: Bypassing, stimulation
TEST: Testing
OTHER: others, such as debugging
Available scenarios are stored in the EAP through Scenario IDs.
Configuration
POD_CONFIGURATION
A configuration is defined for a specific variant and scenario. A configuration is identified by the Configuration ID and contains parameters for the initialization of the resources for the chosen scenario on the given ECU variant.
POD
POD_IDENTIFICATION
A specific hardware version of a POD.
Vendor
(none)
The vendor/maker of the POD.
The ASAM MCD-2 MC LanguageA2L-file contains the Plug-On DevicePOD configuration. The A public specification, which has been developed by experts in a defined consensus-driven development process and was released by officials that represent a significant share of the industry for which it is targeted, giving the specification the necessary legitimacy to be called a 'Standard'.Standard defines a data structure in ASAM MCD-2 MC MetalanguageAML, called "Plug-On DevicePOD", which allows to define individual configurations for each One of multiple, interchangeable sets of data or functions in an ECU.Variant and scenario. This data structure can also optionally contain an identification for the Plug-On DevicePOD hardware. The actual content of the configuration is vendor-specific. The A public specification, which has been developed by experts in a defined consensus-driven development process and was released by officials that represent a significant share of the industry for which it is targeted, giving the specification the necessary legitimacy to be called a 'Standard'.Standard reserves a binary large object (Binary Large ObjectBLOB), which holds the configuration parameters. The Binary Large ObjectBLOB is either directly stored in the ASAM MCD-2 MC LanguageA2L-file or there is a reference to an external file that contains the Binary Large ObjectBLOB.
During the start-up phase, the tool reads the ASAM MCD-2 MC LanguageA2L-file with the Plug-On DevicePOD configurations. The user can select a One of multiple, interchangeable sets of data or functions in an ECU.Variant and scenario. The tool connects to the Plug-On DevicePOD and downloads the current Plug-On DevicePOD configuration. If the scenario selected by the user is different than the currently active scenario stored in the Plug-On DevicePOD, then the new configuration for that scenario will be download to the Plug-On DevicePOD and activated.
With a A public specification, which has been developed by experts in a defined consensus-driven development process and was released by officials that represent a significant share of the industry for which it is targeted, giving the specification the necessary legitimacy to be called a 'Standard'.Standard-compliant implementation, the configuration process can be performed between tools and PODs from different vendors. It is also possible to specify and use different Universal Measurement and Calibration Protocol (ASAM Standard)XCP transport layers for different scenarios, e.g. performing The process of recording data from internal ECU memory and external sensors.Measurement and The process of ECU parameter tuning. Tests with ECU hardware and software in the loop are carried out. ECU internal variables and external sensor data is recorded and analyzed. The values of internal ECU parameters are determined as a result of this process.Calibration via Transmission Control Protocol (IETF Standard)TCP/Internet Protocol (IETF Standard)IP and bypassing via User Datagram Protocol (IETF Standard)UDP.
The completion of this process is a prerequisite to start the Plug-On DevicePOD initialization process.
The configuration process does not involve the EAP. Consequently, there are no Application Programming InterfaceAPI methods defined for this Is a specific form of use-case, where the actor is a system or system component. It typically describes a technical process that is needed to support a user use-case. Example: XCP protocol commands for DAQ start.Technical Use-Case.
The following table lists Universal Measurement and Calibration Protocol (ASAM Standard)XCP commands for the communication between the external tool and the Plug-On DevicePOD. Those commands are specific to PODs and have their own command space within the Universal Measurement and Calibration Protocol (ASAM Standard)XCP protocol. They are all mandatory commands, i.e. they must be implemented when compliance to this A public specification, which has been developed by experts in a defined consensus-driven development process and was released by officials that represent a significant share of the industry for which it is targeted, giving the specification the necessary legitimacy to be called a 'Standard'.Standard is claimed.
Command
Description
POD_GET_INFO
Retrieve basic information from the POD, such as POD ID, POD description, System ID or diagnostic information.
POD_GET_STATUS
Obtain the POD status, i.e. POD detected by the EAP and initialization status of features.
POD_MANAGE_TRANSFER
Prepares the down- or upload of a BLOB representing the POD configuration.
POD_UPLOAD
Uploads the configuration BLOB or diagnostics information from the POD.
POD_DOWNLOAD
Downloads the configuration BLOB to the POD.
POD_SET_ACTIVE_CONFIGURATION
Activates an already downloaded configuration in the POD.
The communication between the Plug-On DevicePOD and PSS is vendor-specific, as both components always come from the same vendor. This communication has not been standardized in ASAM Measurement, Calibration and DiagnosticsMCD-1 Plug-On DevicePOD.
POD Detection
Plug-On DevicePOD detection is the process of the ECU to detect a connected Plug-On DevicePOD and to determine access to the ECU resources. This process runs independently from Plug-On DevicePOD configuration.
Prior of running the detection process, the Plug-On DevicePOD is supposed to check if the chosen configuration is available on this ECU, i.e. whether scenario ID and One of multiple, interchangeable sets of data or functions in an ECU.Variant ID match. If there is no match, then detection is stopped and an error message is sent to the tool.
The detection process can be triggered at any time by the EAP. Typical detection schemes are to start the detection only once shortly after ECU startup, which requires to connect the Plug-On DevicePOD prior of starting up the ECU, or to call the detection periodically, allowing the exchange of PODs during runtime of the ECU.
During startup, the Plug-On DevicePOD writes the Plug-On DevicePOD Configuration ID into a mailbox (ECU Random Access MemoryRAM or processor register). Once the EAP starts the Plug-On DevicePOD detection, it polls the mailbox regularly. Once the mailbox has been written by the Plug-On DevicePOD, then the EAP has detected that a Plug-On DevicePOD is connected and knows its current configuration. The mailbox optionally holds additional data for cold-start on which the EAP shall respond quickly. The next table contains the mailbox data and its meaning.
Mailbox Data
Description
FUNC_FIRST_CYCLE_DAQ
Do first cycle measurement.
FUNC_PGM
Do ECU programming.
FUNC_POD_WAKEUP
The tool has woken up the POD.
FUNC_FIRST_CYCLE_STIM
Do first cycle bypassing.
FUNC_DBG
Do debugging.
START_ON_WP
POD will start from the working page.
MASTER_CONNECTED
POD is connected to at least one XCP master.
The completion of Plug-On DevicePOD detection is a prerequisite to start the Plug-On DevicePOD initialization process. Application Programming InterfaceAPI methods for Plug-On DevicePOD detection:
Function Name
Description
A_PSS_Prepare_Detect
Prepares the detect sequence of the POD, called from the EAP during initialization. This function is optional.
A_PSS_Detect
Checks whether a POD is connected to the ECU.
POD Initialization
Plug-On DevicePOD initialization is the process of initializing the PSS and activating the features as selected by the user. The process can be started at any time and can initialize the PSS even without a connected and detected Plug-On DevicePOD. Furthermore, Plug-On DevicePOD initialization can run only once per power cycle, i.e. it is not allowed to change the assignment and initialization of resources during run time of the ECU. There is one exception: The process of ECU parameter tuning. Tests with ECU hardware and software in the loop are carried out. ECU internal variables and external sensor data is recorded and analyzed. The values of internal ECU parameters are determined as a result of this process.Calibration can be deactivated by the EAP at any time after initialization. Reactivation is not allowed in this case.
The features as per the next table can be activated.
Feature
Description
CAL
Calibration
DBG
Debugging
DAQ
Synchronous measurement
STIM
Bypassing, stimulation
PGM
ECU flash programming
The information about which features has been selected is extracted from the Plug-On DevicePOD configuration received during Plug-On DevicePOD detection. The EAP first sends an initialization command to the PSS for the identified vendor, which initializes the required resources. The initialization is done with vendor-specific data. After successful initialization, Plug-On DevicePOD and PSS are set to active and can respond to more requests than just detection and initialization. The EAP then sends for each feature an activation request and checks if the Plug-On DevicePOD has actually activated the feature. The EAP also triggers the Plug-On DevicePOD to send a message to the tool about the success of each feature activation. Activated features can now be used by the user.
Application Programming InterfaceAPI methods for Plug-On DevicePOD initialization:
Function Name
Description
<VENDOR>_PSS_Init
Starts the initialization of the PSS and the POD, and sets both to active mode.
<VENDOR>_PSS_Activate_Features
Starts the activation of one or more features.
<VENDOR>_PSS_Deactivate_Features
Triggers the deactivation of a set of features.
<VENDOR>_PSS_Check_Feature_Status
Checks if the activation of a specific feature has been completed by the PSS.
Synchronous Measurement
Synchronous The process of recording data from internal ECU memory and external sensors.Measurement means event-triggered, periodic sampling of ECU-internal data and transmission to the external tool. This mode is also called Data AcquisitionDAQ (data acquisition) in other standards such as ASAM Measurement, Calibration and DiagnosticsMCD-1 Universal Measurement and Calibration Protocol (ASAM Standard)XCP.
The process of recording data from internal ECU memory and external sensors.Measurement configurations, - also called 'Data AcquisitionDAQ configurations' -, are defined in the ASAM MCD-2 MC LanguageA2L-file in accordance with ASAM Measurement, Calibration and DiagnosticsMCD-2 Measurement and CalibrationMC. This ASAM MCD-2 MC LanguageA2L-file must exist with each ECU software version that is flashed into the ECU. The ASAM MCD-2 MC LanguageA2L-file contains the following definitions for synchronous The process of recording data from internal ECU memory and external sensors.Measurement:
Event: The event determines the point of time when the internal data is collected in the ECU and transferred to the external tool. For the feature 'synchronous measurement', an event means that a specific execution point in the EAP software has been reached. When this occurs, then the PSS is called to collect and transfer the measurement data. This execution point is periodically reached, e.g. it could be time-synchronous or angle-synchronous. Each event is defined in the A2L-file with the keyword "EVENT" and identified by an event channel number (keyword: EVENT_CHANNEL_NUMBER).
ECU-internal data to be measured: This data is defined with the A2L-keyword "MEASUREMENT". Part of the description is the event channel number at which it is collected and transferred to the external tool. The collection of all data to be measured at a specific event is called "DAQ configuration" or "DAQ channel list".
A user has three functions available for synchronous The process of recording data from internal ECU memory and external sensors.Measurement:
Configure measurement
Start acquisition
Stop acquisition
Before a user can start a The process of recording data from internal ECU memory and external sensors.Measurement, he has to select a Data AcquisitionDAQ configuration as defined in the ASAM MCD-2 MC LanguageA2L-file. The tool sends the configuration via the Plug-On DevicePOD to the PSS. The PSS initializes the ECU for synchronous The process of recording data from internal ECU memory and external sensors.Measurement.
Next step is that the user starts the data acquisition. The tool sends a start request via the Plug-On DevicePOD to the PSS. The EAP calls the PSS each time, when the specified event occurs. At that moment, the PSS collects the data from ECU memory, determines the time stamp and sends the data via the Plug-On DevicePOD to the external tool. This process repeats for every event until the user stops the data acquisition.
Application Programming InterfaceAPI methods for synchronous The process of recording data from internal ECU memory and external sensors.Measurement:
Function Name
Description
<VENDOR>_PSS_DAQ_Trigger
Informs the PSS that a certain event has occurred.
Calibration
The process of ECU parameter tuning. Tests with ECU hardware and software in the loop are carried out. ECU internal variables and external sensor data is recorded and analyzed. The values of internal ECU parameters are determined as a result of this process.Calibration is the process of online tuning of internal ECU parameters. The process of ECU parameter tuning. Tests with ECU hardware and software in the loop are carried out. ECU internal variables and external sensor data is recorded and analyzed. The values of internal ECU parameters are determined as a result of this process.Calibration parameters have an impact on EAP behavior. Their determination is a major process step in the development of ECUs. During The process of ECU parameter tuning. Tests with ECU hardware and software in the loop are carried out. ECU internal variables and external sensor data is recorded and analyzed. The values of internal ECU parameters are determined as a result of this process.Calibration, the user changes parameters while the ECU is running to obtain optimal control performance. The process of ECU parameter tuning. Tests with ECU hardware and software in the loop are carried out. ECU internal variables and external sensor data is recorded and analyzed. The values of internal ECU parameters are determined as a result of this process.Calibration parameters are read-only for the EAP.
The properties of The process of ECU parameter tuning. Tests with ECU hardware and software in the loop are carried out. ECU internal variables and external sensor data is recorded and analyzed. The values of internal ECU parameters are determined as a result of this process.Calibration parameters are defined in the ASAM MCD-2 MC LanguageA2L-file in accordance with ASAM Measurement, Calibration and DiagnosticsMCD-2 Measurement and CalibrationMC. The A public specification, which has been developed by experts in a defined consensus-driven development process and was released by officials that represent a significant share of the industry for which it is targeted, giving the specification the necessary legitimacy to be called a 'Standard'.Standard uses the keywords 'CHARACTERISTIC',' AXIS_PTS' or 'Binary Large ObjectBLOB' for describing The process of ECU parameter tuning. Tests with ECU hardware and software in the loop are carried out. ECU internal variables and external sensor data is recorded and analyzed. The values of internal ECU parameters are determined as a result of this process.Calibration parameters. The ASAM MCD-2 MC LanguageA2L-file also defines the memory layout of the ECU and the memory pages that hold the The process of ECU parameter tuning. Tests with ECU hardware and software in the loop are carried out. ECU internal variables and external sensor data is recorded and analyzed. The values of internal ECU parameters are determined as a result of this process.Calibration parameters. This is done with the ASAM MCD-2 MC LanguageA2L-keyword 'MEMORY_SEGMENT'. A development ECU typically has an active The process of ECU parameter tuning. Tests with ECU hardware and software in the loop are carried out. ECU internal variables and external sensor data is recorded and analyzed. The values of internal ECU parameters are determined as a result of this process.Calibration page and one or multiple working pages. The EAP only uses the The process of ECU parameter tuning. Tests with ECU hardware and software in the loop are carried out. ECU internal variables and external sensor data is recorded and analyzed. The values of internal ECU parameters are determined as a result of this process.Calibration parameters from the active page. The active page can not directly be modified by the tool during runtime to avoid data corruption. The tool has read-write access to the working page(s) only. Once the user has completed his parameter changes on the working pages, then one working page can be switched to become the active page. This effectively allows the process of online The process of ECU parameter tuning. Tests with ECU hardware and software in the loop are carried out. ECU internal variables and external sensor data is recorded and analyzed. The values of internal ECU parameters are determined as a result of this process.Calibration.
From a technical point-of-view, The process of ECU parameter tuning. Tests with ECU hardware and software in the loop are carried out. ECU internal variables and external sensor data is recorded and analyzed. The values of internal ECU parameters are determined as a result of this process.Calibration consists of three processes, which run in parallel:
Data synchronization: The tool downloads the data from ECU calibration memory via the POD and mirrors this data in its own memory. The tool keeps the data in synchronization throughout the calibration process.
Calibration data tuning: The user modifies calibration parameters in the working page(s).
Page switching: The user can initiate a page switch. This shall turn the user-selected working page in ECU memory to the active page. The page switch command is sent from the tool via the POD to the PSS. If only the PSS can switch the active page, then the PSS waits for the next page switch synchronization command from the EAP, which signals to the PSS that the switch can now safely be performed. If only the EAP can switch the active page, then the EAP regularly polls the PSS for a page switch command from the user and carries out the page switch once the PSS signals this to the EAP. In each case, the EAP is the master for page switching and can temporarily or permanently inhibit page switches.
The A public specification, which has been developed by experts in a defined consensus-driven development process and was released by officials that represent a significant share of the industry for which it is targeted, giving the specification the necessary legitimacy to be called a 'Standard'.Standard also defines an 'Emergency Mode', in which the EAP can deactivate page switching and set the default The process of ECU parameter tuning. Tests with ECU hardware and software in the loop are carried out. ECU internal variables and external sensor data is recorded and analyzed. The values of internal ECU parameters are determined as a result of this process.Calibration page. After triggering this mode, the The process of ECU parameter tuning. Tests with ECU hardware and software in the loop are carried out. ECU internal variables and external sensor data is recorded and analyzed. The values of internal ECU parameters are determined as a result of this process.Calibration feature is not available any longer until ECU power-off.
Application Programming InterfaceAPI methods for synchronous The process of recording data from internal ECU memory and external sensors.Measurement:
Function Name
Description
<VENDOR>_PSS_CAL_Sync_Page_State
This function shall be called by the EAP directly before activation of the calibration feature to inform the PSS of the currently active calibration page state in the ECU.
<VENDOR>_PSS_CAL_Page_Switch
Informs the PSS that a page switch can now occur.
<VENDOR>_PSS_CAL_Get_Page_Switch_Status
Returns the status of the page switch execution to be done by the PSS.
<VENDOR>_PSS_CAL_Get_Page_Switch_Request
EAP polls the PSS for a page switch request.
<VENDOR>_PSS_CAL_Set_Page_Switch_Status
EAP informs the PSS about the page switch status.
<VENDOR>_PSS_CAL_Set_Page_Switch_Mode
Sets the overall calibration mode to temporarily or permanently inhibit page switching.
Common API Functions
The A public specification, which has been developed by experts in a defined consensus-driven development process and was released by officials that represent a significant share of the industry for which it is targeted, giving the specification the necessary legitimacy to be called a 'Standard'.Standard defines further Application Programming InterfaceAPI functions, which cannot be assigned to a specific Is a specific form of use-case, where the actor is a system or system component. It typically describes a technical process that is needed to support a user use-case. Example: XCP protocol commands for DAQ start.Technical Use-Case or feature. They ease the job of the ECU software integrator in such a way that the functions can be called from multiple PSSs.
Function Name
Description
A_PSS_Mem_Copy
Called by the PSS in order to copy memory content to a specific location (e.g. to a mailbox).
A_PSS_Get_Current_CoreID
Called by the PSS in order to retrieve the current core ID of a multi-core processor.
Relation to Other Standards
ASAM Measurement, Calibration and DiagnosticsMCD-1 Plug-On DevicePOD is using ASAM Measurement, Calibration and DiagnosticsMCD-1 Universal Measurement and Calibration Protocol (ASAM Standard)XCP for communication between the Plug-On DevicePOD and connected tools. The A public specification, which has been developed by experts in a defined consensus-driven development process and was released by officials that represent a significant share of the industry for which it is targeted, giving the specification the necessary legitimacy to be called a 'Standard'.Standard is using its own command space in Universal Measurement and Calibration Protocol (ASAM Standard)XCP and defines six Plug-On DevicePOD-specific commands and one event.
ASAM Measurement, Calibration and DiagnosticsMCD-1 Plug-On DevicePOD defines the ASAM MCD-2 MC MetalanguageAML-section for ASAM MCD-2 MC LanguageA2L-files in accordance with ASAM Measurement, Calibration and DiagnosticsMCD-2 Measurement and CalibrationMC. This ASAM MCD-2 MC MetalanguageAML-section must be used when the Plug-On DevicePOD is connected to an ASAM-Measurement, Calibration and DiagnosticsMCD-2 Measurement and CalibrationMC-compliant tool.
Industry Adoption
Since its release in 2017, ASAM Measurement, Calibration and DiagnosticsMCD-1 Plug-On DevicePOD had a slow start. Commercial PODs exist since more than 20 years, so the A public specification, which has been developed by experts in a defined consensus-driven development process and was released by officials that represent a significant share of the industry for which it is targeted, giving the specification the necessary legitimacy to be called a 'Standard'.Standard is a late-comer. Automotive companies got used to the formula: one ECU project = one The process of ECU parameter tuning. Tests with ECU hardware and software in the loop are carried out. ECU internal variables and external sensor data is recorded and analyzed. The values of internal ECU parameters are determined as a result of this process.Calibration tool. They have yet to push their tool vendors to support the A public specification, which has been developed by experts in a defined consensus-driven development process and was released by officials that represent a significant share of the industry for which it is targeted, giving the specification the necessary legitimacy to be called a 'Standard'.Standard and use it for more flexible tool chains.
There is a good chance for the A public specification, which has been developed by experts in a defined consensus-driven development process and was released by officials that represent a significant share of the industry for which it is targeted, giving the specification the necessary legitimacy to be called a 'Standard'.Standard to be used in rather new technology domains of the automotive industry, such as Advanced Driver-Assistance SystemsADAS or alternative propulsion systems, as they require flexible tool chains and do not have legacy tools and long-established development processes. The A public specification, which has been developed by experts in a defined consensus-driven development process and was released by officials that represent a significant share of the industry for which it is targeted, giving the specification the necessary legitimacy to be called a 'Standard'.Standard can also be seen as a good chance for tool companies, who want to enter this market. They can use the A public specification, which has been developed by experts in a defined consensus-driven development process and was released by officials that represent a significant share of the industry for which it is targeted, giving the specification the necessary legitimacy to be called a 'Standard'.Standard as an initial A document, which describes in detail the interfaces and behavior of a technical system for the purpose of implementing, integrating and operating the system.Specification for their PSS, and simultaneously open up their products to be used together with competitor tools, which is lowering the bar for them to enter an already well occupied market.
List of Deliverables
The A public specification, which has been developed by experts in a defined consensus-driven development process and was released by officials that represent a significant share of the industry for which it is targeted, giving the specification the necessary legitimacy to be called a 'Standard'.Standard includes the following deliverables:
Base standard
AML-file
PSS reference implementation in C
Example A2L-file
Example project for an AURIX board with an Infineon TriCore processor