CAN总线知识总结

CAN总线概念

CAN(Controller Area Network),控制器局域网广泛应用于汽车ECU间网络通信,现也用于其它各类工业控制系统。
CAN网络的一些特点:
串行通信总线
线状总线,任意节点可随时加入和退出总线,不影响总线上其余节点
在这里插入图片描述
低速CAN总线通信速率125kBit/s
高速CAN总线通信速率500kBit/s
广播发送模式,总线上任意节点可以接收总线上的信息
总线访问原则CSMA(载波侦听多路访问),节点自己发送到总线上的信息自己可以监听
NRZ(non-return-to-zero)coding

CAN总线协议基础

CAN总线上以帧为单位传输数据,CAN帧分为数据帧、错误帧、远程帧、过载帧。
数据帧有两种格式,标准帧格式和扩展帧格式,标准帧与扩展帧唯一的不同是标准帧仲裁区是11位ID,扩展帧的仲裁区是29位ID。
在这里插入图片描述
以CAN数据帧的标准帧为例分析帧结构如下:
在这里插入图片描述
帧开始的标志,一个显性位,提供一个下降沿用于硬同步

在这里插入图片描述
仲裁区,11位的CAN ID用于仲裁
CAN ID越小,CAN帧的优先级越高,会获得总线控制权
禁止仲裁区高7位全为隐形,即禁止CAN ID为1111111XXXX,CAN ID范围为0x00-0x7EF
仲裁区的RTR(Remote Transmission Request)一直置显性

在这里插入图片描述
控制区的IDE(Identifier Extension)在标准帧中置显性位,在扩展帧中置隐性位。
r0预留
DLC0-DLC3表示数据区的字节长度,长度最大为8。

在这里插入图片描述
数据区的长度最大为8个字节
需要传输的数据长度在DLC中定义
传输的数据格式为MSB

在这里插入图片描述
CRC(Cyclic Redundancy Check)
CRC区DEL始终置隐性位

在这里插入图片描述
发送节点在ACK位置隐性位,任何收到此报文的节点置显性位,发送节点监听到ACK位被置成显性位,就会知道此条报文被至少一个节点正确的接收到。
ACK区的DEL始终置隐性位。

在这里插入图片描述
连续7个隐性位表示数据帧的结束

在这里插入图片描述
帧间隔为三个连续的隐性位
一般帧间隔期间CAN controller复制报文内容至Rx缓冲器
ACK位之后的ACK结束标志加上EOF加上IFS为11个连续的隐性位

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值