XCP
Grundlagen zum Mess- und Kalibrierprotokoll

Das Mess- und Kalibrierprotokoll XCP

XCP (Universal Measurement and Calibration Protocol) ist eine Schnittstelle für den Lese- und Schreibzugriff auf den Speicher eines Steuergeräts. Der Zugriff auf Parameter und Messgrößen erfolgt adressorientiert. Die Eigenschaften und Speicheradressen dieser Daten sind im A2L-Dateiformat beschrieben. Die A2L-Datei enthält alle Informationen, um Speicherzugriffe zu ermöglichen und die übertragenen Daten zu interpretieren.
XCP ist als Master-Slave-Lösung konzipiert. Das Steuergerät enthält einen Protokoll-Treiber, der auf Speicherzugriffsanforderungen des Masters reagiert. Verschiedene Mess- und Kalibrieraufgaben können von verschiedenen Konfigurationen des XCP-Masters ohne Neukompilierung des Steuergeräte-Applikationscodes durchgeführt werden.   
Das Verfahren funktioniert universell und ist nicht auf Embedded Steuergeräte beschränkt. Mit Hilfe von XCP können aus jeder Software-Anwendung, wie zum Beispiel eine Simulationsanwendung auf einem PC, Messdaten erfasst und Parameter verstellt werden. 

Vorteile

  • Durch ASAM standardisiertes Protokoll, das in vielen Tools zum Einsatz kommt
  • Unterstützung unterschiedlicher Transportschichten wie CAN, CAN FD, FlexRay, Ethernet,  etc.
  • Optimiert für einen minimalen Verbrauch an Ressourcen (Speicher und Laufzeit im Steuergerät, Buslast) 
  • Messung erfolgt synchron zu den Events. Zeitstempel im Steuergerät werden miterfasst
  • Plug-and-Play Kommunikation zwischen Master und Slave durch Abfrage der verfügbaren XCP Funktionen im Slave
  • Synchrone Datenstimulation in das Steuergerät hinein 
  • Bypassing 
  • Unterstützung der Start-Up-Messung (Resume Mode)

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

     

Protokollschicht und Transportschichten

Graphic protocol and transport layers of XCP
Aufteilung von XCP in eine Protokoll- und viele Transportschichten

Der Datentransport erfolgt über verschiedene Transportschichten. Folgende Transportschichten sind im Automobilbereich besonders relevant:

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

Single-Master/Multi-Slave-Konzept

Grafik XCP-Kommunikationsmodell
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

Grafik XCP Slaves
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.

Software Debugging mit XCP

Im Steuergerät kann die Debugging Schnittstelle (z.B. JTAG, DAP, ...) sowohl zum Debuggen der Software als auch für Messen und Verstellen über XCP dienen. Beide Anwendungsfälle sind über alle Stufen der Steuergeräte-Entwicklung wichtig. Bislang wurden die Dienste völlig unabhängig voneinander genutzt. Das Umschalten zwischen Debugging und XCP gestaltete sich als umständlich, da mit unterschiedlichen physikalischen Adaptern gearbeitet werden musste.  

Durch die Aufnahme des Anwendungsfalls Debugging in den XCP Standard stehen neue Möglichkeiten zur Verfügung, die Debugging Schnittstelle für alle genannten Anwendungsfälle zu nutzen, ohne Hardware umstecken zu müssen, oder auch in fest verbauten Steuergeräten im Fahrzeug.  

Der Anschluss der Debugger-Software erfolgt per XCP on Ethernet an einen XCP Slave der VX1000 Hardware.  

Die VX1000 Hardware bietet mehrere XCP Slaves, die eine gleichzeitige Nutzung von Debuggen, Messen und Kalibrieren ermöglichen. Dabei wird die Steuergeräte Debugging Schnittstelle maximal genutzt und in allen Anwendungsfällen optimale Performance erzielt. Die Anbindung der PODs an das Steuergerät erfolgt entweder über serielle Interfaces wie JTAG und DAP oder über parallele Daten-Trace-Schnittstellen wie z.B. Aurora und RTP/DMM.   

Die Debugger Software und das MC Tool werden über XCP on Ethernet mit dem VX1000 Basismodul verbunden.   

Mehr Informationen

 

 

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 das Erfassen von Messdaten und 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 FD, FlexRay, etc.)
Um die Funktionalität von CANape im Fahrzeug komfortabel als Logger zu nutzen, haben wir CANape und einen Industrie Computer aufeinander abgestimmt.  CANape log
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.
Die GL-Logger Familie ist als Flottenlogger-Lösung weltweit im Einsatz. Mit Hilfe der Option XCP können Sie nicht nur Busdaten, sondern auch Steuergerätedaten erfassen.  GL Logger

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, Aurora 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 zur Verfügung stellt.

Embedded Software

Kommunikationsmodule mit getrennten Transportschichten für CAN, FlexRay und Ethernet
XCP Basic – kostenlos zum Download, enthält die XCP-Basisfunktionen. Die Konfiguration des XCP-Protokolls und die Anpassung der Transportschicht erfolgt manuell im Source Code.
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

Grafik Schulungen bei Vector

Ziel des Seminars ist es, Ihnen die 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 der XCP Transport Layer
  • Beispielsequenzen

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.