看不懂的知识硬着头皮也要看。读了当时虽然不理解,但脑子里对其相关名词、概念有印象,继续看下去,多读几遍,一定会在某个地方顿悟。
CAN总线只是定义了物理层和数据链路层,并没有定义应用层。这么优秀的总线,在各个厂家推广使用的时候,会出现总线上各家的通信协议不能够相互兼容、交流。为了解决这通信格式统一,Cia像秦朝统一度量衡一样推出CANopen协议。
CANopen,是一种通信协议,不仅定义了通信数据帧的定义,包括头、功能码、数据、CRC、结束等,还把各种设备强制定义成“类”。例如,IO设备、电机、起重机等,把这些常用的设备的参数结构都定义好,使用OD把设备功能标准化,使用电子数据文档(EDS)和设备配置文件(DCF)对设备及其配置进行标准化的描述。CANopen协议中定义的设备参数和通信数据,基本包含不同厂家的基本参数和功能,如果厂家有特殊功能,还可以在CANopen协议基础上进行扩展。
CANopen因为其帧的体质:短、小携带信息少,适合于小型网络系统,例如汽车等。