参考链接: 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. 数据帧

数据帧由7个段构成,分别是:
(1) 帧起始:表示数据帧开始的段。
(2) 仲裁段:表示该帧优先级的段。
(3) 控制段:表示数据的字节数及保留位的段。
(4) 数据段:数据的内容,可发送 0~8 个字节的数据。
(5) CRC 段:检查帧的传输错误的段。
(6) ACK 段:表示确认正常接收的段。
(7) 帧结束:表示数据帧结束的段。
2. 遥控帧

遥控帧由6个段构成,分别是:
(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总线)
低速型 10 -125 kbps (用于舒适系统、仪表显示等)
高速型 125 kbps -1Mbps (用于发动机控制、ABS、传动控制等)
(3)最多接入控制单元数:32个
(4)通用版本:Bosch CAN 2.0
2. 干扰问题
(1)两条数据线相互缠绕,防止电磁波干扰和向外辐射,规定绞距20mm。
3. can收发器接口
(1)常用三种接口器件
M12小型连接器、OPEN5连接端子、DB9插座
4. 显性电平和隐性电平
总线上的电平有显性电平和隐性电平两种。
总线上执行逻辑上的线“与”时,显性电平的逻辑值为“0”,隐性电平为“1”。“显性”具有“优先”的意味,只要有一个单元输出显性电平,总线上即为显性电平。并且,“隐性”具有“包容”的意味,只有所有的单元都输出隐性电平,总线上才为隐性电平。(显性电平比隐性电平更强。)
2164

被折叠的 条评论
为什么被折叠?



