Steuergeräte-Kalibrierung mit ASAP2Library und ASAP2Demo
ASAP2 ist ein Format für ECU-Mess- und Kalibrierdaten, erstellt ASAM (Association for Standardization of Automation and Measuring Systems). Dieser Standard ist im Automobilbereich weit verbreitet.
ASAP2-Dateien (.a2l) können von MATLAB (Real-Time Workshop) oder ähnlichen Werkzeugen erstellt werden.
Ursprünglich aus einem leichtgewichtigen A2L Parser entstanden, sind nach und nach weitere Automobilstandards (XCP, CCP, MDF und ODX) hinzugekommen.
Die ASAP2Demo Applikation basiert auf der ASAP2Library und ist kostenlos verfügbar.
ASAP2Library Highlights:
- Vollständige Implementierung des ASAM MCD-2MC v1.7.0 (ASAP2) Standards.
- Verfügbar als .NET Framework assembly und damit mit allen .NET framework-fähigen Sprachen zu nutzen (C#, VB, J#, F#,...).
- Ausschließlich in managed Code geschrieben und daher portabel. Kompilierbar unter Windows oder Mono (Linux/MacOS).
- Erzeugt ein objektorientiertes, hierarchisches .NET-Objektmodell, siehe auch die ASAP2Library API und den Beispiel code.
- Alle A2L-Objekte und Eigenschaften werden durch einen .NET-Typ repräsentiert.
- A2L Syntaxprüfung.
- A2L Modellprüfung (z. B. fehlende Objektverknüpfungen).
- 8 MBit/s-Parsing-Leistung (vielleicht der schnellste verfügbare ASAP2-Parser).
- Das Objektmodell erlaubt es, nahezu jede A2L-Objekteigenschaft zu ändern.
- Schreiben des .NET-Objektmodells (optimiert und/oder gefiltert) in eine A2L Datei.
- Das .NET Objektmodell kann in eine XML-Abbildung exportiert und aus dieser auch wieder erzeugt werden.
- Lesen und Schreiben von ECU Kalibrierdaten in/aus dem erstellten A2L Objektmodell. Dabei werden die Dateiformate Intel HEX, Motorola S, INCA DCM, CANape PAR, CDF und MATLAB (.m) unterstützt.
- Ein Modul zur Konvertierung von Byte-Streams aus Kalibrierdaten in physikalische Werte.
- Ein Modul zur Konvertierung von physikalischen Werten in Byte-Streams zur Speicherung der Kalibrierdaten.
- Unterstützt die folgenden CAN/CANFD-Hardwareanbieter:
- 8devices USB2CAN
- Advantech
- Eberspächer Electronics
- ESD, CAN FD Unterstützung
- IXXAT, CAN FD Unterstützung
- Kvaser, CAN FD Unterstützung und lokaler ECUSimulator
- Lawicel CANUSB
- National Instruments (NI-CAN) (nur 32 Bit, see 32Bit Process)
- National Instruments (XNET), CAN FD Unterstützung
- MHS Elektronik Tiny-CAN I, Tiny-CAN II XL, Tiny-CAN IV XL, Tiny-CAN M1, ...)
- Peak, CAN FD Unterstützung
- Softing
- Vector, CAN FD Unterstützung und lokaler ECUSimulator
- >Unterstützt die folgenden LIN Hardwareanbieter:
- Vollständige Implementierung des ASAM MCD-1 XCP V1.3.0 Standards, unterstützt Kommunikation über
- Vollständige Implementierung des ASAM MCD-1 CCP V2.1 Standards mit unterstützter CAN Hardware.
- Ein Steuergerät-Simulator (Simulation eines Steuergeräts in einer Konsolenanwendung mithilfe des A2L-Parsers und der XCP/CCP/Diagnose-Module)
- Ein Modul zum Lesen, Schreiben und Bearbeiten von DBC-Dateien (CANdb++).
- Ein Modul zum Lesen, Schreiben und Bearbeiten von LIN description (LDF) Dateien.
- Ein Modul zum Lesen, Schreiben und Bearbeiten von Dateien des Open Diagnostic eXchange-Formats (ODX, ASAM MCD-2D).
Implementiert das ISO 15765-2 ISO-TP (Transportschicht) Protokoll über CAN und CANFD.
Implementiert das ISO 14229 (Unified Diagnostic Service, UDS) Protokoll. - Implementiert ein Modul zum Lesen von Dateien im MDF-Format bis v4.1.1 und zum Schreiben von Dateien im MDF-Format (v3.3 und v4.10).
- Ein Modul zum Lesen von ELF Dateien (Executable und Linkable-Format) oder MAP Dateien, um A2L-Objektadressen zu synchronisieren.
- Das Modul nutzt zusätzlich in ELF Dateien enthaltene DWARF formatierte Debug Informationen.
- Ermöglicht das Aktualisieren einer A2L Datei mit den aus der ELF oder MAP Datei gewonnenen Addressinformationen, siehe auch das ELF Beispiel.
Modulare Architektur:
Schnittstellen:
- Problemloser Einsatz in jeder .NET Aapplikation über eine Assembly-Referenz
- Einsatz in MATLAB Applikationen
- Einsatz in LabView Applikationen
- Einsatz in nativen C/C++ Anwendungen durch Erstellen von COM-Wrappern