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