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