最近有很多人问到CAN与CANopen的协议区别,希望能通过下面的图解方式来帮助大家理解。
方法/步骤1
首先了解网络协议分层,分七层
方法/步骤2
其次了解现场总线
现场总线网络一般只实现了第1层(物理层)、第2层(数据链路层)、第7层(应用层)。
因为现场总线通常只包括一个网段,因此不需要第3层(传输层)和第4层(网络层), 也不需要第5层(会话层)第6层(描述层)的作用。
方法/步骤3
了解CAN的定义内容
方法/步骤4
根据需要定义网络上的通信约定
CAN 只定义物理层和数据链路层,没有规定应用层,本身并不完整,需要一个高层协议来定义 CAN 报文中的 11/29 位标识符、8 字节数据的使用。
方法/步骤5
CAN规定的物理电平特征
方法/步骤6
CANopen 协议被认为是在基于 CAN 的工业系统中占领导地位的标准。
CANOpen在CAN基础上规定了应用层协议。
CANopen与CAN的关系,如图
方法/步骤7
物理结构区别:大多数重要的设备类型,例如数字和模拟的输入输出模块、驱动设备、操作设备、控制器、可编程控制器或编码器,都在称为“设备描述” 的协议中进行描述;“设备描述”定义了不同类型的标准设备及其相应的功能。
依靠 CANopen 协议的支持, 可以对不同厂商的设备通过总线进行配置(仅仅需要描述文件EDS 或DCF)。