XCP Integrated Software Development with iSYSTEM and Vector Tools
Development, measurement, test and calibration of embedded software through any debug interfaces and for a variety of microcontroller
With their cooperation, iSYSTEM and Vector respond to the demand for consistent development tools and automated test tools required especially by the automotive industry. So far, the two partners have covered different stages of the development and test process. iSYSTEM focus on hardware-near software development and especially software testing at the development engineer’s workplace. Vector specialize in software tools and components for the development and networking of electronic systems based on CAN, LIN, FlexRay, Ethernet, MOST and a series of communication protocols.
Vector offers the development environment CANoe (CAN Open Environment) for developing, testing and analyzing bus communication in distributed systems. The two options AMD and XCP extend CANoe by adding the ability to access internal ECU values and to execute test and analysis tasks. In contrast to mere black box testing that only stimulates and measures external ECU signals, the ASAM standardized XCP protocol also facilitates the modification and analysis of internal ECU values. The main advantage is the monitoring of internal ECU parameters that cannot be measured over conventional bus communication. By modifying these parameters, it is moreover possible to introduce intentional fault conditions and directly test the resulting behavior of an ECU.
So far, memory access was realized over bus interfaces (CAN/ FlexRay/Ethernet) or additional VX1000 hardware by Vector. However, access had to be implemented in the ECU software. Regular communication limited the bandwidth of bus-based XCP communication substantially. For specific microcontrollers, the VX product family offers maximum data rates of up to 30 MB/s, very short sampling cycles of 15 µs and it can moreover be used in vehicles without any problems. The ECU code requires suitable conditioning as well.
With their joint development, iSYSTEM and Vector have extended the Vector Software tools with the access technology of the iSYSTEM debuggers through high-performance debug interfaces. This integration is especially helpful in the development phase where the debug interfaces can still be accessed externally.
For the time being, iSYSTEM debuggers support more than 3000 different microcontrollers that can be connected directly under CANoe.AMD, CANoe.XCP or CANape. This access path to the ECU does not require any additional software or XCP drivers. No additional resources are used, and the real-time behavior is not affected.
“I’m always excited to see how easy it is to create added value for our customers. After coexisting at the engineer’s workplace in the past, the tools by iSYSTEM and Vector are now interacting. This saves time and allows for many new use cases in the development and test of ECU software”, says iSYSTEM CEO Erol Simsek.
“The integration of the iSYSTEM hardware debugger via the industry standard XCP results in substantial added value for our common customers. Engineers can now easily analyze bus communication and internal ECU parameters together during the development phase,” says Mark Schwager, CANoe.AMD and CANoe.XCP Product Manager at Vector.
Both companies will continue their cooperation and further extend the integration of their tools over the next months to come, e.g. support of the Vector bus interface hardware VN1630 (CAN/LIN) in winIDEA. On this basis, development and test engineers will also be able to display and analyze bus data synchronously with program execution in the trace dialog on iSYSTEM winIDEA.
- http://www.asam.net, Association for Standardization of Automation and Measuring Systems
iSYSTEM Data Acquisition (DAQ) and XCP Implementation on Blue Boxes
The XCP protocol provides for two different memory access modes. The so-called polling mode facilitates access to any ECU memory address, fully asynchronous with the application logic. To this end, an XCP master like CANoe.XCP or CANape transmits the specific address to the XCP slave on the ECU and, in return, receives the data at this address. DAQ (Data AcQuisition) is the second access mode. Here, the XCP slave streams configured data packages with the current values to the XCP master, based on the timing defined by the XCP slave. This way, access can run synchronously with the application on the ECU. In contrast to polling, DAQ events can also transmit the internal timestamp of the XCP slave.
The iSYSTEM XCP protocol slave and especially DAQ are now directly implemented in the blue box and are independent of the PC used. Multiple memory areas can be read and written simultaneously, and different sampling rates can be configured, e.g. at every change of a memory area or at intervals of 1 ms, 10 ms, 100 ms and 1 s. So far, the polling mechanism was only implemented in the host software winIDEA by iSYSTEM. With the implementation in the FPGA of the debugger, it has now been virtually realized at real-time. Moreover, the debugger assigns an explicit timestamp to the DAQ event and passes it on to the XCP master for analysis. Thus, the XCP master can correlate the data with other measurement data.
CANoe and the CANoe.AMD and CANoe.XCP Options
CANoe is a versatile tool for the development, test and analysis of entire ECU networks and individual ECUs. It supports network designers, development and test engineers at OEMs and suppliers throughout the entire development process – from planning to the start-up of entire distributed systems or individual ECUs.
Current and future ECU generations incorporate an increasing amount of more and more complex functions. Functions developed by different suppliers are distributed across different ECUs. Consequently, existing test and debugging techniques are often no longer adequate. Faulty software components, for example, can only be identified by looking into the ECU; the same is true for testing ECU sub-functions. The CANoe options AMD and XCP allow engineers to look into the ECU.
The option XCP extends CANoe by adding the ability to access ECU memory. Access is implemented via the ASAM standardized XCP or CCP protocol and conveniently configured with files in A2L format.
With XCP/CCP, CANoe provides access to internal ECU parameters for test and analysis tasks. In contrast to mere black box testing that only stimulates and measures external ECU signals, XCP/CCP also allows for the modification and analysis of internal ECU values. By modifying these parameters, it is possible to introduce intentional fault conditions, and the resulting behavior of an ECU can thus be tested directly. It is also possible to test different ECU software variants, and switching between the variants is carried out via XCP. Moreover, missing sensor values can be simulated by writing values to the respective memory location via XCP/CCP.
During analysis, internal ECU parameters can be analyzed in parallel with bus signals using CANoe.XCP. Status information, such as the connector state or task changes, can be integrated in the analysis.
CANoe.AMD (AUTOSAR monitoring and debugging) facilitates the measurement and stimulation of AUTOSAR and non-AUTOSAR-ECUs. A suitable AL2 file is required for configuration. Due to their modular set-up, AUTOSAR ECUs are especially suited for the AMD option. For example, the user can use the SWC (Software Component) Editor to configure which ports are to be measured, and this information then makes it possible to generate an A2L file.
With the AMD option, CANoe can access the ECU memory for testing and debugging. The use of CANoe.AMD requires control unit access via XCP/CCP, the Vector VX measurement and calibration hardware or a debug interface.
- Debugging of networks and distributed systems, e.g. the network management sleep and wakeup behavior
- Debugging of BSW (basic software) and SWCs (software components)
- Analysis of distributed functions with parallel access to multiple ECUs
- Automated testing of functions with access to ECU memory
- Checking the integration of BSW and RTE (runtime environment) by reading out the respective parameters
Vector-iSYSTEM Solution: Advantages
- Besides the bus interface, parallel access via high-performance debug interfaces is available during development
- ECU access is possible without additional software (XCP driver). No additional resources are required, and the real-time behavior is not affected.
- The debugger timestamp is synchronous with bus traffic. This allows for an analysis of internal ECU values that is time-synchronous with bus communication.
CANape is a measurement, calibration and diagnostic tool for all tasks related to ECU optimization.Regardless of whether you want to measure and calibrate internal ECU parameters, analyze measurement data or flash, or whether you need access to diagnostic data and services: CANape is a convenient, powerful and proven solution for all ECU calibration tasks, at the workplace, test bench or on test drives.
CANape can also be used to symbolically access diagnostic data and services, thus integrating all functions relevant to measurement, adjustment, flashing and diagnosis.
- http://www.asam.net, Association for Standardization of Automation and Measuring Systems