随着CAN-bus相关芯片价格的下降,内置CAN控制器MCU的增多,CAN-bus当前已经进入了众多早期由于成本问题无法使用的领域,成为极具生命力的现场总线。今天我们就来探讨如何构建专属自己的CAN-bus应用层协议。
在CAN-bus网络上,CAN报文以广播的形式发送,CAN报文不包含地址信息,是否处理接收到的CAN报文由接收点的软件确定。CAN-bus只提供可靠的报文传输服务,CAN报文的使用由应用者定义, 所以CAN网络中的节点要相互通信就必须制定一个统一的规则。CAN应用层协议就是这样一个规则。
这个规则,定义了CAN报文中帧ID及帧数据的使用方式,如将帧ID定义为需要处理该帧数据的CAN节点地址等。根据应用场合的不同,国际上出现了多种CAN应用层协议,常见的CAN-bus应用层协议如下。
图1
接下来,我们看一下如何构建CAN-bus应用层协议。构建一个现场总线网络,需要解决的关键技术问题有:
•总线传输信息的速度、容量、优先等级、节点容量等;
•高电磁干扰环境下的可靠数据传输;
•最大传输距离时延时大小的确定;