CAN通信

CAN通信

11898协议

ISO 11898-1:2015 协议详细定义了CAN网络报文的格式,包含了传统CAN与CANFD帧格式。

边界条件

  1. 速率最大1Mbit/s
  2. 通信长度40米
  3. 终端电阻120欧,防止反射。
  4. 32个节点

物理构成

在这里插入图片描述

控制器

如果需要接受大量数据,则需要带有缓存,否则不需要。

收发器
  1. 作用为了防止高电压破坏MCU芯片。
  2. 低速率0~125k,不需要终端电阻。隐性位:CANL比CANH高5V,显性位:CANH比CANL高2V。
  3. 高速率0~1M,需要终端电阻。隐形位:CANH和CANL电位相同,显性位:CANH比CANL高2V。
  4. 抗干扰能力:8kv esd保护。推荐增加共模扼流圈。
总线逻辑

隐性电平为1,显性电平为2,多节点同时发送时,遵行线与逻辑。

通讯

  1. 去中心化,分布式原则
  2. 事件驱动(时间触发机制)
  3. 通信矩阵

帧格式

传统帧格式

1位sof:网络节点同步。

11位id:数字越低优先级越高。

1位rtr:远程帧, 远程传输请求,该标志用于区分数据帧0还是远程帧1报文。数据帧优先级高于远程帧。

1位ide:扩展帧标识符,扩展帧的id可以有29位,同一个网络,标准帧和扩展帧只有一个。

1位r:传统扩展帧里面的保留位。

4位dlc:规定数据场长度,数据最大8个字节。

16位crc:校验场计算sof到dlc数据,15位校验位+1位界定符。

2位ack:应答位,用于指示CAN报文已经被目标节点接收,收到显性位验证。

7位eof:结束标志,7位隐性位。

3位itm:帧间隔,等待帧间隔后才能发消息。

在这里插入图片描述

扩展帧格式

在这里插入图片描述

扩展帧标识符扩展了18位,可以容纳更多的设备。
CAN FD帧和CAN帧:两种帧的相同与区别

总线同步

首次同步sof发起

NRZ编码,没有时钟线

重同步:位填充机制,不予许发送5个相同的电平,会在中间插入1个相反的电平。利用隐性位到显性位的边沿进行重同步。

总线竞争

多个节点在同一个时间点发消息的问题

通过id进行竞争,每个节点在进行发送时会对总线电平进行监控,如果自己id号是1隐性,而总线是0显性,说明自己优先级不够,如果检测到总线信号和自己id号相同则获得发送权,这是能够实现通过id来进行竞争的原因

数据保护

物理上emc

NRZ编码减少干扰发射

双绞线canh canl差分信号消除共模干扰

终端电阻消除电缆高频传输时传输末端的反射

总线逻辑错误检测机制

位填充stuffcheck

帧格式formcheck(crc,ack,eof)

显性隐形bit monitoring

错误处理机制

错误帧,发6个显性电平,总线最多会产生12个显性电平,监测到总线恢复到隐性电平后,发送8个位隐性电平代表错误结束。

错误跟踪机制

鉴别是否是永久性的错误,如果错误太多会进入总线丢失状态。只有重启或接收128*11位的隐性位之后,才回到总线工作。发送错误计算器,接收错误计算器。

成功发送一条消息,计数器减一

发送错误计算器,检测到错误,如果是发送方,+8

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值