卓顶精品车载诊断标准ISO+157652中文doc.docx
《卓顶精品车载诊断标准ISO+157652中文doc.docx》由会员分享,可在线阅读,更多相关《卓顶精品车载诊断标准ISO+157652中文doc.docx(39页珍藏版)》请在冰豆网上搜索。
![卓顶精品车载诊断标准ISO+157652中文doc.docx](https://file1.bdocx.com/fileroot1/2023-3/29/cc5050dc-810e-41b1-8571-a103c714e91a/cc5050dc-810e-41b1-8571-a103c714e91a1.gif)
卓顶精品车载诊断标准ISO+157652中文doc
道路车辆——控制局域网络诊断
第2部分:
网络层服务
ISO15765协议,定义了“道路车辆——局域网控制器(CAN)诊断”,包含如下几个部分:
——第一部分:
总论。
——第二部分:
网络层服务。
——第三部分:
统一诊断服务具体的执行
——第四部分:
排放相关系统的要求
概述
ISO15765-2的协议,定义车载诊断系统网络层要求,提供在CAN数据链路层(ISO11898定义)上运行。
虽说它最初设计是用在诊断系统上的,它同样适用于其它需要网络层协议的CAN通信系统上。
为了达到诊断通信要求,ISO15765协议是基于ISO/IEC7498和ISO/IEC10731的开放互联系统基本参考模型建立的。
该模型将通信系统分为七层,ISO15765协议映射到该模型上,分层如下:
——统一的诊断服务(第7层),在ISO15765-3中定义。
——网络层(第3层),在ISO15765-2中定义。
——CAN服务层(第1,2层),在ISO11898中定义。
如表1所示,
表1——对应OSI分层,扩展的及法规要求的OBD诊断规定
开放互联系统
(OSI)分层
汽车生产商扩展的诊断服务
法规要求的车载诊断系统
(OBD)
诊断应用
用户定义
ISO15031-5
应用层
ISO15765-3
ISO15031-5
表示层
N/A
N/A
会话层
ISO15765-3
N/A
传输层
N/A
N/A
网络层
ISO15765-2
ISO15765-4
数据链路层
ISO11898-1
ISO15765-4
物理层
用户定义
ISO15765-4
应用层服务是由ISO15765-3按照ISO14229-1和ISO15031-5建立的诊断服务制定的,但ISO15765-3协议不仅适用于上述的诊断服务项,也适用于大多数的国际标准及汽车生产商规定的诊断服务。
网络层服务由该部分的ISO15765协议定义,并独立于物理层上的操作,物理层仅仅是在法规的OBD上有规定。
道路车辆——控制器局域网(CAN)的诊断——
第二部分:
网络层
1范围
这部分ISO15765协议描述了在ISO11898定义的控制其局域网中裁剪的网络协议,用于满足基于CAN的车载网络系统。
它是按照ISO14229-1和ISO15031-5建立的诊断服务制定的,但该部分协议不仅适用于上述的诊断服务项,还适用于车载内部其它的网络通信。
该协议描述的是未经最后确认的的通信。
2参考的标准
下述的参考文档对于该文档的应用是必不可少的。
ISO11898-1,道路车辆——控制器局域网(CAN)——第一部分——数据链路层及物理信号层
ISO/IEC7498(所有部分),技术信息——开放互联系统——基本参考模型
3术语,定义和缩略词
为编撰该文档目的,这些术语和定义已在ISO7498中给出,以下缩略词术语同样适用。
BS数据块大小
CF连续帧
confirm确认服务
ECU电子控制单元
FC流控制
FF首帧
FF_DL首帧数据长度
FS流状态
indication指示服务
MType信息类型
N_AE网络地址扩展
N_AI地址信息
N_Ar网络层时间参数:
Ar
N_As网络层时间参数:
As
N_Br网络层时间参数:
Br
N_Bs网络层时间参数:
Bs
N_ChangeParameter网络层服务项名称
N_Cr网络层时间参数:
Cr
N_Cs网络层时间参数:
Cs
N_Data网络数据
N_PCI网络协议控制信息
N_PCItype网络协议控制信息类型
N_PDU网络协议数据单元
N_SA网络源地址
N_SDU网络服务数据单元
N_TA网络目标地址
N_TAtype网络目标地址类型
N_USData网络层无应答的数据段传输服务项名称
NWL网络层
request应答服务
r接收者
s发送者
SF单帧
SF_DL单帧数据长度
SN顺序号
STmin间隔最短时长
4网络层总览
4.1概述
该项主要描述网络层总体的功能。
该部分的ISO15765协议定义了未最后确认的网络层通信协议。
该协议用于网络节点之间数据交互,例如从一个ECU到另一个ECU,或外部诊断设备和一个ECU之间的通信。
如果要传送的数据超过了单个的CAN帧长度,则需要提供拆分的方法。
为描述网络层的功能,它提供给高层的服务项及内部操作必须予以研究。
4.2网络层提供给高层的服务项
该服务项接口定义了一些由网络层提供使用服务项,例如,数据发送、数据接收及协议参数设置。
已定义了两种类型的服务:
a)通信服务项
以下定义的服务项,使发送者最多能发送4095个字节的数据。
1)N_USData.request
该服务项用于请求发送数据。
如果有必要的话,网络层拆分这些数据。
2)N_USData_FF.indication
该服务项用于通知上层被拆分的信息的首帧的接收。
3)N_USData.Indication
该服务项用于提供接收的数据至上层。
4)N_USDfirm
该服务项用于确认应答给上层,表示请求服务项已经被执行(成功执行或不成功执行)。
b)协议参数设置服务项
以下定义的服务项,使之能够对协议参数动态设置。
1)N_ChangeParamter.request
该项服务用于对特定内部参数的动态设置的请求
2)N_ChangePfirm
3)该服务项用于确认应答给上层,表示修改协议特定项的请求已经被执行(成功执行或不成功执行)。
4.3网络层的内部操作
网络层的内部操作为实现对等实体间的通信提供了分段、重组、数据传输流控制方法。
网络层主要的任务是传递一帧或大于一帧的数据信息。
超过一帧的信息被分成多个部分,每一个部分都以一个CAN帧的形式被发送。
图1显示的是未被拆分的信息的传送的例子。
图2显示的是被拆分的信息传送的例子
流控制用来使发送端适应接收端网络层的接收能力。
该流控制策略同样适用于诊断网关和通信子网。
5网络层服务项
5.1总览
所有的网络层服务项有统一的结构。
为了定义这些服务项,三类主要的服务项说明如下:
——请求服务,被更高的通信层或应用层使用,用于向网络层传递控制信息及要发送的数据;
——指示服务,被网络层使用,用于向更高通信层或应用层传递状态信息及接收到的数据;
——确认服务,被网络层使用,用于向更高通信层或应用层传递状态信息。
这些服务说明没有指定具体的应用程序接口,而只是一些独立于具体实施的主要服务项。
所有的网络层服务项有统一的结构形式,服务项写成如下的形式:
service_name.type(
parameterA,
parameterB,
parameterC,
…
)
这里,“service_name”是指服务项名称,例如,N_SDU,“type”指示了服务项的类型,“parameterA,parameterB,parameterC,…”则是N_SDU服务项传递的值。
服务项定义了如何使服务的使用者(例如,诊断应用层)如何与服务的提供者(例如,网络层)协同运行。
以下服务项已在国际标准中说明,请求,指示和确认。
——使用请求服务项(service_name.request),服务使用者向服务提供者请求一项服务。
——使用指示服务项(service_name.indication),服务提供者通知服务使用者网络层的一个内部事件或者一个对等实体的服务使用者的服务请求。
——通过确认服务项(service_name.confirm),服务提供者通知服务的使用者,之前服务使用者请求服务的结果。
5.2网络层服务说明
5.2.1N_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.2N_USData.confirm
N_USData.confirm服务项由网络层发送,该服务项用于确定N_USData.request服务的完成情况,通过在N_SA,N_TA,N_TAtype及N_AE中的地址信息确认。
参数提供请求服务项的状态。
(参看5.3对参数的定义)
N_USData.confirm(
Mtype
N_SA
N_TA
N_TAtype
N_AE(可选的)
)
5.2.3N_USData_FF.indication
N_USData_FF.indication服务项由网络层发送。
该服务项用于通知相邻上层接收到对等实体首帧数据已经到了。
通过在N_SA,N_TA,N_TAtype及N_AE中的地址信息确认。
(参看5.3对参数的定义)这个指示项发生在接收到拆分数据首帧的时刻。
N_USData_FF.indication(
Mtype
N_SA
N_TA
N_TAtype
N_AE(可选的)
)
N_USData_FF.indication指示服务项发送完,网络层应当总是紧跟着发送一个N_UDSData.indication服务项,指示信息接收的完成情况。
(成功或失败)
N_USData_FF.indication指示服务项应当至友网络层发送指示信息段的首帧是否被正确接收。
如果网络层监测到首帧中任何类型的错误,该信息应当被网络层忽略,并且N_USData_FF.indication指示服务项不应当被发送至相邻的上层。
如果网络层接收到首帧中数据长度项的值(FF_DL)大于接收者缓冲区的数据,这应当被认为是一个错误的条件并且N_USData_FF.indication指示服务项不应当被发送至相邻的上层。
5.2.4N_USData.indication
N_USData.indication服务项由网络层发送。
该服务项指示事件并传递字节数的至相邻的上层。
这些信息通过同等实体间通过存放于N_SA,N_TA,N_TAtype及N_AE中标识的地址信息接收过来的。
当值为N_OK时,及参数信息才有效。
N_USData.indication(
Mtype
N_SA
N_TA
N_TAtype
N_AE(可选的)
)
N_USData.indication服务项是在接收到单帧(SF)信息或是指示拆分信息接收的完成时发送。
如果网络层检查到单帧中任何类型的错误,该条单帧信息应当被忽略并且N_USData_FF.indication指示服务项不应当被发送至相邻的上层。
5.2.5N_ChangeParameters.request
该服务项用于请求本地实体内部参数的修改。
参数值分配给参数(参看5.3对参数的定义)。
对参数总是可以修改的。
特殊情况是在应用层接收到首帧的指示服务项(N_USData_FF.indication)到接收(N_USData.indication)服务项之间的时刻。
N_ChangeParameters.request(
Mtype
N_SA
N_TA
N_TAtype
N_AE(可选的)
)
这是一个可选服务项,可被固定的参数值实施代替。
5.2.6N_ChangeParameters.confirm
该服务项用于确认N_ChangeParameter.Confirmation运用信息的完成情况,这信息通过在N_SA,N_TA,N_TAtype及N_AE中的地址信息标识。
N_ChangeParameter.confirm(
Mtype
N_SA
N_TA
N_TAtype
N_AE(可选的)
)
5.3服务项数据单元说明
5.3.1Mtype,Messagetype
类型:
枚举类型
范围:
诊断,远程诊断
描述:
参数Mtype用于确定服务相中信息参数的类型及范围。
该部分的ISO15765协议指定了两个值标识这个参数。
文档使用者可通过指定其它的类型,也可通过文档中网络层使用的其它地址信息参数的组合来扩展这些值的范围。
每新定义的一套地址信息,Mtype应当赋予新值,标识新的地址信息。
——如果Mtype=诊断,N_AI地址信息应当包含参数N_SA,N_TA,和N_TAtype。
——如果Mtype=远程诊断,N_AI地址信息应当包含参数N_SA,N_TA,和N_TAtype,和N_AE。
5.3.2N_AI,地址信息
5.3.2.1N_AI描述
该参数指的是地址信息。
总的来说,N_AI参数用于确定信息发送者和接收者的源地址(N_SA),目标地址(N_TA),也包含确定(N_TAtype)和可选择地址扩展(N_AE)的通信模式。
5.3.2.2N_SA网络源地址
类型:
1字节的无符号整数
范围:
00-FF16进制
描述:
N_SA参数代表发送者网络层实体
5.3.2.3N_TA,网络目标地址
类型:
1字节的无符号整数
范围:
00-FF16进制
描述:
N_SA参数代表接收者网络层实体
5.3.2.4N_TAtype,网络目标地址类型
类型:
枚举类型
范围:
物理的,功能的
描述:
N_TAtype参数是对N_TA参数的扩展。
它被网络层对等实体使用,代表通信模式。
两种通信模式说明如下:
1对1的通信,称为物理地址,1对多的通信称为功能地址。
——物理地址(1对1通信)网络层所有类型的信息都支持。
——功能地址(1对多通信)仅仅对单帧的通信支持。
5.3.2.5N_AE,网络地址扩展
类型:
1字节的无符号整数
范围:
00-FF16进制
描述:
N_AE参数用于在大的网络上扩展现行的地址范围,用于子网中发送与接收网络层实体而不是本地网的通信。
若Mtype设置为远程诊断时,N_AE仅仅是地址信息的一部分。
5.3.3
类型:
12个bit位
范围:
1-4095
描述:
该参数包含要发送或接收的数据长度。
5.3.4
类型:
字符串
范围:
不固定
描述:
该参数包含与上层实体所有交互的数据
5.3.5
类型:
枚举类型
范围:
STmin,BS
描述:
该参数确定网络层的参数
5.3.6
类型:
1字节无符号整数
范围:
0-255
描述:
该参数分配给协议参数作为指示服务。
5.3.7
类型:
枚举类型
范围:
N_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
该值表示服务执行完全正确;它可同时由发送者和接收者发送至服务的使用者。
——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_PDU
该值在接收到未知协议数据单元时发送给服务使用者,它仅能由接收者发送至服务的使用者。
——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_WRONG_VALUE
描述:
该参数包含服务执行的结果状态信息
——N_OK
该值表示服务执行完全正确;它可同时由发送者和接收者发送至服务的使用者。
——N_RX_ON
该值发送给服务使用者指示虽然标识的信息接收到了,但服务没有执行。
它仅能由接收者发送至服务的使用者。
——N_WRONG_PARAMETER
该值发送给服务的使用者表示由于未定义的,服务没有执行;它可同时由发送者和接收者发送至服务的使用者。
——N_WRONG_VALUE
改制发送给服务的使用者表示由于超出范围,服务没有执行,它可同时由发送者和接收者发送至服务的使用者。
6网络层协议
6.1协议功能
网络层协议协议有如下功能:
a)发送/接收最多4095个字节的数据信息
b)报告发送/接收完成状态。
6.2单帧发送
(扩展及混合地址情况下)最多发送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信息接收者有条件按照它自己的接收能力通过使用流控协议数据单元(FCN_PDU)的流控机制调整传输流量。
——一个首帧协议数据单元(FFN_PDU),包括(扩展及混合地址情况下)5字节或(正常地址情况下)6字节数据。
——一个多更多连续帧协议数据单元(CFN_PDU),包括6或7字节数据。
CFN_PDU包括剩下的字节数据,因此可以少于6或7字节的长度。
图4显示的是发送端拆分及接收端重组信息的例子
说明:
接收方发送的FCN_PDU用于应答FFN_PDU,这在图中没有显示。
图4—拆分与重组
信息的长度在首帧(FFN_PDU)中被发送。
所有的连续帧(CFN_PDU)都被发送方编号,提供接收方以同样的顺序重组这些信息。
接收方通过流控机制(见图5)通知发送方接收能力。
由于不同的节点有不同的接收能力,发送方发送的流控通知接收方,接收方才能调整以适应发送方接收能力。
该接收能力如下定义:
——块大小(BS):
在授权继续发送其余的N_PDU之前,接收方允许发送方最大的N_PDU个数。
——间隔最短时长(STmin):
发送方在发送两个连续帧间隔等待的最短时间。
图5流控机制
除了最后一个所有的块都包含BSN_PDUs。
最后一个块包含剩余的N_PDUs(<=BS)。
每一个发送者/接收者等待对方的N_PDU时,一个超时机制可用来检查发送失败。
通过FCN_PDUs,接收者有权控制CFN_PDUs,用于延时对方的发送及当拆分数据超过接收者缓冲区的时候,拒绝接收。
——FC.CTS:
继续发送,授权继续发送
——FC.WAIT:
请求继续等待
——FC.OVFLW:
缓冲溢出,用于指示拆分数据的首帧中字节个数信息超过了接收者可存储的信息总量。
FC.WAIT的值有个最大限值:
N_WFTmax。
该参数是系统的常数,且不会在首个FCN_PDU中发送。
6.4网络层协议数据单元
6.4.1协议数据单元类型
不同节点的网络层实体通过交互N_PDUs实现通讯。
该协议说明了网络层协议数据单元四种类型——单帧(SFN_PDU),首帧(FFN_PDU),连续帧(FCN_PDU)——这些用于建立网络层对等实体通信,交互通信参数,传递通信数据及释放通信资源。
6.4.2SFN_PDU
SFN_PDU通过单帧协议控制信息(SFN_PCI)来标识,SFN_PDU应当由发送网络实体发送至一个或多个接收网络实体。
它应当通过单个的服务请求,传递服务数据及未拆分信息。
6.4.3FFN_PDU
FFN_PDU通过首帧协议控制信息(FFN_PCI)来标识,FFN_PDU应当由发送网络实体在拆分数据发送期间,发送至特定的接收网络实体。
它用于标识拆分数据首帧。
接收网络实体在接收到FFN_PDU时,需重组这些拆分的信息。
6.4.4CFN_PDU
CFN_PDU由连续帧协议控制信息标识(CFN_PCI)。
CFN_PDU传递服务数据的每个段(N_Data)。
发送实体发送所有的N_PDUs时,FFN_PDU之后编码成CFN_PDUs。
接收实体在接收到最后一个CFN_PDU时,重组这些信息并传递至服务的使用者。
CFN_PDU应当由发送网络实体在拆分数据发送期间,发送至特定的接收网络实体。
6.4.5FCN_PDU
FCN_PDU由流控协议控制信息(FCN_PCI)标识。
FCN_PDU指示发送网络实体对CFN_PDUs的开始,停止或重传。
它应当由接收网络层实体在准备好接收更多数据时,发送至发送网络层实体,在接收到如下情况的帧时
a)FFN_PDU,或者
b)一组连续帧的最后一个FFN_PDU,如果另外的一组连续帧需要被发送的话。
FCN_PDU也能在拆分数据发送期间,通知发送网络层实体