从 CANopen 到 CANopen FD 的技术升级
时间:2020-02-27 10:36来源:ZLG立功科技·致远电子
摘要:在CANopenFD网络中只允许存在一个活动的NMT主机,所有CANopenFD设备都具有NMT从机功能,并且由NMT主机来启动、监控、重启,同时分配给唯一的节点ID。
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 FD网络中通过错误控制协议(如图3启动协议、如图4心跳协议)可以监视CANopen FD设备是否仍在网络中,并且处于预期的NMT FSA状态,同时也可以检测到新加入网络的CANopen FD设备。所有的CANopen FD设备都是基于相同的CAN FD信息,并具有CANopen FD设备的CAN-ID700H+节点ID。
注意:CANopen FD不支持CAN远程框架,因此不支持CANopen节点/生命防护。
当CANopen FD设备内部发生错误时,会由紧急错误生产者发送EMCY,从而触发中断报警。每次发生错误事件只会发送一次EMCY,并且以广播的方式发送给所有支持EMCY功能的设备上,进而针对错误进行调整。没有新错误发生时,将不再发送EMCY报文如图5所示。
与CANopen相同,CANopen FD设备中,SYNC同步协议是由生产者定期发送,用于网络同步。所有CANopenFD设备都可以作为SYNC的生产者。通常情况下,SYNC协议用作总线负载管理。SYNC报文提供1字节的SYNC计数器值。每次发送SYNC,对应计数器就会加1。同时,SYNC的传输周期是可以配置的,计数器初值为1,最大值可在数据对象同步计数器溢出寄存器(1019H)进行配置,如图6所示。
时间戳协议可以使CANopen FD系统调整到唯一的网络时间。由CANopen FD主站设备发出,用于同步所有从站的内部时钟。时间戳被映射到一个6字节长度的CAN单帧。如图7所示,默认情况下,该CAN帧具有标识符100h。这六字节长度的数据提供“时间“”信息,该信息是以午夜之后的毫秒数和自1984年1月1日以来的天数。
1. USDO协议
USDO用于CANopen FD系统中的配置和诊断任务。但是,过程数据也可以通过USDO服务进行传输。USDO具有以下特性:
• USDO服务可以在单个或多个USDO服务器之间确认通信;
• USDO客户端可以访问CANopen FD设备中所有的对象字典条目;
• USDO可以提供USDO服务器对象字典中一个或几个子索引的读写访问权限;
• USDO具有路由功能,可以实现CANopen FD网络边界上的数据传输;
• USDO客户端和USDO服务器可以连接到不同的CAN物理层;
• USDO客户端和USDO服务器之间可以传输任意长度的数据内容。
如图8所示,是USDO已确认的单播、广播通信。
USDO客户端告知USDO服务器目标索引和子索引以及预期的数据类型和长度。USDO服务器确认其请求后,给出其可以处理的最大块的大小(连续块消息的数量)。USDO客户端就会发出第一块的各个分段,知道服务器确认接收结束。
2. PDO协议
过程数据对象(PDO)在CANopen FD中用于广播高优先级控制和状态信息。一个PDO由一个CAN数据帧组成,并可以通信多达64个字节的数据。但是,CAN FD数据帧的数据长度从8字节之后呈非线性规律。因此,当PDO生产者使用填充字节将PDO填充到下一个支持的CAN FD帧长度时,PDO的消费者可能会收到比预期更多的数据。如图11所示。
现如今,工业物联网在逐步发展崛起,慢慢走向成熟。嵌入式也在向云应运程序中集成发展,大数据时代需要更多的数据来进行更准确更安全的算法分析。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 FD设备的使用过程中,经常会通过抓取底层的CAN FD报文来进行数据分析或者故障排除等。如图13所示是广州致远电子有限公司开发的高性能CANFD接口卡,集成1-2路CANFD接口,每个接口具备独立的2500VDC电气隔离保护电路,使接口卡避免由于地环流的损坏,增强系统在恶劣环境中使用的可靠性。PC通过USB2.0端口连接USBCANFD接口卡,从而能与CAN(FD)网络进行数据收发,构成CAN(FD)-bus控制节点。
自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所示 。
图 1 NMT网络管理示意图
控制设备状态的NMT指令,通过具有最高优先级的CAN标识符来发送。CANopen FD设备一旦接收到控制设备状态的NMT指令,则必须进行转换。如图2所示,NMT协议映射到具有两个字节数据长度的单个CAN FD数据帧。第一个字节确定要发出去的指令,即指令说明符;第二个字节指定CANopen FD设备的节点ID。图 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节点/生命防护。
图 3 启动协议示意图
图 4 心跳协议示意图
3. 紧急通讯对象协议(EMCY)当CANopen FD设备内部发生错误时,会由紧急错误生产者发送EMCY,从而触发中断报警。每次发生错误事件只会发送一次EMCY,并且以广播的方式发送给所有支持EMCY功能的设备上,进而针对错误进行调整。没有新错误发生时,将不再发送EMCY报文如图5所示。
图 5 紧急通讯对象协议EMCY示意图
4. SYNC同步协议与CANopen相同,CANopen FD设备中,SYNC同步协议是由生产者定期发送,用于网络同步。所有CANopenFD设备都可以作为SYNC的生产者。通常情况下,SYNC协议用作总线负载管理。SYNC报文提供1字节的SYNC计数器值。每次发送SYNC,对应计数器就会加1。同时,SYNC的传输周期是可以配置的,计数器初值为1,最大值可在数据对象同步计数器溢出寄存器(1019H)进行配置,如图6所示。
图 6 SYNC同步协议示意图
5. 时间戳协议时间戳协议可以使CANopen FD系统调整到唯一的网络时间。由CANopen FD主站设备发出,用于同步所有从站的内部时钟。时间戳被映射到一个6字节长度的CAN单帧。如图7所示,默认情况下,该CAN帧具有标识符100h。这六字节长度的数据提供“时间“”信息,该信息是以午夜之后的毫秒数和自1984年1月1日以来的天数。
图 7 时间戳协议示意图
二、CANopen到CANopen 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已确认的单播、广播通信。
图 8 USDO单播、广播通信
USDO协议“目的地地址”确定USDO是以点对点连接还是以多路或广播方式进行通信。命令说明符决定USDO传输的类型。会话ID用作交易编号,使客户端能够区分对同一USDO服务器的USDO访问。与传统的CANopen SDO中一样,索引和子索引标识在USDO服务器的对象字典中访问的数据元素。除了经典的SDO,USDO还按大小和数据类型描述要传输的数据,这使数据接收者能够执行一致性检查。如图9所示,为加速USDO协议传输。图 9 加速USDO协议传输
对于较长的数据对象,如类型为域的数据,超过了7字节,加速USDO传输方式效率并不是很高。类似于CANopen协议,CANopen FD协议中为了提高USDO传输的效率,引入一种扩展USDO传输方式:即块传输。这种USDO传输方式效率更高、速度更快。这种块传输的基本原理就是将数据划分为几个单一的包,在连续的请求或者应答中逐块传输这些包。如图10所示,是USDO块传输方式。图 10 USDO块传输方式
USDO客户端告知USDO服务器目标索引和子索引以及预期的数据类型和长度。USDO服务器确认其请求后,给出其可以处理的最大块的大小(连续块消息的数量)。USDO客户端就会发出第一块的各个分段,知道服务器确认接收结束。
2. PDO协议
过程数据对象(PDO)在CANopen FD中用于广播高优先级控制和状态信息。一个PDO由一个CAN数据帧组成,并可以通信多达64个字节的数据。但是,CAN FD数据帧的数据长度从8字节之后呈非线性规律。因此,当PDO生产者使用填充字节将PDO填充到下一个支持的CAN FD帧长度时,PDO的消费者可能会收到比预期更多的数据。如图11所示。
图 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之间任意可编程。满足工业级要求,支持在线固件升级等。
图 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控制节点。
图 13 USBCANFD-200U接口卡示意图
免责声明:本文若是转载新闻稿,转载此文目的是在于传递更多的信息,版权归原作者所有。文章所用文字、图片、视频等素材如涉及作品版权问题,请联系本网编辑予以删除。
我要投稿
近期活动
- 安森美汽车&能源基础设施白皮书下载活动时间:2024年04月01日 - 2024年10月31日[立即参与]
- 2023年安森美(onsemi)在线答题活动时间:2023年09月01日 - 2023年09月30日[查看回顾]
- 2023年安森美(onsemi)在线答题活动时间:2023年08月01日 - 2023年08月31日[查看回顾]
- 【在线答题活动】PI 智能家居热门产品,带您领略科技智慧家庭时间:2023年06月15日 - 2023年07月15日[查看回顾]
- 2023年安森美(onsemi)在线答题活动时间:2023年06月01日 - 2023年06月30日[查看回顾]
分类排行榜
- 汽车电子电源行业可靠性要求,你了解多少?
- 内置可编程模拟功能的新型 Renesas Synergy™ 低功耗 S1JA 微控制器
- Vishay 推出高集成度且符合 IrDA® 标准的红外收发器模块
- ROHM 发布全新车载升降压电源芯片组
- 艾迈斯半导体推出行业超薄的接近/颜色传感器模块,助力实现无边框智能手机设计
- 艾迈斯半导体与 Qualcomm Technologies 集中工程优势开发适用于手机 3D 应用的主动式立体视觉解决方案
- 维谛技术(Vertiv)同时亮相南北两大高端峰会,精彩亮点不容错过
- 缤特力推出全新商务系列耳机 助力解决开放式办公的噪音难题
- CISSOID 和泰科天润(GPT)达成战略合作协议,携手推动碳化硅功率器件的广泛应用
- 瑞萨电子推出 R-Car E3 SoC,为汽车大显示屏仪表盘带来高端3D 图形处理性能
编辑推荐
小型化和稳定性如何兼得?ROHM 推出超小型高输出线性 LED 驱动器 IC,为插座型 LED 驱动 IC 装上一颗强有力的 “心脏”
众所周知,LED的驱动IC担负着在输入电压不稳定的情况下,为LED提供恒定的电流,并控制恒定(可调)亮度的作用。无论是室内照明,还是车载应用,都肩负着极为重要的使命。
- 全桥逆变器PCB走线问题
时间:2024-04-16 浏览量:437
- AP4313 恒流公式看不懂,求助帮忙推导
时间:2024-04-14 浏览量:495
- 请教三相逆变器启动流程
时间:2024-04-12 浏览量:455
- 输出重载时,用万用表测量PFC输出电解电容上电压超过500V?!
时间:2024-04-07 浏览量:407
- An绕组截面积是什么意思
时间:2024-04-03 浏览量:374
- 关于反激电源效率的一个疑问
时间:2022-07-12 浏览量:10250
- 多相同步BUCK
时间:2010-10-03 浏览量:37890
- 大家来讨论 系列之二:开机浪涌电流究竟多大?
时间:2016-01-12 浏览量:43187
- 目前世界超NB的65W适配器
时间:2016-09-28 浏览量:60047
- 精讲双管正激电源
时间:2016-11-25 浏览量:128209
- 利用ANSYS Maxwell深入探究软磁体之----电感变压器
时间:2016-09-20 浏览量:107595
- 【文原创】认真的写了一篇基于SG3525的推挽,附有详细..
时间:2015-08-27 浏览量:100353