2021-07-08
为什么需要升级到CANopen FD?
作者:admin 点击:1746
CANopen FD 是 CANopen 的一个发展分支 – CANopen 是基于 CAN 的工业网络,已广泛应用了25年。新的 CANopen FD 协议已由 CAN in Automation(CiA) – 国际 CAN 用户和制造商组织 – 标准化,其规范已在 CiA 1301 中发布。CANopen FD 基于 CAN FD,但支持更高的比特率和更大的帧,最多 64 字节,而传统 CAN 帧为 8 字节。该规范的主要目标是在尽可能保持CANopen协议的基础上,最大限度利用 CAN FD 中的新功能,并改进 CAN FD 最重要的功能和服务。
CANopen FD 具备 CANopen 的大多数功能,例如:
-
具有16位元索引和8位子索引的对象字典,用于处理参数、配置数据和过程数据。
-
过程数据对象(PDO)服务,以广播报文的形式交换过程数据–最大使用64字节的CAN FD帧。
-
著名的网络管理(NMT)状态机。
已改进的一些服务:
-
紧急(EMCY)服务,用于异步传输报警报文,以提供更详细的信息。
以通用服务数据对象(USDO)服务取代CANopen中的服务数据对象(SDO)协议,增添了强大新功能:
-
更便捷的点对点USDO通信。
-
通过CANopen FD的USDO服务,为参数/配置的下载和上传,以及固件下载提供了更大的广播潜力。
市场现有的 CANopen FD
市场上具备 CANopen FD 的设备数量仍然很少,尽管有几家公司以 CANopen FD 作为自己设备或网络中的嵌入式网络。在大多数情况下,这些设备制造商都没有提到设备中有 CANopen FD,因此其市场知名度比较有限。b体育(福州)有限公司官网用户的已知使用案例包括模块、工业 IO 模块、起重机控制系统和用于大型加热组件的专有通信网络。
而实际上,所有必要的组件都可实现成功的 CANopen FD 开发。几乎所有的微控制器制造商都为微控制器提供集成的 CAN FD 控制器,同时单机 CAN FD 控制器可从多种来源获得。CANopen FD 协议栈很有优势,因为它大大缩短了开发时间。为了在开发过程中监测设备,需要一个到总线的物理连接。Kvaser 提供了许多不同的 CAN FD 接口,再加上 emotas 的 CANopen FD 协议栈和 CANopen FD 配套工具链,为在 CANopen FD 设备上的快速开发创造了条件。切换到 CANopen FD 或让它替代一个专有协议,设备制造商可获得更高的带宽、更快的响应速度和 CANopen FD 的重要新功能,同时受益于 CANopen 网络几十年来获得的经验。
一个可行的切换路径是开发同时支持 CANopen 和 CANopen FD 的新设备。这些设备既可用于具备 CANopen 的旧装备,还可以应用于新 CANopen FD 网络。
一整套 CANopen FD 工具
如上所述,开发 CANopen FD 设备需要 CANopen FD 协议栈。此类协议栈通过依据 CANopen FD 协议解释 CAN FD 报文,来实现 CANopen FD 协议,反之亦然,生成遵循 CANopen FD 规范的 CAN FD 报文。CANopen FD 协议栈处理所有通信任务,让应用程序开发人员可专注于应用程序本身,包括将应用程序连接到协议栈。
Emotas 的 CANopen FD 栈可与各种微控制器一起使用,或用于具有 CAN FD 接口的基于电脑的系统。虽然 CANopen FD 协议栈是每个开发的核心,但是通过围绕此栈构建的全面工具链简化了整个开发过程。
除了一个 CAN FD 接口,每个使用 CAN FD 的人都需要一个 CAN FD 分析仪。分析仪有很多种,但大多数分析仪缺乏根据 CANopen FD 协议解释 CAN FD 报文的能力。这就是 emotas 的 CANinterpreter 接入的位置,它为所有 CANopen FD 报文提供详细解释。
开发 CANopen FD 网络通常从设计对象字典开始。emotas 的 CANopen DeviceDesigner 可简化这个步骤 – 它是一个 GUI 工具,基于现有的对象数据库或导入的设备描述文件,以及对象和 CANopen FD 服务的特定目标定制,来定义对象字典。基于所有输入,该工具生成一个 C 结构(一个 ANSI-C 文件)的对象字典,该结构链接到堆栈和应用程序,并同时根据 CiA 规范 CIA1311 生成一个 XML 设备描述文件(XDD)。
当设计由多个 CANopen FD 设备组成的全新 CANopen FD 网络时,emotas 的CANopen NetworkDesigner 比 CANopen DeviceDesigner 更有优势,后者适用于单 CANopen FD设备的开发。顾名思义,CANopen NetworkDesigner支持一个完整的拥有多个设备的 CANopen FD 网络设计,而且该网络包括处理设备之间的所有通信关系的工具。
在开发 CANopen FD 设备时,通常需要一个 CANopen FD 主机控制器作为通信的对应目标。可以使用 PLC 或其他硬件,但在许多情况下,像 emotas 的CanOpenDeviceExplorer 等非常灵活的工具是很有益的。除了 emotas 的 CANinterpreter 的 CANopen FD 解释功能,CANopen DeviceExplorer 还包括分析和配置功能。它可以发送和接收 USDOs、PDOs、NMT 命令等等。集成在其中的脚本语言支持自动测试或配置任务的编程。
为了完整化 CANopen FD 工具链,emotas 提供了 CANopen FD bootloader 和 CANopen UpdateManager,它们可通过 CANopen FD 用新固件更新单个 CANopen FD 设备或 CANopen FD 设备网。
所有上述 emotas 工具和协议栈均可与 Kvaser CAN FD 适配器一起在 Windows、Linux 和一些 Mac OS X 上(通过can4osx)使用。