1、重庆邮电大学硕士学位论文基于ISO15765的车载CAN网络上位机诊断软件设计姓名:姚燕申请学位级别:硕士专业:控制理论与控制工程指导教师:李锐;程安宇20110610重庆邮电人学硕士论文 摘要摘要随着车载CAN(Controller Area Network)网络技术的发展与广泛应用,车载CAN网络国际诊断标准ISO l 5765随之发布。但由于协议的新颖性与国外对此相关知识产权的保护,使得国内在此方面的技术研究相对薄弱,诊断工具主要是依靠国外高成本的设备。因此,研究设计基于国际诊断标准的具有自主知识产权的低成本CAN网络诊断工具具有重要意义。论文以某车型的网络结构与支持诊断的网络节点为被诊
2、断对象,在对IS01 5765体系结构进行深入研究的基础上,通过VC软件平台与USBCANII硬件采集卡设计低成本的车载CAN网络诊断上位机。论文的具体工作如下:(1)在研究车载CAN网络诊断协议体系结构的基础上,针对某车型的车载网络结构,提出了网络诊断的结构及诊断的功能需求,将诊断上位机分为相对独立的常规诊断模块(无下载功能)和下载诊断模块进行设计。(2)在深入理解诊断协议的基础上,实现了应用层5类诊断服务的设计。针对网络层的数据传输,设计符合ISO l 57652的数据封装算法,实现网络层的数据传输。(3)在实现应用层协议与网络层的数据传输的基础上,针对安全访问服务的实现过程,设计安全访问
3、算法并建立安全算法动态链接库,利用VC软件平台与USBCANII硬件采集卡,设计车载CAN网络常规诊断模块的低成本诊断上位机。(4)在深入研究基于IS01 57653的下载诊断流程的基础上,设计S1 9文件处理算法对S19文件进行处理,实现基于CAN网络诊断协议的在线下载流程。以USBCSNII为硬件下载器,利用VC软件平台设计在线下载上位机软件,来实现程序基于车载CAN网络的在线下载。(5)搭建测试平台,结合CANoe对所开发的诊断上位机进行测试,包括常规诊断上位机的测试以及下载功能的测试。通过实际测试,验证所设计的低成本诊断上位机可实现与车载CAN网络进行基于IS015765的诊断通信;并
4、可实现程序通过CAN网络的在线下载;从而验证了所设计诊断上位机的可行性。关键词:车载网络,CAN,IS01 5765,诊断,测试Ab stractWith the development and wide use of inVehicle CAN(Controller AreaNetwork)network technology,complete in-vehicle CAN network internationaldiagnostic specification has been publishedHowever,because of the noveltyof the specifica
5、tion and the protection of intellectual property rights offoreign country,our country is relatively weak on this technique,moreover,diagnostic tool is mainly dependent on highcost foreign equipmentTherefore,the study on CAN network diagnostic tool based on ISO 1 5765 withindependent intellectual pro
6、perty rights is significantIn this paper,diagnosticstructure of certain car and network nodes which can be diagnostic iS chosenas the diagnostic objectAfter the analysis and deep study of ISO 1 5765architecture,low cost diagnostic upper computer of CAN network is designedby VC software and USBCANII
7、hardware acquisition cardThe maincontributions of dissertation include the following:(1)Basing on the research on diagnostic protocol architecture ofinvehicle CAN networkthe structure of invehicle network and thediagnostic function needs are put forward for a certain vehicle modelThediagnostic upper
8、 computer design is divided into relatively independent ofordinary diagnostic module(without download function)and downloaddiagnostic module(2)The maj or 5 kinds of diagnostic services of application layer arerealized based on deep understanding of diagnostic protoc01For the networklayer data transm
9、ission,data packing algorithm which meet the ISO 1 57652is designed tO achieve the network layer data package transmission(3)Basing on the realization of the applicationlayer protocol and thenetwork layer data transmission algorithmFor the safety access realization,safety algorithm is designed and D
10、LL is createdLow-cost CAN networkdiagnostic upper computer of ordinary diagnosis module is designed by VCsoftware platform and USBCANII hardware acquisition card(4)The S 1 9 file processing algorithm is designed to realize programon1ine download through CAN network diagnostic specification,which isI
11、I重庆邮电大学硕十论文 Abstractbased on IS01 57653 download processUpper computer of online downloadis designed by VC software platform and USBCANII hardware,by whichprogram can be downloaded online through CAN network(5)Test platform is built to test the diagnostic upper computer combinedwith CANoeThe test in
12、cludes ordinary diagnostic module test and downloadfunction testTest results show that diagnostic upper computer can communicate withCAN network through IS015765,and S19 file can be downloaded on-linethrough CAN successfullyThe feasibility of the designed diagnostic uppercomputer is validated。Keywor
13、ds:invehicle network,CAN,ISO 1 5765,diagnosis,testIIl重庆邮电大学硕十论文 第一章绪论第一章绪论11课题研究的背景与意义CAN网络技术起源于欧洲,最早运用于汽车的电子通讯系统上,专门装备高档车型,被公认为现代B级、C级轿车和高技术含量代表的标志之一【11。它具有极强的抗干扰和纠错能力,这项技术的最大优点是减少了线束的数量和控制器接口的引脚数,能够使多个控制器和各类型的传感器之间的数据通信联系起来,使整车线束布置更加紧凑。CAN网络由于其非破坏性的网络仲裁机制、较高的通信速率和灵活可靠的通信方式乜1,在车载网络领域广受青睐,CAN网络可以更简单
14、、迅速地实现汽车控制、通信、在线诊断以及在线编程。由于其综合的优势,目前,在多种车用总线中,CAN总线成为应用最广泛的总线。由于车载CAN总线的广泛应用,车载CAN网络的诊断技术亦显得尤为重要。由于诊断系统独立于车载CAN网络,这使得系统的开发成本增加,内部网络变得复杂。为解决上述问题,欧洲汽车厂商推出一种基于CAN总线的诊断系统通信标准IS01 5765,它可满足EOBD(EuropeanOn Board Diagnosis)的系统要求,IS015765以IS0142291定义的服务为基础,规定了基于CAN总线的诊断服务(UDS on CAN),包括网络管理、网络定时、应用层定时等详细内容,
15、使得该协议的适用性和可操作性更强,并与IS014230应用层的服务和参数完全兼容pJ。基于IS015765的车载网络诊断不仅可以读取故障码,还能实现车载网络ECU(Electronic Control Unit)的在线升级功能。通过在线升级功能,整车厂可以在4S店刷新控制器的软件,从而减少因软件缺陷造成的召回成本H。此外,还能实现读取、写入及控制ECU的信息。如读取ECU的版本信息、生产厂商以及控制ECU的输入输出信息等功能。IS015765符合现代汽车网络总线系统的发展趋势,已被许多汽车厂商采纳,并将成为未来汽车行业的通用诊断标准。对于车载网络的诊断,国外各大著名汽车公司对诊断技术的研究较为
16、成熟,其诊断通信协议也是由国外各大厂商制定,其相关的诊断产品和诊断工具也开发的较为成熟,比如德国Vector公司的诊断系列产品,以及Mentor公司的诊断系列产品。目前国内的汽车生产厂商及汽车零部件厂商与研发机构大都直接使用国外相对成熟的诊断系列产品。由于知识产权的保护,国外对车载网络的诊断技术几乎处于封锁状态,即使是中外合资的相关汽车厂商或零部件厂商其诊断技术也是不会对国内开放。综上原因,使得目前国内的车载网络诊断技术处于起步阶段。因重庆邮电大学硕士论文 第一章绪论此,深入研究车载网络诊断技术,是摆在国内汽车设计公司和汽车生产厂商面前必须解决的实际问题。12车载网络诊断协议概述对车载网络诊断
17、技术的实现主要依托于对车载网络诊断协议的应用与实现。现对常用的车载网络的国际诊断协议进行概述如下:ISO-9141:早在1996年国际标准化组织颁布基于K线的ISO9141标准;该标准的应用时间不算太长。ISO 14230:ISO 14230于1999年出台,又称作Keyword Protocol 2000(kwp2000),该诊断标准是基于K线的,波特率为104 kbs,用单线(K线)通信,也可用双线(K线和L线)通信,目前多用单线通信。IS014230的头格式不是固定的,有3或4个字节,报文传输不用分包,最大可传255个字节数据,K线本质上是一种半双工串行通信总线。过去比较常用,到目前为止
18、,IS014230仍是许多汽车厂商采用的诊断通信标准【51。报文头 数据域 校验和格式 目标地址 源地址 长度 数据l 数据2 数据11 校验和图11 ISO 14230K线数据格式ISoDIS 15765,1 999年出台ISODIS 1 5765(Diagnostics on CANbased on KWP一2000),此诊断标准是基于ISO 14230在CAN线上的扩充,源于K线的诊断标准。lSO 15031:200 1年6月发布ISO 1 503 1(Communication for emissionsrelated diagnostics),此诊断标准的出台主要针对排放系统相关的诊
19、断,其中ISO 15031-6中,对故障诊断码的格式进行了详细规定。lSO 15765,2001年发布了ISO 15765(Diagnostics on CANbased on UDS),此诊断标准与基于K线的诊断标准不同,这是基于统一诊断服务的诊断。其中的ISOl57653、IS0157652分别规定了应用层与网络层的实现,在IS0157652网络层中对ECU2重庆邮电大学硕士论文 第一章绪论的在线上传下载进行了详细的规定。将帧类型分为单帧、第一帧、流控帧和后续帧,此诊断标准对报文进行打包传输,数据以流控帧的机制进行传输,一次最多可传输4095字节的数据。标准CAN帧格式【6l如图12所示。
20、仲裁域12f7= 控制域6位 数据域64位帧 远程 标识 保留 数据 循环校 CRC 应 帧开 标识符 传输 符扩 数据域 验位 界定 旌 结始 请求 展位 位0 长度口CRC 符 场 束l ll l l l 4 064 15 l 2 7图12标准CAN帧格式ISO 14229-1:2006年发布统一诊断服务标准ISO 142291(Unified Diagnostic Services)。该国际标准只是规定应用层上诊断规范,该标准的制定是为了针对任何一种连续数据链路,不涉及网络及实现未。定义诊断系统的通用需求,为了实现这一点,该标准基于OSI基本参考模型,如表11所示,其通信系统为7层。其中
21、映射到CAN线上的诊断为IS015765。在其它链路上的映射,如无线局域网、Flexray等的诊断,也将按照IS0142291(统一诊断标准UDS)执行【rJ。表l-1诊断规范与OSI的对应关系表适用性 OSI 7层 增强诊断服务(非放射相关)遵循 应用层(第7层) ISO 14229-lISO 157653ISO 119924 ISO 142291更多标准ISO难C 表达层(第6层)7498 会话层(第5层) ISO 157653IS0 119924 更多标准和 传输层(第4层) ISO 157652ISO 11992-4 更多标准ISO,IEC 网络层(第3层) ISO 157652ISO
22、ll992_4 更多标准1073l的7 数据链路层(第2层) ISO 1l 898IS0119921SAE儿939一15 更多标准层 物理层(第1层) ISO 11898ISO 11992-lSAE J1939-15 更多标准综述上述几种车载网络诊断协议,国内外汽车厂商使用较广泛的诊断协议为基于K线的ISO 14230和基于CAN线的IS015765诊断协议,然而随着汽车中电控电元数量的增加,如ABS系统、发送机电控系统、车身控制模块(BCM)系统、安全气囊等系统【8】,这些系统之间以及系统与汽车仪表之间都需要进行数据交换,若这么多的数据量仍采用导线对数据进行点对点传输,则大量导线的使用会导致
23、系统内部繁杂,且增加成本。此外,由于K线不能满足数据链路层在网络管理以3重庆邮电人学硕十论文 第一章绪论及通信速率上的局限性,使得K线无法满足越来越复杂的车载诊断网络的需求19】。随着CAN网络在汽车网络上的广泛应用,基于CAN网络的IS015765的诊断则受到广泛应用,它符合现代汽车网络总线的发展趋势,逐渐被越来越多的汽车厂商使用,将成为未来汽车行业的通用诊断标准。与基于K线的IS014230相比,基于CAN线的诊断协议IS015765具有以下的优势:(1)CAN总线的传输速率比K线要高很多,K线的传输速率为104kbits,而CAN线的最高波特率可达1Mbits。(2)K线使用的是单线传输
24、,CAN线为双线采用差分信号传输,抗干扰能力强,且可靠性比K线好。(3)CAN总线可以构建比较复杂的网络结构,对于不同网络仍可通过网关实现诊断,即可实现不同网段的远程诊断,并且CAN网络的网络管理能力很强。(4)当诊断设备采用功能寻址对多个ECU进行诊断或诊断控制通信时,开发者不需考虑由于同时访问总线引起的总线冲突问题,因为CAN总线采用仲裁机制确保总线通信的正常进行。(5)利用ISOl5765基于CAN线的诊断,其网络层对报文的传输进行了规范化的顺序控制以及流控制等,提高了报文传输的可靠性,并且其单次传输的报文数量可达4096字节。而K线在网络层没有定义,单次最多传输255字节的数据。(6)
25、在IS0157652中,明确规定了基于CAN网络的ECU在线上传下载的诊断通信流程,将上传下载纳入诊断范围内,上传下载的内容按照IS0157652网络层传输规则进行传输,以实现更标准、更可靠的网络数据传输。13国内车载CAN网络诊断存在的问题根据国内外车载网络诊断的研究现状现与目前流行的车载网络诊断协议基础,现从以下三个方面阐述目前在国内车载CAN网络诊断研究中存在的、并待解决的问题:(一)我国车载网络诊断技术自主知识产权方面由于基于CAN网络技术的新颖性与诊断协议本身的复杂性,现阶段国内在基于IS015765的车载网络诊断技术的开发与应用方面尚不成熟,在诊断开发与设计方面通常借助于国外的工具
26、或产品。目前,国内汽车制造商与设备供应商大都使用德国VECTOR公司的Candelastudio、Diva、CANdesc等诊断系列工具,由于这些诊断工具受知识产权的保护,成本较高,其整套设备需花费几十万元。因此,有必要设计开发具有自主知识产权的基于IS015765的车载网络诊断,突破国外在4重庆邮电大学硕士论文 第一章绪论汽车电子行业的技术垄断,开发具有自主知识产权的诊断产品和工具。(二)中小型汽车零部件厂商开发汽车诊断产品的成本与效率和质量方面对某些中小型汽车零部件厂商而言,在开发具有诊断功能的车载ECU阶段后期,需对其进行测试,看所开发的ECU是否符合诊断协议,他们常用的测试方式是使用低
27、成本的CAN网络测试工具,如周立功的CANTEST软件,逐个手动输入所需要的基于诊断协议的诊断通信报文,来测试ECU的响应情况。另外,传统的简易CAN网络监测工具,只是对CAN报文进行显示,而无法对诊断协议内容进行解析,面对大量的通信报文通过人工肉眼进行逐字节解析以判断是否符合诊断协议,此种形式的开发工作显然不能保障开发的效率与质量。对中小型企业来说,若他们耗费几十万元购买国外诊断工具则成本太高。因此,对国内中小型汽车零部件厂商而言,研究低成本的基于IS015765国际诊断标准的诊断上位机工具,则可大大降低其产品开发成本,并确保产品开发的效率与质量。(三)基于CAN线的车载ECU在线下载的合理
28、性与需求方面以往ECU在线升级大都是通过串口或BDM口进行程序下载,但针对于己装入汽车内通过CAN网络连接的ECU,无疑使用CAN总线对程序进行在线下载,会比较方便也是需求所在。在IS0157653中,对基于CAN总线的在线下载进行了统一、详细的实现约束,使车载网络ECU在线下载从整车网络规划与网络管理的角度进行统一规划【101。但由于IS015765在线下载技术的新颖性与技术本身的复杂性,目前在国内核心的学术研究期刊上尚未看到相关研究领域的报道,国内汽车厂商也尚未普遍使用此种方式对ECU进行程序的在线下载。因此,其下载工具未产业化,实际应用中符合要求的下载工具不多,或被作为大型工具的组件使用
29、如(CANoe),但其成本较高并且灵活性较差。将程序下载通过CAN网络进行网络统一规划与管理,并使ECU通过CAN网络传输是在线下载的趋势所在,因此有必要研究基于IS01 5765的CAN网络诊断的车载ECU程序在线下载技术。14论文主要研究工作根据上节所述的在车载CAN网络中诊断研究中所提出的问题,本文针对以上问题展开了相关的研究工作以及相关问题的解决。主要通过研究车载CAN网络国际标准ISOl5765,对基于CAN网络的车载诊断进行研究、分析,设计基于IS015765的车载CAN网络的上位机诊断。论文的主要研究工作的相互关系见图13,具体工作如下:重庆邮电入学硕士论文 第一章绪论曼接娑肾鬯
30、 I l IsOl5765体系结构研究络结构分析 l l ”1一”诊断需求分析常规诊断 下载诊断模块设计 模块设计十 t利用vc与USBCANII搭建诊断测试平台,对诊断上位机进行测试图13论文主要研究工作的相互关系1通过深入研究基于车载CAN网络的国际诊断标准IS015765的应用层与网络层协议,针对特定车载网络对象,设计车载网络诊断结构,并进行诊断需求分析。2实现基于IS015765的诊断上位机的应用层与网络层协议。3设计基于IS015765的车载CAN网络诊断上位机。针对安全访问服务的实现过程,设计安全访问算法并建立安全算法动态链接库,利用VC软件平台与USBCANII硬件采集卡,设计车
31、载CAN网络常规诊断模块的诊断上位机。4设计基于IS01 5765的在线下载上位机。对下载诊断模块分别设计其预编程阶段与编程阶段,以及上位机对S19文件的解析处理。利用VC软件平台及USBCANII硬件采集卡实现下载器上位机的设计。5根据诊断结构设计诊断测试平台,结合CANoe与IS015765诊断协议对所设计的诊断上位机进行测试。15本章小结本章首先介绍了课题研究背景与意义,然后概述了车载网络诊断协议,重点分析比较了IS014230与IS015765协议,并分析基于CAN网络的IS015765协议的优势。在此基础上分析并概述了国内车载CAN网络诊断存在并待解决的问题。最后提出了本文的研究工作
32、。6重庆邮电人学硕士论文 第二章车载CAN网络诊断协议与诊断需求分析第二章车载CAN网络诊断协议与诊断需求分析本章首先对车载CAN网络国际诊断标准协议IS015765体系结构进行分析,并对其应用层与网络层进行详细解析。在此基础上,结合某车型网络结构及诊断功能进行需求分析,提出车载网络的诊断结构,以及基于IS015765的车载CAN网络诊断功能需求。后续研究工作在此章的理论基础与需求分析上进行设计。21 IS01 5765协议体系结构车载CAN网络诊断协议体系结构如图21所示,分为应用层、网络层、数据链路层和物理层【11J。诊断首先由符合IS0142291或IS0157653的应用层开始,经过网
33、络层IS0157652实现数据的传输、打包、解包等,再由网络层映射到数据链路层IS01 18981,转化为有效的CAN数据帧,最后到物理层的传输介质。其中ISO 15765-4规定了与排放相关的诊断内容。以下两节对应用层和网络层的协议进行详细分析。应用 f 诊断应用 I 诊断应用个 个IS0 142291(UDS) I IS0 1503卜5 l应用层 IS0 15765-3 I l个 个网络层 IS0 157652 IS0 157654上 、LIS0 118981 IS0 15765-4*WME!取倨班醣Jl云 T T用户自定义 IS0 157654物理屡 I 工物理媒介 IS0 15765-
34、4211应用层协议分析图21 CAN网络诊断协议体系结构如图21诊断协议体系结构所示,应用层是有关诊断的应用,IS0142291是对任何一种数据链路而言,为了建立一个通用的诊断需求而建立的标准,IS015765是CAN网络在IS0142291上的具体实现。在IS0142291中规定了25种诊断服务,其中每种又定义了功能不同的子服务来实现具体不同服务内容。7重庆邮电大学硕士论文 第二章车载CAN网络诊断协议与诊断需莲分忻应用层协议数据单元(APDU)具有如图22的格式。厘用层协议弪制信思图22应用层协议数据单元格式应用层协议数据单元包含地址信息,应用层的协议控制信息和应用层的数据参数。其中地址信
35、息又详细分为源地址(SA)、目标地址(TA)和远程地址(RA)等,在29位的CAN报文ID中,以上地址有明确数值,在11位的CAN报文ID一般没有明确数值。对应用层协议数据单元中每项的内容详细描述如下【12】:A_PDU(SA,TA,TA_type,【RA,】AData 2UCI-I-parameter 1,)OSA:表示源地址,参数SA用来对客户端和服务器标识符编码,并且用来表示客户端或服务器的物理位置实际位置。TA:表示目标地址,参数TA用来对客户端和服务器标识符编码。有两种不同的寻址方式:物理寻址和功能寻址。RA:表示远程地址,只有采用远程诊断的时候才使用此地址,RA用来扩展可用地址范围
36、。在诊断范围里,RA仅用来执行本地服务器和远程服务器概念。远程地址标识其本身地址范围,并且独立于主网络上的地址。A Data:一串数据字节,用来定义每个独立的应用层服务。AData字符串起始于A PCI,后面是具体的予服务或参数。(曼)A_PCI-表示为应用层协议控制信息,可表示为:APCI(SI),SI“是参数服务标识符“,ISO14229中给出了具体服务代码,各服务代码如表21所示。表21服务标识符代码服务标识符(S1) 服务类型(bit6) 出处000F OBDn艮务请求 ISO 15031-5103E ISO 142291服务请求 ISO 14229一l3F 不使用 保留8重庆邮电大学
37、硕士论文 第一二章车载CAN网络诊断协议与诊断需求分析404F OBD服务响应 ISO 1503l一5507E ISO 142291主动服务响应 ISO 14229-l7F 否响应服务标识符 ISO 14229l80 不使用 ISO 142291保留8l一82 不使用 ISO 14230保留8388 ISO 142291服务请求 ISO 142291899F 服务请求 保留以便将来扩展使用AOB9 服务请求 汽车制造厂商定义BABE 服务请求 系统提供方定义BF 不使用 文献保留C0 不使用 ISO 14229。l保留C1一C2 不使用 ISo 14230保留C3一C8 ISO 142291主
38、动服务响应 ISo 142291C9一DF 主动服务响应 保留以便将来扩展使用EOF9 主动服务响应 汽车制造厂商定义FAFE 主动服务响应 系统提供方定义FF 不使用 文献保留212网络层协议分析如图21诊断协议体系结构所示,基于CAN的诊断体系结构的网络层实现协议为IS0157652,该协议是为了建立一种基于CAN链路的通用诊断需求,网络层负责将数据从发送方传给接收方,保证数据传输的可靠性。对多包数据进行打包、解包,实现应用层数据与CAN数据帧之间的转换。发送接收可高达4095字节的数据。网络层的协议数据单元是在应用层协议数据单元的基础上又添加了网络层的协议控制信息,用于控制数据的发送方式
39、。网络层的协议数据单元的帧格式如图23所示。应用层协议控制信息图23网络层的协议数据单元格式9重庆邮电大学硕士论文 第二章车载CAN网络诊断协议与途堑叠连坌近网络层数据传输及帧格式基于IS015765的数据传输规则分为两种:单帧传输和多帧传输【13】。单帧传输:若要发送的字节不超过6个或7个字节时采用单帧传输的方式,如图25所示。其中采用扩展寻址或混合寻址时不超过6个字节;采用常规寻址时不超过7个字节。有关寻址方式将在本节后续内容进行阐述。单帧的网络层协议控制信息如图24所示。0 1 2 3 4 5 8 7 发送 接收口图24单帧的协议控制信息 图25单帧数据传输其中,在NPCI中,前四位表示
40、帧类型,O表示单帧(SF),l表示第一帧(FF),2表示后续帧(CF),3表示流控帧(FC)。多帧传输:若传输的数据超过6个或7个字节时,则采用多帧传输的方式。如图26所示,即将要传送的数据分成多帧传送,首先发送第一帧(FF),再通过流控制(FC)来控制后续帧(CF)的每次发送数量与时间间隔,对每个CF帧都有序号(O到F循环编号,第一个后续帧序号除外为1)。发送 接收图26多帧数据传输规则在此以传送19字节的数据为例详细说明多帧传输的传输规则及多帧传输时所用各种帧类型,及其协议控制信息。首先,如图27,传送第一帧FF,第一帧的协议控制信息如图28所示,由两字节组成,第一字节的高四位用1表示为第
41、一帧,后12个字节表示传输数据量的10重庆邮电大学硕士论文 第二章车载CAN网络诊断协议与诊断需求分析大小。最多传输的数据量为fff(4095字节)。昭坠!坐型!舁 即图27第一帧数据传输口口口图28第一帧数据的协议控制信息接收到第一帧后,应回应流控帧FC以控制数据以何种方式控制发送,如图29,流控帧的协议控制信息由三字节组成,如图210,第一字节高四位用3表示流控帧,第四位表示状态,0表示允许继续发送,1表示等待发送,2表示请求发送数据量超过ECU的buffer大小。第二字节表示允许一次发送后续帧的数量。第三字节表示后续帧发送的时间间隔。若后两字节都为0,则表示后续帧可任意每次最大量帧发送。
42、盹尸口甲骨:口口口 lIo I O 1 I 1 IXDL I l图29流控帧的传输 图210流控帧的协议控制信息接收到流控帧后,后续帧会根据流控帧的信息进行发送,如图21l,后续诊断的协议控制信息如图212所示:协议控制信息占一字节,用高四位的2表示后续帧(CF),第四位的SN表示后续帧的编号,从O开始到F循环编号,第一个后续帧从l开始编号,因为0被分配给第一帧FF,但在FF的N PCI中并不包含一个明确的SN,但应看做分段消息的第一个。甲生型竺业!野 四:ConsecutiveFrae(cF) :图211后续帧的传输团曰口口口口口口口r u u u LJ u u。口N_PCI7 6 5 4
43、3 2 l 01 0 1 0 l 0 蜊图212后续帧的协议控制信息重庆邮电大学硕十论文 第二章车载CAN网络诊断协议与诊断需求分析诊断帧4种地址格式将网络层协议数据单元N。PDU映射到CAN数据帧的不同位置,构成4种地址格式:常规寻址(用于1l位CANID),常规固定寻址(用于29位CANID),扩展寻址(1l位CANID),混合寻址(1l或29位CANID)E14】。其中,混合寻址仅用于远程寻址方式(被诊断节点处于不同的网段)。以下对四种地址格式进行分析:常规寻址常规寻址(Normal addressing),仅用于11位CAN ID,网络层地址信息N映射到CANID,但没有规定N AI与
44、CAN ID的具体映射关系。常规固定寻址常规固定寻址(Normal fixed addressing),仅用于29位CANID,完整定义了N触如何映射到29位CANID。此种寻址方式,明确规定了地址信息与如何映射到CANID。其中,在此寻址方式下,数据域的第一字节为远程地址。在29位ID中,前三位用110表示为诊断帧,25和24位按J1939规定都为O,16到23位表示在此种寻址方式下是物理寻址还是功能寻址,都对应不同的值,后16位分别表示目标地址与源地址。扩展寻址扩展寻址(Extended addressing),仅用于11位ID,其第一数据字节需放置目标地址信息,第二数据字节为网络层的协议
45、控制信息N PCI。混合寻址混合寻址(Mixed addressing)有11位ID与29位ID,用于远程寻址,即被诊断网络处于不同网段,此种寻址方式下的第一数据字节为扩展地址信息。表22为29位ID的混合寻址方式。表22 29位D地址类型为物理地址的混合寻址方式158N TAN TAN TAN TA70N SAN SAN SAN SA数据映射从应用层到网络层再到数据链路层的协议数据单元映射关系如图213所示。应用层的心CI和AData映射到网络层的NData,网络层NPCI和NData映射到数据链路层的Data。即到最终CAN数据域的数据依次为N_PCI,A_-PCI,A Dam,首先是网络
46、层的协议控制信息,接下来是应用层的协议控制信息,最后12重庆邮电大学硕士论文 第二章车载CAN网络诊断协议与诊断需求分析是要传送的数据。假设要发送一个读故障码服务,采用单帧传送,则最终CAN网络上的数据为02,19,03),02为网络层协议控制信息N-PCI,表示单帧携带2字节数据;19为应用层协议控制信息APCI,即服务ID(SID),表示读故障码服务;03为其子服务,表示读取所有故障码。应用层AJ叫: AI,A-PCI,A_Data一+f一网络层NP叫:N_AI,NPCI,N_Data)一一一一一一一一一一弋J厂一一一弋f歹一一数据链路层L_Data:CAN_ID,Data图213各层协议
47、数据单元的映射关系22诊断网络结构与需求分析对车载网络的诊断,应根据目标诊断网络要确定诊断的结构,此节中首先分析汽车诊断的三种诊断结构,然后在此基础上结合目标诊断网络设计车载网络诊断的结构,基于所设计的结构,再进行后续诊断相关功能的设计。根据不同的车身网络层次结构和客户端(诊断设备)的接入位置,汽车网络诊断大体上可分为三种诊断结构【I 5j:第一种是客户端(诊断设备)与服务器(ECU)在同一个网络,诊断设备直接对ECU进行诊断,如图214所示。P 乞车A广一服务器端| IJ| r1i l服务器嫱I1。一r1一服务器瑶Il。_J图214汽车诊断结构l第二种是客户端(诊断设备)通过网关与服务器(E
48、CU)相连接,诊断设备的诊断报文通过网关转换后再发送给被诊断ECU进行诊断通信,如图215所示。汽车B 巫因缫务嗣 圃兢爨琴蔓圃图215汽车诊断结构2重庆邮电人学硕十论文 第二章车载CAN网络诊断协议与诊断需求分析第三种是主网络下面有子网络,客户端(诊断设备)在主网络中,而需要诊断的服务器(ECU)在子网络中,此时客户端(诊断设备)与服务器(ECU)的通信是通过兼有网关功能的服务器实现的,此种诊断主要为远程诊断方式。如图216所示:囹j 囤屉j 匿塑p七圃图216汽车诊断结构3现选取目前广泛应用的以CAN网络为主干网的某车型的车载网络结构为目标网络进行研究,对车载网络的诊断结构进行需求分析。被诊断的目标网络【16J如图217所示,整体网络结构以CAN网络作为主干网,仪表节点(IP)、ABS节点、车身控制模块(BCM)节点等连接到主干网上,LIN子网络节点通过兼有网关功能的BCM节点连接到CAN主干网上,则诊断接口可在主干网CAN线上接出,如21 7图中所示用虚连接CAN线并圈出的的“Tester Interface“。图217某车型的网络结构根据221节中的三种汽车诊断结构,则目标网络的诊断结构可采用第一种汽车诊断结构,客户端(诊断设备)与服务器(ECU)在同一个网络,诊断设备直接对E