优化嵌入式机器控制系统的通信

与工厂自动化相反,嵌入式机器控制系统需要进行优化,以设计出比竞争对手更好的产品。这需要配置通信,特别是控制和状态消息的调度和内容。过程数据对象(PDO)协议实时传输控制和状态信息以及测量值。

通过自动化中的CAN 2014年6月3日

CANopen是为嵌入式机器控制系统设计的。与工厂自动化相反,嵌入式机器控制系统需要进行优化,以设计出比竞争对手更好的产品。这需要配置通信,特别是控制和状态消息的调度和内容。

CANopen使用过程数据对象(PDO)协议实时传输控制和状态信息以及测量值。pdo被映射到一个CAN数据帧,通常是异步发送的。异步传输包括通过改变或状态和通过事件计时器的流逝来触发。许多系统设计人员使用pdo的周期性传输,这会导致高总线负载。大多数标准化的CANopen配置文件都预先定义了状态更改调度。在最好的情况下,当进入操作状态时,这只会导致一次传输。根据状态更改配置,任何更改都会触发PDO,或者只有在达到特定阈值(高于或低于)时才会传输相应的消息。当然,如果值经常变化,这可能会导致大量流量。为了减少总线负载,系统设计者可以配置抑制定时器,它禁止在指定的时间内再次发送消息。当然,这并不影响错误消息的自动传输。

在某些应用中,不同CANopen设备之间需要同步。例如,多个传感器需要在同一时刻测量传感器值或多个执行器需要同时开始工作。对于这些应用程序,CANopen使用SYNC消息,它触发捕获当前值并启用已经接收到的命令。也可以将发送设备中的PDO配置为同步的,而将接收设备中的PDO配置为异步的,这意味着处理数据立即被处理。反之亦然,发送- pdo (TPDO)异步发送(状态变化),相应的接收- pdo (RPDO)配置为同步,并在接收到下一个SYNC时执行该命令。

同步pdo还会导致高总线负载。为了减少它,CANopen允许以一种方式配置它们,即TPDO只服务于每一秒、第三秒等。同步。“最慢”的同步TPDO每240条同步消息服务一次。减少总线负载的另一种选择是发送同步的无循环tpdo。

除了消息调度,CANopen还允许通过分配优先级来优化PDO通信。在CANopen中,每个设备可以支持最多4个tpdo和最多4个带有预定义CAN标识符的rpdo,这些标识符决定了总线访问优先级。这意味着每个设备可能有一个高先验、一个中先验、一个低中先验和一个低先验PDO。系统设计人员可以偷懒,不重新配置PDO优先级。但是,也可以重新分配预定义的优先级,以优化更重要和关键数据的时间延迟。在某些应用中,专用设备可能需要多个高先验PDO。

为了优化PDO通信,系统设计人员还可以将这些过程数据组装到一个PDO中,这些PDO具有相同的优先级和调度需求。这就是所谓的PDO映射:将适合的东西组合在一起。在经典CAN中,这被限制为8字节。即将到来的CAN FD(灵活数据速率)协议,也就是所谓的下一代CAN协议,支持高达64字节的数据长度。当然,它传输数据的速度更快。它用于嵌入式机器控制网络,仲裁比特率为500kbit /s、250kbit /s和125kbit /s,取决于总线长度(125米、250米分别为500米)。数据相位速度可以增加2倍、4倍甚至8倍。考虑到4 Mbit/s的数据阶段比特率和500kbit /s的仲裁比特率似乎是现实的。运行1mbit /s的比特率也是可能的,但是数据相位增加到8mbit /s对物理层设计是一个挑战,因为需要与经典CAN相同的健壮性和可靠性。速度越慢,挑战就越少。顺便说一下,对于其他通信技术,包括基于以太网的解决方案,也是如此。

在经典CAN和CAN FD这两种协议变体中,流程数据的映射是通过表来配置的,表提供了要映射到专用PDO的流程数据的指针。映射列表的长度为64个条目,这意味着您最多可以组合64个流程数据。对于经典的CAN协议,您可以按位映射数据。使用CAN FD协议,当使用64字节的最大有效负载时,您被限制为8字节粒度。

综上所述,CANopen是优化流程数据通信方面最灵活的网络技术之一。另一方面,PDO优化需要配置。软件工具支持这一点。手工配置CANopen网络并不是最先进的。

-由Jessica DuBois-Maahs编辑,CFE Media副内容经理jdmaahs@cfemedia.com