问:为什么以及什么时候会需要一个像CANOpen的高层协议来替代原始的CAN?
答:CAN自身包含ID的信息帧只能进行最多8个字节的数据交换,一旦设定了某个ID需要用于某一种目的,而且每个信息的内容的字段都要进行指定,那么这就已经在进行高层协议的应用了。
一旦确定了节点数量,信息,和网络变量之间的联系,就需要编写和维护高层协议的内部规格说明书。
在CANOpen里,这些工作都已经完成,比起在现有技术上重新发明,工程师更喜欢利用CANOpen和现有的技术。
由于CANOpen的开放性,甚至可以挑选一些符合应用需要的特性,而忽略一些不希望使用的特点,使用CANOpen可以减少内部规格说明书的编写。
大部分商业CANOpen源代码都支持使用#define的声明方式来选择需要的特性。
CANOpen