附件:文档原件github

CAN总线简介

CAN(Controller Area Network,控制器局域网络) 属于工业现场总线的范畴。最初CAN总线是由德国的Bosch(博世)
公司为汽车监测,系统控制而设计的。由于其高性能,高可靠性及独特的设计,CAN总线越来越受到人们的重视。它在汽车领域得到广泛的应用,世界上几乎所有的汽车制造厂商都在使用。

CAN总线简史

CAN总线的发展历史在很大程度上代表着车载网络从产生到普及的过程,以下为总线发展的5个关键阶段。
1983年,德国的Bosch公司开发设计了CAN总线协议。
1987年,第一块CAN控制器芯片由Intel公司设计成功。
1990年,第一辆应用CAN总线的量产车Mercedes S-Class出现。
1991年,CAN2.0发布。
1993年,CAN成为国际标准ISO 11898(高速应用) 和 ISO11519(低速应用)。

CAN总线的特点

CAN的规范从CAN1.2规范 (标准规范) 发展为兼容CAN1.2规范的CAN2.0规范(CAN2.0A为标准格式,CAN2.0B为扩展格式),目前应用的CAN器件大多符合CAN2.0规范。

CAN总线是一种串行通信协议总线,其通信接口中集成了CAN协议的物理层和数据链路层功能,可完成对通信数据的成帧处理,包括位填充,数据块编码,循环冗余检验,优先级判别等工作。

CAN总线的特点主要如下:
1)可以多主方式工作,网络上任意一个节点可以在任意时刻主动地向网络上地其他节点发送报文消息,不分主从,通信方式灵活。
2)采用无破坏性的基于优先级的逐位仲裁,标识符越小,优先级越高。若两个节点同时向网络上传送数据,优先级高的报文获得总线访问权,优先级低的报文会在下一个总线周期自动重发。
3)可以采用点对点,点对多及全局广播等传送方式收发数据。
4)直接通信距离可达到10Km(速率 5kb/s以下)。
5)通信速率最高可达1Mb/s (此时距离最长40米)。
6)节点数实际可达110个。
7)每帧信息都有CRC校验及其他检错措施,数据出错率极低。
8)通信介质可采用双绞线,同轴电缆和光导纤维,一般采用廉价的双绞线即可。
9)节点在错误严重的情况下,具有自动关闭总线的功能,以切断它与总线的联系,使总线上的其他操作不受影响。

CAN的两种标准介绍

CAN 协议经 ISO 标准化后有 ISO11898 标准和 ISO11519-2 标准两种。
ISO11898 和 ISO11519-2 标准对于数据链路层的定义相同,但物理层不同。

(1) 关于 ISO11898
ISO11898 是通信速度为 125kbps-1Mbps 的 CAN 高速通信标准。
目前, ISO11898 追加新规约后,成为 ISO11898-1 新标准。

(2) 关于 ISO11519
ISO11519 是通信速度为 125kbps 以下的 CAN 低速通信标准。
ISO11519-2 是 ISO11519-1 追加新规约后的版本。
下图表示 CAN 协议和 ISO11898 及 ISO11519-2 标准的范围。

(3)物理层的不同点
如上图所示, ISO11898 和 ISO11519-2 在 CAN 协议中物理层的标准有所不同。 CAN 协议的物理层如下图所示,定义了三个子层, ISO11898 和 ISO11519-2 在物理层中的 PMA 层和 MDI 层有所不同。


CAN总线网络结构

CAN总线网络为半双工总线(同一时刻只能接收和发送数据)。

1,闭环总线网络

1)概述
can闭环通讯网络是一种遵循ISO11898标准的高速,短距离网络,它的总线最大长度40米,通信速度最高1Mbps,总线的两端各要求有一个120Ω的电阻
2)工作流程
->节点1的can控制器发送数据,通过CAN_Tx线传输至CAN收发器1
-> 差分成CAN高和CAN低两种信号至can总线上
-> 通过数据帧的参数传输至指定的节点N的收发器
-> 通过节点N的CAN_Rx传输至节点N的控制器解析

2,开环总线网络

1)概述
can开环总线网络是遵循ISO11519-2标准的低速,远距离网络,最大传输距离1KM,最高传输速率125kbps,两根线是独立的,不形成环路,要求每根总线上各串联个2.2千欧的电阻

2)工作流程
->节点1的can控制器发送数据,通过CAN_Tx线传输至CAN收发器1
-> 差分成CAN高和CAN低两种信号至can总线上
-> 通过数据帧的参数传输至指定的节点N的收发器
-> 通过节点N的CAN_Rx传输至节点N的控制器解析

那么!数据是以怎样的形式传输的呢?传输过程中数据是否会收到干扰?下面接着解答

数据是以差分信号传输的,差分信号又称为差模信号,与传统使用单根信号线电压表示逻辑的方式有区别,使用差分信号传输时,需要两根信号线,这两个信号线的振幅相等,相位相反,通过两根信号线的电压差值来表示逻辑0和逻辑1

优点:
1)抗干扰能力强,当外界存在噪声干扰时,几乎会同时耦合到两条信号线上, 而接收端只关心两个信号的差值,所以外界的共模噪声可以被完全抵消。

2)能有效抑制它对外界的电磁干扰,同理,由于两根信号的极性相反,它们对外辐射的电磁场可以相互抵消,耦合的越紧密,泄放到外界的电磁能量越少。

3)时序定位精确,由于差分信号的开关变化是位于两个信号的交点,而不像普通单端信号依靠高低两个阈值电压判断,因而受工艺,温度的影响小,能降低时序上的误差,同时也更适合于低幅度信号的电路。

4)由于差分信号线具有这些优点,所以在USB协议,485协议,以太网协议及CAN协议的物理层中,都使用了差分信号传输。

CAN协议对它使用的CAN_High和CAN_Low表示的差分信号做了规定:
以高速CAN为例,当表示逻辑1时(隐性电平),CAN_High和CAN_Low线上的电压均为2.5V,即他们的电压差是0V;而表示逻辑0时(显性电平),CAN_High的电平是3.5V,CAN_Low的电平是1.5V,即电压差是为2V…

CAN协议层

-规定了数据通讯逻辑
1,CAN的报文种类及结构(主要讲数据帧)
数据帧以一个显性位(帧起始SOF,逻辑0)开始,以7个连续的隐性位(帧结束EOF,逻辑1)结束。
在它们之间,分别有仲裁段,控制段,数据段,CRC段和ACK段。


下面一起来拆分数据帧

1)数据帧-帧起始(SOF段)

SOF信号只有一个数据位,是一个显性电平,它用于通知各个节点将有数据传输,其他节点通过帧起始信号的电平跳变沿来进行硬同步。

2)数据帧-仲裁段
(当IDE为0时,表示标准标准格式帧。为1时,表示扩展帧)

当同时有两个报文被发送时,总线会根据仲裁段的内容决定哪个数据包能被传输。

仲裁段ID的优先级也影响着接收设备对报文的反应。因为在CAN总线上数据是以广播的形式发送的,
所有连接在CAN总线的节点都会收到所有其他节点发出的有效数据,因而CAN控制器大多具有根据ID过滤报文的功能,
它可以控制自己只接收某些ID的报文。

3)数据帧-RTR,IDE,SRR

当RTR=逻辑0时,表示数据帧;=逻辑1时,表示遥控帧。
当IDE=0时,表示标准帧,1表示扩展帧。

4)数据帧-控制段

在控制段中的r1和r0为保留位,默认设置为显性位。它最重要的是DLC段(Data Length Code),数据长度码,它由四个数据位组成,用于表示本报文中的数据段含多少个字节,DLC段表示的数字是0~8 (因为数据段的大小是0到8字节大小)。

5)数据帧-数据段

数据段为数据帧的核心内容,它是节点要发送的原始信息,由0到8字节组成。

6)数据帧-CRC段

为了保证报文的正确传输,CAN的报文包含了一段15位的CRC校验码,一旦接收节点算出的CRC码和接收到的CRC码不同,则它会向发送节点反馈错误信息,利用错误帧请求它重新发送报文。CRC部分的计算一般由CAN控制器硬件完成,出错时的处理则由软件控制最大重发数。 在CRC校验码之后,有一个CRC界定符,它是隐性位,主要是把CRC校验码与后面的ACK段间隔开。

7)数据帧-ACK段

ACK段包括一个ACK槽位和ACK界定符位。类似I2C总线,在ACK槽位中,发送节点发送的是隐性位,而接收节点则在这一位中发送显性位以应答。在ACK槽和帧结束之间由ACK界定符间隔开。

8)数据帧-EOF段

CAN波特率和位同步

由于CAN属于异步通讯,没有时钟信号线,连接在同一个总线网络中的各个节点会像串口异步通讯那样,节点之间使用约定好的波特率进行通讯,特别地,CAN还会使用位同步的方式来抗干扰,吸收误差,实现对总线电平信号进行正确的采样,确保通讯正常。

位时序分解
为了实现位同步,CAN协议把每一个数据位的时序分解成SS段,PTS段,PBS1段,PBS2段,这四段的长度加起来即为一个CAN数据位的长度。分解后最小的时间单位是Tq,而一个完整的数据位有8~25个Tq组成。

汽车CAN总线入门,通俗易懂相关推荐

  1. 汽车总线系统网络学习之CAN总线入门

    汽车总线系统网络学习之CAN总线入门 第一课 CAN总线入门 第一课 一.CAN总线介绍 CAN总线全称:Controller Area Network (车载网络局域网) 汽车CAN协议,建立在IS ...

  2. can总线报文是固定的吗_新能源汽车CAN总线Bus Off处理流程

    CAN总线由其高可靠和实时性被广泛应用于新能源汽车.轨道交通.医疗.工程机械等行业,本文介绍CAN总线关闭对新能源汽车的功能和安全性能产生的影响,并针对工程师关注的问题,提供有效的解决方案. 2020 ...

  3. can硬件结构和工作原理_汽车CAN总线工作原理及测量方法详解

    点滴分享 ALtium designer 快捷键分享 ctrl+r                      复制并重复黏贴 ctrl+shift+v             只能黏贴 shift+c ...

  4. CAN总线入门、LIN总线入门文档-蓝凑云下载。 LDFEditor下载 ISO-14229、15765、11898下载与阅读

    这两个入门文档: 中文版.讲解得全面又详细,初学者值得一看. 一.CAN总线入门-瑞萨版 1)https://wwe.lanzoui.com/igt4hit08je2)链接:https://pan.b ...

  5. FlexRay汽车通信总线介绍及测试环境

    FlexRay汽车通信总线介绍及测试环境 原文链接:http://www.ulantec.cn/a/xinwen/xingyezixun/8.html 综述 FlexRay通信总线是由多个汽车制造商和 ...

  6. 基于汽车CAN总线专有协议OBD接口的调试方法及经验

    ? 来源:网络收藏? 时间:2016-12-15 就汽车协议调试来说,行业里的人,不会去做,只有个人爱好者去做,某宝上就有.因为车厂指令不同,硬件产品都不一样.有调试方法,把OBD总线上的数据抓下来, ...

  7. 【汽车电子】浅谈汽车四大总线:LIN、CAN、FlexRay、MOST

    目录 1.前言 2.汽车四大总线 2.1 LIN总线 2.1.1 LIN总线概述 2.1.2 LIN总线工作原理 2.2 CAN总线 2.2.1 CAN总线概述 2.2.2 CAN总线工作原理 2.2 ...

  8. A²B汽车音频总线介绍

    A²B使远程I²S/TDM成为可能 I²S是飞利浦公司为数字音频设备之间的音频数据传输而制定的一种总线标准,该总线专责于设备之间的数据传输,广泛应用于各种多媒体系统.I²C是两线式串行总线,用于连接微 ...

  9. can总线rollingcounter_汽车CAN总线详解

    概述 CAN(Controller Area Network)总线协议是由 BOSCH 发明的一种基于消息广播模式的串行通信总线,它起初用于实现汽车内ECU之间可靠的通信,后因其简单实用可靠等特点,而 ...

  10. Analog Devices Inc. A2B(汽车音频总线)

    背景 传统的汽车音频ECU一般通过单独的模拟电缆或现有的数字总线架构来连接,这两者都存在局限性.低效率.及不必要的费用等.使用模拟传输线的汽车音频系统需要专用且昂贵的屏蔽电缆,来传输多通道音频信号.在 ...

最新文章

  1. html5 %3cul 标签,index.html
  2. 004_Bean标签
  3. 01、python数据分析与机器学习实战——Python数据可视化库-Matplotlib
  4. LeetCode 419. 甲板上的战舰
  5. 智能家居产品持续发烧 增值应用功能多样化发展
  6. MyBatis中resuleMap一对一和一对多属性字段映射
  7. 机器人搬运礼盒程序_机器人搬运程序.doc
  8. micropython入门教程-【ESP8266】MicroPython的快速入门教程
  9. KLite 移植说明 V1.0
  10. 在Linux服务器上下载百度云盘中的资料
  11. orcale库表增加一个字段,自动设置为系统默认时间
  12. 湘潭大学c语言大作业难过吗,C语言程序设计参考答案(湘大出版社)
  13. 我是如何一步步获取房东的WiFi后台管理密码的【社工思路】
  14. android 4.4.4最新微信,微信旧版本安卓4.4.4可用
  15. DETR3D 多2d图片3D检测框架
  16. Unity UGUI DoTween 学习笔记
  17. PDF在线免费转换成PPT怎么操作?
  18. 长链接(url)转换为短字符串,再把url和短字符串存数据库(有短域名方案)
  19. 双向绑定 / proxy 代理 整理
  20. 利用nid更改数据库的名称(OCM---OCP)

热门文章

  1. rpm 如何安装mysql_如何使用rpm安装MySQL
  2. 手把手带你将电脑音乐同步到iPhone 音乐
  3. 软件测试案例|移动APP非功能性测试
  4. 打开CMD(Windows命令行)的几种方式
  5. Ubuntu 部署Django, Wagtail,Postgres, Nginx, Gunicorn,Supervisor
  6. linux上打开tif格式图片,tif图片格式介绍及其打开方式
  7. 参考文献在论文中进行引用标注
  8. 计算机网络——数据从网卡到应用的过程
  9. OCR文字识别【前端渲染,后端进行逻辑处理】
  10. 微信云控的大触来一下