Next Generation CAN

Prüfsysteme profitieren durch Error-Injektion

Der CAN-Bus wird nicht nur in der Automobilindustrie und der Industrieautomatisierung eingesetzt, sondern zunehmend auch in sicherheitsrelevanten Bereichen wie der Medizintechnik oder der Luft- und Raumfahrt. Mit den erhöhten Sicherheitsanforderungen dort steigt auch der Bedarf an Verifikation, Simulation und Test. Jedoch sind auf dem Markt verfügbare CAN-Controller nicht in der Lage, fehlerbehaftete CAN-Frames zu versenden oder allgemein gegen den CAN ISO 11898 Standard zu verstoßen, um so auch das Verhalten bei fehlerhaften Nachrichten zu überprüfen. Wird aber der esdACC IP-Core um eine Error-Injection-Einheit ergänzt, lassen sich bei den FPGA-basierten CAN Interface-Boards wie dem CAN USB/400-FD nicht nur CAN-Fehler generieren bzw. simulieren, sondern es kann auch interaktiv in die laufende CAN-Kommunikation eingegriffen werden. Dies ist mit nur geringen Mehrkosten gegenüber Standard CAN-Hardware möglich. Die Error-Injection-Einheiten verfügen über diverse Injektionsmodi, wie z.B. CAN-Arbitration, Time-Triggered oder Pattern-Matching, deren Kombination auch komplexe Szenarien ermöglichen. Mit dem esdACC Error-Injection-GUI-Tool bietet esd eine kostenlose grafische Bedienoberfläche für die Error-Injection-Einheiten.

API/Treiber und Betriebssysteme

Das PC-Board CAN-PCIe/402-FD arbeitet unter den Betriebssystemen Windows XP/Vista/7/8/10 sowie mit Linux. Die dazu benötigten CAN Layer 2 Treiber sind bereits im Lieferumfang des Boards enthalten. Für Realtime-Betriebssysteme wie VxWorks, QNX, RTX und RTX64 sind die CAN Layer 2 Treiber optional erhältlich. Die esdACC-basierten Boards lassen sich mit dem Programmier-Interface esd-NTCAN-API einfach programmieren. Es dient zur Integration von Steuerungen in CAN- und CAN FD-basierte Netzwerke von Echtzeit- und Nicht-Echtzeit-Anwendungen. Die NTCAN-Implementierung ist üblicherweise eine Bibliothek, die die API für die Anwendung unterstützt, kombiniert mit einem für das CAN-Board spezifischen Gerätetreiber. Damit ist die Anwendungsprogrammierung quasi unabhängig vom Betriebssystem und den Gerätetreibern, da die verschiedenen CAN-Treiber im Betriebssystem-Kernel wie ein Gerätetreiber für verschiedene Geräteklassen integriert wurden. Dadurch wird die Kompatibilität und Interoperabilität zwischen Anwendung und Hardware verbessert. Beim PC-Board CAN-PCIe/402-FD beispielsweise wird ein Kernel-Mode-Treiber verwendet, der mit dem CAN-Controller (esdACC) am internen Bus (PCI, PCIe,…) in direktem Kontakt steht. Er unterstützt beispielsweise betriebssystemspezifische Leistungsmerkmale wie ereignisgetriebene und/oder abfragende CAN FD-I/Os, die CAN FD-Nachrichteninteraktion, das Firmware-Update für CAN FD-Module mit lokalem Betriebssystem, hardwareunabhängiges CAN FD-Knotennummer-Mapping, blockierende und nicht blockierende CAN FD-I/Os, Listen-Only-Mode für nicht eingreifendes CAN FD-Bus-Monitoring sowie erweiterte Fehlerinformation über den CAN FD-Busstatus. Es lassen sich aber auch die Error Injection und das Timestamped TX mit diesem Interface programmieren.

Fazit

Die PC-Boards CAN-PCIe/402-FD gemäß ISO11898-1:2015 bieten Geschwindigkeiten bis zu 10Mbit/s und übertragen bis zu 64 Byte Nutzdaten. Durch das einfache Daten-Link-Layer-Protokoll, kostengünstige Controller- und Transceiver-Chips sowie einen niedrigen Energiebedarf ist der CAN FD-Bus nicht nur für die Automobilindustrie attraktiv. Maschinen und Anlagenteile, die schon CAN verwenden, lassen sich einfach auf CAN FD migrieren, da aufgrund des gleichen CAN-Frameaufbaus die vorhandene Verkabelung weiterverwendet werden kann. Mit Hilfe der Hardware-Timestamp-Technologie lässt sich nahezu Echtzeit-Verhalten in ‚Nicht-Echtzeit‘-Betriebssystemen erzielen. Mit Error-Injection-Einheiten können Anwendungen in sicherheitsrelevanten Bereichen über diverse Injektionsmodi, wie z.B. CAN-Arbitration, Time-Triggered oder Pattern-Matching, deren Kombination sowie auch komplexe Szenarien getestet werden. Die esdACC-basierten Produkte lassen sich mit dem Programmier-Interface esd NTCAN-API einfach programmieren. Es dient zur Integration von Steuerungen in CAN- und CAN FD-basierte Netzwerke von Echtzeit- und Nicht-Echtzeit-Anwendungen und das quasi betriebssystemunabhängig.


  • VDMA bestätigt Produktionsprognose für 2024

    In den ersten beiden Monaten des laufenden Jahres sank die Produktion von Maschinen und Anlagen in Deutschland zwar um 4,2%.


  • Engineering-Tool mit Funktionserweiterungen

    Modernisierte Icons, neue Klasse für Steckverbinder, vereinfachte Materialkombinationen: Die Version 2024.1 des AmpereSoft ToolSystems bietet zahlreiche Funktionserweiterungen, die für ein einfacheres, intuitiveres…