CAN协议详解

CAN协议详解基础知识一、背景二、发展三、总线优点四、总线要点1、CAN的应用(1)车载网络构想(2)应用实例(3)连接图2、CAN协议基本…

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

一、背景

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

2、CAN协议基本概念

(1)ISO模型与CAN协议

ISO与CAN

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

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

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

通信速度和最大总线长度

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

ISO11898、ISO11519-2 的物理层特征

(5)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总线要点

                                </div><div><div></div></div>
            <link href="https://csdnimg.cn/release/phoenix/mdeditor/markdown_views-60ecaf1f42.css" rel="stylesheet">
                            </div>
</article>

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

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

(1)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • 【TCP/IP】IP地址分类和特殊IP地址

    【TCP/IP】IP地址分类和特殊IP地址IP地址是因特网技术中的一个非常重要的概念,IP地址在IP层实现了底层网络地址的统一,使因特网的网络层地址具有全局唯一性和一致性。IP地址含有位置信息,反映了主机的网络连接,使因特网进行寻址和路由选择的依据。 IP地址概述地址是标识对象所处位置的标识符。传输中的信息带有源地址和目的地址,分别标识通信的源结点和目的结点,即信源和信宿。目的地址是传输设备为信息进行寻址的依据。不同的物理…

    2022年4月29日
    69
  • MySQL八股文连环45问,你能坚持第几问?「建议收藏」

    MySQL八股文连环45问,你能坚持第几问?「建议收藏」文人从事多年面试工作,将MySQL面试分享给大家,希望大家顺利拿下offer

    2022年5月18日
    40
  • modbus协议讲解及实现_通俗易懂近义词

    modbus协议讲解及实现_通俗易懂近义词什么是协议在了解什么是Modbus之前,我们先来看下什么是协议协议是一个汉语词汇,读音为xiéyì,意思是共同计议,协商;经过谈判、协商而制定的共同承认、共同遵守的文件。简单地说,在我们的单片机之间互相通信,以及单片机和上位机通信中,规定了不同的内容规范,这个规范是通信的双方都需要遵守的,这样就可以实现两者的通信。而这个协议规范可以有很多种,来适应不同的设备以及通信要求等,我们常见的就有IICSPIUART串口通信协议等等。而Modbus也是一个串行通信协议。什么是RS-485RS-2

    2022年10月9日
    2
  • ubuntu浏览器卡死机_QQ崩溃了怎么办

    ubuntu浏览器卡死机_QQ崩溃了怎么办问题:在Deepin应用商店更新最新的QQ版本后,出现崩溃,卡死现象解决:目录下~/.deepinwine,查找的应用Deepin-QQ路径/drive_c/windows/Fonts下查看是否有字体,笔者发现没有任何字体,把/usr/share/fonts/Fonts_Win下字体复制到这里,也可以在别的地方的fonts问价夹下,拷贝.ttf字体文件到这里,重新启动QQ,问题解决…

    2025年8月28日
    4
  • 简易的倒计时代码_简单的网页代码

    简易的倒计时代码_简单的网页代码在一些活动项目中,大多会涉及倒计时。以下为倒计时代码,供小白参考。关键词:计时器、时间差具体代码如下:&lt;!DOCTYPEhtml&gt;&lt;html&gt; &lt;head&gt; &lt;metacharset="utf-8"/&gt; &lt;title&gt;倒计时代码&lt;/title&gt; &lt;styletype="te

    2022年4月19日
    55
  • 自动关机程序[通俗易懂]

    自动关机程序[通俗易懂]Shutdown命令作用语法参数示例执行作用让我们能够一次关闭或重新启动一台本地或远程计算机。语法shutdown[-a|-s|-f|-i|-l|-r|-h][-m//ComputerName][-tXXX][-d[p:]XX:YY/c”Comment”]参数shutdown-a 取消关机shutdown-s关机shutdown-f 强行关闭应用程序shutdown-i 显示“远程关机”图形用户界面,但必须是Shutdown的第一个

    2022年7月22日
    18

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号