您的位置 首页 应用

怎么构建专属自己的CAN-bus应用层协议

随着CAN-bus相关芯片价格的下降,内置CAN控制器MCU的增多,CAN-bus当前已经进入了众多早期由于成本问题无法使用的领域,成为极具生命力的现场总线,今天我们就来探讨如何构建专属自己的CA

  跟着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运用层协议

  构建一个现场总线网络,需求处理的要害技能问题有:

  总线传输信息的速度、容量、优先等级、节点容量等;

  高电磁搅扰环境下的牢靠数据传输;

  最大传输间隔时延时巨细的确认;

  网络的容错技能;

  网络的监控和故障确诊功用。

  要处理以上问题,需求充分考虑现场总线网络所选用的总线类型,由于以上问题和总线的功用特点是密切相关的,那么咱们就看一下CAN-bus总线的上述特性:

  CAN-bus网络传输速度最高可达1Mbps,并选用无损裁定,经过报文标识符指示报文优先级;

  CAN-bus选用差分信号传输,并选用牢靠的数据校验和过错检测机制;

  CAN-bus选用帧传输,每个报文答应传输最多8个字节,帧结构有严厉规矩,能够确认最大传输延时;

  CAN-bus具有牢靠的过错机制和检测机制,发送的信息遭到损坏后能够从头发送;节点在过错严峻的情况下,具有主动退出总线的功用;

  能够经过拟定禁止的CAN-bus运用层协议处理网络监控和确诊。

  CAN报文的分配

  包括报文标识符的分配和报文数据的分配,报文格式的界说,本质是将CAN报文的分配规矩进行具体的描绘。

  报文ID的界说:

  CAN2.0A帧:11位ID

  CAN2.0B帧,29位ID

  报文数据的界说:每帧报文最多包括8字节数据

  CAN网络数据通讯的完成

  在CAN网络中,经过报文的标识符进行信息的区别,因而经过报文的各种标识符分配来到达树立信息链接的意图。

    

  图2 指令/呼应形式通讯

  CAN运用层协议:面向节点和面向报文的协议

  数据通讯协议基本上能够划分为“面向节点的协议”和“面向报文的协议”两种类型,如下图:

    

  图3:面向节点和面向报文的数据通讯

  拟定一个CAN运用层协议

  为了给读者演示CAN运用层协议的开发和运用方法,下面界说一个简略的CAN运用协议栈,该协议栈中只用到CAN规范帧中的数据帧,帧ID中的11个位的分配和运用方法如下表所列,协议中别的还界说了功用参数长度变量FunDataLen的功用参数数组FunData,该数组在需求时能够为某些特定功用函数供给满足的操控参数。

    

  图4

 

 

 

声明:本文内容来自网络转载或用户投稿,文章版权归原作者和原出处所有。文中观点,不代表本站立场。若有侵权请联系本站删除(kf@86ic.com)https://www.86ic.net/yingyong/203448.html

为您推荐

联系我们

联系我们

在线咨询: QQ交谈

邮箱: kf@86ic.com

关注微信
微信扫一扫关注我们

微信扫一扫关注我们

返回顶部