学习目标
1.掌握CAN通信的基本特点
基础知识
一、CAN是什么?
CAN是C0ntr0llerAreaNetW0rk的缩写(以下称为CAN),是IS0国际标准化的串行通信协议。现在,CAN的高性能和可靠性已被广泛认同,并应用于汽车、工业自动化、船舶、医疗设备、工业设备等方面。CAN通信采用的是分时多路传输技术,从而实现不同的数据信息在同一条导线上传输。CAN通信与传统硬线通信相比,主要优势体现在:导线用量大幅度降低;电气线路故障率降低;整车功能拓展变得更加便捷。CAN协议具有以下特点。
(1)多主控制 在总线空闲时,所有的单元都可开始发送消息(多主控制)。最先访问总线的单元可获得发送权;多个单元同时开始发送时,发送高优先级ID消息的单元可获得发送权。
(2)消息的发送 在CAN协议中,所有的消息都以固定的格式发送。总线空闲时,所有与总线相连的单元都可以开始发送新消息。两个以上的单元同时开始发送消息时,根据标识符(Identifier,以下称为ID)决定优先级。ID并不是表示发送的目的地址,而是表示访问总线的消息的优先级。两个以上的单元同时开始发送消息时,对各消息ID的每个位进行逐个仲裁比较。仲裁获胜(被判定为优先级最高)的单元可继续发送消息,仲裁失利的单元则立刻停止发送、进行接收工作。
(3)系统的柔软性 与总线相连的单元没有类似于“地址”的信息。因此在总线上增加单元时,连接在总线上的其他单元的软硬件及应用层都不需要改变。
(4)通信速度 根据整个网络的规模,可设定适合的通信速度。在同一网络中,所有单元必须设定成统一的通信速度。即使有一个单元的通信速度与其他的不一样,此单元也会输出错误信号,妨碍整个网络的通信。不同网络间则可以有不同的通信速度。
(5)远程数据请求 CAN线上的单元可通过发送“遥控帧”请求其他单元发送数据。
(6)错误检测功能、错误通知功能和错误恢复功能 所有的单元都可以检测错误(错误检测功能)。检测出错误的单元会立即同时通知其他所有单元(错误通知功能)。正在发送消息的单元一旦检测出错误,会强制结束当前的发送。强制结束发送的单元会不断反复地重新发送此消息直到成功发送为止(错误恢复功能)。
(7)故障封闭 CAN可以判断出错误的类型是总线上暂时的数据错误(如外部噪声等),还是持续的数据错误(如单元内部故障、驱动器故障、断线等)。当总线上发生持续数据错误时,可将引起此故障的单元从总线上隔离出去。
(8)连接 CAN总线是可同时连接多个单元的总线。可连接的单元总数理论上是没有限制的。但实际上可连接的单元数受总线上的时间延迟及电气负载的限制。降低通信速度,可连接的单元数增加;提高通信速度,则可连接的单元数减少。
二、总线拓扑图
图14-1所示是用于乘用汽车的总线拓扑图。在该实例应用中,设有传输速率500kbit/S(波特率)和125kbit/S两条CAN总线。
每条CAN线采用双绞线(即AN-H和CAN-L缠绕在一起,图14-2),这有利于降低电磁干扰。
三、CAN和标准规格
针对不同的应用类型,CAN通信有不同的协议标准。表14-1列出了不同CAN通信协议的主要应用方向。
四、CAN总线数据
如图14-3所示,CAN总线中无数据(隐性)时,CAN-H和CAN-L的对地电压均为2.5V;CAN线中有数据传输(显性)时,CAN-H对搭铁电压为3.5V,CAN-L对搭铁电压为1.5V。
图14-1 乘用汽车应用的CAN网络
图14-2 CAN通信双绞线
表14-1 不同CAN通信协议的应用方向(www.daowen.com)
CAN线中的数据信号波形是脉宽不断变化的脉冲序列(图14-4)。将CAN-L的波形垂直翻转,便与CAN-H波形完全重合,这说明CAN-H和CAN-L数据完全一致。当其中一条线路发生某些故障时,另一条线路能够单独完成数据传输。这种双线传输模式,提高了可靠性。
CAN-H和CAN-L波形的对称性,使得任一瞬间CAN-H和CAN-L电压的平均值保持不变,均为2.5V,这可以有效抑制电磁干扰、提高数据传输的可靠性。
图14-3 CAN数据信号的显性与隐性
图14-4 CAN数据波形
五、J1939概述
SAEJ1939(以下简称J1939)是美国汽车工程协会(SAE)的推荐标准,适用于中重型道路车辆的电子部件间通信。
J1939基于德国博世公司开发的控制器局域网络(即CAN:C0ntr0llerAreaNetW0rk),通信速率可达到250bit/S。它描述了重型车辆现场总线的一种网络应用,包括CAN网络物理层定义、数据链路层定义、应用层定义、网络层定义、故障诊断和网络管理。在SAEJ1939协议中,不仅指定了传输类型、报文结构及其分段、流量检查等,而且报文内容本身也做了精确的定义。目前,J1939在商用车辆、舰船、轨道机车、农业机械和大型发动机中应用广泛。
1.物理层的基本要求
J1939物理层要求,在特定网段上ECU的最大数目定为30;总线主干线长度不超过40m;支线长度不大于1m;主干线的两个终端各设一个120Ω的终端电阻。
J1939有屏蔽双绞线和非屏蔽双绞线两个物理层通信协议。SAE1939-11(物理层—屏蔽双绞线)要求设有屏蔽线,终端电阻必需置于控制单元之外。SAE1939-15(物理层—非屏蔽双绞线)用于非屏蔽双绞线CAN通信,该协议对终端电阻没有严格限制,终端电阻既可以装于控制单元内部,也可以置于外部。
2.诊断故障码定义
J1939定义:诊断故障码(DTC)由4个独立域构成,这4个部分是。
①可疑参数的编号(SPN)19位(二进制)。
②故障模式标志(FMI))5位(二进制)。
③发生次数(0C)7位(二进制)。
④可疑参数编号的转化方式(CM))1位(二进制)。
这些独立的参数不是一个单独的数,而是一组描述故障的信息。
提示:一些车辆可以通过仪表读取ECU或其他控制单元当前故障的可疑参数编号SPN和故障模式号FMI,然后查阅相关资料、获取故障信息,可帮助诊断故障。
你学会了吗?
1.与传统硬线通信相比,CAN通信具有哪些优势?
2.J1939对诊断故障码是如何定义的?
免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。