前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >CAN协议详解

CAN协议详解

作者头像
全栈程序员站长
发布2022-09-14 16:57:02
1.5K0
发布2022-09-14 16:57:02
举报
文章被收录于专栏:全栈程序员必看

大家好,又见面了,我是你们的朋友全栈君。

基础知识

一、背景

1、随着车用电气设备增加,对应的电气节点剧增(高档车节点有上千之多),一般的通信协议需要的线束太多。需要减少线束,支持更多节点的协议。

ECU分布
ECU分布

二、发展

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 用于通用,莫托罗拉公司产品。

三、总线优点

1、数据传递更安全可靠; 2、低成本(通信介质可采用双绞线,同轴电缆和光导纤维,一般采用廉价的双绞线即可,无特殊要求); 3、高速实时传递; 4、有条件实现单线功能; 5、适用于各种汽车; 6、开放的标准。

四、总线要点

1、CAN的应用

(1)车载网络构想

车载网络构想
车载网络构想

(2)应用实例

应用实例
应用实例

(3)连接图

CAN连接图
CAN连接图

2、CAN协议基本概念

(1)ISO模型与CAN协议

ISO与CAN
ISO与CAN

(2)ISO11898 和 11519-2 物理层的主要不同点

ISO11898 和 11519-2 物理层的主要不同点
ISO11898 和 11519-2 物理层的主要不同点

(3)通信速度和最大总线长度

通信速度和最大总线长度
通信速度和最大总线长度

(4)ISO11898、ISO11519-2 的物理层特征

ISO11898、ISO11519-2 的物理层特征
ISO11898、ISO11519-2 的物理层特征

(5)CAN 协议和标准规格

CAN 协议和标准规格
CAN 协议和标准规格

(6)通信协议分类

通信协议分类
通信协议分类

3、CAN协议

帧的种类及用途

在这里插入图片描述
在这里插入图片描述

(1)数据帧

A、数据帧的构成
数据帧的构成
数据帧的构成

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

(2)遥控帧

A、遥控帧的构成
在这里插入图片描述
在这里插入图片描述

遥控帧由6个段构成,分别是: (1) 帧起始(SOF):表示帧开始的段。 (2) 仲裁段:表示该帧优先级的段。可请求具有相同 ID 的数据帧。 (3) 控制段:表示数据的字节数及保留位的段。 (4) CRC 段:检查帧的传输错误的段。 (5) ACK 段:表示确认正常接收的段。 (6) 帧结束:表示遥控帧结束的段。

(3)错误帧

A、错误帧的构成
在这里插入图片描述
在这里插入图片描述

(1) 错误标志 错误标志包括主动错误标志和被动错误标志两种。 主动错误标志:6 个位的显性位。 被动错误标志:6 个位的隐性位。 (2) 错误界定符 错误界定符由 8 个位的隐性位构成

(4)过载帧

A、过载帧的构成
在这里插入图片描述
在这里插入图片描述

(1) 过载标志 6 个位的显性位。 过载标志的构成与主动错误标志的构成相同。 (2) 过载界定符 8 个位的隐性位。 过载界定符的构成与错误界定符的构成相同。

(5)帧间隔

A、帧间隔的构成
在这里插入图片描述
在这里插入图片描述

帧间隔是用于分隔数据帧和遥控帧的帧。数据帧和遥控帧可通过插入帧间隔将本帧与前面的任何帧(数据帧、遥控帧、错误帧、过载帧)分开。 过载帧和错误帧前不能插入帧间隔。 (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”。“显性”具有“优先”的意味,只要有一个单元输出显性电平,总线上即为显性电平。并且,“隐性”具有“包容”的意味,只有所有的单元都输出隐性电平,总线上才为隐性电平。(显性电平比隐性电平更强。)

六、参考

1、《上海大众帕萨特CAN数据总线的结构原理》 2、《CAN 入门书》 作者 瑞萨科技 3、CAN总线要点

代码语言:javascript
复制
                                </div><div><div></div></div>
            <link href="https://csdnimg.cn/release/phoenix/mdeditor/markdown_views-60ecaf1f42.css" rel="stylesheet">
                            </div>
</article>

发布者:全栈程序员栈长,转载请注明出处:https://javaforall.cn/154141.html原文链接:https://javaforall.cn

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 基础知识
  • 一、背景
  • 二、发展
  • 三、总线优点
  • 四、总线要点
    • 1、CAN的应用
      • (1)车载网络构想
      • (2)应用实例
      • (3)连接图
    • 2、CAN协议基本概念
      • (1)ISO模型与CAN协议
      • (2)ISO11898 和 11519-2 物理层的主要不同点
      • (3)通信速度和最大总线长度
      • (4)ISO11898、ISO11519-2 的物理层特征
      • (5)CAN 协议和标准规格
      • (6)通信协议分类
    • 3、CAN协议
      • 帧的种类及用途
      • (1)数据帧
      • (2)遥控帧
      • (3)错误帧
      • (4)过载帧
      • (5)帧间隔
  • 五、补充要点
    • 1、信号传输技术数据
      • 2、干扰问题
        • 3、can收发器接口
          • 4、显性电平和隐性电平
          • 六、参考
          领券
          问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档