XCP
Grundlagen zum Mess- und Kalibrierprotokoll

Grundlagen zum Mess- und Kalibrierprotokoll XCP

Bei der optimalen Parametrierung von Steuergeräten profitieren Entwicklungsingenieure und Techniker von leistungsfähigen Standards und Tools. Diese müssen einen flexiblen Lese- und Schreibzugriff auf Variablen bzw. Speicherinhalte ermöglichen. Für diesen Zweck wurde in den 1990er Jahren das CAN Calibration Protokoll (CCP) als herstellerübergreifender Standard entwickelt. Zu dieser Zeit war CAN das allein dominierende Vernetzungssystem im Automobil.

Mit der Weiterentwicklung der Automobilelektronik etablierten sich bei der Steuergerätevernetzung zusätzliche Bussysteme wie LIN, MOST und FlexRay. Durch die Beschränkung auf den CAN-Bus kam CCP hier an seine Grenzen, was zur Entwicklung des XCP-Protokolls führte.

Standardisierung durch ASAM und Vorteile

Das „Universal Measurement and Calibration Protocol“ (XCP) stammt wie CCP von der „Association for Standardization of Automation and Measuring Systems“ (ASAM) und wurde im Jahr 2003 standardisiert. Vector Informatik war an diesem Release maßgeblich beteiligt.
Das „X“ steht für die variable und austauschbare Transportschicht. Um dem Anspruch als universelle Kommunikationslösung für eine Vielfalt von Anwendungen gerecht zu werden, legte der ASAM-Arbeitskreis besonderes Augenmerk auf folgende Kriterien:

  • Unterstützung unterschiedlicher Transportschichten wie CAN, FlexRay, Ethernet, SPI, SCI, USB, etc.
  • Bessere Ressourcennutzung im Steuergerät (dynamische DAQ-Listen)
  • Synchrone Datenstimulation (Bypassing)
  • Unterstützung der Start-Up-Messung (Resume Mode)
  • Optimierte Kommunikation durch Blocktransfer
  • Abfrage der im Steuergerät verfügbaren XCP-Funktionen (Plug & Play)
  • Genauere Messdatenerfassung durch das Messen der Zeitstempel im Steuergerät (Slave)

Als Zweischichtenprotokoll trennt XCP Protokoll- und Transportschicht konsequent voneinander und nutzt ein Single-Master/Multi-Slave-Konzept.

Protokollschicht und Transportschichten

Aufteilung von XCP in eine Protokoll- und viele Transportschichten

XCP ist in der Lage, auf Basis verschiedener Transportschichten dieselbe Protokollschicht zu nutzen. Damit handelt es sich um ein universelles Mess- und Kalibrierprotokoll, welches unabhängig vom verwendeten Netzwerktyp arbeitet. ASAM definiert als Standard folgende Transportschichten (Stand Oktober 2016):

  • XCP on CAN und CAN FD
  • XCP on SxI (SPI, SCI)
  • XCP on Ethernet (TCP/IP und UDP/IP)
  • XCP on USB
  • XCP on FlexRay

Single-Master/Multi-Slave-Konzept

XCP-Kommunikationsmodell mit CTO/DTO

Das Mess- und Kalibriersystem übernimmt die Rolle des XCP-Masters, während das Steuergerät als Slave fungiert. Master und Slave kommunizieren jeweils über die eingebundenen XCP-Treiber. Für jeden Slave gibt es eine Steuergeräte-Beschreibungsdatei (im A2L-Format), in der unter anderem Zuordnungen zwischen symbolischen Variablennamen und zugehörigen Adressbereichen, physikalische Bedeutungen der Daten oder auch das verwendete Checksummen-Verfahren spezifiziert sind. Der XCP-Master kann aus diesen A2L-Beschreibungsdateien alle notwendigen Informationen herauslesen.

Im Detail unterscheidet man bei der Kommunikation via XCP zwischen „Command Transfer Object“ (CTO) und „Data Transfer Object“ (DTO). Der Master sendet über ein CTO beispielsweise ein Kommando über den Bus an das Steuergerät, das dieses nach der Ausführung des angeforderten Dienstes über denselben Weg quittiert. Als CTOs stehen CMD (Command), RES (Response), ERR (Error), EV (Event) und SERV (Service Request Processor) zur Verfügung. Die Data Transfer Objekte DAQ (Data Acquisition) und STIM (Stimulation) dienen dem ereignisgesteuerten Lesen von Messgrößen aus dem Speicher, bzw. dem Schreiben von Werten in den Speicher des XCP-Slaves.

Messen und Verstellen im Verlauf des Entwicklungsprozesses

Slaves können in vielfältigen Ablaufumgebungen genutzt werden

Beim Messen und Verstellen mit XCP spielt es keine Rolle in welcher Umgebung der Code oder das Modell (Simulink, Rapid-Prototyping-Hardware, HIL, SIL, etc.) abläuft. D.h. bei der Optimierung der Regelalgorithmen für das Steuergerät können mit ein und demselben Werkzeug, immer vergleichbare Arbeitsschritte durchgeführt werden. Somit sind Konfigurationen, Messdaten und Beschreibungsdateien über den gesamten Entwicklungsprozess nutz- und austauschbar.

Ein XCP-Master, wie CANape, ist in der Lage, gleichzeitig mit verschiedenen XCP-Slaves zu kommunizieren. Dazu gehören:

  • Steuergeräte bzw. -Prototypen
  • Mess- und Kalibrier-Hardware wie Debug-Interfaces oder Speicheremulatoren
  • Rapid-Prototyping-Hardware
  • HiL/SiL-Systeme

XCP-Buch

Grundlagen-Know-how

Im Fachbuch "XCP – Das Standardprotokoll für die Steuergeräte-Entwicklung" finden Sie noch mehr Grundlagenwissen und Infos zu den Einsatzgebieten von XCP. Fordern Sie die gedruckte Version mit 128 Seiten im Format 168 x 238 mm und kostenlos an. Oder laden Sie das Buch in drei digitalen Versionen als PDF, EPUB oder MOBI runter.

Video XCP-Grundlagen

Alles zu den Möglichkeiten des ASAM-MCD-1-XCP-Standards. Dauer des englischsprachigen Videos: 63 Minuten.

XCP-Lösungen

Mit einer kompletten XCP-Unterstützung bietet Vector Ihnen zu jedem Zeitpunkt des Entwicklungsprozesses die passende Lösung.

Der XCP-Standard wurde maßgeblich von Vector mitgeprägt. Das umfangreiche Know-how und viele Erfahrungen flossen in die umfassende XCP-Unterstützung ein:

Tools

Der primäre Einsatzbereich von CANape ist die optimale Parametrierung (Kalibrierung) von elektronischen Steuergeräten. Während der Laufzeit des Systems verstellen Sie Parameterwerte und erfassen gleichzeitig Messsignale. Die physikalische Anbindung zwischen CANape und Steuergerät erfolgt über XCP (für alle standardisierten Transportprotokolle wie XCP on Ethernet, CAN, FlexRay, etc.) oder CCP.
Komplette Werkzeugkette zur Generierung und Verwaltung der notwendigen A2L-Beschreibungsdateien (ASAP2 Tool-Set sowie CANape mit dem integrierten ASAP2 Studio).
Die Option .AMD/XCP erweitert CANoe um die Fähigkeit auf den Steuergerätespeicher zuzugreifen. Das Lesen oder Schreiben auf Speicherstellen im Steuergerät erfolgt über das von der ASAM standardisierte XCP- oder CCP-Protokoll. Konfiguriert wird komfortabel mit Dateien im A2L-Format.

Steuergeräte-Schnittstellen

Die Mess- und Kalibrierhardware VX1000 bietet die Möglichkeit, Steuergeräte mit einem XCP-on-Ethernet-Interface auszustatten. Dabei wird ein Plug on Device (POD) direkt am ­Steuergerät mit dem Controller verbunden z. B. über DAP, JTAG, Nexus etc. Der POD überträgt die Daten an ein Basismodul, das als XCP-Slave arbeitet und die Daten über XCP on Ethernet dem XCP-Master auf dem PC zur Verfügung stellt.

Embedded Software

Kommunikationsmodule mit getrennten Transportschichten für CAN, FlexRay und Ethernet
XCP Basic – kostenlos zum Download, enthält nur XCP-Basisfunktionen. Die Konfiguration des XCP-Protokolls und die Anpassung der Transportschicht erfolgt manuell im Source Code. Die Integration von XCP Basic in Ihr Projekt müssen Sie selber vornehmen.
XCP Professional – enthält nützliche Erweiterungen der ASAM-Spezifikation und erlaubt eine Werkzeug-basierte Konfiguration. Erhältlich für die Vector Basissoftware CANbedded.
MICROSAR XCP – enthält den Funktionsumfang von XCP Professional und basiert auf den AUTOSAR-Spezifikationen. Erhältlich für die Vector Basissoftware MICROSAR.

Dienstleistungen

Beratung zum Einsatz von XCP in Ihren Projekten Beratung XCP-Einsatz
Integration von XCP in Ihrem Steuergerät Integration XCP-Module

XCP-Schulung

XCP-Grundlagen-Seminar

Ziel des Seminars ist es, Ihnen die XCP zugrunde liegenden Mechanismen und Modelle zu erläutern.

Agenda:

  • Einführung in die Grundlagen des XCP-Protokolls
  • Modelle zum synchronen Datentransfer
  • Modelle zum Kalibrieren
  • Interface-Spezifikationen
  • Besonderheiten des XCP Transport Layer
  • Beispielsequenzen