Kithara Real-Time Communication
Kithara实时套件 是Windows下的一个实时扩展模块。它包括多个模块,用于通过以太网、USB 或串行进行确定性数据通信。
实时以太网——实时Sockets
基于以太网通信技术在工业中的应用越来越占据主导地位。然而,操作系统的基本功能无法满足工业标准下的以太网通信速度。因此,有必要为操作系统提供实时机制。在实时以太网环境下,通过实时以太网协议能够解决工业通信问题(包括IP,通用TCP和UDP协议)。
作为
Kithara实时套件 的一部分,网络模块包含了通过原始以太网以及 TCP 和 UDP 进行实时通信的必要机制。实时通信通过高速以太网板以及与 Intel 和 RealTek 的千兆控制器的网络接口进行,因此可以实现快速测量值记录或
图像处理。
通过直接控制网络控制器的方法来达到实时能力。因此,可在连接的整个带宽范围内立即对接收的数据包做出反应。和操作系统里一般进程不同,这里不会发生任何复制操作。在发送以及接收时,同一内存作为网络控制器使用。因此,可实现高速率传输和快速反应。
提供了CRS计算功能和Byteorder转换功能。开发者可以从Kithara的C/C++或Delphi应用程序的框架内编译该套接字的应用程序。基于DLL的实时应用程序可以应用到C#.NET应用程序。
该软件是Windows操作系统的扩展软件。因为Windows操作系统缺乏实时性不符合业界需求,所以它不适合用于工业的解决方案。
模块
与 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 Gbit/s
-
无延迟发送数据,接收数据时立即响应
-
支持直接在实时环境中发送和接收数据
-
支持 IPv4 和 IPv6 的 Socket API,包括 IP、UDP、TCP 和 RAW
-
支持任意以太网协议
-
原始以太网(Raw Ethernet)
-
支持轮询或事件驱动的以太网通信
-
支持的硬件:Intel 和 Realtek,速率高达 200 Gbit/s(参见硬件兼容性列表)
-
支持最大 16128 字节的巨型帧,具体取决于网卡(NIC)
-
支持 IP 和 MAC 组播、广播以及用于接收所有数据包的混杂模式
-
可通过在中断上下文中直接执行的回调函数或采用轮询模式接收数据包
-
支持对待发送的数据包设置四个优先级
-
通过 ARP 支持自动地址解析
-
包含 CRC 计算和字节序转换功能
-
需要
RealTime Tasking Module
可选扩展:
-
BroadR-Reach:支持 BroadR-Reach 以太网物理层(100BASE-T1、1000BASE-T1)的实时连接;提供具有保证响应时间的汽车以太网通信
-
Network 10 Gbit/s:支持高达 10 Gbit/s 的实时以太网通信
-
Network 200 Gbit/s:支持高达 200 Gbit/s 的实时以太网通信
-
Network Port:扩展支持额外的以太网端口
-
Network PTM:创建虚拟网络适配器以及连接 Windows 与 Kithara 实时环境的网络桥接
为实现实时通信功能,必须将网卡的标准 Windows 驱动程序替换为 Kithara RealTime Suite 专门开发的实时驱动程序。目前市面上几乎所有的 Intel 和 Realtek 网络控制器均受支持。
200/100 Gbit/s
Intel
40 Gbit/s
Intel
25 Gbit/s
Intel
10 Gbit/s
Intel
-
X710, X722
-
X540, X550
-
82599
Realtek
5 Gbit/s
Realtek
2.5 Gbit/s
Intel
Realtek
1 Gbit/s
Intel
-
I350
-
I210, I211, I217, I219
-
82540, 82541, 82544–82547, 82566, 82567, 82571–82574, 82576–82580, 82583
Realtek
-
8110S, 8169, 8169S, 8169SB/8110SB, 8169SC/8110SC, 8168/8111 (B, C, CP, D, DP, E, EVL, F, G, H, EP), 8111DL
ASIX USB 3.0 千兆以太网控制器
-
AX88179(例如 Digitus USB 3.0 以太网适配器)
100 Mbit/s
Beckhoff
-
CX5000 CCAT(Beckhoff CX50xx、CX20xx、CX51xx 嵌入式计算机)
Intel
Realtek
-
8100E, 8101E, 8102E, 8139B, 8139C, 8139D
Star Cooperation
-
FL3X Interface-PMC(FL3X Tiny2 1*100BASE-T1;FL3X Tiny2 1*100BASE-TX)
由于存在大量潜在的硬件变化,因此无法完全保证软件与特定组件的正确运行。有关与各个硬件配置兼容性的问题,请与我们联系。
Network Port Extension
使用额外以太网端口的扩展
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 访问实现实时通信
-
独家使用xHCI控制器
-
从实时多任务上下文直接访问
-
尽可能短的反应时间
-
最高的数据吞吐量
-
可靠的避免因可自由选择的缓冲区大小而造成的数据丢失
-
低速,全速,高速和超速
-
控制,批量,中断和等时传送
-
响应所有即插即用和电源管理事件
-
需要
RealTime Tasking Module
与USB实时模块相关的所有USB 主机控制器都可以使用,这与xHCI 1.1规范兼容。
以下厂商的xHCI控制器目前支持Kithara实时套件:Intel, AMD, Renesas, Etron, NEC和VIA.
USB Driver Module
通过Windows驱动程序堆栈与USB设备进行通信
Kithara实时套件的USB驱动模块可以通过简单的适应性功能与USB设备进行通信。它基于仅具有有限实时功能的Windows USB驱动程序堆栈。对于“硬”实时,我们推荐使用USB实时模块。支持 USB 1.0、USB 1.1、USB 2.0、USB 3.0、USB 3.1、USB 3.2 和 USB4。
-
USB设备驱动程序的开发
-
从应用程序或内核级别访问USB设备
-
支持 USB 1.0、USB 1.1、USB 2.0、USB 3.0、USB 3.1、USB 3.2 和 USB4。
-
低速,全速,高速
-
控制、批量、中断和等时传送
-
响应所有即插即用和电源管理事件
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实时套件。
目前支持以下接口卡:
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
使用附加串行端口的扩展
Device Module
Kithara RealTime Suite 的 Device Module 为最终用户提供 API,可通过操作系统函数访问设备驱动程序。相关函数调用可以在内核层执行,从而直接在设备驱动程序的上下文中进行处理。
此外,该模块还支持创建虚拟接口,在特定应用场景下也可创建虚拟 COM 接口。
-
提供用于设备通信的Windows API(读取文件,写入文件,设备IO控制)
-
任意虚拟接口