解析车载CAN BUS通讯:从CAN 总线的工作原理延申至汽车和工业自动化的应用

一、什么是 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


                    
                
                
            
        
浙公网安备 33010602011771号