topic_lin

Kithara Echtzeit FlexRay / CAN / LIN

Die Automotive-Technik hat in den letzten Jahren eine rasante Entwicklung erfahren. Der Anteil von Software an der Wertschöpfung – zum Beispiel für Fahrzeugsicherheit, Fahrkomfort und Fahrerassistenz – steigt ständig. Damit auch die Computertechnik sowie standardisierte Bussysteme für die Vernetzung der einzelnen Systeme. Drei dieser Bussysteme sind FlexRay, CAN und LIN.

Die modulare Kithara »RealTime Suite« stellt verschiedene Mechanismen bereit, um für derartige Aufgabenstellungen eine perfekte Lösung zu bieten. Hier einige grundlegende Eigenschaften:

  • FlexRay Kommunikation in Echtzeit ("FlexRay Module")
  • CAN Kommunikation in Echtzeit ("CAN Module")
  • LIN Kommunikation in Echtzeit ("LIN Module")

FlexRay

Der Automobil-Feldbus FlexRay wird in Fahrzeugen hauptsächlich für eher anspruchsvolle Funktionen verwendet. Durch eine hohe Übertragungsrate von 10 Mbit/s kann Flexray z.B. optimal für High-End-Funktionen wie sensorgestützte Fahrassistenz- oder Fahrwerksregelsysteme eingesetzt werden. Durch Zweikanal-Nutzung lässt sich entweder die Datenrate verdoppeln oder es wird der zweite Kommunikationskanal für die redundante Datenübertragung zur Verfügung gestellt, wodurch mit FlexRay auch sicherheitskritische Funktionen realisierbar sind.

Echtzeiteigenschaften für FlexRay eröffnen Automobil- und Prüfstandherstellern die Möglichkeit zum effizienten Testen der genannten Fahrzeug-Systeme. Durch garantierte geringe Reaktionszeiten lassen sich z.B. hochpräzise Messwerte ermitteln um so optimale Testergebnisse zu erreichen.

FlexRay Module

FlexRay Kommunikation in Echtzeit

  • Allgemein
  • Features
  • Hardware-Unterstützung

Als Teil der Kithara-Echtzeiterweiterung stellt das FlexRay Module ein essentielles Bindeglied zwischen Prüfsoftware und Prüfstand dar, mit dem sich zyklusgenaue Echtzeiteigenschaften für Hochpräzisions-Operationen umsetzen lassen.

Mit dem FlexRay Module kann ein Windows PC als vollwertiger FlexRay-Knoten verwendet werden. Dies beinhaltet die Verwendung als Leading- oder Following Start Node, als aktiver sowie passiver Kommunikationspunkt innerhalb des Netzwerks. Beide FlexRay-Kanäle können unabhängig voneinander konfiguriert und die Baudrate flexibel (2,5/5/10 MBit/s) angepasst werden.

  • RealTime FlexRay Kommunikation
  • unabhängig voneinander kombinierbare FlexRay Kanäle
  • Windows PC als vollwertiger FlexRay-Knoten
  • Verwendung als Leading- oder Following Start Node
  • Baudrate flexibel anpassbar (2,5/5/10 MBit/s)

Folgende FlexRay-Karten werden unterstützt:

  • Eberspächer FlexCard PMC II

    Diese Angaben beziehen sich stets auf die aktuelle Version unserer Software.

CAN (Controller Area Network)

CAN ist ein serielles Bussystem, welches ursprünglich speziell für die Steuerung im Automobil entworfen wurde, sich jedoch auch sehr gut für die Vernetzung intelligenter Geräte sowie Sensoren und Aktoren in einer Maschine oder Fabrik eignet. CAN ist ein serielles Multi-Master-Bussystem, was heißt, dass mehrere CAN-Knoten gleichzeitig Buszugriff anfordern können, der tatsächliche singuläre Zugriff eines Knotens wird also während des Zugriffsvorgangs entschieden. Das in der ISO 11898 behandelte Bussystem besitzt Echtzeitfähigkeit und benutzt dabei die untersten zwei Schichten des ISO/OSI-Schichtmodells.

Die Hauptkriterien für den Einsatz von CAN sind:

  • Geringe Kosten
  • Zuverlässige Funktion auch unter schweren Umgebungsbedingungen
  • Sehr gute Echtzeitfähigkeit und eine einfache Benutzbarkeit

CAN-Kommunikation in Echtzeit unter Windows

Bei der CAN-Kommunikation werden zumeist ein sicherer, zeitäquidistanter Datenaustausch sowie eine schnelle Reaktion auf externe Ereignisse gefordert. Hier versagen die mit den CAN-Karten normalerweise mitgelieferten Standard-Windows-Treiber, die nur aus dem Anwendungskontext heraus benutzbar und daher nicht echtzeitfähig sind. Das CAN Module schließt diese Lücke und ermöglicht CAN-Kommunikation auch in Echtzeit.

Das CAN Module aus der Collection »RealTime Suite« ergänzt die Windows-Erweiterung und ermöglicht so viele Automatisierungslösungen, bei denen eine echtzeitfähige CAN-Ankopplung gefordert wird. Die Funktionsbibliothek richtet sich vor allem an Anwender, die eine zeitkritische Bearbeitung von CAN-Messages benötigen, z.B. Maschinenbau-Unternehmen und Steuerungshersteller.

IXXAT PCIZwischenspeicher puffern die CAN-Messages beim Senden und Empfangen über ein einfach anwendbares und intuitives API. Anwenderspezifische Echtzeit-Message-Filter lassen sich ebenso installieren wie Fehlerbehandlungsroutinen für bestimmte Bus-Situationen. Auch ein Listen-Only-Mode ist möglich. Zur einfachen Diagnose wurde der Kithara »Kernel Tracer« erweitert, mit dem der gesamte CAN-Datenverkehr in Mikrosekunden-Auflösung mitgeschnitten wird. Als Programmiersprachen sind beispielsweise C/C++ oder Delphi verwendbar. Auch die .NET-Umgebung wird z.B. mit C# unterstützt, wobei hier für den Echtzeit-Betrieb eine in C++ programmierte DLL einzubetten ist.

Für größtmögliche Flexibilität bei der Auswahl der verwendbaren CAN-Karten stehen Echtzeit-Treiber für gängige CAN-Karten-Familien verschiedener Hersteller zur Verfügung, die eine Hardware-neutrale Programmierung erlauben.

CAN Module

CAN Kommunikation in Echtzeit

  • Allgemein
  • Features
  • Hardware-Unterstützung

Durch das CAN Module kann auf Basis des Feldbus CAN (CAN 2.0B Protokoll kompatibel) Echtzeit erreicht werden. Das API ist herstellerunabhängig und benötigt daher nur eine einmalige Einarbeitung, um jegliche CAN-Hardware zu programmieren.

Die unmittelbare Reaktion auf eintreffenden Nachrichten ermöglicht u.a., dass durch eine Callback-Funktion sofort auf Fehlersituationen reagiert werden kann. Selbst bei schnellen Baudraten und hohen Buslasten gehen keine Nachrichten verloren, da der Sende- und Empfangsbuffer ausreichend groß genug ist. Ebenso ist es möglich eigene Filterroutinen zu erstellen, die direkt zur Empfangszeit ausgeführt werden können.

Für Analyseaufgaben bei denen sich das CAN-Interface völlig passiv verhalten muss, wird ein "Listen-Only" Modus unterstützt. Desweiteren kann bei Hardware mit SJA1000 CAN-Controllern das "Error Code Capture"-Register ausgelesen werden, sodass weitere Informationen zur Fehleranalyse bereitgestellt werden.

  • CAN-Nachrichtenaustausch in Echtzeit
  • Verzögerungsfreies Senden & sofortige Reaktion beim Empfang
  • Senden und Empfangen auf der Kernel-Ebene möglich
  • Benutzerdefinierte Filterroutinen durch CallBack-Funktionen
  • Empfangen von Nachrichten per Callback im Interrupt-Kontext, auf Kernel-Ebene oder auf Anwendungs-Ebene ist genauso möglich wie das Pollen nach Nachrichten.
  • Sende- und Empfangsroutinen direkt aus dem Echtzeitkontext aufrufbar
  • Nutzung der Kernel-Ebene unterstützt C/C++ oder Delphi (Win32 native)

Das CAN Module unterstützt derzeit PCI-basierten Karten mit 1, 2 oder 4 Kanälen von Peak, IXXAT, Kvaser, EMS Dr. Wünsche und esd (siehe Hardware-Kompatibilitätsliste*). Gerne unterstützen wir auch die von Ihnen verwendete Karte.

Peak System

Peak System

 

IXXAT

IXXAT

 

EMS

EMS Dr. Thomas Wünsche

  • CPC-PCI, CPC-PCIe (Ein-,Zweikanal und Vierkanal) und CPC-104P

    mit einem SJA1000

 

Kvaser

Kvaser Advanced CAN Solutions

 

ESD

esd - electronic system design CAN-PCI

  • CAN-PCI /200/266 optoentkoppelt (Ein- und Zweikanal)
  • CAN-PCIe /200 optoentkoppelt (Ein- und Zweikanal)
  • CAN-PCI-104 /200 optoentkoppelt (Ein- und Zweikanal)
  • CPCI-CAN /200 optoentkoppelt (Ein- und Zweikanal)
  • PMC-CAN /266 optoentkoppelt (Ein- und Zweikanal)

 

*Diese Liste bezieht sich stets auf die aktuelle Version unserer Software.

LIN (Local Interconnect Network)

LIN zeichnet sich besonders durch seinen kostensparenden Einsatz bei der Elektronik in einzelnen Autokomponenten aus, wie etwa Türen, Verdeck, Klimasystem, Spiegel oder Scheibenwischer.

Das Netzwerkprotokoll LIN wird oft verwendet, um Kfz-Anwendungen günstig zu realisieren, da durch dessen Eindrahtleitung in der Kfz-Elektronik erhebliche Kosteneinsparungen erzielt werden.

Mit Echtzeit-LIN zum Auto der Zukunft

Das LIN Module der »RealTime Suite« erlaubt es Automobil- und Prüfstandherstellern, LIN-Netzwerke präzise zu entwickeln und zu diagnostizieren. Mit einem leistungsfähigen Echtzeit-LIN-Modul werden hohe Produktions- und Teststandards erfüllt, um LIN somit optimal in Fahrzeuge zu integrieren.

Da es in ein übergeordnetes Netzwerk eingebunden werden muss, ist der LIN-Master meist das Gateway zu einem CAN-System, welches bereits von Kithara unterstützt wird. Die Programmierung findet in C/C++, Delphi und C# statt.

Pressemeldungen zu Kithara Echtzeit-LIN finden Sie hier.

LIN Module

LIN Kommunikation in Echtzeit

  • Allgemein
  • Features
  • Hardware-Unterstützung

Mit dem LIN Module der Kithara »RealTime Suite« ist es möglich, Echtzeit mit LIN zu erreichen. Mit einem handelsüblichen PC mit einer UART-Schnittstelle gelingt die Erstellung eines Master- oder Slave-Knotens. Dadurch können existierende LIN Netzwerke einfach protokolliert werden. Anstelle der Nutzung eines Mikrokontrollers kann man eine bequeme Fehlerbehebung des LIN-Knotens machen. Sendende Knoten überprüfen ihre gesendeten Daten auf dem Bus, dadurch lassen sich Kollisionen entdecken.

  • LIN-Datenaustausch in Echtzeit
  • Einfache Implementierung eines Master- oder Slave-Knotens mit einen handelsüblichen PC
  • Ein kostengünstiger LIN-Transceiver wird benötigt (z.B. Freitag RS232-LIN)
  • Bus-Kollisionserkennung
  • Automatische Prüfsummenvalidierung (LIN Version 1.x and 2.x)
  • Datenraten bis zu 20 kbps
  • Garantierte Latenzzeiten
  • Empfang von LIN Nachrichten ist durch Callbacks oder Polling möglich
  • UART (zur Verwendung von üblichen RS232-Schnittstellen ist ein Pegelkonverter erforderlich, z.B. "Freitag RS232-LIN"
  • PEAK PCAN-USB Pro (in Entwicklung)
  • weitere auf Anfrage

    Diese Angaben beziehen sich stets auf die aktuelle Version unserer Software.