CAN总线总结课程.pdf
文本预览下载声明
CAN 总线技术学习(一)
CAN 总线是控制器局域网络 (Controller Area Network,CAN) 的简称,是德国
BOSCH 公司开发, 是国际上应用最广泛的现场总线之一, CAN 总线已成为汽车
计算机和嵌入式工控局域网标准总线。
为了全面了解 CAN 总线,需要先对其有个整体的概念,这中间还有一个小
故事,一个应届毕业生到公司去应聘,负责招聘的经理问他: “你会哪方面的技
术?”,毕业生说: “我会 CAN 总线”,经理疑惑的问: “你会看什么总线?”。
那么什么是 CAN 总线呢?
1、首先 CAN 总线是一种串行总线,不是并行的,是用来传输电子数据的,
就像串口总线、 USB 总线、以太网一样;
2、CAN 总线是半双工传输模式,发的时候不能收,收的时候不能发;
3、CAN 总线使用双线传输,一根定义为 CAN_H, 一根定义为 CAN_L, 使用
差分信号传输(差分信号就是通过计算两线压差) ;
4、CAN 总线的波特率最高可达 1Mbps,传输距离最远 10 公里,传输波特
率和传输距离成反比,波特率越高有效传输距离越短;
5、组网时总线两端 CAN_H 和 CAN_L 之间要分别连接一个 120 欧的终端电
阻(起吸收反射波、高频抗干扰的作用) 。
那么 CAN 总线有什么优势呢?
1、CAN 总线作为现场总线只有两根传输线,比以太网组网简单,成本也低
很多,在不需要大数据量传输的设备通讯上有相当的优势;
2、CAN 总线使用差分信号和屏蔽线传输,抗干扰能力强,数据传输稳定,
因为在某点有干扰时两根信号会被同步干扰, 不会影响信号传输的信息;
3、CAN 总线波特率最高可达 1Mbps,传输速率相对串口快很多,同时总线
协议中加入 CRC 校验,相对于串口的奇偶校验,数据安全性强;
4、CAN 总线使用差分双线传输,易于组网,布线简单;
5、CAN 总线通讯不分主从,网络上每个设备都可以主动发送数据;
6、CAN 总线协议应用非破坏性逐位仲裁机制,即通过发送帧的帧 ID 的大
小作为优先级判断网络上数据发送冲突,优先级高的信息发送,优先级
低的数据停止发送,极大提供总线的利用率;
7、CAN 总线协议设置对发送的自动重发机制,当发送监测到发送冲突时,
停止发送,等总线空闲后自动重发;
8、通过设置总线控制器中验收寄存器和屏蔽寄存器,可以使节点在硬件层
允许接收某些帧或屏蔽接收某些无用帧, 节约单片机 ECU 接收和判断处
理的时间。
综上所述, CAN 总线在设计成本、传输速率、传输稳定性、传输安全性、
易于组网以及总线协议完善设计方面的优势, 使其在现代汽车、 工控局域网络领
域得到广泛的应用。
CAN 总线既然作为一种现场总线,用途就是在不同设备间传输数据,基本
的逻辑框图如图 1 所示:
图 1 CAN总线逻辑框图
CAN总线通讯主要包括:主控制器(一般为单片机) 、CAN总线控制器(图例
为 SJA1000,方框中为一个芯片器件)和收发器,主控制器初始化设置 CAN总线
控制器工作, CAN总线控制器为主要 CAN总线逻辑器件,负责将数据转换为总线
协议串行信
显示全部