Kithara Real-Time Communication
Kithara RealTime Suite is a modular real-time extension for Windows operating systems. It includes several modules for deterministic data communication via Ethernet, USB or Serial.
Real-time Ethernet—RealTime Sockets
Ethernet-based communication increasingly dominates industrial applications. However, the basic functions of the operating systems are not able to keep up with Ethernet-based communication when it comes to industrial standards. Thus, real-time mechanisms are required. By utilizing a real-time Ethernet environment, it is possible to solve industrial communication tasks via Ethernet-based protocols with hard real-time capabilities (including IP and the common TCP and UDP protocols).
The Network Module, as part of
Kithara RealTime Suite, includes the necessary mechanisms for real-time communication via raw Ethernet as well as TCP and UDP. The real-time communication takes place via fast Ethernet boards as well as network interfaces with gigabit controllers by Intel and RealTek, so that fast measurement value logging or
image processing is possible.
In order to achieve real-time capabilities, the network controllers are controlled directly. This way, the entire bandwidth of the connection is available and an immediate reaction to received data packets takes place in real-time. In contrast to common processes in operating systems during such implementations, copy operations are generally avoided. For data transfer as well as data reception the same memory as the network controller is used. This allows for the highest possible transfer rate at the shortest reaction time.
Functions for CRS calculation and Byteorder conversion are also provided. As usual, with the Kithara system the Socket application can be compiled by developers within the framework of the application in C, C++ or Delphi. Based on a DLL the real-time application can be embedded in a C#.NET application as well.
With this, the software goes far beyond the possibilities of what is achievable with a regular Windows OS. The Windows OS lacks real-time capabilities and therefore is not suitable for industrial solutions, as it does not meet the needs of the industry.
Modules
Real-time communication with the modular system of Kithara RealTime Suite consists of the following components:
Network Module
Native real-time driver for fast Ethernet communication
-
Common
-
Features
-
Supported Hardware
-
Extensions
The Network Module provides native real-time Ethernet drivers for the supported network controller, for communication via raw ethernet as well as UDP and TCP. By preempting all interferences of Windows mechanisms, high transmission rates and immediate reaction are possible. This leads to a high performance network communication. Almost all network controller of Intel and RealTek are supported.
Maximum of two Ethernet ports, above requires Network Port Extension.
Up to 1 Gbit/s, above Network Data Rate Extension required.
-
Ethernet communication up to 200 Gbit/s in real time
-
Instantaneous transmission and reaction at receiving
-
Transmission and receiving straight from the real-time context possible
-
Any Ethernet protocols possible including IP, UDP and TCP
-
Raw Ethernet
-
Event or request-based Ethernet communication
-
Supported hardware: Intel and RealTek, up to 200 Gbit/s
-
Jumbo-Frames up to 16128 bytes depends on NIC
-
IP and MAC multicast, broadcast, promiscuous mode for receiving of all packets
-
Receiving of data packets either trough Callback functions or directly at the interrupt context or polling process
-
Up to 4 priority levels possible for transmission of data packets
-
Automatic determination of memory addresses through ARP support
-
Functions for CRS calculation and byte order conversion
-
Requires
RealTime Tasking Module
Optional Extensions:
-
BroadR-Reach: Real-time connection to the physical Ethernet transfer layer BroadR-Reach (100BASE-T1, 1000BASE-T1); Automotive Ethernet with guaranteed reaction times
-
Network 10 Gbit/s: Real-time Ethernet with up to 10 Gbit/s
-
Network 200 Gbit/s: Real-time Ethernet with up to 200 Gbit/s
-
Network Port: Extension for using additional Ethernet ports
-
Network PTM: Create virtual network adapters as well as network bridges between Windows and Kithara RealTime
In order to achieve real-time capabilities, the standard Windows driver of the network card has to be replaced by the special developed real-time driver of Kithara RealTime Suite. Nearly all available network controllers by Intel and RealTek are supported.
200 Gbit/s
Intel
100 Gbit/s
Intel
40 Gbit/s
Intel
25 Gbit/s
Intel
10 Gbit/s
Intel
-
82599
-
X540, X550
-
X710
-
X722
2.5 Gbit/s
Intel
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 (e. g. Digitus USB 3.0 Ethernet Adapter)
100 Mbit/s
Beckhoff
-
CX5000 CCAT(Beckhoff CX50xx, CX20xx, CX51xx Embedded PCs)
Intel
RealTek
Star Corporation
-
FL3X Interface-PMC (FL3X Tiny2 1*100BASE-T1; FL3X Tiny2 1*100BASE-TX)
The correct functioning of the software in conjunction with specific components cannot be entirely guaranteed due to the large number of potential hardware variations. For questions regarding the compatibility with individual hardware configurations, please contact us.
Network Port Extension
Extension for using additional Ethernet ports
-
Extended Level: up to 8
-
Unlimited Level (requires Extended Level): unlimited
Network PTM Extension
The Network PTM Extension allows for the generation of virtual Ethernet interfaces for the communication between real time and Windows with port passthrough or port mirroring. Passthrough enables Windows to directly communicate with the Kithara real-time environment, whereas mirroring is used for logging real-time data traffic and providing it to Windows for analysis.
-
Creation of virtual Ethernet interfaces
-
Port passthrough for direct communication between Windows and hardware or real time
-
Port mirroring for logging of real-time data traffic and displaying in Windows with Wireshark
-
Supports all Ethernet-based technologies: socket communication, EtherCAT, GigE Vision, PTP and BroadR-Reach
Network BroadR-Reach Extension
BroadR-Reach (100BASE-T1) is a pyhsical Ethernet transport layer specially for automotive networking.
Network Data Rate Extension
Real-time Ethernet with high data rates
-
Extended Level: up to 10 Gbit/s
-
Maximum Level (requires Extended Level): up to 200 Gbit/s
USB RealTime Module
Real-time communication with USB devices via direct access to xHCI
-
Common
-
Features
-
Supported Hardware
The USB RealTime Module of Kithara RealTime Suite ensures that all USB-based interfaces and devices, such as cameras, can be used with fast reaction times at the highest possible data rates. For this purpose, Kithara RealTime Suite provides a specially developed and easy-to-apply gateway to the Extensible Host Controller Interface (xHCI). The basic operating principle is to directly access the xHCI controller exclusively within the real-time context.
Maximum number of two USB devices, above requires USB Device Extension. Passed-through devices do not count.
-
Real-time communication with devices up to USB 3.1 via xHCI access
-
xHCI controller is used exclusively
-
Direct access from the real-time multitasking context
-
Lowest possible reaction time
-
Highest possible data throughput
-
Reliable prevention of data loss thanks to freely customizable puffer sizes
-
Low-, full-, high-speed and super-speed
-
Control-, bulk-, interrupt- and isochronous transfer
-
Response to all plug and play events as well as power management events
-
Requires
RealTime Tasking Module
Regarding the USB RealTime module, generally all USB 3.1 host controllers that are compatible with the xHCI 1.1 specification can be used.
xHCI controllers of the following vendors are currently supported by Kithara RealTime Suite: Intel, AMD, Renesas, Etron, NEC and VIA.
The correct functioning of the software in conjunction with specific components cannot be entirely guaranteed due to the large number of potential hardware variations. For questions regarding the compatibility with individual hardware configurations, please contact us.
USB Driver Module
Communication with USB devices via Windows driver stack
The USB Driver Module of Kithara RealTime Suite enables communication with USB devices over easy-to-apply functions. It is based on the Windows USB driver stack with only limited real-time capabilities. For “hard” real-time, we recommend the USB RealTime Module. USB 1.0, USB 1.1, USB 2.0, USB 3.0, USB 3.1, USB 3.2 and USB4 are supported.
-
Development of USB device drivers
-
Access to internal or external USB devices from application or kernel level
-
Supports 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- and isochronous transfer
-
Response to all plug and play events and power management events
Serial/UART Module
Easy-to-apply functions for fast serial communication
-
Common
-
Features
-
Supported Hardware
-
Extensions
The Serial Module of Kithara RealTime Suite provides easy-to-apply functions for fast communication via the serial UART as well as COM interfaces. The UART functions require appropriate UART-16550-compatible hardware as well as a real-time driver to be present. In real-time mode, the UART functions can also be used from real-time tasks as well as on dedicated CPUs.
For COM communication, any interface for which a Windows driver is installed, is supported. Since COM functions run via Windows mechanisms in this case, real-time capabilities cannot be applied.
Maximum of two Serial ports, above requires Serial Port Extension.
-
Serial communication in real time at kernel level by using a special hardware driver
-
Handshake lines and signal lines directly controllable
-
Handler for all interface events can also be registered in a real-time context and on dedicated CPUs
-
For UART functions, UART-16550 compatible hardware is necessary
-
For COM functions, serial communication on application level allows for using all COM interfaces in a system
To achieve real-time capabilities, specifically developed real-time drivers of Kithara RealTime Suite are required for the desired serial COM interface. The following serial interface cards are currently supported. This list always refers to the latest version of our software:
-
Standard COM Interface (PNP0501)
PCIe
-
StarTech PEX2S952, 2 × RS232
-
Longshine LCS6321O, 2 × RS232
-
Delock 89220, 2 × RS232
-
Delock 89236, 1 × RS232
-
ADDI-DATA APCIe-7300, 1 × serial
-
ADDI-DATA APCIe-7420, 2 × serial
-
ADDI-DATA APCIe-7500, 4 × serial
-
ADDI-DATA APCIe-7800, 8 × serial
ExpressCard
-
I-Tec EXRS232, 1 × RS-232
-
StarTech EC1S1P55254, 1 × serial, 1 × parallel (Netmos 9912 Chipset)
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 × serial
-
ADDI-DATA APCI-7420-3, 2 × serial
-
ADDI-DATA APCI-7500-3, 4 × serial
-
ADDI-DATA APCI-7800-3, 8 × serial
CardBus
-
Socket PCMCIA serial card
-
Delock PCMCIA serial card
The correct functioning of the software in conjunction with specific components cannot be entirely guaranteed due to the large number of potential hardware variations. For questions regarding the compatibility with individual hardware configurations, please contact us.
Serial Port Extension
Extension for using additional Serial ports
-
Extended Level: up to 8
-
Unlimited Level (requires Extended Level): unlimited
Device Module
Generation of virtual interfaces
The Device Module of Kithara RealTime Suite provides the end-user with an API for device drivers via operating system functions. The Device Module allows for the handling of such function calls at kernel level in the context of the device driver.
The Device Module also allows for the generating of virtual interfaces–in a special case even as virtual COM interface.
-
Provides a Windows API for device communication (ReadFile, WriteFile, DeviceIoControl)
-
Device names freely configurable, for example virtual “COM ports”