当前位置:首页 > 单片机 > 致远电子
[导读]自1991年颁布了CAN 2.0技术规范起,CiA便一直致力于CAN协议的推广,其中包括CAN底层(CAN数据链路层、CAN物理层)设计及CAN的应用层(CANopen)。

2019年11月21日,在SPS 2019庆祝30周年展会上,CiA组织通过两个网桥连接的网络展示了从经典CANopen到CANopen FD的移植。那么CANopen FD的出现带来哪些变化?这里重点介绍一下CANopen FD的特性。

自1991年颁布了CAN 2.0技术规范起,CiA便一直致力于CAN协议的推广,其中包括CAN底层(CAN数据链路层、CAN物理层)设计及CAN的应用层(CANopen)。CANopen协议在CiA 301中明确规定其PDO、SDO、NMT网络管理等协议的规范,并使用经典CAN数据链路层,而在SPS展会中CiA展示了CiA 1301中指定的CANopen FD协议。相比CANopen使用经典CAN数据链路层,数据段提供8字节有效负载,CANopen FD是基于CAN FD,数据段有效负载提升到64字节,解决了某些应用中出现数据段不够用的问题。

一、CANopen协议升级到CANopen FD的相同之处

1.   NMT网络管理协议

网络管理系统(NMT)负责启动网络和监控设备。工程师将CANopen FD网络管理系统设计成一种主/从系统。在CANopen FD网络中只允许存在一个活动的NMT主机,所有CANopen FD设备都具有NMT从机功能,并且由NMT主机来启动、监控、重启,同时分配给唯一的节点ID。

为了方便管理设备,所有设备都内置一个内部状态机,状态之间的转变由内部事件或者主机外部触发。

NMT从站状态机由初始化状态,预操作状态,操作状态和停止状态组成,其状态转换方式如图1所示 。

从CANopen到CANopen FD的技术升级

图  1  NMT网络管理示意图

控制设备状态的NMT指令,通过具有最高优先级的CAN标识符来发送。CANopen FD设备一旦接收到控制设备状态的NMT指令,则必须进行转换。如图2所示,NMT协议映射到具有两个字节数据长度的单个CAN FD数据帧。第一个字节确定要发出去的指令,即指令说明符;第二个字节指定CANopen FD设备的节点ID。

从CANopen到CANopen FD的技术升级

图 2  NMT协议示意图

2.   错误控制协议

在CANopen FD网络中通过错误控制协议(如图3启动协议、如图4心跳协议)可以监视CANopen FD设备是否仍在网络中,并且处于预期的NMT FSA状态,同时也可以检测到新加入网络的CANopen FD设备。所有的CANopen FD设备都是基于相同的CAN FD信息,并具有CANopen FD设备的CAN-ID700H+节点ID。

注意:CANopen FD不支持CAN远程框架,因此不支持CANopen节点/生命防护。

从CANopen到CANopen FD的技术升级

图  3  启动协议示意图

从CANopen到CANopen FD的技术升级

图  4  心跳协议示意图

3.   紧急通讯对象协议(EMCY)

当CANopen FD设备内部发生错误时,会由紧急错误生产者发送EMCY,从而触发中断报警。每次发生错误事件只会发送一次EMCY,并且以广播的方式发送给所有支持EMCY功能的设备上,进而针对错误进行调整。没有新错误发生时,将不再发送EMCY报文如图5所示。

从CANopen到CANopen FD的技术升级

图  5  紧急通讯对象协议EMCY示意图

4.   SYNC同步协议

与CANopen相同,CANopen FD设备中,SYNC同步协议是由生产者定期发送,用于网络同步。所有CANopenFD设备都可以作为SYNC的生产者。通常情况下,SYNC协议用作总线负载管理。SYNC报文提供1字节的SYNC计数器值。每次发送SYNC,对应计数器就会加1。同时,SYNC的传输周期是可以配置的,计数器初值为1,最大值可在数据对象同步计数器溢出寄存器(1019H)进行配置,如图6所示。



从CANopen到CANopen FD的技术升级

图  6  SYNC同步协议示意图

5.   时间戳协议

时间戳协议可以使CANopen FD系统调整到唯一的网络时间。由CANopen FD主站设备发出,用于同步所有从站的内部时钟。时间戳被映射到一个6字节长度的CAN单帧。如图7所示,默认情况下,该CAN帧具有标识符100h。这六字节长度的数据提供“时间“”信息,该信息是以午夜之后的毫秒数和自1984年1月1日以来的天数。

从CANopen到CANopen FD的技术升级

图  7  时间戳协议示意图

二、CANopenCANopen FD的改变之处

     1.   USDO协议 

USDO用于CANopen FD系统中的配置和诊断任务。但是,过程数据也可以通过USDO服务进行传输。USDO具有以下特性: 

  • USDO服务可以在单个或多个USDO服务器之间确认通信;

  • USDO客户端可以访问CANopen FD设备中所有的对象字典条目;

  •  USDO可以提供USDO服务器对象字典中一个或几个子索引的读写访问权限;

  • USDO具有路由功能,可以实现CANopen FD网络边界上的数据传输; 

  • USDO客户端和USDO服务器可以连接到不同的CAN物理层;

  • USDO客户端和USDO服务器之间可以传输任意长度的数据内容。

如图8所示,是USDO已确认的单播、广播通信。

从CANopen到CANopen FD的技术升级

图  8  USDO单播、广播通信

USDO协议“目的地地址”确定USDO是以点对点连接还是以多路或广播方式进行通信。命令说明符决定USDO传输的类型。会话ID用作交易编号,使客户端能够区分对同一USDO服务器的USDO访问。与传统的CANopen SDO中一样,索引和子索引标识在USDO服务器的对象字典中访问的数据元素。除了经典的SDO,USDO还按大小和数据类型描述要传输的数据,这使数据接收者能够执行一致性检查。如图9所示,为加速USDO协议传输。

从CANopen到CANopen FD的技术升级

图  9  加速USDO协议传输

对于较长的数据对象,如类型为域的数据,超过了7字节,加速USDO传输方式效率并不是很高。类似于CANopen协议,CANopen FD协议中为了提高USDO传输的效率,引入一种扩展USDO传输方式:即块传输。这种USDO传输方式效率更高、速度更快。这种块传输的基本原理就是将数据划分为几个单一的包,在连续的请求或者应答中逐块传输这些包。如图10所示,是USDO块传输方式。

从CANopen到CANopen FD的技术升级

图 10  USDO块传输方式

USDO客户端告知USDO服务器目标索引和子索引以及预期的数据类型和长度。USDO服务器确认其请求后,给出其可以处理的最大块的大小(连续块消息的数量)。USDO客户端就会发出第一块的各个分段,知道服务器确认接收结束。

     2.   PDO协议 

过程数据对象(PDO)在CANopen FD中用于广播高优先级控制和状态信息。一个PDO由一个CAN数据帧组成,并可以通信多达64个字节的数据。但是,CAN FD数据帧的数据长度从8字节之后呈非线性规律。因此,当PDO生产者使用填充字节将PDO填充到下一个支持的CAN FD帧长度时,PDO的消费者可能会收到比预期更多的数据。如图11所示。 

从CANopen到CANopen FD的技术升级

图  11  PDO协议示意图

三、CANopen FD与嵌入式网络、工业物联网

现如今,工业物联网在逐步发展崛起,慢慢走向成熟。嵌入式也在向云应运程序中集成发展,大数据时代需要更多的数据来进行更准确更安全的算法分析。CANopen FD底层基于CAN FD提供了长达64字节的有效负载,能够更好的满足大数据时代的安全性能要求。

CANopen FD能够更好的满足未来工业互联网的发展需求,其中重要的原因还是归功于新的USDO协议的出现。由于USDO特性灵活,CANopen FD/IOT网关可以轻松的访问网络中的任何数据,并且通过路由功能可以进行远程网络CANopen FD设备连接和访问。

CANopen FD减轻了开发人员处理CAN硬件特定细节的负担,例如位时序和验收过滤。CANopen FD提供了标准化的通信对象COB,用来配置及网络管理数据。

四、CANFDSM-100——串口转CANFD转换模块

在实际应用中,工程师经常会使用串口来收发数据或进行调试。这样,对于CANopen FD设备的问题,我们会需要实现串口转CANFD,帮助我们更好的实现数据的传输和转换。如图12所示, 是广州致远电子研发 的一款串口转 CAN(FD)模块CANFDSM-100,内置微处理器。该模块支持透明转换、透明带标识符转换、格式转换、Modbus转换四种模式。同时,该模块集成1路CANFD接口和1路UART接口。在CAN通讯方面,可以在40Kbps~1Mbps之间任意可编程;在CANFD通讯方面,可以在1Mbps~5Mbps之间任意可编程。满足工业级要求,支持在线固件升级等。

从CANopen到CANopen FD的技术升级

图 12  CANFDSM-100示意图

五、USBCANFD系列CAN FD接口卡

在CANopen FD设备的使用过程中,经常会通过抓取底层的CAN FD报文来进行数据分析或者故障排除等。如图13所示是广州致远电子有限公司开发的高性能CANFD接口卡,集成1-2路CANFD接口,每个接口具备独立的2500VDC电气隔离保护电路,使接口卡避免由于地环流的损坏,增强系统在恶劣环境中使用的可靠性。PC通过USB2.0端口连接USBCANFD接口卡,从而能与CAN(FD)网络进行数据收发,构成CAN(FD)-bus控制节点。

从CANopen到CANopen FD的技术升级

图 13  USBCANFD-200U接口卡示意图

本站声明: 本文章由作者或相关机构授权发布,目的在于传递更多信息,并不代表本站赞同其观点,本站亦不保证或承诺内容真实性等。需要转载请联系该专栏作者,如若文章内容侵犯您的权益,请及时联系本站删除。
换一批
延伸阅读

CanOpen转Profinet网关的常规数据

关键字: canopen profinet

CanOpen转Profinet网关的常规数据

关键字: canopen profinet

周立功阅读笔记-CANopen轻松入门基于DS301(一)

关键字: canopen 入门

CANopen学习笔记

关键字: canopen C KEIL

CAN和CANopen区别

关键字: canopen can

简单来讲,CANopen是EtherCAT在应用层使用的Mailbox protocols中的一种。 要搞清楚EtherCAT和CANopen的关系,先要了解EtherCAT的一些基础知识。EtherCAT设计时仅 显...

关键字: canopen ethercat

CAN 提供了所有的网络管理服务和报文传送协议,但并没有定义对象的内容或者正在通讯的对象的类 型(它只定义了 how,没有定义 what),而这正是 CANopen 切入点。CANopen 的核心概念是设备对象字典(O...

关键字: canopen 协议

CAN 提供了所有的网络管理服务和报文传送协议,但并没有定义对象的内容或者正在通讯的对象的类 型(它只定义了 how,没有定义 what),而这正是 CANopen 切入点。CANopen 的核心概念是设备对象字典(O...

关键字: canopen 协议

  总述   CANopen是一种架构在控制局域网路(Control Area Network, CAN)上的高层通讯协定,包括通讯子协定及设备子协定常在嵌入式系统中使用,也是工业控制常用到的一种现

关键字: canopen

  O 引言   新型铝合金板带快速电磁铸轧技术是利用电磁感应装置产生一个交变复合磁场来对铸轧区内的铝熔体进行电磁搅拌、电磁扰动等综合控制,以改变铝及铝合金凝固结晶条件,从而达到细化晶粒,改善铸轧板

关键字: canopen 铝合
关闭
关闭