Echtzeit-Kommunikation

Kithara RealTime Suite ist eine modulare Echtzeiterweiterung für Windows-Betriebssysteme. Sie enthält verschiedene Module für die deterministische Datenkommunikation über Ethernet, USB und Serial.

Echtzeit-Ethernet über RJ45Echtzeit-Ethernet bis 10 Gbit/s über SFP+ und 40 Gbit/s über QSFP+Echtzeit-USB bis USB 3.1 über XHCI-Zugang Echtzeit über USB-C und ThunderboltSchnelle Kommunikation über UART- und COM-SchnittstellenSchnelle Kommunikation über UART- und COM-Schnittstellen

Echtzeit-Ethernet – RealTime Sockets

Ethernet-basierte Kommunikation beherrscht zunehmend auch industrielle Anwendungen. Die Standardfunktionen der Betriebssysteme können jedoch nicht mehr mithalten, echtzeitfähige Mechanismen sind erforderlich. Mit der Echtzeit-Ethernet-Umgebung können industrielle Kommunikationsaufgaben über alle Ethernet-basierten Protokolle in Echtzeit realisiert werden (einschließlich IP, also die weit verbreiteten Protokolle TCP und UDP).

Ethernet in Echtzeit

Das Network Module von Kithara RealTime Suite stellt die erforderlichen Mechanismen zur Verfügung, um über Ethernet-Controller in Echtzeit kommunizieren zu können, sowohl für Raw-Ethernet als auch für TCP und UDP. Die Echtzeit-Datenkommunikation erfolgt über Fast-Ethernet-Karten sowie Netzwerkkarten mit Gigabit-Ethernet-Controllern von Intel und Realtek, sodass auch schnelle Messwerterfassung oder industrielle Bildverarbeitung realisierbar sind.

Zur Erreichung der Echtzeitfähigkeit werden die Netzwerkcontroller direkt angesteuert. Dadurch steht die gesamte Bandbreite der Verbindung zur Verfügung und die sofortige Reaktion auf eintreffende Datenpakete erfolgt in Echtzeit. Anders als sonst oftmals in Betriebssystemen üblich werden bei dieser Implementierung in der Regel jegliche Kopieroperationen vermieden. Sowohl beim Senden als auch beim Empfang benutzen Sie den gleichen Speicher wie der Netzwerk-Controller. Sie erreichen dadurch höchstmögliche Übertragungsraten und kürzeste Reaktionszeiten.

Funktionen für CRC-Berechnung und Byteorder-Wandlung werden bereitgestellt. Die Socket-Applikation erstellt der Entwickler, wie von Kithara gewohnt, komfortabel im Rahmen der Anwendung, die in C, C++ oder Delphi programmiert werden kann. Als DLL kann die Echtzeit-Applikation auch in eine C#-.NET-Anwendung eingebettet werden.

Kithara RealTime Suite geht damit weit über die Möglichkeiten von Windows-Betriebssystemen hinaus, die aufgrund mangelnder Echtzeitfähigkeit zur Lösung industrieller Anforderungen oftmals nicht geeignet sind.

Ethernet QSFP+ mit bis zu 40 Gbit/s

Module

Echtzeit-Kommunikation besteht im modularen System von Kithara RealTime Suite aus folgenden Komponenten:

Network Module

Native Echtzeit-Treiber für schnelle Ethernet-Kommunikation

  • Allgemein
  • Features
  • Hardware-Unterstützung
  • Erweiterungen

Das Network Module stellt native Echtzeit-Ethernet-Treiber für die unterstützten Netzwerk-Controller bereit, sowohl für Kommunikation über Raw-Ethernet als auch UDP und TCP. Hierbei wird unter Umgehung sämtlicher behindernder Windows-Mechanismen mit hohen Übertragungsgeschwindigkeiten und unmittelbarer Reaktion für eine hohe Leistungsfähigkeit der Netzwerkkommunikation gesorgt. Unterstützt werden nahezu sämtliche Netzwerk-Controller von Intel und RealTek (siehe Hardware-Unterstützung).

Für maximal zwei Ethernet-Ports, darüber Network Port Extension erforderlich.

Bis zu 1 Gbit/s, darüber Network Data Rate Extension erforderlich.

  • Ethernet-Kommunikation bis 200 GBit/s in Echtzeit
  • Verzögerungsfreies Senden und sofortige Reaktion beim Empfang
  • Senden und Empfangen direkt aus dem Echtzeitkontext möglich
  • Beliebige Ethernet-Protokolle, inklusive IP, UDP und TCP
  • Raw-Ethernet
  • Ethernet-Kommunikation abfrage- oder ereignisgesteuert
  • Unterstützte Hardware: Intel und RealTek, bis zu 200 GBit/s (siehe Hardware-Kompatibilitätsliste)
  • Jumbo-Frames bis 16128 Byte, je nach NIC
  • IP- und MAC-Multicast, Broadcast, Promiscuous-Mode für Empfang aller Pakete
  • Empfang von Datenpaketen entweder durch Callback-Funktion direkt im Interrupt-Kontext oder im Polling-Betrieb
  • Priorisierung von zu sendenden Paketen in vier Stufen möglich
  • Automatische Adressermittlung durch ARP-Unterstützung
  • Funktionen für CRC-Berechnung und Byteorder-Wandlung enthalten
  • Erfordert RealTime Tasking Module

Optionale Erweiterungen:

  • BroadR-Reach: Echtzeitanbindung für die physische Ethernet-Übertragungschicht BroadR-Reach (100BASE-T1, 1000BASE-T1); Automotive Ethernet mit garantierten Reaktionszeiten
  • Network 10 Gbit/s: Echtzeit-Ethernet mit bis zu 10 Gbit/s
  • Network 200 Gbit/s: Echtzeit-Ethernet mit bis zu 200 Gbit/s
  • Network Port: Erweiterung um zusätzliche Ethernet-Ports
  • Network PTM: Erstellung virtueller Netzwerkadapter sowie -brücken zwischen Windows und Kithara-Echtzeit

Zur Erreichung von Echtzeitfähigkeit muss der Standard-Windows-Treiber der Netzwerkkarte durch einen speziell entwickelten Echtzeit-Treiber von Kithara RealTime Suite ersetzt werden. Unterstützt werden nahezu sämtliche derzeit verfügbaren Netzwerk-Controller von Intel und RealTek.

200 Gbit/s

Intel

  • E810

100 Gbit/s

Intel

  • E810

40 Gbit/s

Intel

  • XL710

25 Gbit/s

Intel

  • XXV710

10 Gbit/s

Intel

  • 82599
  • X540, X550
  • X710
  • X722

2,5 Gbit/s

Intel

  • i220, i221, i225, i226

1 Gbit/s

Intel

  • 82540, 82541, 82544, 82545, 82546, 82547
  • 82566, 82567
  • 82571, 82572, 82573, 82574
  • 82576
  • 82577, 82578, 82579
  • 82580, 82583, i350
  • i210, i211
  • i217, i219

RealTek

  • 8100E, 8101E, 8102E, 8110S
  • 8168B/8111B, 8168C/8111C, 8168CP/8111CP, 8168D/8111D+DL
  • 8168DP/8111DP, 8168E/8111E, 8168EVL/8111EVL
  • 8168F/8111F, 8168G/8111G, 8168H/8111H
  • 8168EP/8111EP
  • 8169, 8169S, 8169SB/8110SB, 8169SC/8110SC

Asix USB 3.0 Gigabit Ethernet controller

  • AX88179 (beispielsweise Digitus USB 3.0 Ethernet Adapter)

100 Mbit/s

Beckhoff

  • CX5000 CCAT(Beckhoff CX50xx, CX20xx, CX51xx Embedded PCs)

Intel

  • 8255x
  • 82562

RealTek

  • 8139B, 8139C, 8139D

Star Corporation

  • FL3X Interface-PMC (FL3X Tiny2 1*100BASE-T1; FL3X Tiny2 1*100BASE-TX)

Die Funktionalität der Software in Verbindung mit spezifischen Komponenten ist aufgrund verschiedener Hardware-Variationen nur unter Vorbehalt gewährleistet. Für Fragen bezüglich der Kompatibilität mit einzelnen Hardware-Konfigurationen kontaktieren Sie uns bitte.

Network Port Extension

Erweiterung um zusätzliche Ethernet-Ports

  • Extended Level: bis 8
  • Unlimited Level (benötigt Extended Level): unbegrenzt

Network PTM Extension

Die Network PTM Extension ermöglicht die Generierung virtueller Ethernet-Schnittstellen für die Kommunikation zwischen Echtzeit und Windows via Port Passthrough oder Port Mirroring. Passthrough erlaubt es Windows, direkt mit der Kithara-Echtzeitumgebung zu kommunizieren, während Mirroring den Echtzeit-Datenverkehr mitschneidet und diesen Windows für Analysezwecke zur Verfügung stellt.

  • Erstellung virtueller Ethernet-Schnittstellen
  • Port Passthrough für direkte Kommunikation zwischen Windows und Echtzeit
  • Port Mirroring für Mitschneiden des Echtzeitdatenverkehrs und Auslesen in Windows mit Wireshark
  • Unterstützt alle Ethernet-basierten Technologien: Socket-Kommunikation, EtherCAT, GigE Vision, PTP und BroadR-Reach

Network BroadR-Reach Extension

BroadR-Reach (100BASE-T1) ist eine physische Ethernet-Übertragungsschicht speziell für die Automobilvernetzung.

Network Data Rate Extension

Echtzeit-Ethernet mit hohen Datenraten

  • Extended Level: bis 10 Gbit/s
  • Maximum Level (benötigt Extended Level): bis 200 Gbit/s

USB RealTime Module

Echtzeit-Kommunikation mit USB-Geräten über direkten xHCI-Zugriff

  • Allgemein
  • Features
  • Hardware-Unterstützung

Das USB RealTime Module von Kithara RealTime Suite garantiert, dass alle USB-basierten Schnittstellen und Geräte, wie etwa Kameras, mit schnellen Reaktionszeiten und größtmöglichem Durchsatz verwendet werden können. Dies wird durch einen speziell programmierten und einfach anwendbaren Zugang zum Extensible Host Controller Interface (xHCI) realisiert, welcher von Kithara RealTime Suite bereitgestellt wird. Grundprinzip dabei ist, den xHCI-Controller direkt aus dem Echtzeitkontext exklusiv anzusteuern.

Für maximal zwei USB-Geräte, darüber USB Device Extension erforderlich. Durchgeschliffene Geräte zählen nicht mit.

  • Echtzeit-Kommunikation mit Geräten bis einschließlich USB 3.1 über xHCI-Zugang
  • xHCI-Controller wird exklusiv genutzt
  • Zugriff unmittelbar aus dem Echtzeit-Multitasking-Kontext
  • Niedrigste Reaktionszeit
  • Größtmöglicher Datendurchsatz erreichbar
  • Zuverlässige Vermeidung von Datenausfällen durch frei wählbare Puffergrößen
  • Low-, Full-, High- und Super-Speed
  • Control-, Bulk-, Interrupt- und Isochron-Transfer
  • Reaktion auf alle Plug-and-Play- und Power-Management-Ereignisse
  • Erfordert RealTime Tasking Module

Im Zusammenhang mit dem USB RealTime Module können grundsätzlich alle mit der xHCI-Spezifikation 1.1 kompatiblen USB 3.1 Hostcontroller eingesetzt werden.

xHCI-Controller folgender Hersteller sind derzeit mit Kithara RealTime Suite verwendbar: Intel, AMD, Renesas, Etron, NEC und VIA.

Die Funktionalität der Software in Verbindung mit spezifischen Komponenten ist aufgrund verschiedener Hardware-Variationen nur unter Vorbehalt gewährleistet. Für Fragen bezüglich der Kompatibilität mit einzelnen Hardware-Konfigurationen kontaktieren Sie uns bitte.

USB Driver Module

Kommunikation mit USB-Geräten über Windows-Treiberstack

  • Allgemein
  • Features

Das USB Driver Module von Kithara RealTime Suite erlaubt die Kommunikation mit USB-Geräten über einfach anwendbare Funktionen. Es basiert auf dem Windows-USB-Treiberstack und besitzt daher nur eingeschränkte Echtzeit-Eigenschaften. Für „harte“ Echtzeit empfehlen wir das USB RealTime Module. Unterstützt werden USB 1.0, USB 1.1, USB 2.0, USB 3.0, USB 3.1, USB 3.2 und USB4.

  • Entwicklung von USB-Gerätetreibern
  • Zugriff auf eigene oder fremde USB-Geräte von Anwendungs- oder Kernel-Ebene aus
  • Unterstützt USB 1.0, USB 1.1, USB 2.0, USB 3.0, USB 3.1, USB 3.2, USB4
  • Low-, Full-, High-Speed
  • Control-, Bulk-, Interrupt- und Isochron-Transfer
  • Reaktion auf alle Plug-and-Play- und Power-Management-Ereignisse

Serial/UART Module

Einfach anwendbare Funktionen für schnelle serielle Kommunikation

  • Allgemein
  • Features
  • Hardware-Unterstützung
  • Erweiterungen

Das Serial Module von Kithara RealTime Suite stellt einfach anwendbare Funktionen für die schnelle Kommunikation über die seriellen UART- sowie COM-Schnittstellen bereit. Die UART-Funktionen erfordern entsprechende, UART-16550-kompatible Hardware sowie einen vorliegenden Echtzeittreiber. Im Echtzeitbetrieb sind die UART-Funktionen auch aus Echtzeit-Tasks heraus und auf dedicated-CPUs nutzbar.

Bei der COM-Kommunikation werden sämtliche Schnittstellen unterstützt, für die ein Windows-Treiber installiert ist. Da die COM-Funktionen so über Windows-Mechanismen laufen, können keine Echtzeiteigenschaften erreicht werden.

Für maximal zwei Serial Ports, darüber Serial Port Extension erforderlich.

  • Serielle Kommunikation in Echtzeit auf der Kernel-Ebene durch speziellen Hardware-Treiber
  • Handshake- und Signal-Leitungen direkt ansteuerbar
  • Handler für alle Schnittstellen-Ereignisse können auch für Echtzeitkontext und Dedicated-CPUs angemeldet werden
  • Für UART-Funktionen: UART-16550-kompatible Hardware erforderlich
  • Für COM-Funktionen: serielle Kommunikation auf der Anwendungsebene erlaubt Programmierung über alle im System bekannten COM-Schnittstellen

Zur Erreichung von Echtzeitfähigkeit müssen speziell entwickelte Echtzeit-Treiber von Kithara RealTime Suite für die gewünschte serielle COM-Schnittstelle verwendet werden. Dazu werden derzeit folgende seriellen Schnittstellenkarten unterstützt. Diese Liste bezieht sich stets auf die aktuelle Version unserer Software:

  • Standard COM Schnittstelle (PNP0501)

PCIe

  • StarTech PEX2S952, 2 × RS232
  • Longshine LCS6321O, 2 × RS232
  • Delock 89220, 2 × RS232
  • Delock 89236, 1 × RS232
  • ADDI-DATA APCIe-7300, 1-fach seriell
  • ADDI-DATA APCIe-7420, 2-fach seriell
  • ADDI-DATA APCIe-7500, 4-fach seriell
  • ADDI-DATA APCIe-7800, 8-fach seriell

ExpressCard

  • I-Tec EXRS232, 1 × RS-232
  • StarTech EC1S1P55254, 1-fach seriell, 1-fach parallel (Netmos 9912 Chipsatz)

PCI

  • MOXA 4-port RS-232 C104H/PCI
  • MOXA 8-port RS-232 C168H/PCI
  • MOXA 2-port RS-422/485 CP132/PCI
  • MOXA 4-port RS-422/485
  • EXSYS 41052 serial card
  • EXSYS 43092 serial card
  • Oxford Serial Card Quad Port
  • SUNIX 2-port RS-232 parallel
  • SUNIX 2-port RS-232 PCI
  • Meilhaus ME9000 8-port RS-485
  • EXAR (XR17C152) 2-port UART PCI
  • ADDI-DATA APCI-7300-3, 1-fach seriell
  • ADDI-DATA APCI-7420-3, 2-fach seriell
  • ADDI-DATA APCI-7500-3, 4-fach seriell
  • ADDI-DATA APCI-7800-3, 8-fach seriell

CardBus

  • Socket PCMCIA Serial Card
  • Delock PCMCIA Serial Card

Die Funktionalität der Software in Verbindung mit spezifischen Komponenten ist aufgrund verschiedener Hardware-Variationen nur unter Vorbehalt gewährleistet. Für Fragen bezüglich der Kompatibilität mit einzelnen Hardware-Konfigurationen kontaktieren Sie uns bitte.

Serial Port Extension

Erweiterung um zusätzliche Serial Ports

  • Extended Level: bis 8
  • Unlimited Level (benötigt Extended Level): unbegrenzt

Device Module

Erzeugung virtueller Schnittstellen

  • Allgemein
  • Features

Das Device Module von Kithara RealTime Suite stellt dem Endanwender ein API zu Gerätetreibern über Betriebssystem-Funktionen bereit. Mit dem Device Module behandeln Sie Aufrufe dieser Funktionen auf der Kernel-Ebene und damit im Kontext des Gerätetreibers.

Außerdem erlaubt das Device Module die Erzeugung von virtuellen Schnittstellen – in einer Sonderform sogar von virtuellen COM-Schnittstellen.

  • Bereitstellung eines Windows-APIs für Gerätekommunikation (ReadFile, WriteFile, DeviceIoControl)
  • Beliebige Gerätenamen, zum Beispiel für virtuelle „COM-Ports“