Kithara Real-Time Communication

Kithara实时套件 是Windows下的一个实时扩展模块。它包括多个模块,用于通过以太网、USB 或串行进行确定性数据通信。

Real-time Ethernet via RJ45Real-time Ethernet with up to 10 Gbit/s via SFP+ and 40 Gbit/s via QSFP+Real-time USB up to USB 3.1 via XHCI accessReal time via USB-C and ThunderboltFast communication via UART and COM interfacesFast communication via UART and COM interfaces

实时以太网——实时Sockets

基于以太网通信技术在工业中的应用越来越占据主导地位。然而,操作系统的基本功能无法满足工业标准下的以太网通信速度。因此,有必要为操作系统提供实时机制。在实时以太网环境下,通过实时以太网协议能够解决工业通信问题(包括IP,通用TCP和UDP协议)。

作为  Kithara实时套件 的一部分,网络模块包含了通过原始以太网以及 TCP 和 UDP 进行实时通信的必要机制。实时通信通过高速以太网板以及与 Intel 和 RealTek 的千兆控制器的网络接口进行,因此可以实现快速测量值记录或 图像处理

Intel-Pro/1000 Quad Adapter

通过直接控制网络控制器的方法来达到实时能力。因此,可在连接的整个带宽范围内立即对接收的数据包做出反应。和操作系统里一般进程不同,这里不会发生任何复制操作。在发送以及接收时,同一内存作为网络控制器使用。因此,可实现高速率传输和快速反应。

提供了CRS计算功能和Byteorder转换功能。开发者可以从Kithara的C/C++或Delphi应用程序的框架内编译该套接字的应用程序。基于DLL的实时应用程序可以应用到C#.NET应用程序。

该软件是Windows操作系统的扩展软件。因为Windows操作系统缺乏实时性不符合业界需求,所以它不适合用于工业的解决方案。

以太网QSFP+,最高可达40 Gbit/s

模块

与 Kithara RealTime Suite 模块化系统的实时通信由以下组件组成:

Network Module

Native real-time driver for fast Ethernet communication

  • 普通
  • 特征
  • 硬件支持
  • 扩展

网络模块为受支持的网络控制器提供本地实时以太网驱动程序,以便通过原始以太网以及UDP和TCP进行通信。 通过抢占Windows机制的所有干扰,可以实现高传输速率和即时反应。这样的高性能的网络通信支持英特尔和RealTek的所有网络控制器。

最多两个以太网端口,以上需要网络端口扩展

高达 1 Gbit/s,高于所需的 Network Data Rate Extension。

  • 实时以太网通信高达200千兆位/秒
  • 接收时的瞬时传输和反应
  • 可以从实时环境直接发送和接收
  • 任何可能的以太网协议,包括IP,UDP和TCP
  • 请求和基于事件的以太网通信
  • 支持的硬件:英特尔和RealTek,最高可达200千兆
  • 巨型帧取决于NIC,最多16128字节
  • IP和MAC多播,广播,混杂模式接收所有数据包
  • 通过回调函数接收数据包或直接在中断上下文或轮询过程中接收数据包
  • 传输数据包最多可能有4个优先级
  • 用于CRS计算和字节顺序转换的函数
  • 需要 RealTime Tasking Module

可选扩展名:

  • BroadR-Reach:到物理以太网传输层BroadR-Reach(100BASE-T1, 1000BASE-T1)的实时连接; 保证响应时间的汽车以太网
  • 网络10 Gbit/s:高达10 Gbit/s的实时以太网
  • 网络200 Gbit/s:最高200 Gbit/s的实时以太网
  • 网络端口:使用其他以太网端口的扩展
  • 网络PTM:在Windows和Kithara RealTime之间创建虚拟网络适配器以及网络桥

为了实现实时功能,网络接口的慢速Windows驱动程序必须由特殊开发的Kithara实时套件的实时驱动程序替代。 支持英特尔和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 (例如Digitus USB 3.0 Ethernet Adapter)

100 Mbit/s

Intel

  • 8255x
  • 82562

RealTek

  • 8139B, 8139C, 8139D

Beckhoff

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

由于存在大量潜在的硬件变化,因此无法完全保证软件与特定组件的正确运行。有关与各个硬件配置兼容性的问题,请与我们联系。

Network Port Extension

使用额外以太网端口的扩展

  • 扩展级别:最多8级
  • 无限级别(需要扩展级别):无限制

Network PTM扩展

Network PTM 扩展允许通过 UDE(USB 设备仿真)生成虚拟 USB 以太网适配器,以便通过端口直通或端口镜像在实时和 Windows 之间进行通信。 Passthrough 使 Windows 能够直接与硬件或 Kithara 实时环境通信,而镜像用于记录实时数据流量并将其提供给 Windows 进行分析。

  • 通过 UDE 创建虚拟 USB 以太网适配器
  • 端口直通,用于Windows与硬件之间的直接通信或实时
  • 端口镜像,用于记录实时数据流量并使用 Wireshark 在 Windows 中显示
  • 支持所有基于以太网的技术:套接字通信、EtherCAT、GigE Vision、PTP 和 BroadR-Reach

Network BroadR-Reach扩展

BroadR-Reach (100BASE-T1) 是一种物理以太网传输层,特别适用于汽车网络。

Network Data Rate Extension

高数据速率的实时以太网

  • 扩展级别:高达 10 Gbit/s
  • 最大级别(需要扩展级别):高达 200 Gbit/s

USB RealTime Module

USB 3.1 in real-time by direct access to xHCI

  • 普通
  • 特征
  • 硬件支持

Kithara实时套件的USB实时模块实现与USB 3.1的实时通信。为此,Kithara实时套件为可扩展主机控制器接口(xHCI)提供了一个特殊编程且易于应用的网关,可以满足保证抖动时间的要求。

两个 USB 设备的最大数量,以上需要 USB Device Extension。 传递的设备不计算在内。

  • 通过xHCI访问与USB 3.1设备进行实时通信
  • 独家使用xHCI控制器
  • 从实时多任务上下文直接访问
  • 尽可能短的反应时间
  • 最高的数据吞吐量
  • 可靠的避免因可自由选择的缓冲区大小而造成的数据丢失
  • 低速,全速,高速和超速
  • 控制,批量,中断和等时传送
  • 响应所有即插即用和电源管理事件
  • 需要 RealTime Tasking Module

与USB实时模块相关的所有USB 3.1主机控制器都可以使用,这与xHCI 1.1规范兼容。

以下厂商的xHCI控制器目前支持Kithara实时套件:Intel, AMD, Renesas, Etron, NEC和VIA.

USB Driver Module

通过Windows驱动程序堆栈与USB设备进行通信

  • 普通
  • 特征

Kithara实时套件的USB驱动模块可以通过简单的适应性功能与USB设备进行通信。它基于仅具有有限实时功能的Windows USB驱动程序堆栈。对于“硬”实时,我们推荐使用USB实时模块。支持所有USB设备,包括USB 3.1。

  • USB设备驱动程序的开发
  • 从应用程序或内核级别访问USB设备(包括USB 3.1)
  • 低速,全速,高速
  • 控制、批量、中断和等时传送
  • 响应所有即插即用和电源管理事件

Serial/UART Module

快速通信的简单应用功能

  • 普通
  • 特征
  • 硬件支持
  • 扩展

Kithara RealTime Suite的串行/UART模块提供易于使用的功能,可通过串行接口快速进行通信。该软件包实际上包含两个模块:UART功能需要符合UART 16550的硬件,需要实时驱动程序。COMM功能支持为其安装Windows驱动程序的所有COM接口。 这在Windows机制上工作,因此不需要实时功能。

在实时操作中,UART功能也可用于实时任务和专用CPU。

最多两个串行端口,以上需要 Serial Port Extension。

  • 使用特殊的硬件驱动程序在内核级别上进行实时串行通信
  • 握手线和信号线可直接控制
  • 所有接口事件的处理程序可以安装在实时环境和专用CPU上
  • 对于UART功能:需要UART-16550兼容硬件
  • 对于COM功能:在应用层上的串行通信允许使用系统中的所有的COM接口

为了实现实时功能,应用串行接口需要特殊的实时驱动程序Kithara实时套件。

目前支持以下接口卡:

  • 标准的COM接口(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

    此列表始终是指我们软件的最新版本。

Serial Port Extension

使用附加串行端口的扩展

  • 扩展级别:最多8级
  • 无限级别(需要扩展级别):无限制

Device Module

生成虚拟接口

  • 普通
  • 特征

Kithara RealTime Suite的设备模块通过操作系统功能为终端用户提供设备驱动程序的API。设备模块允许在设备驱动程序的上下文中在内核级别处理此类函数调用。

设备模块还允许生成虚拟接口,在特殊情况下甚至是生成虚拟COM接口。

  • 提供用于设备通信的Windows API(读取文件,写入文件,设备IO控制)
  • 任意虚拟接口