2022年车辆CAN总线概述完整版 2.pdf
《2022年车辆CAN总线概述完整版 2.pdf》由会员分享,可在线阅读,更多相关《2022年车辆CAN总线概述完整版 2.pdf(13页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、一 CAN总线简介1. CAN 总线的发展历史20 世纪 80 年代初期,欧洲汽车工业的蓬勃发展, 车辆电子信息化程度的也不断提高。当时,由于消费者对于汽车功能的要求越来越多,而这些功能的实现大多是基于电子操作的,这就使得电子装置之间的通讯越来越复杂,同时意味着需要更多的连接信号线,但是传统的线束式汽车电子系统已经不能满足车辆电子信息功能发展的需求。为了解决这一制约现代汽车电子信息化发展的瓶颈,德国 Bosch公司设计了一个单一的网络总线,所有的外围器件可以被挂接在该总线上,经过试验,这一总线能够有效解决现代汽车中庞大的电子控制装置之间的通讯, 并且能够减少不断增加的信号线。 所以在 1986
2、 年 Bosch公司正式公布了这一总线,且命名为CAN 总线。CAN 控制器局部网( CAN Controller Area Network)属于现场总线的范畴,它是一种有效支持分布式控制或实时控制的串行通讯网络,它具有很高的网络安全性、通信可靠性和实时性,简单实用,网络成本低,特别适用于汽车计算机控制系统和环境恶劣、电磁辐射强和振动大的工业环境,因此CAN总线在诸多现场总线中独占鳌头,成为汽车总线的代名词, CAN总线开始进入快速发展时期:1987 年 Intel公司生产出了首枚CAN控制器( 82526) 。不久, Philips公司也推出了 CAN 控制器 82C200 ;1991 年,
3、Bosch颁布 CAN 2.0 技术规范, CAN2.0包括 A和 B两个部分为促进 CAN 以及 CAN 协议的发展, 1992在欧洲成立了国际用户和厂商协会(CAN in Automation ,简称 CiA) ,在德国 Erlangen 注册,CiA 总部位于 Erlangen 。CiA 提供服务包括: 发布 CAN 的各类技术规范, 免费下载 CAN 文献资料, 提供 CANopen 规范 DeviceNet规范;发布 CAN产品数据库, CANopen产品指南;提供CANopen 验证工具执行CANopen认证测试;开发CAN 规范并发布为 CiA 标准。1993 年 CAN 成为国
4、际标准 ISO11898 (高速应用)和 ISO11519(低速应用);1993 年,ISO颁布 CAN 国际标准 ISO-11898 ;1994 年,SAE颁布基于 CAN 的 J1939 标准;2003 年,Maybach发布带 76个 ECU 的新车型( CAN ,LIN,MOST ) ;2003 年,VW 发布带 35 个 ECU 的新型 Golf 。根据 CiA 组织统计,截止到 2002年底,约有 500 多家公司加入了这个协会,协作名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - -
5、 - 第 1 页,共 13 页 - - - - - - - - - 开发和支持各类CAN 高层协议;生产 CAN 控制器 (独立或内嵌)厂家, 包括世界上主要半导体生产厂家在内,已有20 多家, CAN控制器产品的品种已达110 多种,CAN控制器的数量已达 210,000,000 枚。CAN 接口已经被公认为微控制器(Microcontroller)的标准串行接口,应用在各种分布式内嵌系统。该协会已经为全球应用CAN 技术的权威。2. CAN 总线的特点CAN总线与一般的通信总线相比 , 它的数据通信具有突出的可靠性、实时性和灵活性。其主要特性如下 : 1) 具有较高的性价比。它结构简单,
6、器件容易购置 , 每个节点的价格较低 , 而且开发过程中能充分利用现在的单片机开发工具; 2) 是目前为止唯一有国际标准的现场总线; 3) 为多主方式工作 , 网络上任一节点均可在任意时刻主动向网络上其他节点发送信息而不分主从 , 通信方式灵活 , 且无需站地址等节点信息4) 网络上的节点信息分成不同的优先级 , 可满足不同的实时要求 , 高优先级的数据最多可在 134 s内得到传输 ; 5) 采用非破坏性总线仲裁技术 , 当多个节点同时向总线发送信息时, 优先级较低的节点会主动地退出发送 , 而最高优先级的节点不受影响地继续传输数据 , 从而大大节省了总线冲突仲裁时间。尤其是在网络负载很重的
7、情况下也不会出现网络瘫痪情况; 6) 只需通过报文滤波即可实现点对点、一点对多点及全局广播等几种方式传送接收数据 , 无需专门的“调度”;7) 直接通信距离最远可达10 km ( 速率 5 kb/s 以下) , 通信速率最高可达 1 Mkb / s ( 此时通信距离最长为 40 m) ; 8) 节点数主要取决于总线驱动电路, 目前可达成 110个; 9) 采用短帧结构 , 传输时间短 , 受干扰概率低 , 具有极好的检错效果 ; 10) 每帧信息都有 CRC 校验及其他检错措施 , 保证了数据出错率低 ; 11) 通信介质可为双绞线、同轴电缆或光纤, 选择灵活 ; 12) 节点在错误严重的情况
8、下具有自动关闭输出功能 , 以使总线上其他节点的操作不受影响。自 CAN总线问世以来,为满足CAN总线协议的多种应用需求,相继出现了几种高层协议。目前大多数基于 CAN总线的网络都采用 CAN总线的高层协议。 CANopen 、 DeviceNet名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 2 页,共 13 页 - - - - - - - - - 和 SDS是通常采用的高层协议,适用于任何类型的工业控制局域网应用场合,而CAL则应用于基于标准应用层通信协议的优化控制场合,SAEJ
9、1939则应用于卡车和重型汽车计算机控制系统。其总线规范已被ISO 国际标准化组织制定为国际标准,并被公认为是最有前途的现场总线之一。 CAN 总线的应用范围遍及从高速网络到低成本的多线路网络,广泛应用于控制系统中的各检测和执行机构之间的数据通信。随着控制、计算机、通信、网络等技术的发展,信息交换沟通的领域正在迅速覆盖从现场设备到控制、管理的各个层次。信息技术的发展引起自动化系统结构的变革,逐步形成以网络集成自动化系统为基础的企业信息系统。现场总线(Fieldbus)就是顺应这一形势发展起来的新技术,成为当今自动化领域技术发展的热点,被誉为自动化领域的计算机局域网。它的出现,标志着自动化领域的
10、又一个新时代的开始,并对该领域的发展产生重要影响。二、CAN 总线基本原理1、CAN 标准1)CAN总线的分层结构OSI(Open System Interconnection)开放系统互连参考模型将网络协议分为7 层,由上至下分别为:应用层、表示层、会话层、传输层、网络层、链路层和物理层。国际电工技术委员会定义现场总线模型分为三层:应用层、链路层和物理层。 CAN 的分层定义与 OSI模型一致, 使用了七层模型中的应用层、 链路层和物理层。 CAN 技术规范定义了模型最下面的两层:数据链路层和物理层,如图1 所示。图 1 CAN总线分层结构2)CAN协议标准CAN 总线协议现有 CAN1.0
11、 、CAN1.2 、CAN2.0A 和 CAN2.0B四个版本。 CAN2.0A 以及以下版本使用标准格式信息帧 (11 位) ,CAN2.0B 使用扩展格式信息帧 (29 位) 。 CAN2.0A 及以下版本在接收到扩展帧信息格式时认为出错;CAN2.0B被动版本接收时忽略29位扩展信息帧,不认为出错;CAN2.0B主动版本能够接收和发送标准格式信息帧和扩展格式信息帧。3)CAN总线网络基本结构一般而言, CAN 总线网络由若干个具有CAN 通信功能的控制单元(又称节点)通过 CAN_H和 CAN_L 两条数据线并联组成, CAN_H 和 CAN_L 两条数据线的两端各安装一个120电阻构成
12、数据保护器,避免数据传输到终端被反射回来而产生反射波,影响数据的传送,如名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 3 页,共 13 页 - - - - - - - - - 图 2 所示。汽车 CAN 总线网络结构示意图如图3 所示。图 2 CAN网络基本结构图 3 汽车 CAN总线网络结构示意图4)CAN总线节点硬件电路框图一个完整的 CAN总线节点应该包含微控制器、CAN 控制器和 CAN 收发器三部分。其中微控制器负责完成CAN 控制器的初始化, 与 CAN 控制器的进行数
13、据传递; CAN 控制器负责将数据以 CAN 报文的形式传递, 实现 CAN协议数据链路层的功能; CAN 收发器是 CAN 控制器与 CAN物理总线的接口,为总线提供差动发送功能,也为控制器提供差动接收功能。CAN节点的基本结构框图如图4 所示。部分微控制器集成有CAN 控制器,因此,节点方案有两种。图 4 CAN节点基本结构框图5)CAN差分通信CAN 总线的信号传输采用差分通信信号,差分通信具有较强的抗干扰能力。CAN收发器的差动信号放大器在处理信号时,会用 CAN_H 数据线的电压减去CAN_L 数据上的电压,这两个数据线的电位差可对应两种不同逻辑状态进行编码。在静止状态时,这两条导线
14、上作用有相同预先设定值,该值称为静电平。对于CAN驱动数据总线来说,这个值大约为2.5V。静电平也称为隐性状态,因为连接的所有控制单元均可修改它。 在显性状态时, CAN_H 线上的电压值会升高一个预定值(对 CAN 驱动数据总线来说, 这个值至少为 1V) 。而 CAN_L 线上的电压值会降低一个同样值(对 CAN 驱动数据总线来说,这个值至少为1V) 。于是在 CAN 驱动数据总线上, CAN_H 线就处于激活状名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 4 页,共 13 页
15、 - - - - - - - - - 态 , 其 电 压 不 低 于 3.5V ( 2.5V+1V=3.5V) , 而 CAN_L线 上 的电 压 值 最 多可 降 至1.5V(2.5V-1V=1.5V) 。因此在隐性状态时, CAN_H 线与 CAN_L 线上的电压差为0V,在显性状态时该差值最低为2V,如图 5 所示。如果 CAN_H CAN_L 2 ,那么比特为 0 ,为显性;如果 CAN_H CAN_L = 0,那么比特为 1 ,为隐性。图 5 CAN数据线的电平2、CAN 总线通信原理当 CAN总线上的一个节点 ( 站) 发送数据时,它以报文形式广播给网络中所有节点。对每个节点来说
16、, 无论数据是否是发给自己的,都对其进行接收。每组报文开头的11 位字符为标识符,定义了报文的优先级, 这种报文格式称为面向内容的编址方案。在同一系统中标识符是唯一的,不可能有两个站发送具有相同标识符的报文。当一个站要向其它站发送数据时,该站CPU将要发送的数据和自己的标识符传送给本站的CAN控制器芯片,并处于准备状态; 当它收到总线分配时, 转为发送报文状态。 CAN 控制器芯片将数据根据协议组织成一定的报文格式发出,这时网上的其它站处于接收状态。每个处于接收状态的站对接收到的报文进行检测,判断这些报文是否是发给自己的,以确定是否接收它。当多个站点同时发送消息时, 需要进行总线仲裁, 每个控
17、制单元在发送信息时通过发送发送标识符来识别。 所有的控制单元都是通过各自的RX线来跟踪总线上的一举一动并获知总线的状态。每个发射器将TX线和 RX线的状态一位一位地进行比较,采用“线与”机制, “显性”位可以覆盖 “隐性”位;只有所有节点都发送 “隐性”位,总线才处于 “隐性”状态。 CAN 是这样来进行调整的: TX信号上加有一个“ 0”的控制单元的控制单元必须退出总线。用标识符中位于前部的“0”的个数就可调整信息的重要程度,从而就可保证按重要程度的顺序来发送信息。标识符中的号码越小,表示该信息越重要,优先级越高。发送低优先级报文的节点退出仲裁后,在下次总线空闲时重发报文。三个节点总线仲裁示
18、意图如图6 所示。图 6 总线仲裁示意图3、CAN 报文帧结构CAN 总线报文传输由以下4 个不同的帧类型所表示和控制:数据帧:数据帧携带数据从发送器至接收器。远程帧:总线单元发出远程帧,请求发送具有同一识别符的数据帧。错误帧:任何单元检测到一总线错误就发出错误帧。名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 5 页,共 13 页 - - - - - - - - - 过载帧:过载帧用以在先行的和后续的数据帧(或远程帧)之间提供一附加的延时。数据帧(或远程帧)通过帧间空间与前述的各帧
19、分开。1)数据帧由 7 个不同的位场组成:帧起始、仲裁场、控制场、数据场、CRC 场、应答场、帧结尾。数据场的长度可以为 0 。2)远程帧由 6 个不同的位场组成:帧起始、仲裁场、控制场、CRC 场、应答场、帧末尾。通过发送远程帧,作为某数据接收器的站通过其资源节点对不同的数据传送进行初始化设置。与数据帧相反,远程帧的 RTR 位是“隐性”的。它没有数据场,数据长度代码的数值是不受制约的(可以标注为容许范围里 0.8 的任何数值)。此数值是相应于数据帧的数据长度代码。3) 错误帧由两个不同的场组成。 第一个场用作为不同站提供的错误标志 (ERROR FLAG )的叠加。第二个场是错误界定符。4
20、)过载帧包括两个位场:过载标志和过载界定符。4、错误检测不同于其它总线, CAN 协议不能使用应答信息。事实上,它可以将发生的任何错误用信号发出。 CAN 协议可使用五种检查错误的方法,其中前三种为基于报文内容检查。1)循环冗余检查 (CRC) CR序列包括发送器的CRC 计算结果。接收器计算 CRC 的方法与发送器相同。 如果计算结果与接收到 CRC 序列的结果不相符,则检测到一个CRC 错误。2)帧检查这种方法通过位场检查帧的格式和大小来确定报文的正确性,用于检查格式上的错误。3)应答错误被接收到的帧由接收站通过明确的应答来确认。如果发送站未收到应答, 那么表明接收站发现帧中有错误,也就是
21、说,ACK场已损坏或网络中的报文无站接收。4)总线检测CAN 中的一个节点可监测自己发出的信号。因此,发送报文的站可以观测总线电平并探测发送位和接收位的差异。5)位填充一帧报文中的每一位都由不归零码表示,可保证位编码的最大效率。然而,如果在名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 6 页,共 13 页 - - - - - - - - - 一帧报文中有太多相同电平的位,就有可能失去同步。为保证同步,在五个连续相等位后,发送站自动插入一个与之互补的补码位。接收时,这个填充位被自动丢
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 2022年车辆CAN总线概述完整版 2022 车辆 CAN 总线 概述 完整版
限制150内