【自动驾驶】CAN入门介绍
时间:2022-09-08 10:30:01
参考链接: https://blog.csdn.net/u012846795/article/details/121014117
https://blog.csdn.net/weixin_44502943/article/details/120511993
一、背景
随着汽车电气设备的增加,相应的电气节点急剧增加(数千个高端汽车节点),通信协议需要太多的线束。减少线束,支持更多节点的协议。
二、发展
1、CAN ( Controller Area Network ) 即局域网络控制器。由于其高性能、高可靠性和独特的设计,CAN人们越来越重视它。CAN起初是德国的BOSCH公司设计了汽车监控系统。现代汽车越来越多地采用电子设备控制,如发动机定时、注油控制、加速和制动控制(ASC)复杂的抗锁制动系统(ABS)等待这些控制需要检测和交换大量数据硬接信号线不仅麻烦昂贵,而且难以解决问题。CAN总线很好地解决了上述问题。
2、1983-1986年 大众与Bosch制定 软件协议,由Intel 生产控制器。
3、1990年 首次用于汽车 奔驰 S级 12 气缸发动机机。
4、1991年9月,NXP制定并发布半导体公司CAN技术规范CAN2.0A/B,其中CAN2.0A协议规范定义了标准帧格式,CAN2.0B扩展帧格式定义为协议规范。
5、1993年11月,ISO组织正式发布CAN国际标准ISO11898(高速应用,数据传输速率小于1Mbps)和ISO11519(低速应用,数据传输速率小于125Kbps)。
6、1996年 用于奥迪 A8 D2自动变速器 3.7升 V8 01V AG5的汽车。
7、1997年 用于帕萨特 B5 AG。
8、1998年 用于宝来和高尔夫 A4 AG。
9、VAN Bus 菲利普产品用于标志、雷诺、雪铁龙等。
10、J1850-HBCC 用于福特、莫托罗拉产品。
11、J1850-DLC 莫托罗拉产品用于通用。
三、特点
CAN是Controller Area Network 缩写(以下简称CAN),是ISO国际标准化串行通信协议。1986年,德国电商博世公司 年率先提出。CAN 通过ISO11898 及ISO11519 标准化。现在是欧洲汽车网络的标准协议。
CAN协议经过ISO标准化后有两个标准:ISO11898标准和ISO11519-2标准。其中ISO11898是125Kbps~1Mbps和ISO11519-2针对125Kbps以下低速通信标准。
CAN可靠性高,广泛应用于汽车电子、工业自动化、船舶、医疗设备、工业设备等领域。
CAN协议的特点:
- ① 多主控制。
当总线有空时,所有单元都可以发送消息,当两个以上单元同时开始发送消息时,根据标识符号(ID,非地址)决定优先级。当两个以上单位同时开始发送消息时,每个消息都会发送ID
对每个人进行逐一的仲裁比较。仲裁获胜(优先级最高)的单位可以继续发送信息,仲裁失败的单位可以立即停止发送并接收。 - ② 柔软的系统。
连接总线的单元没有类似地址的信息。因此,在总线上添加单元时,不需要更改连接到其他单元的软硬件和应用层。 - ③ 速度快,距离远。
最高1Mbps(距离<40M),最远可达10KM(速率<5Kbps)。 - ④ 具有错误检测、错误通知和错误恢复功能。
所有单元都可以检测错误(错误检测功能),检测出错误的单元会立即同时通知其他所有单元(错误通知功能),正在发送消息的单元一旦检测出错误,会强制结束当前的发送。强制结束发送的单元会不断反复地重新发送此消息直到成功发送为止(错误恢复功能)。 - ⑤ 故障封闭功能。
CAN可以判断错误的类型是总线上的临时数据错误(如外部噪声等)还是连续数据错误(如单元内部故障、驱动器故障、断线等)。因此,当总线上的连续数据错误发生时,导致故障的单元可以从总线上隔离出来。 - ⑥ 多个连接节点。
CAN总线是可以同时连接多个单元的总线。理论上,可连接单元的总数没有限制。但实际上,可连接单元的数量受到总线上时间延迟和电气负载的限制。降低通信速度,增加可连接单元的数量;提高通信速度,减少可连接单元的数量。
ISO11898标准物理层特征:
CAN 控制器根据CAN_L和CAN_H上电位差判断总线电平。总线电平分为显性电平和隐性电平,必须是其中之一。发送人通过改变总线电平将信息发送给接收人。
- 显性电平对应逻辑:0
CAN_H和CAN_L之差为2V左右。- 隐性电平对应逻辑:1
CAN_H和CAN_L之差为0V。
显性电平有优先权,只要有单元输出显性电平,总线就是显性电平。隐形电平具有包容性的含义,只有所有单元输出隐性电平,总线为隐性电平(显性电平强于隐性电平)。此外,在CAN总线的起止端有120个Ω阻抗匹配用于减少回波反射。
四、总线要点
CAN的应用
1. 车载网络构思
2. 应用实例
3. 连接图
CAN协议的基本概念
1. ISO模型与CAN协议
2. ISO11898 和 11519-2 物理层的主要不同点
3. 通信速度和最大总线长度
4. ISO11898、ISO11519-2 物理特征
5. CAN 协议和标准规格
6. 通信协议分类
帧的类型和用途
1. 数据帧
数据帧由七段组成:
(1) 帧开始:表示数据帧开始的段。
(2) 仲裁段:表示帧优先级段。
(3) 控制段:表示数据字节数和保留段。
(4) 数据段:可以发送数据内容 0~8 字节数据。
(5) CRC 段落:检查帧输错误段。
(6) ACK 段:表示确认正常接收段。
(7) 帧结束:表示数据帧结束的段。
2. 遥控帧
遥控帧由六段组成:
(1) 帧起始(SOF):表示帧开始的段落。
(2) 仲裁段:表示帧优先级段。请求相同 ID 的数据帧。
(3) 控制段:表示数据字节数和保留段。
(4) CRC 段落:检查帧输错误段。
(5) ACK 段:表示确认正常接收段。
(6) 帧结束:表示遥控帧结束。
3. 错误帧
(1) 错误标志
错误标志包括主动错误标志和被动错误标志。
主动错误标志:6 显性位的个位。
被动错误标志:6 隐藏的位置。
(2) 错误界定符
错误定义符由 8 隐性位构成的个位
4. 过载帧
(1) 过载标志
6 显性位的个位。
过载标志的构成与主动错误标志相同。
(2) 过载界定符
8 隐藏的位置。
过载定义符的构成与错误定义符相同。
5. 帧间隔
帧间隔是用来分隔数据帧和遥控帧的帧。数据帧和遥控帧可以通过插入帧间隔将该帧与前任何帧(数据帧、遥控帧、错误帧和过载帧)分开。
帧间隔不能插入到过载帧和错误帧之前。
(1) 间隔
3 隐藏的位置。
(2) 总线空闲
无长度限制的隐性电平(0 也可以)。在这种状态下,可视为总线空闲,要发送的单元可以开始访问总线。
(3) 延迟传输(暂停发送)
8 个位的隐藏位置。只包含在被动错误状态下的帧间隔中。
五、补充
1. 信号传输技术数据
(1)CAN bus最高传播速度:1 Mbps
(2)ISO 分类:
低速型 低于10 kbps (用于后视镜调整、电动窗、照明、雨刷等。LIN总线)
高速型 125 kbps -1Mbps (用于发动机控制、ABS、传动控制等)
(3)最多接入控制单元数:32个
(4)通用版本:Bosch CAN 2.0
2. 干扰问题
(1)两条数据线相互缠绕,防止电磁波干扰和向外辐射,规定绞距20mm。
3. can收发器接口
(1)常用三种接口器件
M12小型连接器、OPEN5连接端子、DB9插座
4. 显性电平和隐性电平
总线上的电平有显性电平和隐性电平两种。
总线上执行逻辑上的线“与”时,显性电平的逻辑值为“0”,隐性电平为“1”。“显性”具有“优先”的意味,只要有一个单元输出显性电平,总线上即为显性电平。并且,“隐性”具有“包容”的意味,只有所有的单元都输出隐性电平,总线上才为隐性电平。(显性电平比隐性电平更强。)