一文带你了解CAN协议 - 趋于完美的通信协议

参考自:

常见的通讯协议总结(USART、IIC、SPI、485、CAN)-CSDN博客

趋近于完美的通讯 CAN总线!4分钟看懂!_哔哩哔哩_bilibili

概念

   CAN 是控制器局域网络(Controller Area Network)的简称, 它是由研发和生产汽车电子产品著称的德国 BOSCH 公司开发的,并最终成为国际标准(ISO11519) , 是国际上应用最广泛的现场总线之一。

  CAN 总线协议已经成为汽车计算机控制系统嵌入式工业控制局域网的标准总线,并且拥有以 CAN 为底层协议专为大型货车和重工机械车辆设计的 J1939 协议。近年来, 它具有的高可靠性良好的错误检测能力受到重视,被广泛应用于汽车计算机控制系统和环境温度恶劣、电磁辐射强及振动大的工业环境。

CAN的优势

CAN总线将汽车内部各电控单元之间连接成一个局域网络,实现了信息的共享,大大减少了汽车的线束。

CAN 物理层

  与 I2C、 SPI 等具有时钟信号的同步通讯方式不同, CAN 通讯并不是以时钟信号来进行同步的,它是一种异步通讯,只具有 CAN_HighCAN_Low 两条信号线,共同构成一组差分信号线,以差分信号的形式进行通讯

CAN的框架图

汽车中的控制器  -  ECU

CAN工作原理

经过can收发器之后普通信号就会转换为差分信号

差分信号逻辑0/1的表示

  • CAN_High - CAN_Low < 0.5V 时候为隐性的,逻辑信号表现为"逻辑1",即高电平。

  • CAN_High - CAN_Low > 0.9V 时候为显性的,逻辑信号表现为"逻辑0",即低电平。

差分优势:

同RS485

1.差分信号抗干扰能力强

2.双绞线缠绕

//为什么抗干扰强可以看这篇的RS485介绍: 通讯协议大全(UART,RS485,SPI,IIC)-CSDN博客

帧格式及差分信号

CAN数据帧的标准格式

CAN的特性总结


 1) 多主控制
  在总线空闲时,所有单元都可以发送消息(多主控制),而两个以上的单元同时开始发送消息时,根据标识符(Identifier 以下称为 ID)决定优先级。ID 并不是表示发送的目的地址,而是表示访问总线的消息的优先级。两个以上的单元同时开始发送消息时,对各消息 ID 的每个位进行逐个仲裁比较。仲裁获胜(被判定为优先级最高)的单元可继续发送消息,仲裁失利的单元则立刻停止发送而进行接收工作。

 2) 系统的柔软性
  与总线相连的单元没有类似于“地址”的信息。因此在总线上增加单元时,连接在总线上的其它单元的软硬件及应用层都不需要改变。

 3) 通信速度较快,通信距离远。最高 1Mbps(距离小于 40M),最远可达 10KM(速率低于 5Kbps)。

 4) 具有错误检测、错误通知和错误恢复功能。所有单元都可以检测错误(错误检测功能),检测出错误的单元会立即同时通知其他所有单元(错误通知功能),正在发送消息的单元一旦检测出错误,会强制结束当前的发送。强制结束发送的单元会不断反复地重新发送此消息直到成功发送为止(错误恢复功能)。

 5) 故障封闭功能。CAN 可以判断出错误的类型是总线上暂时的数据错误(如外部噪声等)还是持续的数据错误(如单元内部故障、驱动器故障、断线等)。由此功能,当总线上发生持续数据错误时,可将引起此故障的单元从总线上隔离出去。

 6) 连接节点多。CAN 总线是可同时连接多个单元的总线。可连接的单元总数理论上是没有限制的。但实际上可连接的单元数受总线上的时间延迟及电气负载的限制。降低通信速度,可连接的单元数增加;提高通信速度,则可连接的单元数减少。

通信协议对比图

参考自:CAN总线协议_can协议-CSDN博客

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值