一、什么是 CAN bus ?
CAN
CAN ( Controller Area Network 控制器局域网), bus ( 总线),CAN bus 即为CAN总线,也可直接称为CAN,是一种用于实时应用的串行通讯协议的总线。
主要应用
早期是由德国博世公司在20世纪80年代专门为汽车行业开发的一种串行通信总线,主要用于汽车中各种不同元件之间的通信,由于具有很高的实时性能和应用范围,才逐渐在航空业、工业控制、安全防护等领域中广泛应用。
CAN bus 特点
完整性的串行数据通讯、传输速率最高可达1Mb/s、传输距离最远可达10kM(传输速率为5Kb/s),支持实时传输、具有11位的寻址及检错能力。
二、CAN bus 主要的协议种类
CAN 2.0A & CAN 2.0B
最基本的CAN协议。
CAN 2.0A :定义标准的11位标识符
CAN 2.0B :扩展至29位标识符
J1939
针对货车和大客车的协议, 主要用于柴油引擎和其他重型设备的通信。
CANopen
基于CAN的高层协定, 主要用于自动化和工业控制领域,
提供设备描述、服务和通讯。
CAN FD
传统CAN的扩展, 可在同一讯息中传送更多的数据(最多64字节)
并支持更高的传输速率, 使数据传输更加灵活和高效。
DeviceNet
基于CAN 的协定, 常用于工业自动化, 提供简化的装置间通讯
三、CAN 通讯协议的标准
ISO 11898 : CAN通讯协议的标准
● ISO 11898-1 涵盖软体部分的数据链路层(CAN 2.0A/B)
● ISO 11898-2 涵盖硬件部分高速的实体层
● ISO 11898-3 涵盖硬件部分低速及容错功能的实体层
四、CAN bus 架构
● 总线架构 : 所有节点连接到同一条总线上
● 数据传输 : 支持多个节点同时发送和接收数据
● 讯息格式 : 包括标识符、数据长度码、数据区域、检查码等
● 仲裁机制 : 当多个节点同时发送时,根据标识符的优先级进行仲裁
※ 节点
节点(nodes)是指任何连接到CAN网络的设备。每个节点都会有一个并且唯一的标识符(ID),相当于节点的身份证。多个节点可同时发送和接收信息,高效地实现多设备之间的相互通讯。
※ 仲裁机制
CAN bus中的每个设备都有各自的ID,依据ID高低,设定优先权。所有设备都有可能同时传送数据,此时仲裁机制就会判断哪个设备可优先发送。
由于CAN bus主要用于汽车中的通信,汽车电脑利用CAN bus 与车上的多个控制单元进行通讯,因此会很多优先权问题,如车上的安全气囊,发生事故的优先权会在最前面,因此仲裁机制判断优先权就变得很重要。
五、CAN bus 的工作原理
车辆上的各种控制单元就好比一家公司有各个部门经理,每个部门经理接收自己部门内员工的工作汇报,经过分析作出决策,并命令该部门的员工去执行。这些控制单元并不是独立工作的,它们需要信息的共享,因此就会有信息传递的问题。
目前在车辆上应用的信息传输形式有两种:
独立的数据线,个别进行传输
如两个控制单元之间有5种信息需传输,则需要5组独立的数据线。因此信息种类越多,数据线的数量和控制单元的针脚数也会相应增加。这些复杂繁多的线束除了会增加车身重量,整车布线也较为困难。
所有信息仅通过两根数据线进行传输
CAN bus 就是以此种方式传输,所有的信息无论信息容量大小,都可通过两条数据线传输,提高整个系统的运行效率,并可减少车上电线的数量,同时也简化了整车的布线。
六、CAN bus 的特点
不需要主机(Host)控制通讯,允许多个微控制器或设备直接互相通讯
安全可靠,具备侦错及防干扰能力
具备优先权判别的仲裁机制,按照重要性的优先级传达指令
多主端,任一节点均可自由传输讯息至另一节点
简化配线的复杂度,减少造成错误的发生机会
具有高扩展性 、高可靠度且低成本等特性
优点
高效能 (High Efficiency) : 传输速率高达1 Mbps
错误检测 (Error Detection) : 内建多种错误检测机制
灵活度 (Flexibility): 支持多达110个节点
实时性 (Real-time Performance) : 实时传输数据
缺点
传输距离有限 :传输距离40m(通信速率1Mbps),传输距离最远可达10km(通信速率5kbps)
数据带宽受限 (有限的数据速率)
七、CAN bus 的应用
由于 CAN bus 的高可靠、高安全性及卓越的效能特性,常被应用于控制器间的数据传输及控制,尤其是严格要求稳定与安全的工业应用,如:
航空电子
车辆
医疗仪器
工业自动化
机器人
轨道交通
军工
在汽车和工业自动化应用中,使用CAN bus通讯尤为普遍。
八、结语
本文解析车载CAN BUS通讯,采用 Cincoze DV-1100 x Cervoz CAN Modular,硬件配置资讯如下:
工控机型号:德承 Cincoze DV-1100
CPU:Intel® Core® i7-14700
内存:DDR5 5600 MHz 32GB
存储:SSD 1TB
CAN卡:Cervoz MEC-CAN-2814i