1、车载诊断标准ISO157652中文ISO 15765-2(2004)道路车辆控制局域网络诊断第2部分:网络层服务ISO 15765协议,定义了“道路车辆局域网控制器(CAN)诊断”,包含如下几个部分:第一部分:总论。第二部分:网络层服务。第三部分:统一诊断服务具体的执行第四部分:排放相关系统的要求概述ISO15765-2的协议,定义车载诊断系统网络层要求,提供在CAN数据链路层(ISO11898定义)上运行。虽说它最初设计是用在诊断系统上的,它同样适用于其它需要网络层协议的CAN通信系统上。为了达到诊断通信要求,ISO15765协议是基于ISO/IEC 7498和ISO/IEC 10731的开
2、放互联系统基本参考模型建立的。该模型将通信系统分为七层,ISO15765协议映射到该模型上,分层如下:统一的诊断服务(第7层),在ISO 15765-3中定义。网络层(第3层),在ISO 15765-2中定义。CAN服务层(第1,2层),在ISO 11898中定义。如表1所示,表1对应OSI分层,扩展的及法规要求的OBD诊断规定开放互联系统(OSI)分层汽车生产商扩展的诊断服务法规要求的车载诊断系统(OBD)诊断应用用户定义ISO 15031-5应用层ISO 15765-3ISO 15031-5表示层N/AN/A会话层ISO 15765-3N/A传输层N/AN/A网络层ISO 15765-2I
3、SO 15765-4数据链路层ISO 11898-1ISO 15765-4物理层用户定义ISO 15765-4应用层服务是由ISO 15765-3按照ISO 14229-1和ISO 15031-5建立的诊断服务制定的,但ISO 15765-3协议不仅适用于上述的诊断服务项,也适用于大多数的国际标准及汽车生产商规定的诊断服务。网络层服务由该部分的ISO 15765协议定义,并独立于物理层上的操作,物理层仅仅是在法规的OBD上有规定。道路车辆控制器局域网(CAN)的诊断第二部分:网络层1范围这部分ISO 15765协议描述了在ISO 11898定义的控制其局域网中裁剪的网络协议,用于满足基于CAN
4、的车载网络系统。它是按照ISO 14229-1和ISO 15031-5建立的诊断服务制定的,但该部分协议不仅适用于上述的诊断服务项,还适用于车载内部其它的网络通信。该协议描述的是未经最后确认的的通信。2参考的标准下述的参考文档对于该文档的应用是必不可少的。ISO 11898-1,道路车辆控制器局域网(CAN)第一部分数据链路层及物理信号层ISO/IEC 7498(所有部分),技术信息开放互联系统基本参考模型3术语,定义和缩略词为编撰该文档目的,这些术语和定义已在ISO 7498中给出,以下缩略词术语同样适用。BS 数据块大小CF 连续帧confirm 确认服务ECU 电子控制单元FC 流控制F
5、F 首帧FF_DL 首帧数据长度FS 流状态indication 指示服务 MType 信息类型N_AE 网络地址扩展N_AI 地址信息N_Ar 网络层时间参数:ArN_As 网络层时间参数:AsN_Br 网络层时间参数:BrN_Bs 网络层时间参数:BsN_ChangeParameter 网络层服务项名称N_Cr 网络层时间参数:CrN_Cs 网络层时间参数:CsN_Data 网络数据N_PCI 网络协议控制信息N_PCItype 网络协议控制信息类型N_PDU 网络协议数据单元N_SA 网络源地址N_SDU 网络服务数据单元N_TA 网络目标地址N_TAtype 网络目标地址类型N_USD
6、ata 网络层无应答的数据段传输服务项名称NWL 网络层request 应答服务r 接收者s 发送者SF 单帧SF_DL 单帧数据长度SN 顺序号STmin 间隔最短时长4网络层总览4.1概述该项主要描述网络层总体的功能。该部分的ISO 15765协议定义了未最后确认的网络层通信协议。该协议用于网络节点之间数据交互,例如从一个ECU到另一个ECU,或外部诊断设备和一个ECU之间的通信。如果要传送的数据超过了单个的CAN帧长度,则需要提供拆分的方法。为描述网络层的功能,它提供给高层的服务项及内部操作必须予以研究。4.2网络层提供给高层的服务项该服务项接口定义了一些由网络层提供使用服务项,例如,数
7、据发送、数据接收及协议参数设置。已定义了两种类型的服务:a)通信服务项以下定义的服务项,使发送者最多能发送4095个字节的数据。1)该服务项用于请求发送数据。如果有必要的话,网络层拆分这些数据。2)该服务项用于通知上层被拆分的信息的首帧的接收。3)该服务项用于提供接收的数据至上层。4)该服务项用于确认应答给上层,表示请求服务项已经被执行(成功执行或不成功执行)。b)协议参数设置服务项以下定义的服务项,使之能够对协议参数动态设置。1)该项服务用于对特定内部参数的动态设置的请求2)3)该服务项用于确认应答给上层,表示修改协议特定项的请求已经被执行(成功执行或不成功执行)。 网络层的内部操作 网络层
8、的内部操作为实现对等实体间的通信提供了分段、重组、数据传输流控制方法。网络层主要的任务是传递一帧或大于一帧的数据信息。超过一帧的信息被分成多个部分,每一个部分都以一个CAN帧的形式被发送。图1显示的是未被拆分的信息的传送的例子。图2显示的是被拆分的信息传送的例子流控制用来使发送端适应接收端网络层的接收能力。该流控制策略同样适用于诊断网关和通信子网。5网络层服务项5.1总览所有的网络层服务项有统一的结构。为了定义这些服务项,三类主要的服务项说明如下:请求服务,被更高的通信层或应用层使用,用于向网络层传递控制信息及要发送的数据;指示服务,被网络层使用,用于向更高通信层或应用层传递状态信息及接收到的
9、数据;确认服务,被网络层使用,用于向更高通信层或应用层传递状态信息。这些服务说明没有指定具体的应用程序接口,而只是一些独立于具体实施的主要服务项。所有的网络层服务项有统一的结构形式,服务项写成如下的形式: ( parameter A, parameter B, parameter C, )这里,“service_name”是指服务项名称,例如,N_SDU,“type”指示了服务项的类型,“parameter A,parameter B,parameter C,”则是N_SDU服务项传递的值。服务项定义了如何使服务的使用者(例如,诊断应用层)如何与服务的提供者(例如,网络层)协同运行。以下服务项
10、已在国际标准中说明,请求,指示和确认。使用请求服务项(),服务使用者向服务提供者请求一项服务。使用指示服务项,服务提供者通知服务使用者网络层的一个内部事件或者一个对等实体的服务使用者的服务请求。通过确认服务项(),服务提供者通知服务的使用者,之前服务使用者请求服务的结果。5.2网络层服务说明5.2.1该请求服务项是请求传递数据及字节数,从发送者到到对等实体接收者,通过在N_SA,N_TA,N_TAtype及N_AE中的地址信息确认。(参看对参数的定义)。服务项每次被启动,网络层应当通过一条服务通知服务使用者信息传递的完成情况。(成功或失败) ( Mtype N_SA N_TA N_TAtype
11、 N_AE(可选的) )5.2.2 服务项由网络层发送,该服务项用于确定服务的完成情况,通过在N_SA,N_TA,N_TAtype及N_AE中的地址信息确认。参数提供请求服务项的状态。(参看对参数的定义)N_USData. confirm( Mtype N_SA N_TA N_TAtype N_AE(可选的) )5.2.3N_USData_FF. indication服务项由网络层发送。该服务项用于通知相邻上层接收到对等实体首帧数据已经到了。通过在N_SA,N_TA,N_TAtype及N_AE中的地址信息确认。(参看对参数的定义)这个指示项发生在接收到拆分数据首帧的时刻。 ( Mtype N_
12、SA N_TA N_TAtype N_AE(可选的) ) N_USData_FF. indication指示服务项发送完,网络层应当总是紧跟着发送一个服务项,指示信息接收的完成情况。(成功或失败)N_USData_FF. indication指示服务项应当至友网络层发送指示信息段的首帧是否被正确接收。如果网络层监测到首帧中任何类型的错误,该信息应当被网络层忽略,并且N_USData_FF. indication指示服务项不应当被发送至相邻的上层。 如果网络层接收到首帧中数据长度项的值(FF_DL)大于接收者缓冲区的数据,这应当被认为是一个错误的条件并且N_USData_FF. indicati
13、on指示服务项不应当被发送至相邻的上层。5.2.4服务项由网络层发送。该服务项指示事件并传递字节数的至相邻的上层。这些信息通过同等实体间通过存放于 N_SA,N_TA,N_TAtype及N_AE中标识的地址信息接收过来的。当值为N_OK时,及参数信息才有效。 ( Mtype N_SA N_TA N_TAtype N_AE(可选的) )服务项是在接收到单帧(SF)信息或是指示拆分信息接收的完成时发送。 如果网络层检查到单帧中任何类型的错误,该条单帧信息应当被忽略并且N_USData_FF. indication指示服务项不应当被发送至相邻的上层。5.2.5该服务项用于请求本地实体内部参数的修改。
14、参数值分配给参数(参看对参数的定义)。对参数总是可以修改的。特殊情况是在应用层接收到首帧的指示服务项()到接收()服务项之间的时刻。 ( Mtype N_SA N_TA N_TAtype N_AE(可选的) )这是一个可选服务项,可被固定的参数值实施代替。5.2.6该服务项用于确认运用信息的完成情况,这信息通过在N_SA,N_TA,N_TAtype及N_AE中的地址信息标识。 ( Mtype N_SA N_TA N_TAtype N_AE(可选的) ) 服务项数据单元说明 Mtype, Message type类型:枚举类型范围:诊断,远程诊断描述:参数Mtype用于确定服务相中信息参数的类型
15、及范围。该部分的ISO 15765协议指定了两个值标识这个参数。文档使用者可通过指定其它的类型,也可通过文档中网络层使用的其它地址信息参数的组合来扩展这些值的范围。每新定义的一套地址信息,Mtype应当赋予新值,标识新的地址信息。如果Mtype = 诊断,N_AI地址信息应当包含参数N_SA,N_TA,和N_TAtype。如果Mtype = 远程诊断,N_AI地址信息应当包含参数N_SA,N_TA,和N_TAtype,和N_AE。 N_AI,地址信息 N_AI描述该参数指的是地址信息。总的来说,N_AI参数用于确定信息发送者和接收者的源地址(N_SA),目标地址(N_TA),也包含确定(N_T
16、Atype)和可选择地址扩展(N_AE)的通信模式。 N_SA网络源地址类型:1字节的无符号整数范围:00-FF 16进制描述:N_SA参数代表发送者网络层实体 N_TA,网络目标地址类型:1字节的无符号整数范围:00-FF 16进制描述:N_SA参数代表接收者网络层实体 N_TAtype,网络目标地址类型类型:枚举类型范围:物理的,功能的描述:N_TAtype参数是对N_TA参数的扩展。它被网络层对等实体使用,代表通信模式。两种通信模式说明如下:1对1的通信,称为物理地址,1对多的通信称为功能地址。物理地址(1对1通信)网络层所有类型的信息都支持。功能地址(1对多通信)仅仅对单帧的通信支持。
17、 N_AE,网络地址扩展类型:1字节的无符号整数范围:00-FF 16进制描述:N_AE参数用于在大的网络上扩展现行的地址范围,用于子网中发送与接收网络层实体而不是本地网的通信。若Mtype设置为远程诊断时,N_AE仅仅是地址信息的一部分。类型: 12个bit位范围: 1-4095描述:该参数包含要发送或接收的数据长度。类型:字符串范围:不固定描述:该参数包含与上层实体所有交互的数据类型:枚举类型范围:STmin, BS描述:该参数确定网络层的参数类型:1字节无符号整数范围:0-255描述:该参数分配给协议参数作为指示服务。类型:枚举类型范围:N_OK, N_TIMEOUT_A, N_TIME
18、OUT_Bs, N_TIMEOUT_Cr, N_WRONG_SN,N_INVALID_FS, N_UNEXP_PDU, N_WFT_OVRN, N_BUFFER_OVFLW, N_ERROR描述:该参数包含服务项执行的结果状态。如果同时产生了两个或以上的错误,网络层应该使用下列错误指示中首先找到的参数值,发送给高层。N_OK 该值表示服务执行完全正确;它可同时由发送者和接收者发送至服务的使用者。N_TIMEOUT_A 该值在定时器N_Ar/N_As超过了定时值N_Asmax/N_Armax,发送给服务的使用者;它可同时由发送者和接收者发送至服务的使用者。N_TIMEOUT_Bs 该值在定时器N
19、_Bs超过了定时值N_Bsmax,发送给服务的使用者;它仅能由发送者发送至服务的使用者。N_TIMEOUT_Cr 该值在定时器N_Bs超过了定时值N_Crmax,发送给服务的使用者;它仅能由接收者发送至服务的使用者。N_WRONG_SN该值在接收到意外的连续的数值()时被发送至服务使用者;它仅能由接收者发送至服务的使用者。N_INVALID_FS该值在从流控(FC)N_PDU接收到无效的或未知的流状态值时发送至服务的使用者;它仅能由发送者发送至服务的使用者。N_UNEXP_PDU该值在接收到未知协议数据单元时发送给服务使用者,它仅能由接收者发送至服务的使用者。N_WFT_OVRN该值在接收到流
20、控WAIT帧超过最大计数N_WFTmax时发送至服务使用者。N_BUFFER_OVFLW该值在接收到流控(FC)N_PDU状态Flow = OVFLW时发送给服务的使用者。它用于指示接收者缓冲区无法存储首帧中数据长度(FF_DL),因此,该拆分数据的传递被丢弃。它仅能由发送者发送至服务的使用者。N_ERROR 这是一个默认的错误值。它是当检测到网络层错误并且没有其它更好的参数描述该项错误时使用发送到服务使用者。它可同时由发送者和接收者发送至服务的使用者。 类型: 枚举类型范围:N_OK, N_RX_ON, N_WRONG_PARAMETER, N_WRONG_VALUE描述:该参数包含服务执行
21、的结果状态信息N_OK 该值表示服务执行完全正确;它可同时由发送者和接收者发送至服务的使用者。N_RX_ON该值发送给服务使用者指示虽然标识的信息接收到了,但服务没有执行。它仅能由接收者发送至服务的使用者。N_WRONG_PARAMETER该值发送给服务的使用者表示由于未定义的,服务没有执行;它可同时由发送者和接收者发送至服务的使用者。N_WRONG_VALUE 改制发送给服务的使用者表示由于超出范围,服务没有执行,它可同时由发送者和接收者发送至服务的使用者。6网络层协议6.1协议功能网络层协议协议有如下功能:a)发送/接收最多4095个字节的数据信息b)报告发送/接收完成状态。6.2单帧发送
22、(扩展及混合地址情况下)最多发送6字节或(正常地址情况下)7字节数据,按照N_PDU格式发送信息,称为单帧(SF)见图3.最多6或7字节的接收通过N_PDU制式,图3 未拆分数据的例子6.3多帧发送长信息的发送通过拆分信息并通过多个N_PDU发送的形式。长信息的接收通过接受多个N_PDU并通过重组这些接受的数据。这多个N_PDU包括首帧(信息中第一个N_PDU)及连续帧(剩下的所有N_PDU)。多N_PDU信息接收者有条件按照它自己的接收能力通过使用流控协议数据单元(FC N_PDU)的流控机制调整传输流量。一个首帧协议数据单元(FF N_PDU),包括(扩展及混合地址情况下)5字节或(正常地
23、址情况下)6字节数据。一个多更多连续帧协议数据单元(CF N_PDU),包括6或7字节数据。CF N_PDU包括剩下的字节数据,因此可以少于6或7字节的长度。图4显示的是发送端拆分及接收端重组信息的例子说明:接收方发送的FC N_PDU用于应答FF N_PDU,这在图中没有显示。图4拆分与重组信息的长度在首帧(FF N_PDU)中被发送。所有的连续帧(CF N_PDU)都被发送方编号,提供接收方以同样的顺序重组这些信息。接收方通过流控机制(见图5)通知发送方接收能力。由于不同的节点有不同的接收能力,发送方发送的流控通知接收方,接收方才能调整以适应发送方接收能力。该接收能力如下定义:块大小(BS
24、):在授权继续发送其余的N_PDU之前,接收方允许发送方最大的N_PDU个数。间隔最短时长(STmin):发送方在发送两个连续帧间隔等待的最短时间。图5 流控机制除了最后一个所有的块都包含BS N_PDUs。最后一个块包含剩余的N_PDUs(=BS)。每一个发送者/接收者等待对方的N_PDU时,一个超时机制可用来检查发送失败。通过 FC N_PDUs,接收者有权控制CF N_PDUs,用于延时对方的发送及当拆分数据超过接收者缓冲区的时候,拒绝接收。:继续发送,授权继续发送:请求继续等待:缓冲溢出,用于指示拆分数据的首帧中字节个数信息超过了接收者可存储的信息总量。的值有个最大限值:N_WFTma
25、x。该参数是系统的常数,且不会在首个 FC N_PDU中发送。6.4网络层协议数据单元6.4.1协议数据单元类型不同节点的网络层实体通过交互N_PDUs实现通讯。该协议说明了网络层协议数据单元四种类型单帧(SF N_PDU),首帧(FF N_PDU),连续帧(FC N_PDU)这些用于建立网络层对等实体通信,交互通信参数,传递通信数据及释放通信资源。6.4.2SF N_PDUSF N_PDU通过单帧协议控制信息(SF N_PCI)来标识,SF N_PDU应当由发送网络实体发送至一个或多个接收网络实体。它应当通过单个的服务请求,传递服务数据及未拆分信息。6.4.3FF N_PDUFF N_PDU
26、通过首帧协议控制信息(FF N_PCI)来标识,FF N_PDU应当由发送网络实体在拆分数据发送期间,发送至特定的接收网络实体。它用于标识拆分数据首帧。接收网络实体在接收到FF N_PDU时,需重组这些拆分的信息。6.4.4CF N_PDUCF N_PDU由连续帧协议控制信息标识(CF N_PCI)。CF N_PDU传递服务数据的每个段(N_Data)。发送实体发送所有的N_PDUs时,FF N_PDU之后编码成CF N_PDUs。接收实体在接收到最后一个CF N_PDU时,重组这些信息并传递至服务的使用者。CF N_PDU应当由发送网络实体在拆分数据发送期间,发送至特定的接收网络实体。6.4
27、.5FC N_PDUFC N_PDU由流控协议控制信息(FC N_PCI)标识。FC N_PDU指示发送网络实体对CF N_PDUs的开始,停止或重传。它应当由接收网络层实体在准备好接收更多数据时,发送至发送网络层实体,在接收到如下情况的帧时a)FF N_PDU,或者b)一组连续帧的最后一个FF N_PDU,如果另外的一组连续帧需要被发送的话。FC N_PDU也能在拆分数据发送期间,通知发送网络层实体暂停CF N_PDUs的发送或者在检测到首帧中数据(FF_DL)字长超过接收实体的缓冲区时,中止发送。6.4.6协议数据单元域描述6.4.6.1N_PDU 格式协议数据单元(N_PDU)使数据在两
28、个或多个对等网络节点之间传递。所有的N_PDUs包含了3个域,如下表2所示。表2 N_PDU格式地址信息协议控制信息数据域N_AIN_PCIN_Data6.4.6.2地址信息(N_AI)N_AI用于标识对等网络实体间的通信。N_AI信息在N_SDUN_SA, N_TA, N_TAtype, N_AE中接收,应当复制包含在P_PDU中。如果接收到的N_SDU中及信息很长,需要网络层拆分这些数据以发送完整的信息,N_AI应当被复制并包含在每一个要发送的N_PDU中。该域包含地址信息标识交互信息类型,数据交互的接收方和发送方。地址信息包含信息地址。6.4.6.3注意:更详细的地址信息的描述,看协议控
29、制信息(N_PCI)该域标识交互的N_PDUs的类型。它也用来交互在网络层对等实体通信的其它控制参数。注意: 所有N_PCI参数更详细的说明见6.4.6.4数据域(N_Data)N_PDU中的N_Data用于发送在参数中从服务使用者使用服务接收的数据。如果必要的话,会在网络发送之前拆分为更小的部分,以适应N_PDU数据域。N_Data的大小依赖N_PDU的类型及地址格式的选取。6.5协议控制信息说明6.5.1N_PCI所有的N_PDU通过N_PCI来标识,见表3及图4表3 N_PCI字节概要N_PDU名N_PCI字节字节1字节2字节37 4位3 0位单帧(SF)N_PCItype = 0SF_DLN/AN/A首帧(FF)N_PCItype = 1
copyright@ 2008-2022 冰豆网网站版权所有
经营许可证编号:鄂ICP备2022015515号-1