资源描述
单击此处编辑母版标题样式,单击此处编辑母版文本样式,第二级,第三级,第四级,第五级,*,汽车底盘及车身电控系统维修,第,10,章 车载网络技术,10.1,概述,车载网络是指汽车上多个处理器之间相互连接、协调工作并共享信息所构成的汽车车载计算机网络系统。,10.1.1,车载网络技术简介,1.,车载网络技术的发展背景,自上世纪,50,年代汽车技术与电子技术开始融合以来,电子技术在汽车上的应用范围越来越大,特别是随着集成电路、大规模集成电路和超大规模集成电路的发展,为汽车提供功能大、速度快、性能可靠的汽车电控系统称为现实。电控系统提高了汽车的动力性、燃油经济性、安全性和舒适性。但随着电子技术的应用,汽车控制单元的数量不断增多,造成相应的传感器、执行器的数目不断增加,使汽车电路越来越复杂。汽车电路数量的增加,会造成汽车的布线十分复杂,一方面占用汽车空间,使得在有限的汽车空间内布线越来越,困难,另一方面也限制了功能的扩展。复杂电路也降低了汽车的可靠性,一旦汽车线束中出了问题,查找故障也很麻烦,增加了维修的难度。据统计,导线质量在汽车上可占整车质量的,4%,,导线质量每增加,50kg,,汽车油耗每百公里会增加,0.2L,。,为解决上述问题,现代汽车广泛采用车载网络技术,将过去一线一用的专线制改为一线多用制。车载网络技术在一条数据线上传递的信号,可以被多个系统共享,从而最大限度地提高系统的整体效率,充分利用有限的资源,减少汽车上电线的数目,缩小线束的直径,车载网络技术将计算机技术融入整个汽车系统之中,加速汽车智能化的发展。,汽车传统的信息传递方式是每项信息需独立的数据线完成,有几个信号就要有几条信号传输线。例如宝来汽车发动机电控单元,J220,与自动变速器电控单元,J217,之间就需要,5,条信号传输线,如图,10-1,所示。,图,10-1,传统信号传递方式,如果需要传递的信号多,就需要更多的信号传输线,而采用车载网络技术,只需要,1,根或,2,根传输线即可,如图,10-2,所示。,图,10-2,数字总线信号传递方式,2.,国内外车载网络技术的发展简史,20,世纪,80,年代末,,BOSCH,公司和英特尔公司研制了专门用于汽车电气系统的总线,控制器局域网(,Controller Area Network,)规范,简称,CAN,。,20,世纪,90,年代,由于集成电路技术和电子器件制造技术的迅速发展,用单片机作为总线的接口端,采用总线技术的价格逐步降低,总线技术进入了实用化阶段。,随着汽车电子技术的发展,欧洲提出了控制系统的新协议,TTP,(,Time Triggered Protocol,)。,随着汽车信息系统对网络传输信息量要求的不断提高,多媒体系统总线协议标准(如,D2B,协议和,MOST,协议)应运而生。,车载网络技术已运用到奔驰、宝马、大众、通用、丰田、本田等公司生产的汽车上,同时相关单位也对车载网络技术传输制订了如表,10-1,所示的标准。,车载网络,内容,速度(,b/s,),研发组织,CAN,(,Controller Area Network,),车身,/,动力传动系统控制用,LAN,协议,可能成为世界标准,1 M,Robert Bosch,公司、,ISO,VAN,(,Vehicle Area Network,),车身系统控制用,LAN,协议,以法国为中心,1M,ISO,J1850,车身系统控制用,LAN,协议,以美国为中心,41.6K,Ford Motor,公司,LIN,(,Local Interconnect Network,),车身系统控制用,LAN,协议,低端子系统专用,20K,LIN,协会,TTP/C,(,Time Triggered,Protocol by CAN,),重视安全,按用途分类的控制用,LAN,协议,通用时分多路复用,2-25M,TIT,公司,表,10-1,主要车载网络的基本情况,10.1.2,车载网络基础知识,1.,局域网,局域网是在一个有限区域内连接的计算机网络,通过该网络实现系统内的资源共享和信息通信。连接到网络上的节点可以是计算机、基于微处理器的应用系统或控制装置。车载网络作为一种局域网,其数据传输速度一般在,105 Kb/s,范围内,传输距离在,250m,范围内。,2.,数据总线,数据总线是指模块间运行数据的通道,即所谓的信息高速公路,如图,10-3,所示。如果模块可以发送和接收数据,则这样的数据总线就称为双向数据总线,汽车上的信息高速公路实际上是一条或两条导线。,图,10-3,数据总线,为了对抗电子干扰,双线制数据总线的两条线是绞在一起的,如图,10-4,所示。各汽车制造商一直在设计各自的数据总线,如果不兼容,就称为专用数据总线;如果是按照某种国际标准设计的,就是非专用的,但基本上都是专用的数据总线。,图,10-4,双绞线,3.,模块,/,节点,模块,/,节点是一种电子装置,如温度、压力传感器。传感器是一个模块装置,根据温度和压力的不同将产生不同的电压信号,这些电压信号在数字装置的输入接口被转变成数字信号,在计算机多路传输系统中的控制单元模块被称为节点。,4.,局域网的拓扑结构,所谓拓扑结构,就是网络的物理连接方式。局域网的常用拓扑结构有三种:星型、环型、总线型。局域网多用总线型方式,总线型网络即所有入网计算机通过分接头接入到一条载波传输线上,信道利用率较高,但同一时刻只能有两处网络节点在相互通信,网络延伸距离有限,网络容纳节点数有限,适用于传输距离较短、地域有限的组网环境,如图,10-5,所示。,图,10-5,总线型网络拓扑结构,5.,链路,链路指网络信息传输的媒体,分为有线和无线两种类型,目前汽车上使用的大多数链路都是有线网络。通常用于局域网的传输媒体有:双绞线、同轴电缆和光纤。,双绞线是局域网中最普通的传输媒体,一般用于低速传输,最大传输速率可达几,Mb/s,;双绞线成本较低,传输距离较近,是汽车网络使用最多的传输媒体。,同轴电缆可以满足较高性能的传输要求,连接的网络节点较多,跨越的距离较大。,光纤在电磁兼容性等方面有独特的优点,数据传输速度高,传输距离远。在车载网络上,特别在一些要求传输速度高的车载网络(如车上信息与多媒体网络)上,光纤都有很好的应用前景。,6.,数据帧,为了可靠地传输数据,通常将原始数据分割成一定长度的数据单元,数据单元即称为数据帧。一帧数据内应包括同步信号、错误控制、流量控制、控制信息、数据信息、寻址信息等。,7.,传输协议,(,1,)协议的三要素, 通信信息帧的格式;, 通信信息帧的数据和控制信息;, 确定事件传输的顺序以及速度匹配。,(,2,)协议的功能,差错监测和纠正。面向通信传输的协议常使用“应答,-,重发”和通信校验进行差错的检测和纠正工作,一般来说,协议中对异常情况的处理说明要占很大的比重。,分块和重装。为符合协议的格式要求,需要对数据进行加工处理。分块是将大的数据划分成若干小块,如将报文划分成几个子报文组。重装是将划分的小块数据重新组合复原,如将几个子报文组还原成报文。,排序。对发送的数据进行编号以标识它们的顺序,通过排序,可以达到按序传递、信息流控制和差错控制等目的。,流量控制。通过限制发送的数据量或速率,以防止在信道中出现堵塞现象。,8.,传输仲裁,当出现数个使用者同时申请利用总线发送信息时,传输仲裁是用于避免发生数据冲突的机构。仲裁可保证信息按其重要程度来发送。,9.,车载网络分类和协议标准,(,1,),A,类总线协议标准,A,类的网络通信大部分采用,UART,(,Universal Asynchronous Receiver/Transmitter,)标准,,A,类目前首选的标准是,LIN,。,LIN,是用于汽车分布式电控系统的一种新型低成本串行通信系统,它是一种基于,UART,的数据格式、主从结构的单线,12V,的总线通信系统,主要用于智能传感器和执行器的串行通信,,LIN,采用低成本的单线连接,传输速度最高可达,20Kb/s,。,(,2,),B,类总线协议标准,B,类中的国际标准是,CAN,总线,它是一种多主总线,通信介质可以是双绞线、同轴电缆或光导纤维,通信速率可达,1Mb/s,。,CAN,总线通信接口中集成了,CAN,协议的物理层和数据链路层功能,可完成对通信数据的成帧处理,,CAN,协议采用,CRC,检验并可提供相应的错误处理功能,保证了数据通信的可靠性。,(,3,)高速总线系统协议标准,C,类总线协议标准。在,C,类标准中,欧洲的汽车制造商基本上采用的都是高速通信的,CAN,总线标准,IS011898,。而标准,J1939,在货车及其拖车、大客车、建筑设备以及农业设备上的使用,是用来支持分布在车辆各个不同位置的电控单元之间实现实时闭环控制功能的高速通信标准,其数据传输速率为,250Kb/s,。通用公司已开始在所有的车型上使用其专属的,GM LAN,总线标准,它是一种基于,CAN,的传输速率为,500Kb/s,的通信标准。,安全总线和标准。安全总线主要用于安全气囊系统,以连接加速度计、安全传感器等装置,为被动安全提供保障。如,Delphi,公司的,Safety Bus,和,BMW,公司的,Byteflight,。,X-by-Wire,总线协议标准。,X-by-Wire,称为电传控制,在飞机控制中得到广泛应用。由于目前提高汽车容错能力和通信系统的高可靠性的需求日益增长,,X-by-Wire,开始应用于汽车电子控制领域。这一类总线标准主要有,TTP,、,Byteflight,和,FlexRay,。,(,4,)诊断系统总线标准、协议 故障诊断是为了满足,OBD,(,ON Board Diagnose,)、,OBD,或,E-OBD,(,European-On Board Diagnose,)标准。目前,许多汽车生产厂商都采用,ISO14230,(,Keyword Protocol 2000,)作为诊断系统的通信标准,它满足,OBD,和,OBD,的要求。,(,5,)多媒体系统总线协议标准 汽车多媒体网络和协议分为三种类型,分别是低速、高速和无线。对应,SAE,的分类相应为:,IDB-C,(,Intelligent Data BUS-CAN,)、,IDB-M,(,Multimedia,)和,IDB-Wireless,,其传输速率为,250Kb/s-100Mb/s,。低速用于远程通信、诊断及通用信息传送,,IDB-C,按,CAN,总线的格式以,250Kb/s,的位速率进行信息传送。高速主要用于实时的音频和视频通信,如,MP3,、,DVD,和,CD,等的播放,所使用的传输媒体是光纤,这一类主要有,D2B,、,MOST,和,IEEE 1394,。,D2B,是用于汽车多媒体和通信的分布式网络,通常使用光纤作为传输媒体,可连接,CD,播放器、语音控制单元、电话和因特网。在无线通信方面采用,BluetoothTM,规范,主要面向汽车的声音系统、信息通信等应用系统。,10.,车载网络传输的基本原理,(,1,)数据传输的基本原理 车载网络中的数据传输总线的数据传递像一个电话会议,一个电话用户(控制单元)将数据“讲”入网络中,其它用户通过网络“接听”这个数据,对这个数据感兴趣的用户就会利用数据,而其它用户则选择忽略,如图,10-6,所示。,图,10-6,数据传输的基本原理图,数据传输总线是车内电子装置中的一个独立系统,用于在连接的控制单元之间进行信息交换。如果数据传输总线系统出现故障,故障就会存入相应的控制单元故障存储器内,可以用诊断仪读出这些故障。控制单元拥有自诊断功能,通过自诊断功能,还可识别出与数据传输总线相关的故障。用诊断仪读出数据传输总线故障记录后,可按这些信息准确地查寻故障。控制单元内的故障记录用于初步确定故障,还可用于读出排除故障后的无故障说明。,车载网络系统由多个控制单元组成,这些控制单元通过所谓的收发器(发射,/,接收放大器)并联在总线导线上,所有控制单元的地位均相同,没有哪个控制单元有特权。在这个意义上也称之为多主机结构,如图,10-7,所示。信息交换是按顺序连续完成的。,数据传输总线原则上用一条导线就足以满足功能要求了,但通常总线系统上还是配备了第二条导线,信号在第二条导线上按相反顺序传送的,可有效抑制外部干扰。,图,10-7,基本车载网络系统的总线连接示意图,(,2,)网关的基本原理 车载网络的网关具备从一个网络协议到另一个网络协议转换信息的能力,由于电压电平和电阻配置不同,因此在不同类型的数据总线之间无法进行直接耦合连接。另外,各种数据总线的传输速率是不同的,决定了它们无法使用相同的信号。这时需要在这两个系统之间完成一个转换,这个转换过程是通过所谓的网关来实现的。可以用火车站作为例子来清楚地说明网关的原理,如图,10-8,所示。,图,10-8,网关的原理示意图,在站台,A,(站台即网关)到达一列快车(,CAN,驱动数据总线,,500Kb/s,),车上有数百名旅客。在站台,B,已经有一辆火车(,CAN,舒适,/,信息数据总线,,100Kb/s,)在等待,有一些乘客就换到这辆火车上,还有一些乘客要换乘快车继续旅行。车站,/,站台的这种功能,即让旅客换车以便通过不同速度的交通工具到达各自目的地的功能,与,CAN,驱动数据总线和,CAN,舒适,/,信息数据总线两个系统网络的网关功能是相同的。网关的主要任务是使两个速度不同的系统之间能进行信息交换。,根据车辆的不同,网关可能安装在组合仪表内、车上供电控制单元内或在自己的网关控制单元内。由于通过各种数据传输总线的所有信息都供网关使用,因此网关也用作诊断接口。过去,通过,K,线来查询诊断信息;现在,很多车型是通过数据传输总线和诊断线来完成诊断查询工作的。,1.CAN,工作原理,当,CAN,总线上的一个节点(站)发送数据时,它以报文形式广播给网络中所有节点。对每个节点来说,无论数据是否是发给自己的,都对其进行接收。每组报文开头的,11,位字符为标识符(,CAN2.0A,),定义了报文的优先级,这种报文格式称为面向内容的编址方案。在同一系统中标识符是唯一的,不可能有两个节点发送具有相同标识符的报文。当一个节点要向其它节点发送数据时,该节点的,CPU,将要发送的数据和自己的标识符传送给本节点的,CAN,芯片,并处于准备状态;当它收到总线分配时,转为发送报文状态。,CAN,芯片将数据根据协议组织成一定的报文格式发出,这时网上的其它节点处于接收状态。每个处于接收状态的节点对接收到的报文进行检测,判断这些报文是否是发给自己的,以确定是否接收它。,由于,CAN,总线是一种面向内容的编址方案,因此很容易建立高水准的控制系统并灵活地进行配置,可以很容易地在,CAN,总线中加进一些新节点而无需在硬件或软件上进行修改。当所提供的新节点是纯数据接收设备时,数据传输协议不要求独立的部分有物理目的地址。它允许分布过程同步化,即总线上控制器需要测量数据时,可由网上获得,而无须每个控制器都有自己独立的传感器。,2.CAN,总线特点,CAN,总线是一种串行数据通信协议,最大通讯距离可达,10km,,最大通信速率可达,1Mbps,。,CAN,总线通信接口中集成了,CAN,协议的物理层和数据链路层功能,可完成对通信数据的成帧处理,包括位填充、数据块编码、循环冗余检验、优先级判别等项工作。,CAN,控制器工作于多主方式,网络中的各节点都可根据总线访问优先权(取决于报文标识符)采用无损结构的逐位仲裁的方式竞争向总线发送数据,且,CAN,协议废除了节点地址编码,而代之以对通信数据进行编码,这可使不同的节点同时接收到相同的数据,这些特点使得,CAN,总线构成的网络各节点之间的数据通信实时性强,并且容易构成冗余结构,提高系统的可靠性和系统的灵活性。,10.2.2 CAN,协议与标准,1. CAN,协议规范,CAN,规范中的对应,ISO/OSI,参考模型的网络层。,CAN,为串行通讯协议,能有效地支持具有很高安全等级的分布实时控制。为了达到设计透明度以及实现灵活性,根据,ISO/OSI,参考模型,,CAN 2.0,规范细分为数据链路层和物理层。,数据链路层的,LLC,子层和,MAC,子层的服务及功能分别被解释为“对象层”和“传输层”, 逻辑链路控制子层(,LLC,)的作用主要为远程数据请求以及数据传输提供服务,确定由实际要使用的,LLC,子层接收哪一个报文,为恢复管理和过载通知提供手段。,MAC,子层的作用主要是传送规则,也就是控制帧结构、执行仲裁、错误检测、出错标定、故障界定。总线上什么时候开始发送新报文及什么时候开始接收报文,均在,MAC,子层里确定。位定时的一些普通功能也可以看作是,MAC,子层的一部分。理所当然,,MAC,子层的修改是受到限制的。,物理层的作用是在不同节点之间根据所有的电气属性进行位的实际传输,同一网络的物理层对于所有的节点当然是相同的。,2.CAN,基本概念,CAN,总线一处于空闲,就自动将破坏的报文重新传输,将节点的暂时性错误和永久性错误区分开来,并且可以自动关闭错误节点。,3. CAN,标准,(,1,)报文 总线上的报文以不同的固定报文格式发送,但长度受限。当总线空闲时任何连接的单元都可以开始发送新的报文。,(,2,)信息路由 在,CAN,系统里,,CAN,的节点不使用任何关于系统配置的报文(比如,节点地址)。这样不用依赖应用层以及任何节点软件和硬件的改变,就可以在,CAN,网络中直接添加节点。提高系统灵活性。报文的内容由识别符命名。识别符不指出报文的目的地,但解释数据的含义。因此,网络上所有的节点可以通过报文滤波确定是否应对该数据做出反应。由于引入了报文滤波的概念,任何节点都可以接收报文,并与此同时对此报文做出反应。为确保报文在,CAN,网络里同时被所有的节点接收(或同时不被接收)。因此,系统的数据连贯性是通过多播和错误处理的原理实现的。,(,3,)位速率 不同的系统,,CAN,的速度不同。在一个给定的系统里,位速率是唯一的,并且是固定的。,(,4,)优先权 在总线访问期间,识别符定义一个静态的报文优先权。,(,5,)远程数据请求 通过发送远程帧,需要数据的节点可以请求另一节点发送相应的数据帧。数据帧和相应的远程帧是由相同的识别符命名的。,(,6,)仲裁 只要总线空闲,任何单元都可以开始发送报文。具有较高优先权报文的单元可以获得总线访问权。如果,2,个或,2,个以上的单元同时开始传送报文,那么就会有总线访问冲突。仲裁的机制确保了报文和时间均不损失。当具有相同识别符的数据帧和远程帧同时初始化时,数据帧优先于远程帧。仲裁期间,每一个发送器都对发送位的电平与被监控的总线电平进行比较。如果电平相同,则这个单元可以继续发送。如果发送的是一“隐性”电平而监视的是一“显性”电平,那么单元就失去了仲裁,必须退出发送状态。,(,7,)错误检测 为了获得最安全的数据发送,,CAN,的每一个节点均采取了强有力的措施以便于错误检测、错误标定及错误自检。要进行检测错误,必须采取监视(发送器对发送位的电平与被监控的总线电平进行比较)、 循环冗余检查、位填充、报文格式检查、错误检测的执行等措施。错误检测的 机制要具有检测到所有的全局错误、检测到发送器所有的局部错误、可以检测到报文里多达,5,个任意分布的错误、检测到报文里长度低于,15,(位)的突发性错误、 检测到报文里任一奇数个的错误等属性。任何检测到错误的节点会标志出损坏的报文。此报文会失效并将自动地开始重新传送。如果不再出现错误的话,从检测到错误的节点会标志出损坏的报文。此报文会失效并将自动地开始重新传送。如果不再出现错误的话,从检测到错误到下一报文的传送开始为止,恢复时间最多为,31,个位的时间。,(,8,)故障界定,CAN,节点能够把永久故障和短暂扰动区别开来,故障的节点会被关闭。,(,9,)总线值 总线有二个互补的逻辑值:“显性”或“隐性”。“显性”位和“隐性”位同时传送时,总线的结果值为“显性”。比如,在总线的“写与”执行时,逻辑,0,代表“显性”等级,逻辑,1,代表“隐性”等级。,(,10,)应答 所有的接收器检查报文的连贯性。对于连贯的报文,接收器应答,对于不连贯的报文,接收器做出标志。,4. CAN,的报文及结构,在总线上的任意节点均可以作为发送器或接收器,那么我们就将发出报文的节点叫发送器,该节点在总线空闲或丢失仲裁前始终为发送器。如果一个节点不是发送器,且总线不是处于空闲状态,则该节点就叫接收器。报文由一个发送器发出,再由一个或多个接收器接收。报文传输由,4,个不同类型的帧表示和控制,分别为数据帧,远程帧,错误帧,过载帧。,(,1,)数据帧 数据帧携带数据从发送器至接收器。数据帧由,7,个不同的位场组成:帧起始(,Stsrt of Frame,)、仲裁场(,Arbitration Frame,)、控制场(,Control Frame,)、数据场(,DataFrame,)、,CRC,场(,CRC Frame,)、应答场(,ACK Frame,)、帧结尾(,End of Frame,)。数据场的长度可以为,0,。,CAN 2.0A,数据帧的组成如图,10-9,所示。,图,10-9,数据帧的组成,帧起始。帧起始(,SOF,)标志数据帧和远程帧的起始,仅由一个“显性”位组成。只在总线空闲时才允许站开始发送。所有站必须同步于首先开始发送报文的站的帧起始前沿。,仲裁场。仲裁场包括识别符和远程发送请求位(,RTR,)。如图,10-10,所示的仲裁场结构。,图,10-10,仲裁场结构示意图,标准格式识别符的长度为,11,位,相当于扩展格式的基本,ID,(,Base ID,)。这些位按,ID-28,到,ID-18,的顺序发送。最低位是,ID-18,。,7,个最高位(,ID-28-ID-22,)必须不能全是“隐性”。,扩展格式识别符和标准格式形成对比,如图,10-11,所示的标准格式数据帧与扩展格式数据帧的仲裁场比较,扩展格式由,29,位组成。其格式包含两个部分:,11,位基本,ID,、,18,位扩展,ID,。基本,ID,包括,11,位,它按,ID-28,到,ID-18,的顺序发送。它相当于标准识别符的格式。基本,ID,定义扩展帧的基本优先权。扩展,ID,:扩展,ID,包括,18,位。它按,ID-17,到,ID-0,顺序发送。,图,10-11,标准格式数据帧与扩展格式数据帧的仲裁场,标准帧里,识别符其后是,RTR,位。,RTR,的全称为“远程发送请求位(,Remote Transmission Request BIT,)”。,SRR,是一隐性位。它在扩展格式的标准帧,RTR,位位置,因此代替标准帧的,RTR,位。,标准帧与扩展帧的冲突是通过标准帧优先于扩展帧这一途径得以解决的,扩展帧的基本,ID,如同标准帧的识别符。,IDE,的全称是“识别符扩展位(,Identifier Extension Bit,)”标准格式里的,IDE,位为“显性”,而扩展格式里的,IDE,位为“隐性”。,控制场。控制场由,6,个位组成,如图,10-12,所示。,图,10-12,控制场示意图,标准格式里的帧包括数据长度代码、,IDE,位(为显性位)、及保留位,r0,。扩展格式里的帧包括数据长度代码和两个保留位:,r1,和,r0,。,保留位:必须发送为显性,但是接收器认可“显性”和“隐性”位的组合。,数据长度代码:数据长度代码指示了数据场里的字节数量。数据长度代码为,4,个位,它在控制场里发送。数据长度代码中数据字节数的编码:,d“,显性”;,r“,隐性” 。,数据场。数据场由数据帧里的发送数据组成。它可以为,0,8,个字节,每字节包含了,8,个位,首先发送,MSB,。,CRC,场。,CRC,场包括,CRC,序列(,CRC SEQUENCE,),和,CRC,界定符(,CRC DELIMITER,),如图,10-13,所示。,CRC,序列是由循环冗余码求得的帧检查序列组成,最适用于位数低于,127,位,BCH,码,的帧。为进行,CRC,计算,被除的多项式系数由无填充位流给定,组成这些位流的成分是:帧起始、仲裁场、控制场、数据场(假如有),而,15,个最低位的系数是,0,。,CRC,序列之后是,CRC,界定符,它包含一个单独的“隐性”位。,图,10-13 CRC,场示意图,应答场。应答场长度为,2,个位,包含应答间隙(,ACK SLOT,)和应答界定符(,ACK DELIMITER,),如图,10-14,所示。,图,10-14,应答场示意图,在应答场里,发送站发送两个“隐性”位。当接收器正确地接收到有效的报文,接收器就会在应答间隙(,ACK SLOT,)期间(发送,ACK,信号)向发送器发送一“显性”位以示应答。,所有接收到匹配,CRC,序列(,CRC SEQUENCE,)的站会在应答间隙(,ACK SLOT,)期间用一“显性”的位写入发送器的“隐性”位来作出回答。,应答界定符是应答场的第二个位,并且是一个必须为“隐性”的位。因此,应答间隙(,ACK SLOT,)被两个“隐性”的位所包围,也就是,CRC,界定符(,CRC DELIMITER,)和应答界定符(,ACK DELIMITER,)。,帧结尾。每一个数据帧和远程帧均由一标志序列定界,这个标志序列由,7,个“隐性”的位组成。,(,2,)远程帧 由总线单元发出,请求发送具有同一识别符的数据帧,数据帧(或远程帧)通过帧间空间与其他各帧分开。通过发送远程帧,作为某数据接收器的站可以初始化通过其资源节点传送不同的数据。,远程帧也有标准格式和扩展格式,而且都由帧起始、仲裁场、控制场、,CRC,场、应答场、帧结尾等,6,个不同的位场组成(如图,10-15,所示)。,图,10-15,远程帧的组成,与数据帧相反,远程帧的,RTR,位是“隐性”的。它没有数据场,数据长度代码的数值是不受制约的(可以标注为容许范围里,0.8,的任何数值)。此数值是相应于数据帧的数据长度代码。,RTR,位的极性表示了所发送的帧是一数据帧(,RTR,位“显性”)还是一远程帧(,RTR“,隐性”)。,(,3,)错误帧 任何单元一但检测到总线错误就发出错误帧。错误帧由两个不同的场组成(如图,10-16,所示):第一个场用是不同站提供的错误标志(,ERROR FLAG,)的叠加,第二个场是错误界定符。为了能正确地终止错误帧,“错误被动”的节点要求总线至少有长度为,3,个位时间的总线空闲(如果“错误被动”的接收器有局部错误的话),总线的载荷不应为,100%,。,有两种形式的错误标志:主动的错误标志和被动的错误标志。,主动的错误标志由,6,个连续的“显性”位组成。,被动的错误标志由,6,个连续的“隐性”的位组成,除非 其他节点的“显性”位重写。,检测到错误条件的“错误激活”的站通过发送主动错误标志指示错误。错误标志的形式破坏了从帧起始到,CRC,界定符的位填充的规则,或者破坏了,ACK,场或帧结尾场的固定形式。所有其他的站由此检测到错误条件并与此同时开始发送错误标志。因此,“显性”位(此“显性”位可以在总线上监视)的序列导致一个结果,这个结果就是把个别站发送的不同的错误标志叠加在一起。这个序列的总长度最小为,6,个位,最大为,12,个位。,图,10-16,错误帧的组成,检测到错误条件的“错误被动”的站试图通过发送被动错误标志指示错误。“错误被动”的站等待,6,个相同极性的连续位(这,6,个位处于被动错误标志的开始)。当这,6,个相同的位被检测到时,被动错误标志的发送就完成了。,错误界定符包括,8,个“隐性”的位。,(,4,)过载帧 过载帧用以在先行的和后续的数据帧(或远程帧)之间提供一附加的延时。过载帧包括两个位场:过载标志和过载界定符(如图,10-17,所示)。,有三种过载的情况,这三种情况都会引发过载标志的传送:,接收器的内部情况(此接收器对于下一数据帧或远程帧需要有一延时);,在间歇的第一和第二字节检测到一个“显性”位;,如果,CAN,节点在错误界定符或过载界定符的第,8,位(最后一位)采样到一个显性位,节点会发送一个过载帧(不是错误帧)。错误计数器不会增加。,根据过载情况而引发的过载帧只允许起始于所期望的间歇的第一个位时间,而根据情况和情况引发的过载帧应起始于所检测到“显性”位之后的位。通常为了延时下一个数据帧或远程帧,两种过载帧均可产生。,过载标志:过载标志由,6,个“显性”的位组成。过载标志的所有形式和主动错误标志的一样。过载标志的形式破坏了间歇场的固定形式。因此,所有其他的站都检测到过载条件并与此同时发出过载标志。如果有的节点在间歇的第,3,个位期间检测到“显性”位,则这个位将解释为帧的起始。,过载界定符(,Overload Delimeter,):过载界定符包括,8,个“隐性”的位。过载界定符的形式和错误界定符的形式一样。过载标志被传送后,站就一直监视总线直到检测到一个从“显性”位到“隐性”位的跳变。此时,总线上的每一个站完成了过载标志的发送,并开始同时发送其余,7,个“隐性”位。,图,10-17,过载帧的组成,帧间空间:帧间空间是用于隔离数据帧(或远程帧)与先行帧(数据帧、远程帧、错误帧、过载帧)的。而过载帧与错误帧之前没有帧间空间,多个过载帧之间也不用帧间空间隔离。帧间空间包括间歇场、总线空闲的位场。如果“错误被动”的站已作为前一报文的发送器时,则其帧空间除了间歇、总线空闲外,还包括称作挂起传送的位场。,10.2.3 CAN,应用系统,宝来(,Bora,)轿车在动力传动系统和舒适系统中就装用了两套,CAN,数据传输系统,其中,CAN,数据传输舒适系统如图,10-18,所示。,接发电机,底盘网络,M,M,仪表单元,M,M,M,M,M,M,M,M,M,M,M,M,前门,单元,车身中央,控制单元,空调,单元,前座,单元,顶窗,单元,前座,单元,左前门,单元,M,M,M,后门,单元,后门,单元,后座,单元,M,M,后窗,单元,M,CAN,M,LIN,电机,加热器,灯具,控制面板,图例,:,图,10-18 CAN,数据传输舒适系统,图,10-18,中粗线代表,CAN,总线,它连接了传动装置控制中央单元、灯控单元、门控单元、座椅控制单元、空调单元以及仪表盘控制单元等等。较细线代表,LIN,总线,由,LIN,总线构成的,LIN,网络作为,CAN,网络的辅助网络,连接了车窗控制单元、雨刷控制单元、天窗控制单元等低速设备。,CAN,数据传输舒适系统网络与动力传动系统网络通过网桥相互通信。,LIN,网络(,Local Interconnect Network,),由汽车厂商为汽车开发,作为,CAN,网络的辅助网络,目标应用在低端系统,不需要,CAN,的性能、带宽以及复杂性。,LIN,的工作方式是一主多从,单线双向低速传送数据(最高,20K,位,/,秒),与,CAN,相比具有更低的成本,且基于,UART,接口,无需硬件协议控制器,使系统成本更低。,1.,典型,CAN,总线器件及应用,(,1,),SJA1000 CAN,控制器,SJA1000,是一个独立的,CAN,控制器,,SJA1000,在软件和引脚上都是与它的前一款,PCA82C200,独立控制器兼容的。在此基础上它增加了很多新的功能,为了实现软件兼容,,SJA1000,独立的,CAN,控制器有,BasicCAN,模式和,PeliCAN,模式。,BasicCAN,模式:和,PCA82C200,兼容,,BasicCAN,模式是上电后默认的操作模式,因此用,PCA82C200,开发的已有硬件和软件,可以直接在,SJA1000,上使用而不用作任何修改。,PeliCAN,模式:新的操作模式,它能够处理所有,CAN2.0B,规范的帧类型。而且它还提供一些增强功能,使,SJA1000,能应用于更宽的领域。,工作模式通过时钟分频寄存器中的,CAN,模式位来选择,复位时默认模式是,BasicCAN,模式。,SJA1000,控制器可以分为,CAN,核心模块、接口管理逻辑、发送缓冲器、验收滤波器、接收,FIFO,等五个功能模块,,SJA1000,控制器结构图如图,10-19,所示。由主控制器进行管理控制、将欲收发的信息(报文),转换为,CAN,规范的,CAN,帧,通过,CAN,收发器,在,CAN BUS,上交换信息。,(,2,),PCA82C250 CAN,收发器,PCA82C250,是,CAN,协议控制器和物理总线的接口。此器件对总线提供差动发送能力,对,CAN,控制器提供差动接收能力。又称为总线驱动器。主要特性有:完全符合,ISO11898,标准;高速率(最高达,1Mbps,);具有抗汽车环境中的瞬间干扰,保护总线能力;斜率控制,降低射频干扰(,RFI,);差分接收器,抗宽范围的共模干扰,抗电磁干扰(,EMI,);热保护;防止电池和地之间的发生短路;低电流待机模式;未上电的节点对总线无影响;可连接,110,个节点。,图,10-19 SJA1000,控制器结构图,(,3,),SJA1000,和,PCA82C250,的基本应用,SJA1000,和,PCA82C250,收发器的典型应用如图,10-20,所示。,CAN,控制器通过串行数据输出线(,TX,)和串行数据输入线(,RX,)连接到,PCA82C250,收发器。,图,10-20 CAN,收发器的应用,收发器通过有差动发送和接收功能的两个总线终端,CANH,和,CANL,连接到总线电缆,输入,Rs,用于模式控制,参考电压输出,VREF,的输出电压是额定,VCC,的,0.5,倍,其中收发器的额定电源电压是,5V,。,CAN,协议控制器输出一个串行的发送数据流到收发器的,TxD,引脚,内部的上拉功能将,TxD,输入设置成逻辑高电平,也就是说总线输出驱动器默认是被动的,在隐性状态中,,CANH,和,CANL,输入通过典型内部阻抗是,17k,的接收器输入网络,偏置到,2.5V,的额定电压,另外如果,TxD,是逻辑低电平,总线的输出级将被激活,在总线电缆上产生一个显性的信号电平,输出驱动器由一个源输出级和一个下拉输出级组成,,CANH,连接到源输出级,,CANL,连接到下拉输出级,在显性状态中,CAN_H,的额定电压是,3.5V,,,CANL,是,1.5V,。,如果没有一个总线节点传输一个显性位,总线处于隐性状态,即网络中所有,TxD,输入是逻辑高电平。另外如果一个或更多的总线节点传输一个显性位,即至少一个,TxD,输入是逻辑低电平,则总线从隐性状态进入显性状态(线与功能)。,接收器的比较器将差动的总线信号转换成逻辑信号电平,并在,RxD,输出,接收到的串行数据流传送到总线协议控制器译码。接收器的比较器总是活动的,也就是说当总线节点传输一个报文时,它同时也监控总线,这就要求有诸如安全性和支持非破坏性逐位竞争等,CAN,策略,一些控制器提供一个模拟的接收接口。,(,RX0,,,RX1,),RX0,一般需要连接到,RxD,输出,RX1,需要偏置到一个相应的电压电平,这可以通过,VREF,输出或一个电阻电压分配器实现。,2. CAN BUS,节点设计举例,(,1,)网络拓朴,CAN-bus,采用总线网络拓朴结构,在一个网络上至少需要有,2,个,CAN-bus,节点存在。在总线的,2,个终端,各需要安装,1,个,120,的终端电阻;如果节点数目大于,2,个,中间节点就不要求安装,120,终端电阻,网络拓朴示意图如图,10-21,所示。,终端电 阻,CAN-bus,节点,1,CANH,CANL,节点,2,CANH,CANL,节点,3,CANH,CANL,节点,4,CANH,CANL,图,10-21,网络拓朴示意图,虽然每一个节点根据应用系统的任务有各自控制功能,但完成,CAN-bus,信息交换的功能是相同的。,CAN bus,节点一般由微处理器、,CAN,控制器、,CAN,收发器三部分组成,,CAN bus,节点示意图如图,10-22,所示。,微处理器,CAN,控制器,CAN,收发器,R,X,T,X,CAN,总线,边控制装置、传感器、变送器、人机接口等,CAN,总线,节点,图,10-22 CAN,总线节点示意图,(,2,)硬件设计 如图,10-23,所示为,CAN,总线系统节点硬件电路原理图。从图中可以看出,电路主要由三部分所构成,单片机,89C51,、独立,CAN,通信控制器,SJA1000,、,CAN,总线收发器,82C250,。单片机,89C51,负责,SJA1000,的初始化,通过控制,SJA1000,实现数据的接收和发送等通信任务。,SJA1000,的,AD0-AD7,连接到,89C51,的,P0,口,,/CS,连接到,89C51,的,P2.7,,,P2.7,为,0,的,CPU,片外存贮器地址可选中,SJA1000,,,CPU,通过这些地址可对,SJA1000,执行相应的读写操作,,SJA1000,的,/RD,、,/WR,、,ALE,分别与,89C51,的对应引脚相连,,/INT,接,89C51,的,0INT,,,80C51,也可通过中断方式访问,SJA1000,。,SJA1000,的,CLKOUT,信号作为,89C51,的时钟源,复位信号由外部复位电路产生。,图,10-23 CAN,总线系统节点硬件电路原理图,电源。,SJA1000,有三对电源引脚,用于,CAN,控制器内部不同的数字和模拟模块。,VDD1/VSS1,:内部逻辑(数字);,VDD2/VSS2,:输入比较器(模拟);,VDD3/VSS3,:输出驱动器(模拟)。为了有更好的,EME,性能电源应该分隔开来,例如为了抑制比较器的噪声,,VDD2,可以用一个,RC,滤波器来抑制噪声。,复位。为了使,SJA1000,正确复位,,CAN,控制器的,XTAL1,管脚必须连接一个稳定的振荡器时钟,引脚,17,的外部复位信号要同步并被内部延长到,15,个,tXTAL,。这保证了,SJA1000,所有寄存器能够正确复位。要注意的是必须要考虑上电后的振荡器的起振时间。,振荡器和时钟方案。,SJA1000,能用片内振荡器或片外时钟源工作。另外,CLKOUT,管脚可被使能,向主控制器输出时钟频率。如果不需要,CLKOUT,信号,可以通过置位时钟分频寄存器(,ClockOff=1,)关断。,CLKOUT,信号的频率可以通过时钟分频寄存器改变:,fCLKOUT=fXTAL,时钟分频因子(,1,、,2,、,4,、,6,、,8,、,10,、,12,、,14,)。上电或硬件复位后时,钟分频因子的默认值由所选的接口模式(引脚,11,)决定。如果使用,16MHz,的晶振,,Intel,模式下,CLKOUT,的频率是,8MHz,,,Motorola,模式中复位后的时钟分频因子是,12,,这种情况,CLKOUT,会产生,1.33MHz,的频率。,睡眠和唤醒。置位命令寄存器的进入睡眠位(,BasicCAN,模式)或模式寄存器(,PeliCAN,模式)的睡眠模式位后,如果没有总线活动和中断等待,,SJA1000,就会进入睡眠模式,振荡器在,15,个,CAN,位时间内保持运行状态。此时,微型控制器用,CLKOUT,频率来计时,进入自己的低功耗模式,如果出现三个唤醒条件之中的一个,振荡器会再次启动并产生一个唤醒中断,振荡器稳定后,,CLKOUT,频率被激活。,CPU,接口。,SJA1000,支持直接连接到单片机,89C51,通过,SJA1000,的,MODE,引脚可选择接口模式:,Intel,模式:,MODE=,高;,Motorola,模式:,MODE=,低。,(,3,)通信软件设计,CAN,总线节点的通信软件设计主要包括三大部分:,CAN,节点初始化程序;报文发送程序;报文接收程序。熟悉这三部分程序的设计,就能编写出利用,CAN,总线进行通信的一般应用程序。,如果通信任务比较复杂,还要需详细了解有关,CAN,总线错误处理、总线脱离处理、接收滤波处理、波特率参数设置和自动检测以及,CAN,总线通信距离和节点数的计算等方面的内容。,初始化子程序。,SJA1000,的初始化只有在复位模式下才可以进行。初始化主要包括:工作方式的设置、接收滤波方式的设置、接收屏蔽寄存器,AMR,和接收代码寄存器,ACR,的设置、波特率参数设置、和中断允许寄存器,IER,的设置等,在完成,SJA1000,的初始化设置以后,,JA1000,就可以回到工作状态进行正常的通信任务。,发送子程序。发送子程序负责节点报文的发送。发送时用户只需将待发送的数据按特定格式组合成一帧报文,送入,SJA1000,发送缓存区中,然后启动,SJA1000,发送即可。在向,SJA1000,发送缓存区送报文之前,必须先作一些判断。,10.2.4 LIN,总线系统,LIN,是,Local Interconnect Network,的缩写。,Local Interconnect,(局域互联)表示所有的控制单元都装在一个有限的空间内(如车顶),它也被称为“局域子系统”,,LIN,总线系统由,Audi,、,BMW,、,Daimler Chrysler,、,Motorola volcano communications technologies,(,VCT,)、,Volkswagen,、,Volvo,等公司和部门(,LIN,联合体)提出的一个汽车低层网络协议,目的是在汽车网络层次结构中作为低端网络的通用协议,并取代目前各种各样的低端总线系统。,LIN,总线的标准与其相应的开发、测试以及维护平台的应用,会降低车上电子系统的开发、生产、使用和维护的费用。从某种意义上讲,,LIN,总线可认为是,CAN,的通信网络,其示意图如图,10-24,所示。,1.LIN,总线的应用,现代汽车电子系统已经实现了多路传输,使汽车大量线路和内部连接被取消,在这种条件下,,CAN,网络的电控单元间的连接虽然已是最优结构,但是一个电控单元和它的传感器和执行器之间的连接还不一定是多路传输的,如图,10-25,所示。,图,10- 24,车门模块示意图,图,10-25,没有配备,LIN,总线的,CAN,网络结构图,引入,LIN,总线,几乎所有的电控单元和其传感器、执行器之间的连接,都已经实现多路传输,车上各个,LIN,总线系统之间的数据交换是由控制单元通过,CAN,数据总线实现的,如图,10-26,所示。,图,10-26,配备,LIN,总线的,CAN,网络结构图,2.LIN,总线的结构,LIN,总线是主,/,从结构的网络,主要用于控制车身附属系统,如图,10-27,所示。,图,10-27 LIN,总线的结构图,(,1,),LIN,主控单元,LIN,主控单元连接在,CAN,数据总线上,如图,10-28,所示,,LIN,主控单元主要监控数据传递和数据传递的速率,发送信息标题,主控单元的软件内已经设定了决定何时将哪些信息发送到,LIN,数据总线上多少次的一个周期,主控单元在,LIN,数据总线与,CAN,总线之间起“翻译”作用,它是,LIN,总线系统中唯一与,CAN,数据总线相连的控制单元,通过,LIN,主控单元进行,LIN,系统自诊断。,图,10-28 LIN,主控制单元,(,2,),LIN,从控单元,LIN,主控单元通过集成的传感器来获知执行元件的实际状态,然后就可以进行规定状态和实际状态的对比,如图,10-29,所示。在,LIN,数据总线系统内,单个的控制单元或传感器及执行元件都可看作,LIN,从控单元。传感器内集成有一个电子装置,该装置对测量值进行分析。测量值是作为数字信号通过,LIN,总线传递的。有些传感器和执行元件只使用,LIN,主控制单元插口上的一个针脚。,LIN,执行元件都是智能型的电子或机电部件,这些部件通过,LIN,主控单元的,LIN,数字信号接受任务。,图,10-29 LIN,从控制单元,3.LIN,的协议,(,1,)传输媒体,LIN,网络一般使用一根单独的铜线作为介质。,(,2,)节点 一个,LIN,电控单元拥有一个统一的接口,以便于与其它,LIN,电控单元处理数据,,LIN,节点的结构如图,10-30,所示,节点主要由,2,部分组成:协议控制器和线路接口,协议控制器集成在微控制器中的一个标准单位(,URAT,)上实现,微控制器主要实现发送,/,接受,8,位字节、构成请求、接受和发送;线路接口主要负责将,LIN,总线的信号翻译成无干扰的信号进入,LIN,协议控制器,以及相反地将协议控制器的信号进行翻译传入,LIN,总线。,(,3,)传输速率 数据传递速率为,1,20Kb/s,,在,LIN,控制单元的软件内已经设定完毕,该速率最大能达到舒适,CAN,数据传递速率的,1/5,。,图,10-30 LIN,总线的节点结构,(,4,)信号 隐性电平:如果无信息发送到,LIN,数据总线上或者发送到,LIN,数据总线上的是一个隐性比特,那么数据总线导线上的电压就是蓄电池电压。显性电平:为了将显性比特传到,LIN,数据总线上,发送控制单元内的收发报机将数据总线导线接地。注意:由于控制单元内的收发报机有不同的型号,因此表现出的显性电平是不一样的。,(,5,)传递安全性 在收发隐性电平和显性电平时,通过预先设定公差值来保证数据传输的稳定性。为了在有干扰辐射的情况下仍能收到有效的信号,接收信号的允许电压值要稍高一些。,(,6,),LIN,帧结构 一个,LIN,帧结构由字节分隔开的一系列字节组成,,LIN,帧结构如图,10-31,所示。,LIN,帧的开始是异步中断域,它通过,LIN,网的主节点发出,并且支持所有的,LIN,节点自动适应总线速度;异步域使得所有总线上的节点异步;标识域可表示,64,个节点,它指明数据的目的地或者所询问的节点地址;数据域由,1-8,个,8,位字节构成,包含了有用的命令或回应信息;检查域由一个,8,位字节构成,以保证,LIN,帧内容的完整性。,图,10-31 LIN,帧结构,(,7,)信息的顺序和回应信息内容,LIN,主控单元已经设定工作顺序,,LIN,主控单元按顺序将信息发送至,LIN,总线上(若是主信息,则发送的是回应)。为了减少,LIN,主控单元部件的种类,主控单元将全部装备控制单元的信息标题发送到,LIN,总线上。,对于带有从控制单元回应的信息,,LIN,从控制单元会根据识别码给这个回应提供信息, 对于主控制单元带有数据请求的信息,根据识别码的情况,相应的,LIN,从控制单元会根据这些数据去执行各种功能。,10.3,汽车网络应用实例,10.3.1,宝来汽车的舒适,/,信息,CAN,网络,1.,宝来汽车,CAN,数据总线简介,宝来轿车的数据总线系统如图,10-32,所示,宝来汽车上使用多种,CAN,数据总线,第一种,CAN,数据总线是舒适,CAN,数据总线,传输速率为,100Kb/s,,用于将舒适系统中的控制单元联网,用于将收音机、电话和导航系统联网;第二种是动力,CAN,数据总线,传输速率是,500 Kb/s,,用于将驱动线束上的控制单元联网。通过带网关的组合仪表,舒适,CAN,数据总线和信息,CAN,数据总线也可以与动力,CAN,数据总线进行数据交换。,图,10-32,宝来轿车的数据总线系统,各系统在数据高速公路上采用同样的交通规则,即“传输协议”。为了保证有很高的抗干扰性,所有的,CAN,数据总线都采用双线式系统。将要发送的信号在发送控制单元的收发器内转换成不同的信号电平,并输送到两条,CAN,导线上,只有在接收控制单元的差动信号放大器内才能建立两个信号电平的差值,并将其作为唯一经
展开阅读全文