《汽车CAN总线详细教程.ppt》由会员分享,可在线阅读,更多相关《汽车CAN总线详细教程.ppt(120页珍藏版)》请在三一办公上搜索。
1、总线技术及应用,CAN 数据总线(CAN BUS),第4讲,CAN通信技术概述,CAN(Controller Area Network)即控制器局域网络。由于其高性能、高可靠性、及独特的设计,CAN越来越受到人们的重视。国外已有许多大公司的产品采用了这一技术。CAN最初是由德国的BOSCH公司为汽车监测、控制系统而设计的。现代汽车越来越多地采用电子装置控制,如发动机的定时、注油控制,加速、刹车控制(ASC)及复杂的抗锁定刹车系统(ABS)等。由于这些控制需检测及交换大量数据,采用硬接信号线的方式不但烦琐、昂贵,而且难以解决问题,采用CAN总线上述问题便得到很好地解决。,1993年CAN 成为国
2、际标准ISO11898(高速应用)和ISO11519(低速应用)。CAN的规范从CAN 1.2 规范(标准格式)发展为兼容CAN 1.2 规范的CAN2.0规范(CAN2.0A为标准格式,CAN2.0B为扩展格式),目前应用的CAN器件大多符合CAN2.0规范。,CAN总线特点,CAN总线是一种串行数据通信协议,其通信接口中集成了CAN协议的物理层和数据链路层功能,可完成对通信数据的成帧处理,包括位填充、数据块编码、循环冗余检验、优先级判别等项工作。CAN总线特点如下:(1)可以多主方式工作,网络上任意一个节点均可以在任意时刻主动地向网络上的其他节点发送信息,而不分主从,通信方式灵活。(2)网
3、络上的节点(信息)可分成不同的优先级,可以满足不同的实时要求。(3)采用非破坏性位仲裁总线结构机制,当两个节点同时向网络上传送信息时,优先级低的节点主动停止数据发送,而优先级高的节点可不受影响地继续传输数据。,(4)可以点对点、一点对多点(成组)及全局广播几种传送方式接收数据。(5)直接通信距离最远可达10km(速率5Kbps以下)。(6)通信速率最高可达1MB/s(此时距离最长40m)。(7)节点数实际可达110个。(8)采用短帧结构,每一帧的有效字节数为8个。(9)每帧信息都有CRC校验及其他检错措施,数据出错率极低。(10)通信介质可采用双绞线,同轴电缆和光导纤维,一般采用廉价的双绞线即
4、可,无特殊要求。(11)节点在错误严重的情况下,具有自动关闭总线的功能,切断它与总线的联系,以使总线上的其他操作不受影响。,CAN的发展背景及其应用情况,CAN的起源 现代社会对汽车的要求不断提高,这些要求包括:极高的主动安全性和被动安全性;乘坐的舒适性;驾驶与使用的便捷和人性化;尤其是低排放和低油耗的要求等。在汽车设计中运用微处理器及其电控技术是满足这些要求的最好方法,而且已经得到了广泛的运用。目前这些系统有:ABS(防抱系统)、EBD(制动力分配系统)、EMS(发动机管理系统)、多功能数字化仪表、主动悬架、导航系统、电子防盗系统、自动空调和自动CD 机等。,汽车电子技术发展的特点:,汽车电
5、子控制技术从单一的控制逐步发展到综合控制,如点火时刻、燃油喷射、怠速控制、排气再循环。电子技术从发动机控制扩展到汽车的各个组成部分,如制动防抱死系统、自动变速系统、信息显示系统等。从汽车本身到融入外部社会环境。,现代汽车电子技术的分类:单独控制系统:由一个电子控制单元(ECU)控制一个工作装置或系统的电子控制系统,如发动机控制系统、自动变速器等。集中控制系统:由一个电子控制单元(ECU)同时控制多个工作装置或系统的电子控制系统。如汽车底盘控制系统。控制器局域网络系统(CAN总线系统):由多个电子控制单元(ECU)同时控制多个工作装置或系统,各控制单元(ECU)的共用信息通过总线互相传递。,带有
6、中央控制单元的车,带有三个中央控制单元的车,带有三个中央控制单元和总线系统的车,带有三个中央控制单元的CAN驱动网络,车用网络发展原因,电子技术发展-线束增加线控系统(X-BY-WIRE)计算机网络的广泛应用智能交通系统的应用,汽车发展带来的问题,(1)汽车电子技术的发展汽车上电子装置越来越多汽车的整体布置空间缩小(2)传统电器设备多为点到点通信导致了庞大的线束(3)大量的连接器导致可靠性降低。粗大的线束与汽车中有限的可用空间之间的矛盾越来越尖锐,电缆的体积、可靠性和重量成为越来越突出的问题,而且也成为汽车轻量化和进一步电子化的最大障碍,汽车的制造和安装也变得非常困难。(4)存在冗余的传感器。
7、,Vo l v o 汽车近三十年来线束增长的情况,车用网络:通过总线将汽车上的各种电子装置与设备连成一个网络,实现相互之间的信息共享,既减少了线束,又可更好地控制和协调汽车的各个系统,使汽车性能达到最佳。,汽车网络化的优点,布线简单,设计简化,节约铜材,降低成本。可靠性提高,可维护性大为提高 实现信息共享,提高汽车性能满足现代汽车电子设备种类功能越来越多的要求 总之,使用汽车网络不仅可以减少线束,而且能够提高各控制系统的运行可靠性,减少冗余的传感器及相应的软硬件配置,实现各子系统之间的资源共享,便于集中实现各子系统的在线故障诊断。,Canbus的发展历史,大众公司首次在97年PASSAT的舒适
8、系统上采用了传送速率为62.5Kbit/m的Canbus。,98年在PASSAT和GOLF的驱动系统上增加了Canbus,传送速率为500Kbit/m。,2000年,大众公司在PASSAT和GOLF采用了带有网关的第二代Canbus。,2001年,大众公司提高了Canbus的设计标准,将舒适系统Canbus提高到100Kbit/m,驱动系统提高到500Kbit/m。,2002年,大众集团在新PQ24平台上使用带有车载网络控制单元的第三代Canbus。,2003年,大众集团在新PQ35平台上使用五重结构的Canbus系统,并且出现了单线的LIN-BUS。,20世纪80年代,Bosch的工程人员开
9、始研究用于汽车的串行总线系统,因为当时还没有一个网络协议能完全满足汽车工程的要求。参加研究的还有Mercedes-Benz公司、Intel公司,还有德国两所大学的教授。1986年,Bosch在SAE(汽车工程人员协会)大会上提出了CAN 1987年,INTEL就推出了第一片CAN控制芯片82526;随后Philips半导体推出了82C200。1993年,CAN的国际标准ISO11898公布从此CAN 协议被广泛的用于各类自动化控制领域。,CAN技术的发展,1992年,CIA(CAN in Automation)用户组织成立,之后制定了第一个CAN应用层“CAL”。1994年开始有了国际CAN学
10、术年会(ICC)。1994年美国汽车工程师协会以CAN为基础制定了SAEJ1939标准,用于卡车和巴士控制和通信网络。到今天,几乎每一辆欧洲生产的轿车上都有CAN;高级客车上有两套CAN,通过网关互联;1999年一年就有近6千万个CAN控制器投入使用;2000年销售1亿多CAN的芯片;2001年用在汽车上的CAN节点数目超过1亿个。但是轿车上基于CAN的控制网络至今仍是各大公司自成系统,没有一个统一标准。,基于CAN的应用层协议应用较通用的有两种:DeviceNet(适合于工厂底层自动化)和 CANopen(适合于机械控制的嵌入式应用)。任何组织或个人都可以从DeviceNet供货商协会(OD
11、VA)获得DeviceNet规范。购买者将得到无限制的、真正免费的开发DeviceNet产品的授权。DeviceNet自2002年被确立为中国国家标准以来,已在冶金、电力、水处理、乳品饮料、烟草、水泥、石化、矿山等各个行业得到成功应用,其低成本和高可靠性已经得到广泛认同。,基于CAN总线的汽车电器网络结构,目前汽车上的网络连接方式主要采用2条CAN:一条用于驱动系统的高速CAN,速率达到500kb/s。主要面向实时性要求较高的控制单元,如发动机、电动机等 另一条用于车身系统的低速CAN,速率是100kb/s。主要是针对车身控制的,如车灯、车门、车窗等信号的采集以及反馈。其特征是信号多但实时性要
12、求低,因此实现成本要求低。,CAN总线布置、结构和基本特点,CAN总线系统上并联有多个元件。这就要求整个系统的布置满足以下要求:,可靠性高:传输故障(不论是由内部还是外部引起的)应能准确识别出来,使用方便:如果某一控制单元出现故障,其余系统应尽可能保持原有功能,以便进行信息交换,数据密度大:所有控制单元在任一瞬时的信息状态均相同,这样就使得两控制单元之间不会有数据偏差。如果系统的某一处有故障,那么总线上所有连接的元件都会得到通知。,数据传输快:连成网络的各元件之间的数据交换速率必须很快,这样才能满足实时要求。,CAN总线布置、结构和基本特点,考虑到信号的重复率及产生出的数据量,CAN总线系统分
13、为三个专门的系统,CAN驱动总线(高速),500Kbit/s,可基本满足实时要求。CAN舒适总线(低速),100 Kbit/s,用于对时间要求不高的情况。CAN“infotainment”总线(低速),100Kbit/s,用于对时间要求不高的情况。,CAN-BUS系统组成:CAN收发器:安装在控制器内部,同时兼具接受和发送的功能,将控制器传来的数据化为电信号并将其送入数据传输线。数据传输终端:是一个电阻,防止数据在线端被反射,以回声的形式返回,影响数据的传输。数据传输线:双向数据线,由高低双绞线组成。,Canbus上的控制器中发送信息的线路通过一个开路集电极和总线相连。,Canbus的收发器如
14、图所示,使用一个电路进行控制,这样也就是说控制单元在某一时间段只能进行发送或接受一项功能。逻辑“1”:所有控制器的开关断开;总线电平为5Vor3.5V;Canbus未通讯。逻辑“0”:某一控制器闭合;总线电平为0伏;Canbus进行通讯。,Canbus的收发器,因此总线导线上就会出现两种状态:,状态1:截止状态,晶体管截止(开关未接合),无源:总线电平=1,电阻高,状态0:接通状态,晶体管导通(开关已接合),有源:总线电平=0,电阻低,2个以上控制器所组成的Canbus系统当用2个以上的控制器连接在Canbus总线上(如图所示),用逻辑1来表示断开和用逻辑0表示闭合。不考虑其他总线规则情况下,
15、总线会出现下图的情况:1.任何开关闭合,总线上的电压为0伏2.所有开关断开,总线上的电压为5伏,因此:1.只要任何一个控制器激活,则总线激活2.所有控制器关闭,总线处于未激活状态激活的总线称为显性电平;未激活的总线电平称为隐形电平,功能,CAN构件通过RX-线来检查总线是否有源(是否正在交换别的信息),必要时会等待,直至总线空闲下来为止。(某一时间段内的电平1(无源)如果总线空闲下来,发动机信息就会被发送出去。,Canbus采用双绞线自身校验的结构,既可以防止电磁干扰对传输信息的影响,也可以防止本身对外界的干扰。系统中采用高低电平两根数据线,控制器输出的信号同时向两根通讯线发送,高低电平互为镜
16、像。并且每一个控制器都增加了终端电阻,已减少数据传送时的过调效应。,基本构造,原则上CAN总线用一条导线就足以满足功能要求了,但该总线系统上还是配备了第二条导线。在这个第二条导线上,信号是按相反顺序传送的,这样可有效抑制外部干扰。,CAN导线的特点,各个CAN系统的所有控制单元都并联在CAN数据总线上。CAN数据总线的两条导线分别叫CAN-High和CAN-Low线。两条扭绞在一起的导线称为双绞线。,双绞线,CAN-High 和 CAN-Low线(CAN驱动数据总线),控制单元之间的数据交换就是通过这两条导线来完成的,这些数据可能是发动机转速、油箱油面高度及车速等。,为了清楚起见CAN导线分别
17、用单颜色来表示CAN-High线总是黄色,CAN-Low-线总是绿色,由于汽车不同控制器对CAN总线的性能要求不同,因此最新版本的CAN总线系统人为设定为5个不同的区域,分别为驱动系统、舒适系统、信息系统、多功能仪表、诊断总线等5个局域网。其速率分别为(Kbit/s):驱动系统(由15号线激活):500;舒适系统(由30号线激活):100信息系统(由30号线激活):100;诊断系统(由30号线激活):500仪表系统(由15号线激活):100;Lin:20最大承载:1000,基本构造,基本构造,网关 由于不同区域Canbus总线的速率和识别代号不同,因此一个信号要从一个总线进入到另一个总线区域,
18、必须把它的识别信号和速率进行改变,能够让另一个系统接受,这个任务由网关(Gateway)来完成。另外,网关还具有改变信息优先级的功能。如车辆发生相撞事故,气囊控制单元会发出负加速度传感器的信号,这个信号的优先级在驱动系统是非常高,但转到舒适系统后,网关调低了它的优先级,因为它在舒适系统功能只是打开门和灯。,基本构造,诊断总线诊断总线是用于诊断仪器和相应控制单元之间的信息交换,它被用来代替原来的K线或者L线的功能(废气处理控制器除外)。诊断总线目前只能在VAS5051和VAS5052下工作,而不能适用于原来的诊断工具,如1552等。诊断总线通过网关转接到相应的CANBUS上,然后再连接相应的控制
19、器进行数据交换。随着诊断总线的使用,大众集团将逐步淘汰控制器上的K线存储器,而采用CAN线作为诊断仪器和控制器之间的信息连接线,我们称之为虚拟K线。,针脚号 对应的线束 1 15号线 4 接地 5 接地 6 CANBUS(高)7 k线 14 CANBUS(低)15 L线 16 30号线注:未标明的针脚号暂未使用。,基本构造,当车辆使用诊断CANBUS总线结构后,VAS5051等诊断仪器必须使用相对应的新型诊断线(VAS5051/5A或VAS5051/6A),否则无法读出相应的诊断信息。另外,车上的诊断接口也作出了相应的改动,具体信息看如下图表:注:5051仪器的版本号必须大于3.0以上 才能使
20、用诊断CANBUS总线。新型诊断线能够适用于旧型诊断接口。,CAN总线,CAN总线是车内电子装置中的一个独立系统,它就是数据线,用于在连接的控制单元之间进行信息交换。,由于自身的布置和结构特点,CAN总线工作时的可靠性很高,如果CAN总线系统出现故障,故障就会存入相应的控制单元故障存储器内,可以用诊断仪读出这些故障。,控制单元拥有自诊断功能,我们通过自诊断功能还可识别出与CAN总线相关的故障。,用诊断仪(如VAS5051,5052)读出CAN总线故障记录后,既可按这些信息准确地查寻故障,控制单元内的故障记录用于初步确定故障,还可用于读出排除故障后的无故障说明。如果想要更新故障显示内容,须重新起
21、动发动机。,CAN总线正常的一个重要前提条件是:车在任何工况均不应有CAN总线故障记录。,为了能够确定及排除故障,就需要了解CAN总线上的数据交换基本原理。,CAN总线数据交换基本原理,不同的数据传递(以CAN驱动数据总线为例),1、提高数据传递的可靠性,为了提高数据传递的可靠性,CAN数据总线系统的两条导线(双绞线)分别用于不同的数据传送,这两条线分别称为CAN-High线和CAN-Low线。,2、在显性状态和隐性状态之间进行转换时CAN导线上的电压变化,在静止状态时,这两条导线上作用有相同预先设定值,该值称为静电平。对于CAN驱动数据总线来说,这个值大约为2.5V。,静电平也称为隐性状态,
22、因为连接的所有控制单元均可修改它。,在显性状态时,CAN-High线上的电压值会升高一个预定值(对CAN驱动数据总线来说,这个值至少为1V)。而CAN-Low线上的电压值会降低一个同样值(对CAN驱动数据总线来说,这个值至少为1V)。于是在CAN驱动数据总线上,CAN-High线就处于激活状态,其电压不低于3.5(2.5V+1V=3.5V),而CAN-Low线上的电压值最多可降至1.5V(2.5V-1V=1.5V)。,因此在隐性状态时,CAN-High线与CAN-Low线上的电压差为0V,在显性状态时该差值最低为2V。,3、CAN数据总线上的信号变化(以CAN驱动数据总线为例),4、收发器内的
23、CAN-High线和 CAN-Low线上的信号转换,控制单元是通过收发器联接到CAN驱动总线上的,在这个收发器内有一个接收器,该接收器是安装在接收一侧的差动信号放大器。差动信号放大器用于处理来自CAN-High线和CAN-Low线的信号,除此以外还负责将转换后的信号传至控制单元的CAN接收区。这个转换后的信号称为差动信号放大器的输出电压。差动信号放大器用CAN-High线上的电压(UCAN-High)减去CAN-Low线上的电压(UCAN-Low),就得出了输出电压,用这种方法可以消除静电平(对于CAN驱动数据总线来说是2.5V)或其它任何重叠的电压。,5、CAN驱动数据总线差动信号放大器内的
24、信号转换,收发器的差动信号放大器在处理信号时,会用CAN-High-线上作用的电压减去CAN-Low-线上作用的电压。,6、CAN驱动数据总线差动信号放大器内的干扰过滤,由于数据总线也要布置在发动机舱内,所以数据总线就要遭受各种干扰。在保养时要考虑对 地 短 路 和 蓄 电 池 电 压、点 火 装 置 的 火 花 放 电 和 静 态 放 电。,在该图的上部可清楚地看到这种传递的效果。由于CAN-High线和CAN-Low线是扭绞在一起的(双绞线),所以干扰脉冲X就总是有规律地作用在两条线上。由于差动信号放大器总是用CAN-High线上的电压(3.5V-X)减去CAN-Low线上的电压(1.5V
25、-X),因此在经过处理后,差动信号中就不再有干扰脉冲了.,(3,5V-X)-(1,5V-X)=2V,7、信号电平,控制单元信号在收发器内的放大,收发器发送一侧的任务是将控制单元内的CAN控制器的较弱信号放大,使之达到CAN导线上的信号电平和控制单元输入端的信号电平。,联接在CAN数据总线上的控制单元的作用就像是CAN导线上的一个负载电阻(因为装有电子元件)。这个负载电阻取决于联接的控制单元数量和其电阻。,收发器将CAN信号输送到CAN数据总线的两条导线上,相应地在CAN-High线上的电压就升高,而在CAN-Low线上的电压就降低一个同样大小的值。对于驱动CAN数据总线来说,一条导线上的电压改
26、变值不低于1V,对于CAN舒适/Infotainment总线来说,这个值不低于3.6V。,8、CAN驱动数据总线的特点,CAN驱动数据总线的速率为500 kBit/s,用于将CAN驱动数据总线方面的控制单元联成网络。,CAN驱动数据总线控制单元有:-发动机控制单元-ABS-控制单元-ESP-控制单元-变速器控制单元-安全气囊控制单元-组合仪表,CAN驱动数据总线由15号接线柱(点火开关)接通,短时工作后,又完全关闭。,CAN驱动数据总线上的信号变化,下面图中所示的是一个真实的CAN-电报变化图,它由一个收发器产生,并由VAS5051的数字存储式示波器(DSO)接收下来。两个电平之间的叠加信号变
27、化表示2.5V的隐性电平。CAN-High线上的显性电压约为3.5V,CAN-Low线约为1.5V。,CAN舒适/Infotainment数据总线的特点,CAN舒适/Infotainment数据总线的速率为100 kBit/s,用于将CAN舒适总线和CAN Infotainment总线方面的控制单元联成网。,CAN舒适/Infotainment数据总线控制单元有:-全自动空调/空调控制单元-车门控制单元-舒适控制单元-收音机和导航显示单元控制单元,控制单元通过CAN驱动数据总线的CAN-High线和CAN-Low线来进行数据交换,如车门开/关、车内灯开/关、车辆位置(GPS)等等。由于使用同样
28、的脉冲频率,所以CAN舒适数据总线和CAN Infotainment总线可以共同使用一对导线,当然前提条件是相应的车上有这两种数据总线((如 Golf IV und Polo MJ 2002)。,舒适系统的信号图,舒适系统的Canbus信号和驱动系统有很大区别:Can-High的高电平为:3.6伏Can-High的低电平为:0伏Can-Low 的高电平为:5伏Can-low 的低电平为:1.4伏逻辑“1”:Can-high=3.6V Can-low=1.4V逻辑“0”:Can-high=0VCan-low=5V,1、CAN舒适/Infotainment数据总线的差动数据传递,为了使低速CAN抗
29、干扰性强且电流消耗低,与CAN驱动数据总线相比就需做一些改动。首先,由于使用了单独的驱动器(功率放大器),这两个CAN信号就不再有彼此依赖的关系了。与CAN驱动数据总线不同,CAN舒适/Infotainment数据总线的CAN-High线和CAN-Low线不是通过电阻相连的。也就是说:CAN-High线和CAN-Low线不再彼此相互影响,而是彼此独立作为电压源来工作。另外还放弃了共同的中压,在隐性状态(静电平)时,CAN-High信号为0V,在显性状态时3.6V。对于CAN-Low信号来说,隐性电平为5V,显性电平1.4V。于是在差频信号放大器内相减后,隐性电平为-5V,显性电平为2.2V,那
30、么隐性电平和显性电平之间的电压变化(电压提升)就提高到7.2V。,2、CAN舒适/Infotainment数据总线的CAN-收发器,测舒适系统高低线的电阻为无穷大!,总系统,通过网关将三个系统联成网络,由于电压电平和电阻配置不同,所以在CAN驱动数据总线和CAN舒适/Infotainment数据总线之间无法进行耦合联接。另外这两种数据总线的传输速率是不同的,这就决定了它们无法使用不同的信号。,这就需要在这两个系统之间能完成一个转换。这个转换过程是通过所谓的网关来实现的。根据车辆的不同,网关可能安装在组合仪表内、车上供电控制单元内或在自己的网关控制单元内。,由于通过CAN数据总线的所有信息都供网
31、关使用,所以网关也用作诊断接口。目前是通过网关的K-线来查询诊断信息,从Touran车开始是通过CAN数据总线诊断线来完成这个工作的。,可以用火车站作为例子来清楚地说明网关的原理,与CAN舒适数据总线和CAN Infotainment数据总线不同,CAN驱动数据总线不可与CAN舒适数据总线或CAN Infotainment数据总线通过电气相连!CAN舒适数据总线与CAN舒适/Infotainment数据总线是不同的数据总线系统,它们之间只能通过所谓网关相连。,提示!,1,2,3,基本术语,CAN的报文及结构,同步,CAN协议规范,CAN协议规范,CAN协议规范,CAN为串行通讯协议,能有效地支
32、持具有很高安全等级的分布实时控制。CAN的应用范围很广,从高速的网络到低价位的多路接线都可以使用CAN。在汽车电子行业里,使用CAN连接发动机控制单元、传感器、防刹车系统、等等,其传输速度可达1Mbit/s。同时,可以将CAN安装在卡车本体的电子控制系统里,诸如车灯组、电气车窗等等,用以代替接线配线装置。技术规范的目的是为了在任何两个CAN仪器之间建立兼容性。可是,兼容性有不同的方面,比如电气特性和数据转换的解释。为了达到设计透明度以及实现灵活性,根据ISO/OSI参考模型,CAN 2.0规范细分为以下不同的层次:数据链路层和物理层(如图所示)。,CAN协议规范,位编码/解码 位定时 同步 驱
33、动器接收器特性,逻辑链路子层LLC 接收滤波 超载通知 恢复管理,介质访问控制子层MAC 数据包装/解包 帧编码 介质访问管理 错误监测 出错标定 应答 串并转换,数据链路层,物理层,故障界定,总线故障管理,监控器,图 CAN协议分层结构和功能,CAN协议规范,在以前版本的CAN规范中,数据链路层的LLC子层和MAC子层的服务及功能分别被解释为“对象层”和“传输层”。逻辑链路控制子层(LLC)的作用范围如下:为远程数据请求以及数据传输提供服务。确定由实际要使用的LLC子层接收哪一个报文。为恢复管理和过载通知提供手段。MAC子层的作用主要是传送规则,也就是控制帧结构、执行仲裁、错误检测、出错标定
34、、故障界定。位定时的一些普通功能也可以看作是MAC子层的一部分。物理层的作用是在不同节点之间根据所有的电气属性进行位的实际传输。,CAN具有以下的属性:报文的优先权 保证延迟时间 设置灵活 时间同步的多点接收 系统内数据的连贯性 多主机 错误检测和错误标定 只要总线一处于空闲,就自动将破坏的报文重新传输 将节点的暂时性错误和永久性错误区分开来,并且可以自动关闭由OSI参考模型分层CAN结构的错误的节点。,CAN协议规范,依据ISO/OSI参考模型的层结构具有以下功能:物理层定义信号是如何实际地传输的,因此涉及到位时间、位编码、同步的解释。技术规范没有定义物理层的驱动器/接收器特性,以便允许根据
35、它们的应用,对发送媒体和信号电平进行优化。MAC子层是CAN协议的核心。它把接收到的报文提供给LLC子层,并接收来自LLC子层的报文。MAC子层负责报文分帧、仲裁、应答、错误检测和标定。MAC子层也被称作故障界定的管理实体监管。此故障界定为自检机制,以便把永久故障和短时扰动区别开来。LLC子层涉及报文滤波、过载通知、以及恢复管理。,CAN协议规范,1,基本术语,1报文 总线上的报文以不同的固定报文格式发送,但长度受限。当总线空闲时任何连接的单元都可以开始发送新的报文。,2信息路由,在CAN系统中,一个CAN节点不使用有关系统结构的任何信息(如站地址)。包含一些重要概念:系统灵活性节点可在不要求
36、所有节点及其应用层改变任何软件或硬件的情况下,被接于CAN网络。成组由于采用了报文滤波,所有节点均可接收报文,并同时被相同的报文激活。数据相容性在CAN网络内,可以确保报文同时被所有节点或者没有节点接收,因此,系统的数据相容性是借助于成组和出错处理达到的。,1,基本术语,3位速率 不同的系统,CAN的速度不同。在一个给定的系统里,位速率是唯一的,并且是固定的。4优先权 在总线访问期间,识别符定义一个静态的报文优先权。5远程数据请求 通过发送远程帧,需要数据的节点可以请求另一节点发送相应的数据帧。数据帧和相应的远程帧是由相同的识别符命名的。,1,基本术语,6仲裁 只要总线空闲,任何单元都可以开始
37、发送报文。具有较高优先权报文的单元可以获得总线访问权。如果2个或2个以上的单元同时开始传送报文,那么就会有总线访问冲突。仲裁的机制确保了报文和时间均不损失。当具有相同识别符的数据帧和远程帧同时初始化时,数据帧优先于远程帧。仲裁期间,每一个发送器都对发送位的电平与被监控的总线电平进行比较。如果电平相同,则这个单元可以继续发送。如果发送的是一“隐性”电平而监视的是一“显性”电平(见总线值),那么单元就失去了仲裁,必须退出发送状态。,1,基本术语,7错误检测 要进行检测错误,必须采取以下措施:监视(发送器对发送位的电平与被监控的总线电平进行比较)循环冗余检查 位填充 报文格式检查,1,基本术语,8故
38、障界定 CAN节点能够把永久故障和短暂扰动区别开来。故障的节点会被关闭。9总线值 总线有二个互补的逻辑值:“显性”或“隐性”。“显性”位和“隐性”位同时传送时,总线的结果值为“显性”。比如,在总线的“写与”执行时,逻辑0代表“显性”等级,逻辑1代表“隐性”等级。10应答 所有的接收器检查报文的连贯性。对于连贯的报文,接收器应答,对于不连贯的报文,接收器作出标志。,2,CAN的报文及结构,CAN信息包格式说明:CAN信息包分为两部分:信息部分和数据部分。头两个字节为信息部分,其前十一位为标识符,标识符中的前八位用作接收判断,应包含本信息包的目的站地址。然后是一位RTR位(应设为0),最后是四位的
39、DLC(数据长度位,即所发数据的实际长度,单位:字节)。其余八个字节是数据部分,存有实际要发的数据。详见下图:,2,CAN的报文及结构,2,CAN的报文及结构,在进行数据传送时,发出报文的单元称为该报文的发送器。该单元在总线空闲或丢失仲裁前恒为发送器。如果一个单元不是报文发送器,并且总线不处于空闲状态,则该单元为接收器。对于报文发送器和接收器,报文的实际有效时刻是不同的。对于发送器而言,如果直到帧结束末尾一直末出错,则对于发送器报文有效。如果报文受损,将允许按照优先权顺序自动重发送。为了能同其他报文进行总线访问竞争,总线一旦空闲,重发送立即开始。对于接收器而言,如果直到帧结束的最后一位一直末出
40、错,则对于接收器报文有效。,2,CAN的报文及结构,构成一帧的帧起始、仲裁场、控制场、数据场和CRC序列均借助位填充规则进行编码。当发送器在发送的位流中检测到5位连续的相同数值时,将自动地在实际发送的位流中插入一个补码位。数据帧和远程帧的其余位场采用固定格式,不进行填充。出错帧和超载帧同样是固定格式,也不进行位填充。报文传送由 4 种不同类型的帧表示和控制:数据帧携带数据由发送器至接收器;远程帧通过总线单元发送,以请求发送具有相同标识符的数据帧;出错帧由检测出总线错误的任何单元发送;超载帧用于提供当前的和后续的数据帧的附加延迟。数据帧和远程帧借助帧间空间与当前帧分开。,3,同步,同步机制 总线
41、的位同步只有在节点检测到“隐性位”(逻辑)到“显性位”(逻辑)的跳变时才会产生,当跳变沿不位于位周期的同步段之内时将会产生相位误差。该相位误差就是跳变沿与同步段结束位置之间的距离。如果跳变沿发生在同步段之后采样点之前为正的相位误差;如果跳变沿位于同步段之前采样点之后为负的相位误差。相位误差源于节点的振荡器漂移,网络节点之间的传播延迟以及噪声干扰等。协议规定了两种类型的同步:硬同步和重同步。,3,同步,硬同步 硬同步只在总线空闲时通过一个下降沿(帧起始)来完成,此时不管有没有相位误差,所有节点的位时间重新开始。强迫引起硬同步的跳变沿位于重新开始的位时间的同步段之内。重同步 在消息帧的随后位中,每
42、当有从“隐性位”到“显性位”的跳变,并且该跳变落在了同步段之外,就会引起一次重同步。重同步机制可以根据跳变沿增长或者缩短位时间以调整采样点的位置,保证正确采样。,协议的位填充机制除实现仲裁场、控制场、数据场和序列的数据的透明性外,还增加了从“隐性位”到“显性位”跳变的机会,也就是增多重同步的数量,提高同步质量。,1,2,3,CAN通信控制器82C200,SJA1000 CAN控制器,PCA82C250 CAN 收发器,典型CAN总线器件及应用,典型CAN总线器件及其应用,4,CAN BUS 节点设计举例,CAN总线的突出优点使其在各个领域的应用得到迅速发展,这使得许多器件厂商竞相推出各种CAN
43、总线器件产品,已逐步形成系列。而丰富廉价的CAN总线器件又进一步促进了CAN总线应用的迅速推广。目前,CAN已不仅是应用于某些领域的标准现场总线,它正在成为微控制器的系统扩展及多机通信接口。下表列出了一些主要的CAN总线产品,这里仅对典型的芯片加以介绍。,4、典型CAN总线器件及其应用,1,CAN通信控制器82C200,完成CAN规范所规定的物理层和数据链路层大部分功能。有微处理器接口,易于连接单片机。结构分两种类型,独立IC或与单片机集成在一起,82C200(SJA1000)属于前者。属于后者的有:PHILIPS的87C591、LPC2119,西门子的C167C,INTEL的80C196CA
44、等。都遵循CAN2.0规范,掌握其中一种就可触类旁通。,1,CAN通信控制器82C200,CAN的通信协议主要由CAN控制器完成。CAN控制器主要由实现CAN总线协议部分和与微控制器接口部分电路组成。对于不同型号的CAN总线通信控制器,实现CAN协议部分电路的结构和功能大都相同,而与微控制器接口部分的结构及方式存在一些差异。这里主要以PHILIPS82C200为代表对CAN控制器的结构、功能及应用加以介绍。,1,CAN通信控制器82C200,1,CAN通信控制器82C200,1,CAN通信控制器82C200,2,SJA1000 CAN控制器,SJA1000是一个独立的CAN控制器,它在汽车和普
45、通的工业应用上有先进的特征,适合于多种应用特别在系统优化诊断和维护方面非常重要。SJA1000独立的CAN控制器有2个不同的操作模式:1 BasicCAN模式:和PCA82C200兼容。BasicCAN模式是上电后默认的操作模式,因此用PCA82C200开发的已有硬件和软件,可以直接在SJA1000上使用而不用作任何修改。2 PeliCAN模式:是新的操作模式。它能够处理所有CAN2.0B规范的帧类型。而且它还提供一些增强功能,使SJA1000能应用于更宽的领域。工作模式通过时钟分频寄存器中的CAN模式位来选择,复位时默认模式是Basic CAN模式。,2,SJA1000 CAN控制器,CAN
46、控制器SJA1000在系统中的位置,2,SJA1000 CAN控制器,1.SJA1000控制器的结构,2,SJA1000 CAN控制器,CAN核心模块:根据CAN规范控制CAN帧的发送和接收。接口管理逻辑:用于连接外部主控制器。SJA1000通过复用的地址/数据总线,与主控制器联系。发送缓冲器:用于存储一个完整的扩展的或标准的报文。当主控制器初始发送时,接口管理逻辑会使CAN核心模块从发送缓冲器读CAN报文。验收滤波器:通过这个可编程的滤波器能确定主控制器要接收哪些报文。接收FIFO:用于存储所有收到的报文,储存报文的多少由工作模式决定,最多能存储32个报文。,3,PCA82C250 CAN
47、收发器,PCA82C250是CAN协议控制器和物理总线的接口。此器件对总线提供差动发送能力,对CAN控制器提供差动接收能力。又称为总线驱动器。符合ISO11898标准,最高速率1Mbps;抗汽车环境瞬间干扰,具有保护总线能力;斜率控制,降低射频干扰RFI;热保护以及电源和地短路保护;低电流待机模式;未上电的节点对总线无影响;可连接110个节点;工作温度-40+125。,3,PCA82C250 CAN 收发器,内部具有限流电路,可防止发送输出级对电源、地或负载短路。虽然短路出现时功耗增加但不至于损坏器件。若结温超过160,则两个输出端电流限将减小,从而限制了芯片温升。器件的所有其他部分将继续工作
48、。双线差分驱动有助于抑制汽车等恶劣电器环境下的瞬变干扰。,4,CAN BUS 节点设计举例,CAN BUS节点设计举例 1.网络拓朴 CAN-bus采用总线网络拓朴结构,在一个网络上至少需要有2个CAN-bus 节点存在。在总线的2个终端,各需要安装1个120的终端电阻;如果节点数目大于2个,中间节点就不要求安装120终端电阻。,4,CAN BUS 节点设计举例,虽然每一个节点根据应用系统的任务有各自控制功能,但完成CAN-bus信息交换的功能是相同的。CAN bus节点一般由微处理器、CAN控制器、CAN收发器三部分组成。,图 CAN bus节点示意图,传送安全性和故障处理,典型故障1:Can-Low 断路,示波仪判断,典型故障2:Can-high 断路,示波仪判断,典型故障3:Can-Low 与电瓶短接,示波仪判断,典型故障4:Can-Low 与地短接,示波仪判断,典型故障5:Can-Low与Can-high短接,示波仪判断,典型故障6:Can-Low与Can-high交叉连接,示波仪判断,本讲结束,谢谢!,作业,1、画图说明CAN总线信号传输原理?,