当前位置: 首页 >应用方案 >技术应用 >

详细介绍CAN协议究竟是什么

一、CAN协议简介

CAN协议,是Controller Area Network 的缩写,最初这个协议是由汽车行业提出的,因为随着汽车行业智能化的发展,汽车内部越来越多的电子仪器,使得信号线布线越来越繁杂,迫切地需要一种简单且可以挂载多个设备的总线协议出现,来解决这一问题。于是在上世纪80年代末提出后,迅速发展并且于几年后的1993年,正式成为ISO11898ISO11519两种国际标准协议(这两种分别是高速应用和低速应用)。

既然前面提到是由汽车行业提出,并且在后来应用中发展到其他行业的标准协议,那他就必须解决汽车行业,内部电子系统通信的痛点,也就是既需要通讯总线的数据线少,又需要总线能够挂载多个设备,通讯之间的延迟不能大,还要具有能够在复杂环境工作的能力(也就是所谓的抗干扰能力强),那么到底是如何实现的呢?


二、CAN协议信号传输机制详解

首先,最重要的就是CAN协议使用的两线制(CANH/CANL)差分信号,了解485协议的应该大致明白查分信号的意义,也就是由两线的电压差来表示逻辑0/1,从而传达数据,差分信号最大的好处就是抗干扰,因为干扰会导致两线的电平发生类似变换,比如一个干扰在某一刻导致其中一条数据线电压上升20mv,那么双绞线中的另外一根数据线也会受到相同影响,但是两线之间的电压差是并没有发生改变的,也就是并不会影响数据的正确性。同时两线制由于数据线少,也就兼备了布线简洁和低成本的特点。

1  CAN协议


CAN的总线通信是通过5种类型的帧来进行的,分别是:

(1) 数据帧 :- 用于发送单元向接收单元传送数据的帧。

2  CAN协议


(2) 遥控帧: - 用于接收单元向具有相同 ID 的发送单元请求数据的帧。

3  CAN协议


(3) 错误帧: - 用于当检测出错误时向其它单元通知错误的帧。

4  CAN协议


(4) 过载帧: - 用于接收单元通知其尚未做好接收准备的帧。

5  CAN协议


(5) 帧间隔: - 用于将数据帧及遥控帧与前面的帧分离开来的帧。

6  CAN协议


CAN总线是由信息仲裁过程的,当所有的设备都接入到CAN总线上,前文说过,CAN总线是要能够满足多设备挂载的,那么就需要有一个完善的机制处理多个设备的信息收发。当总线处于空闲时,最先发消息的单元将得到向总线发布信息的发送权,而多个单元同时发送数据时,会从仲裁段的第一位开始仲裁,呈现显性电平越多,则拥有更高的优先级。

7  CAN协议

当总线上出现相同ID的数据帧和遥控帧时,仲裁段的最后一位,也就是RTR位为显性电平的数据帧将享有优先权。

8  CAN协议

当总线上出现相同ID的遥控帧或者扩展格式的数据帧在时,标准格式的 RTR 位为显性位的将享有优先权。

9  CAN协议

今天的分享就到这里啦,EBYTE每一天都致力于更好的助力物联化、智能化、自动化的发展,提升资源利用率,更多CAN总线模块和CAN总线网关产品的更多资料,感兴趣的小伙伴可以登录我们的亿佰特官网进行了解,也可以直接拨打400电话咨询技术专员!


相关阅读:

1、can总线控制器局域网串行通信协议详解

2、CAN总线常见问题说明及汇总

3、CH32FV系列32位CAN硬件过滤器应用说明

4、CAN总线协议的技术详解与应用



亿佰特官网 4000-330-990

https://www.wjx.cn/jq/84863372.aspx