资源预览内容
第1页 / 共17页
第2页 / 共17页
第3页 / 共17页
第4页 / 共17页
第5页 / 共17页
第6页 / 共17页
第7页 / 共17页
第8页 / 共17页
第9页 / 共17页
第10页 / 共17页
亲,该文档总共17页,到这儿已超出免费预览范围,如果喜欢就下载吧!
资源描述
车辆CAN总线概述完整版The final revision was on November 23, 2020一 CAN 总线简介1. CAN总线的发展历史20世纪 80年代初期,欧洲汽车工业的蓬勃发展,车辆电子信息化程度的也不断提 高。当时,由于消费者对于汽车功能的要求越来越多,而这些功能的实现大多是基于电 子操作的,这就使得电子装置之间的通讯越来越复杂,同时意味着需要更多的连接信号 线,但是传统的线束式汽车电子系统已经不能满足车辆电子信息功能发展的需求。为了 解决这一制约现代汽车电子信息化发展的瓶颈,德国Bosch公司设计了一个单一的网络 总线,所有的外围器件可以被挂接在该总线上,经过试验,这一总线能够有效解决现代 汽车中庞大的电子控制装置之间的通讯,并且能够减少不断增加的信号线。所以在 1986 年Bosch公司正式公布了这一总线,且命名为CAN总线。CAN控制器局部网(CANController Area Network)属于现场总线的范畴,它是 一种有效支持分布式控制或实时控制的串行通讯网络,它具有很高的网络安全性、通信 可靠性和实时性,简单实用,网络成本低,特别适用于汽车计算机控制系统和环境恶 劣、电磁辐射强和振动大的工业环境,因此CAN总线在诸多现场总线中独占鳌头,成 为汽车总线的代名词,CAN总线开始进入快速发展时期:1987年Intel公司生产出了首枚CAN控制器(82526)。不久,Philips公司也推出 了 CAN 控制器 82C200;1991年,Bosch颁布CAN技术规范,包括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成为国际标准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多家公司加入了这个协会,协作 开发和支持各类CAN高层协议;生产CAN控制器(独立或内嵌)厂家,包括世界上 主要半导体生产厂家在内,已有20多家,CAN控制器产品的品种已达110多种,CAN 控制器的数量已达210,000,000枚。CAN接口已经被公认为微控制器(Microcontroller) 的标准串行接口,应用在各种分布式内嵌系统。该协会已经为全球应用CAN技术的权 威。2. CAN总线的特点CAN总线与一般的通信总线相比,它的数据通信具有突出的可靠性、实时性和灵活 性。其主要特性如下:1)具有较高的性价比。它结构简单,器件容易购置 ,每个节点的价格较低 ,而且开发过程中能充分利用现在的单片机开发工具;2)是目前为止唯一有国际标准的现场总线;3)为多主方式工作 ,网络上任一节点均可在任意时刻主动向网络上其他节点发送信息而不分主从 ,通信方式灵活 ,且无需站地址等节点信息4)网络上的节点信息分成不同的优先级 ,可满足不同的实时要求 ,高优先级的数据最多可 在134 内得到传输;5)采用非破坏性总线仲裁技术 ,当多个节点同时向总线发送信息时,优先级较低的节点会 主动地退出发送 ,而最高优先级的节点不受影响地继续传输数据 ,从而大大节省了总 线冲突仲裁时间。尤其是在网络负载很重的情况下也不会出现网络瘫痪情况;6)只需通过报文滤波即可实现点对点、一点对多点及全局广播等几种方式传送接收数据 , 无需专门的“调度”;7)直接通信距离最远可达10 km (速率5 kb/s以下),通信速率最高可达1 Mkb / s (此时通信距离最长为 40 m) ;8)节点数主要取决于总线驱动电路,目前可达成 110个;9)采用短帧结构 ,传输时间短 ,受干扰概率低 ,具有极好的检错效果;10)每帧信息都有CRC校验及其他检错措施,保证了数据出错率低;11)通信介质可为双绞线、同轴电缆或光纤,选择灵活;12)节点在错误严重的情况下具有自动关闭输出功能 ,以使总线上其他节点的操作不受影响。自CAN总线问世以来,为满足CAN总线协议的多种应用需求,相继出现了几种高 层协议。目前大多数基于CAN总线的网络都采用CAN总线的高层协议。CANopen、 DeviceNet和SDS是通常采用的高层协议,适用于任何类型的工业控制局域网应用场 合,而CAL则应用于基于标准应用层通信协议的优化控制场合,SAEJ1939则应用于卡 车和重型汽车计算机控制系统。其总线规范已被ISO国际标准化组织制定为国际标准, 并被公认为是最有前途的现场总线之一。CAN总线的应用范围遍及从高速网络到低成 本的多线路网络,广泛应用于控制系统中的各检测和执行机构之间的数据通信。随着控 制 、计算机、通信、网络等技术的发展,信息交换沟通的领域正在迅速覆盖从现场设 备到控制、管理的各个层次。信息技术的发展引起自动化系统结构的变革,逐步形成以 网络集成自动化系统为基础的企业信息系统。现场总线(Fieldbus)就是顺应这一形势发 展起来的新技术,成为当今自动化领域技术发展的热点,被誉为自动化领域的计算机局 域网。它的出现,标志着自动化领域的又一个新时代的开始,并对该领域的发展产生重 要影响。二、CAN总线基本原理1、CAN标准1) CAN总线的分层结构OSI (Open System Interconnection)开放系统互连参考模型将网络协议分为7 层,由上至下分别为:应用层、表示层、会话层、传输层、网络层、链路层和物理层。 国际电工技术委员会定义现场总线模型分为三层:应用层、链路层和物理层。CAN的 分层定义与OSI模型一致,使用了七层模型中的应用层、链路层和物理层。CAN技术 规范定义了模型最下面的两层:数据链路层和物理层,如图1所示。图1 CAN总线分层结构2) CAN协议标准CAN总线协议现有、CAN2.0A和四个版本。CAN2.0A以及以下版本使用标准 格式信息帧(11位),使用扩展格式信息帧(29位)。CAN2.0A及以下版本在接收到 扩展帧信息格式时认为出错;被动版本接收时忽略29位扩展信息帧,不认为出错;主 动版本能够接收和发送标准格式信息帧和扩展格式信息帧。3) CAN总线网络基本结构般而言,CAN总线网络由若干个具有CAN通信功能的控制单元(又称节点)通过CAN_H和CAN_L两条数据线并联组成,CAN_H和CAN_L两条数据线的两端各安装一个120Q电阻构成数据保护器,避免数据传输到终端被反射回来而产生反射波,影响数据的传送,如图2所示。汽车CAN总线网络结构示意图如图3所示。图2 CAN网络基本结构CANCAN电动Ip 琐CANCAX玄全图3汽车CAN总线网络结构示意图4) CAN总线节点硬件电路框图个完整的CAN总线节点应该包含微控制器、CAN控制器和CAN收发器三部分。其中微控制器负责完成CAN控制器的初始化,与CAN控制器的进行数据传递;CAN控制器负责将数据以CAN报文的形式传递,实现CAN协议数据链路层的功能;CAN收发器是CAN控制器与CAN物理总线的接口,为总线提供差动发送功能,也为 控制器提供差动接收功能。CAN节点的基本结构框图如图4所示。部分微控制器集成有 CAN 控制器,因此,节点方案有两种。图4 CAN节点基本结构框图5) CAN差分通信CAN总线的信号传输采用差分通信信号,差分通信具有较强的抗干扰能力CAN收发器的差动信号放大器在处理信号时,会用CAN_H数据线的电压减去CAN_L 数据上的电压,这两个数据线的电位差可对应两种不同逻辑状态进行编码。在静止状态时,这两条导线上作用有相同预先设定值,该值称为静电平。对于 CAN 驱动数据总线来说,这个值大约为。静电平也称为隐性状态,因为连接的所有控制单元 均可修改它。在显性状态时,CAN_H线上的电压值会升高一个预定值(对CAN驱动数 据总线来说,这个值至少为IV)。而CAN_L线上的电压值会降低一个同样值(对 CAN驱动数据总线来说,这个值至少为IV)。于是在CAN驱动数据总线上,CAN_H 线就处于激活状态,其电压不低于(+1V=,而CAN_L线上的电压值最多可降至=。因 此在隐性状态时,CAN_H线与CAN_L线上的电压差为0V,在显性状态时该差值最低 为2V,如图5所示。如果CAN_H-CAN_L 2,那么比特为0,为显性;如果CAN_H - CAN_L = 0,那么比特为 1,为隐性。图5 CAN数据线的电平2、CAN 总线通信原理当CAN总线上的一个节点(站)发送数据时,它以报文形式广播给网络中所有节点。 对每个节点来说,无论数据是否是发给自己的,都对其进行接收。每组报文开头的11位 字符为标识符,定义了报文的优先级,这种报文格式称为面向内容的编址方案。在同一系 统中标识符是唯一的,不可能有两个站发送具有相同标识符的报文。当一个站要向其它 站发送数据时,该站CPU将要发送的数据和自己的标识符传送给本站的CAN控制器芯 片,并处于准备状态;当它收到总线分配时,转为发送报文状态。CAN控制器芯片将 数据根据协议组织成一定的报文格式发出,这时网上的其它站处于接收状态。每个处于 接收状态的站对接收到的报文进行检测,判断这些报文是否是发给自己的,以确定是否 接收它。当多个站点同时发送消息时,需要进行总线仲裁,每个控制单元在发送信息时通 过发送发送标识符来识别。所有的控制单元都是通过各自的RX线来跟踪总线上的一举 动并获知总线的状态。每个发射器将TX线和RX线的状态一位一位地进行比较,采 用“线与”机制,“显性”位可以覆盖“隐性”位;只有所有节点都发送“隐性”位,总线才处于 “隐性”状态。CAN是这样来进行调整的:TX信号上加有一个“0”的控制单元的控制单元 必须退出总线。用标识符中位于前部的“0”的个数就可调整信息的重要程度,从而就可保 证按重要程度的顺序来发送信息。标识符中的号码越小,表示该信息越重要,优先级越 高。发送低优先级报文的节点退出仲裁后,在下次总线空闲时重发报文。三个节点总线 仲裁示意图如图 6 所示。图6 总线仲裁示意图3、CAN报文帧结构CAN总线报文传输由以下4个不同的帧类型所表示和控制: 数据帧:数据帧携带数据从发送器至接收器。远程帧:总线单元发出远程帧,请求发送具有同识别符的数据帧。 错误帧:任何单元检测到总线错误就发出错误帧。过载帧:过载帧用以在先行的和后续的数据帧(或远程帧)之间提供附加的延 时。数据帧(或远程帧)通过帧间空间与前述的各帧分开。1)数据帧由7个不同的位场组成:帧起始、仲裁场、控制场、数据场、CRC场、应答场、帧结尾。数据场的长度可以为 02)远程帧由6个不同的位场组成:帧起始、仲裁场、控制场、CRC场、应答场、帧末尾。通过发送远程帧,作为某数据接收器的站通过其资源节点对不同的数据传 送进行初始化设置。与数据帧相反,远程帧的RTR位是“隐性”的。它没有数据场,数据 长度代码的数值是不受制约的(
收藏 下载该资源
网站客服QQ:2055934822
金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号