CAN(Controller Area Network,控制器局域网)是一种串行总线系统,最初专为汽车控制系统设计,但也非常适合连接智能设备、传感器和执行器。CAN 是一种串行多主节点总线系统,多个 CAN 节点可以同时请求访问总线,而具体哪个节点获得总线的独占访问权,则在访问过程中通过仲裁确定。该总线系统由 ISO 11898 标准规定,具有实时通信能力,使用 ISO/OSI 参考模型的最底两层。
成本低
即使在恶劣的环境条件下也能可靠运行
实时性能出色,使用简便
CAN 通信通常要求可靠、等时间间隔的数据交换,并能够快速响应外部事件。CAN 板卡通常附带的标准 Windows 驱动程序无法满足这些要求,因为它们只能在应用程序上下文中使用,不具备实时能力。Kithara 的 CAN Module 弥补了这一不足,使 CAN 通信也能在实时环境下运行。
Kithara RealTime Suite 通过 CAN Module 为需要实时 CAN 连接的自动化应用提供多种解决方案。该功能库主要面向需要对 CAN 消息进行时间关键性处理的用户,例如机械制造企业和控制系统制造商。
通过易于使用、直观的应用程序编程接口(API),缓冲区可在发送和接收时暂存 CAN 消息。用户既可以安装自定义实时消息过滤器,也可以设置针对特定总线情况的错误处理程序。此外,还支持仅监听模式(Listen-Only)。为方便诊断,
Kithara Kernel Tracer 已得到扩展,可采用微秒级分辨率记录整个 CAN 总线的数据通信。
为了在选择 CAN 板卡时提供尽可能大的灵活性,Kithara 为多家制造商的常见 CAN 板卡系列提供实时驱动程序,从而支持不依赖特定硬件厂商的编程方式。
CAN FD(Flexible Data Rate,灵活数据速率)是 CAN 协议的进一步发展。通过将有效载荷长度从 8 字节扩展到 64 字节,其数据传输速率可达到传统 CAN 的 8 倍,而不会增加集成成本。校验值计算方式的改进还进一步提高了数据传输的潜在安全性。
因此,这一总线扩展有望在汽车开发领域占据重要地位。然而,许多 CAN FD 开发和测试流程,只有借助将所有相关接口整合在一起的高性能统一实时解决方案,才能真正实现。
CAN FD light 是 CAN FD 的简化版本,已纳入 ISO 11898-1:2024 标准,适用于对成本敏感的传感器和执行器网络。在 Commander-Responder(命令端—响应端)通信模式下,功能较为简单的网络节点仅在收到请求时发送数据。Kithara RealTime Suite 也支持在 Windows 下通过 CAN FD light 实现确定性的实时通信。
Kithara RealTime Suite 的 LIN Module 使汽车制造商和试验台制造商能够精确开发和诊断 LIN 网络。它满足较高的生产和测试标准,有助于将 LIN 网络集成到车辆中。由于 LIN 必须接入上级网络,因此 LIN 主节点通常也是连接 CAN 系统的网关,而 Kithara 同样支持 CAN 系统。可使用 C、C++、Delphi 和 C# 进行编程。
CAN Module 为 CAN(Controller Area Network)总线系统提供实时功能,支持至 CAN 2.0B。借助 Kithara 实时系统,开发人员可以无延迟地发送和接收 CAN 报文。自定义过滤程序可通过回调函数触发。接收到的报文既可以通过回调函数处理,也可以通过轮询方式处理。发送和接收程序可以直接在实时上下文中执行。
通过可选的 CAN FD Extension,CAN Module 还支持 CAN FD 和 CAN FD Light。通过将有效载荷长度从 8 字节扩展至 64 字节,CAN FD 可实现显著更高的数据吞吐量。对于要求 CAN 接口保持完全被动状态的分析任务,可使用 Listen-only 模式。使用配备 SJA1000 CAN 控制器的硬件时,还可以读取“Error Code Capture”寄存器,以获取更多用于故障分析的信息。