XCP (protocol)

Last updated

XCP (or) "Universal Measurement and Calibration Protocol" is a network protocol originating from ASAM for connecting calibration systems to electronic control units, ECUs. It enables read and write access to variables and memory contents of microcontroller systems at runtime. Entire datasets can be acquired or stimulated synchronous to events triggered by timers or operating conditions. In addition, XCP also supports programming of flash memory.

ASAM states "The primary purpose of XCP is to adjust internal parameters and acquire the current values of internal variables of an ECU. The first letter X in XCP expresses the fact that the protocol is designed for a variety of bus systems." [1]

In 2003, the protocol was standardized as "ASAM MCD-1 XCP". XCP is a successor to CAN Calibration Protocol (CCP) that was developed back in the mid-1990s. At that time, CAN was the dominant networking system in the automobile industry. Over time, other bus systems such as LIN, MOST and FlexRay emerged and made it necessary to extend the protocol to other transport media. In addition, XCP supports synchronous and asynchronous serial interfaces. With Ethernet or USB as the transport medium, XCP can also serve as a standardized interface to analog measurement devices and to hardware interface converters to RAM emulators, JTAG or other microcontroller debug interfaces.

Due to its broad range of use, a primary goal in the development of XCP was to achieve as lean an implementation in the ECU as possible and high scalability of features and resource utilization. XCP can even be implemented on 8-bit microcontrollers for CAN or SCI with few resources, and it exploits the full potential of FlexRay or Ethernet on high-performance platforms.

As a two-layer protocol, XCP consistently separates the protocol and transport layers from one another and adheres to a Single-Master/Multi-Slave concept. XCP always uses the same protocol layer independent of the transport layer. The “X” in its name stands for the variable and interchangeable transport layer. Currently, the following transport layers are defined as standard by ASAM as of October 2016: [2]

In addition to supporting other transport layers, the successor to the CCP protocol contains many functional improvements such as: [2]

XCP allows a client to access memory on the ECU using a format defined in a separate A2L file. Because the A2L format file contains all the information to access the information, the ECU code does not have to be recompiled to access different measurements or calibrations. [1]

Related Research Articles

Internetwork Packet Exchange (IPX) is the network layer protocol in the IPX/SPX protocol suite. IPX is derived from Xerox Network Systems' IDP. It also has the ability to act as a transport layer protocol.

<span class="mw-page-title-main">SCSI</span> Set of computer and peripheral connection standards

Small Computer System Interface is a set of standards for physically connecting and transferring data between computers and peripheral devices, best known for its use with storage devices such as hard disk drives. SCSI was introduced in the 1980s and has seen widespread use on servers and high-end workstations, with new SCSI standards being published as recently as SAS-4 in 2017.

<span class="mw-page-title-main">Synchronous optical networking</span> Standardized protocol

Synchronous Optical Networking (SONET) and Synchronous Digital Hierarchy (SDH) are standardized protocols that transfer multiple digital bit streams synchronously over optical fiber using lasers or highly coherent light from light-emitting diodes (LEDs). At low transmission rates data can also be transferred via an electrical interface. The method was developed to replace the plesiochronous digital hierarchy (PDH) system for transporting large amounts of telephone calls and data traffic over the same fiber without the problems of synchronization.

<span class="mw-page-title-main">Universal asynchronous receiver-transmitter</span> Computer hardware device

A universal asynchronous receiver-transmitter is a peripheral device for asynchronous serial communication in which the data format and transmission speeds are configurable. It sends data bits one by one, from the least significant to the most significant, framed by start and stop bits so that precise timing is handled by the communication channel. The electric signaling levels are handled by a driver circuit external to the UART. Common signal levels are RS-232, RS-485, and raw TTL for short debugging links. Early teletypewriters used current loops.

In the seven-layer OSI model of computer networking, the physical layer or layer 1 is the first and lowest layer: the layer most closely associated with the physical connection between devices. The physical layer provides an electrical, mechanical, and procedural interface to the transmission medium. The shapes and properties of the electrical connectors, the frequencies to transmit on, the line code to use and similar low-level parameters, are specified by the physical layer.

<span class="mw-page-title-main">AVR microcontrollers</span> Family of microcontrollers

AVR is a family of microcontrollers developed since 1996 by Atmel, acquired by Microchip Technology in 2016. These are modified Harvard architecture 8-bit RISC single-chip microcontrollers. AVR was one of the first microcontroller families to use on-chip flash memory for program storage, as opposed to one-time programmable ROM, EPROM, or EEPROM used by other microcontrollers at the time.

<span class="mw-page-title-main">Network interface controller</span> Hardware component that connects a computer to a network

A network interface controller is a computer hardware component that connects a computer to a computer network.

<span class="mw-page-title-main">Embedded software</span> Computer software written to control machines not typically thought of as computers

Embedded software is computer software, written to control machines or devices that are not typically thought of as computers, commonly known as embedded systems. It is typically specialized for the particular hardware that it runs on and has time and memory constraints. This term is sometimes used interchangeably with firmware.

EtherCAT is an Ethernet-based fieldbus system developed by Beckhoff Automation. The protocol is standardized in IEC 61158 and is suitable for both hard and soft real-time computing requirements in automation technology.

Ethernet over USB is the use of a USB link as a part of an Ethernet network, resulting in an Ethernet connection over USB.

TI-RTOS is an embedded tools ecosystem created and offered by Texas Instruments (TI) for use across a range of their embedded system processors. It includes a real-time operating system (RTOS) component named TI-RTOS Kernel, networking connectivity stacks, power management, file systems, instrumentation, and inter-processor communications like DSP/BIOS Link. It is free and open-source software, released under a BSD license.

<span class="mw-page-title-main">ChibiOS/RT</span> Real-time operating system

ChibiOS/RT is a compact and fast real-time operating system supporting multiple architectures and released under a mix of the GNU General Public License version 3 (GPL3) and the Apache License 2.0. It is developed by Giovanni Di Sirio.

Association for Standardization of Automation and Measuring Systems or ASAM is an incorporated association under German law. Its members are primarily international car manufacturers, suppliers and engineering service providers from the automotive industry. The association coordinates the development of technical standards, which are developed by working groups composed of experts from its member companies. ASAM pursues the vision that the tools of a development process chain can be freely interconnected and allow a seamless exchange of data. The standards define protocols, data models, file formats and application programming interfaces (APIs) for the use in the development and testing of automotive electronic control units. A large amount of popular tools in the areas of simulation, measurement, calibration and test automation are compliant to ASAM standards. Compliance shall guarantee interoperability of tools from different vendors, allow data exchange without the need for converters, and facilitate the exchange of unambiguous specification between customers and suppliers.

<span class="mw-page-title-main">Vector Informatik</span>

Vector Informatik develops software tools and components for networking of electronic systems based on the serial bus systems CAN, LIN, FlexRay, MOST, Ethernet, AFDX, ARINC 429, and SAE J1708 as well as on CAN-based protocols such as SAE J1939, SAE J1587, ISO 11783, NMEA 2000, ARINC 825, CANaerospace, CANopen and more. The headquarters of the company Vector Informatik GmbH is in Stuttgart, Germany. Subsidiaries include Braunschweig, Munich, Hamburg, Regensburg along with international subsidiaries in Brazil, China, France, Italy, England, India, Japan, South Korea, Austria, Sweden, and the USA. Vector Informatik also includes Vector Consulting Services GmbH, a consultation firm specializing in optimization of technical product development. Altogether, these companies are referred to as the Vector Group.

<span class="mw-page-title-main">CANape</span> Software tool by Vector Informatik

CANape is a software tool from Vector Informatik. This development software, widely used by OEMs and ECU suppliers of automotive industries is used to calibrate algorithms in ECUs at runtime.

CANoe is a development and testing software tool from Vector Informatik GmbH. The software is primarily used by automotive manufacturers and electronic control unit (ECU) suppliers for development, analysis, simulation, testing, diagnostics and start-up of ECU networks and individual ECUs. Its widespread use and large number of supported vehicle bus systems makes it especially well suited for ECU development in conventional vehicles, as well as hybrid vehicles and electric vehicles. The simulation and testing facilities in CANoe are performed with CAPL, a programming language.

<span class="mw-page-title-main">INCA (software)</span> Application software published by ETAS

INCA is a measurement, calibration and diagnostic software published by ETAS. With its large installation base in the auto industry, this development software is deployed during all phases of the development of electronic control units (ECUs) and ECU software programs for measuring, calibration, diagnostics and programming.

MOST is a high-speed multimedia network technology for the automotive industry. It can be used for applications inside or outside the car. The serial MOST bus uses a daisy-chain topology or ring topology and synchronous serial communication to transport audio, video, voice and data signals via plastic optical fiber (POF) or electrical conductor physical layers.

<span class="mw-page-title-main">STM32</span> ARM Cortex-M based Microcontrollers by STMicroelectronics

STM32 is a family of 32-bit microcontroller integrated circuits by STMicroelectronics. The STM32 chips are grouped into related series that are based around the same 32-bit ARM processor core: Cortex-M0, Cortex-M0+, Cortex-M3, Cortex-M4, Cortex-M7, Cortex-M33. Internally, each microcontroller consists of ARM processor core(s), flash memory, static RAM, debugging interface, and various peripherals.

MIPI Alliance Debug Architecture provides a standardized infrastructure for debugging deeply embedded systems in the mobile and mobile-influenced space. The MIPI Alliance MIPI Debug Working Group has released a portfolio of specifications; their objective is to provide standard debug protocols and standard interfaces from a system on a chip (SoC) to the debug tool. The whitepaper Architecture Overview for Debug summarizes all the efforts. In recent years, the group focused on specifying protocols that improve the visibility of the internal operations of deeply embedded systems, standardizing debug solutions via the functional interfaces of form factor devices, and specifying the use of I3C as debugging bus.

References

  1. 1 2 "ASAM MCD-1 XCP" . ASAM. 30 November 2017. Retrieved 21 November 2019.
  2. 1 2 Patzer, Andreas; Zaiser, Rainer (December 2016). XCP – The Standard Protocol for ECU Development. Vector. Retrieved 21 November 2019.