('百度文库-让每个人平等地提升自我ISO15765-2(2004)道路车辆——控制局域网络诊断——第2部分:网络层服务ISO15765协议,定义了“道路车辆——局域网控制器(CAN)诊断”,包含如下几个部分:1百度文库-让每个人平等地提升自我——第一部分:总论。——第二部分:网络层服务。——第三部分:统一诊断服务具体的执行——第四部分:排放相关系统的要求概述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-3ISO15031-5表示层N/AN/A会话层ISO15765-3N/A传输层N/AN/A网络层ISO15765-2ISO15765-4数据链路层ISO11898-1ISO15765-4物理层用户定义ISO15765-4应用层服务是由ISO15765-3按照ISO14229-1和ISO15031-5建立的诊断服务制定的,但ISO15765-3协议不仅适用于上述的诊断服务项,也适用于大多数的国际标准及汽车生产商规定的诊断服务。网络层服务由该部分的ISO15765协议定义,并独立于物理层上的操作,物理层仅仅是在法规的OBD上有规定。道路车辆——控制器局域网(CAN)的诊断——2百度文库-让每个人平等地提升自我第二部分:网络层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网络层时间参数:ArN_As网络层时间参数:AsN_Br网络层时间参数:BrN_Bs网络层时间参数:BsN_ChangeParameter网络层服务项名称N_Cr网络层时间参数:CrN_Cs网络层时间参数:Cs3百度文库-让每个人平等地提升自我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)该服务项用于请求发送数据。如果有必要的话,网络层拆分这些数据。2)该服务项用于通知上层被拆分的信息的首帧的接收。3)该服务项用于提供接收的数据至上层。4)该服务项用于确认应答给上层,表示请求服务项已经被执行(成功执行或不成功4百度文库-让每个人平等地提升自我执行)。b)协议参数设置服务项以下定义的服务项,使之能够对协议参数动态设置。1)该项服务用于对特定内部参数的动态设置的请求2)3)该服务项用于确认应答给上层,表示修改协议特定项的请求已经被执行(成功执行或不成功执行)。网络层的内部操作网络层的内部操作为实现对等实体间的通信提供了分段、重组、数据传输流控制方法。网络层主要的任务是传递一帧或大于一帧的数据信息。超过一帧的信息被分成多个部分,每一个部分都以一个CAN帧的形式被发送。图1显示的是未被拆分的信息的传送的例子。图2显示的是被拆分的信息传送的例子流控制用来使发送端适应接收端网络层的接收能力。该流控制策略同样适用于诊断网关和通信子网。5网络层服务项5.1总览所有的网络层服务项有统一的结构。为了定义这些服务项,三类主要的服务项说明如下:——请求服务,被更高的通信层或应用层使用,用于向网络层传递控制信息及要发送的数据;——指示服务,被网络层使用,用于向更高通信层或应用层传递状态信息及接收到的数据;——确认服务,被网络层使用,用于向更高通信层或应用层传递状态信息。这些服务说明没有指定具体的应用程序接口,而只是一些独立于具体实施的主要服务项。所有的网络层服务项有统一的结构形式,服务项写成如下的形式:(parameterA,parameterB,parameterC,…)这里,“service_name”是指服务项名称,例如,N_SDU,“type”指示了服务项的类型,“parameterA,parameterB,parameterC,…”则是N_SDU服务项传递的值。5百度文库-让每个人平等地提升自我服务项定义了如何使服务的使用者(例如,诊断应用层)如何与服务的提供者(例如,网络层)协同运行。以下服务项已在国际标准中说明,请求,指示和确认。——使用请求服务项(),服务使用者向服务提供者请求一项服务。——使用指示服务项,服务提供者通知服务使用者网络层的一个内部事件或者一个对等实体的服务使用者的服务请求。——通过确认服务项(),服务提供者通知服务的使用者,之前服务使用者请求服务的结果。5.2网络层服务说明5.2.1该请求服务项是请求传递数据及字节数,从发送者到到对等实体接收者,通过在N_SA,N_TA,N_TAtype及N_AE中的地址信息确认。(参看对参数的定义)。服务项每次被启动,网络层应当通过一条服务通知服务使用者信息传递的完成情况。(成功或失败)(MtypeN_SAN_TAN_TAtypeN_AE(可选的))5.2.2服务项由网络层发送,该服务项用于确定服务的完成情况,通过在N_SA,N_TA,N_TAtype及N_AE中的地址信息确认。参数提供请求服务项的状态。(参看对参数的定义)N_USData.confirm(MtypeN_SAN_TAN_TAtypeN_AE(可选的))5.2.3N_USData_FF.indication服务项由网络层发送。该服务项用于通知相邻上层接收到对等实体首帧数据已经到了。通过在N_SA,N_TA,N_TAtype及N_AE中的地址信息确认。(参看对参数的定义)这个指示项发生在接收到拆分数据首帧的时刻。(Mtype6百度文库-让每个人平等地提升自我N_SAN_TAN_TAtypeN_AE(可选的))N_USData_FF.indication指示服务项发送完,网络层应当总是紧跟着发送一个服务项,指示信息接收的完成情况。(成功或失败)N_USData_FF.indication指示服务项应当至友网络层发送指示信息段的首帧是否被正确接收。如果网络层监测到首帧中任何类型的错误,该信息应当被网络层忽略,并且N_USData_FF.indication指示服务项不应当被发送至相邻的上层。如果网络层接收到首帧中数据长度项的值(FF_DL)大于接收者缓冲区的数据,这应当被认为是一个错误的条件并且N_USData_FF.indication指示服务项不应当被发送至相邻的上层。5.2.4服务项由网络层发送。该服务项指示事件并传递字节数的至相邻的上层。这些信息通过同等实体间通过存放于N_SA,N_TA,N_TAtype及N_AE中标识的地址信息接收过来的。当值为N_OK时,及参数信息才有效。(MtypeN_SAN_TAN_TAtypeN_AE(可选的))服务项是在接收到单帧(SF)信息或是指示拆分信息接收的完成时发送。如果网络层检查到单帧中任何类型的错误,该条单帧信息应当被忽略并且N_USData_FF.indication指示服务项不应当被发送至相邻的上层。5.2.5该服务项用于请求本地实体内部参数的修改。参数值分配给参数(参看对参数的定义)。对参数总是可以修改的。特殊情况是在应用层接收到首帧的指示服务项()到接收()服务项之间的时刻。(MtypeN_SAN_TAN_TAtypeN_AE(可选的)7百度文库-让每个人平等地提升自我)这是一个可选服务项,可被固定的参数值实施代替。5.2.6该服务项用于确认运用信息的完成情况,这信息通过在N_SA,N_TA,N_TAtype及N_AE中的地址信息标识。(MtypeN_SAN_TAN_TAtypeN_AE(可选的))服务项数据单元说明Mtype,Messagetype类型:枚举类型范围:诊断,远程诊断描述:参数Mtype用于确定服务相中信息参数的类型及范围。该部分的ISO15765协议指定了两个值标识这个参数。文档使用者可通过指定其它的类型,也可通过文档中网络层使用的其它地址信息参数的组合来扩展这些值的范围。每新定义的一套地址信息,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_TAtype)和可选择地址扩展(N_AE)的通信模式。N_SA网络源地址类型:1字节的无符号整数范围:00-FF16进制描述:N_SA参数代表发送者网络层实体N_TA,网络目标地址类型:1字节的无符号整数范围:00-FF16进制描述:N_SA参数代表接收者网络层实体N_TAtype,网络目标地址类型类型:枚举类型范围:物理的,功能的描述:N_TAtype参数是对N_TA参数的扩展。它被网络层对等实体使用,代表通信模式。两种通信模式说明如下:1对1的通信,称为物理地址,1对多的通信称为功能地址。——物理地址(1对1通信)网络层所有类型的信息都支持。——功能地址(1对多通信)仅仅对单帧的通信支持。8百度文库-让每个人平等地提升自我N_AE,网络地址扩展类型:1字节的无符号整数范围:00-FF16进制描述:N_AE参数用于在大的网络上扩展现行的地址范围,用于子网中发送与接收网络层实体而不是本地网的通信。若Mtype设置为远程诊断时,N_AE仅仅是地址信息的一部分。类型:12个bit位范围:1-4095描述:该参数包含要发送或接收的数据长度。类型:字符串范围:不固定描述:该参数包含与上层实体所有交互的数据类型:枚举类型范围:STmin,BS描述:该参数确定网络层的参数类型:1字节无符号整数范围:0-255描述:该参数分配给协议参数作为指示服务。类型:枚举类型范围: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该值在接收到意外的连续的数值()时被发送至服务使用者;它仅能由接收者发送至服务的使用者。——N_INVALID_FS该值在从流控(FC)N_PDU接收到无效的或未知的流状态值时发送至服务的使用者;它仅能由发送者发送至服务的使用者。——N_UNEXP_PDU该值在接收到未知协议数据单元时发送给服务使用者,它仅能由接收者发送至服务的使用者。——N_WFT_OVRN该值在接收到流控WAIT帧超过最大计数N_WFTmax时发送至服务使用者。——N_BUFFER_OVFLW该值在接收到流控(FC)N_PDU状态Flow=OVFLW时发送给服务的使用者。它用于指9百度文库-让每个人平等地提升自我示接收者缓冲区无法存储首帧中数据长度(FF_DL),因此,该拆分数据的传递被丢弃。它仅能由发送者发送至服务的使用者。——N_ERROR这是一个默认的错误值。它是当检测到网络层错误并且没有其它更好的参数描述该项错误时使用发送到服务使用者。它可同时由发送者和接收者发送至服务的使用者。类型:枚举类型范围: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字节的长度。10百度文库-让每个人平等地提升自我图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,用于延时对方的发送及当拆分数据超过接收者缓冲区的时候,拒绝接收。——:继续发送,授权继续发送——:请求继续等待——:缓冲溢出,用于指示拆分数据的首帧中字节个数信息超过了接收者可存储的信息总量。的值有个最大限值:N_WFTmax。该参数是系统的常数,且不会在首个FCN_PDU中发送。6.4网络层协议数据单元6.4.1协议数据单元类型不同节点的网络层实体通过交互N_PDUs实现通讯。该协议说明了网络层协议数据单元四种类型——单帧(SFN_PDU),首帧(FFN_PDU),连续帧(FCN_PDU)——这些用于建立网络层对等实体通信,交互通信参数,传递通信数据及释放通信资源。6.4.2SFN_PDUSFN_PDU通过单帧协议控制信息(SFN_PCI)来标识,SFN_PDU应当由发送网络实体发送至一个或多个接收网络实体。它应当通过单个的服务请求,传递服务数据及未拆分信息。6.4.3FFN_PDUFFN_PDU通过首帧协议控制信息(FFN_PCI)来标识,FFN_PDU应当由发送网络实体在拆分数据发送期间,发送至特定的接收网络实体。它用于标识拆分数据首帧。接收网络实体在接收到FFN_PDU时,需重组这些拆分的信息。6.4.4CFN_PDUCFN_PDU由连续帧协议控制信息标识(CFN_PCI)。CFN_PDU传递服务数据的每个段(N_Data)。发送实体发送所有的N_PDUs时,FFN_PDU之后编码成CFN_PDUs。接收实体在接收到最后一个CFN_PDU时,重组这些信息并传递至服务的使用者。CFN_PDU应当由发送网络实体在拆分数据发送期间,发送至特定的接收网络实体。6.4.5FCN_PDUFCN_PDU由流控协议控制信息(FCN_PCI)标识。FCN_PDU指示发送网络实体对CFN_PDUs的开始,停止或重传。它应当由接收网络层实体在准备好接收更多数据时,发送至发送网络层实体,在接收到如下情况的帧时a)FFN_PDU,或者b)一组连续帧的最后一个FFN_PDU,如果另外的一组连续帧需要被发送的话。11百度文库-让每个人平等地提升自我FCN_PDU也能在拆分数据发送期间,通知发送网络层实体暂停CFN_PDUs的发送或者在检测到首帧中数据(FF_DL)字长超过接收实体的缓冲区时,中止发送。6.4.6协议数据单元域描述6.4.6.1N_PDU格式协议数据单元(N_PDU)使数据在两个或多个对等网络节点之间传递。所有的N_PDUs包含了3个域,如下表2所示。表2N_PDU格式地址信息协议控制信息数据域N_AIN_PCIN_Data6.4.6.2地址信息(N_AI)N_AI用于标识对等网络实体间的通信。N_AI信息在N_SDU—N_SA,N_TA,N_TAtype,N_AE—中接收,应当复制包含在P_PDU中。如果接收到的N_SDU中及信息很长,需要网络层拆分这些数据以发送完整的信息,N_AI应当被复制并包含在每一个要发送的N_PDU中。该域包含地址信息标识交互信息类型,数据交互的接收方和发送方。地址信息包含信息地址。6.4.6.3注意:更详细的地址信息的描述,看协议控制信息(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=1FF_DLN/A连续帧(CF)N_PCItype=2SNN/AN/A流控(FC)N_PCItype=3FSBSSTmin表4—N_PCItype值的定义16进制值描述12百度文库-让每个人平等地提升自我0单帧对于未拆分的信息,网络层提供了一个优化的网络协议,即将信息长度值仅放置在PCI字节里。单帧(SF)应当能支持在单个CAN帧中的信息传输。1首帧首帧只支持一条信息无法在单个CAN帧中发送时使用。例如,拆分的信息。拆分信息的第一帧编码为FF,在接收到FF时,接受网络层实体应重组这些信息。2连续帧当发送拆分数据时,所有的连续帧跟着FF编码为连续帧(CF)。在接收到一个连续帧,接受网络层实体应当重组接收到的数据字节直到整个信息被接收到。接收实体在接收最后一帧信息并无接收错误之后,应传递这些信息到相邻的上层。3流控帧流控制的目的是调整CFN_PDUs发送的速率。流控协议数据单元的3种类型用于支持这些功能。这些类型由协议控制信息的流状态(FS)域指示。4-F保留该范围的值为该协议保留。6.5.2单帧N_PCI参数定义SFN_PCI字节表5给出了SFN_PCI字节总览表5SFN_PCI字节总览N_PDU名字SFN_PCIbyteByte176543210单帧0000SF_DL单帧数据长度(SF_DL)参数在SFN_PDU中用于指明服务使用者的字节数。看表6表6SF_DL值的定义16进制值说明0保留该范围的值为该协议保留。1–6单帧数据长度值(SF_DL)SF_DL应编码在N_PCI字节低位,并分配服务参数的值。7单帧数据长度(SF_DL)中标准地址SF_DL=7时,只允许标准地址8-F无效的该范围值无效SF_DL出错处理如果网络层接收到一个SF_DL=0的单帧(SF),网络层应当忽略接收SFN_PDU。如果网络层接收到使用标准地址且一个SF_DL大于7的单帧,或大于6且使用扩展或混合地址时,网络层应当忽略该SFN_PDU。首帧N_PCI参数定义13百度文库-让每个人平等地提升自我FFN_PCI字节表7给出了一个FFN_PCI字节总览表7FFN_PCI字节总览N_PDU名字FFN_PCIbyteByte1Byte276543210首帧0001FF_DL首帧数据长度(SF_DL)参数定义FFN_PDU中的参数FF_DL用于说明服务使用者数据字节数。如表8所示,16进制数说明0–6无效的该范围值无效7首帧数据字节(FF_DL)支持扩展地址及混合地址FF_DL=7只允许扩展地址及混合地址8-FFF首帧数据字节(FF_DL)拆分信息在12个位的长度(FF_DL)上编码,并N_PCI字节2中最低位置位“0”,N_PCI字节1中最高位置为“3”。拆分信息最大数据长度支持4095个用户数据。该数据当被分配到服务参数中。FF_DL出错处理如果网络层接收到FF_DL大于接收方缓冲区的首帧时,应当被认为是错误情况。网络层应当放弃该信息的接收,并且发送包含参数FlowStatus=Overflow的FCN_PDU。如果网络层接收到FF_DL小于8并且使用标准地址,或小于7并且使用扩展地址或混合地址时,网络层应当忽略该首帧并且不必发送一个FCN_PDU。连续帧N_PCI参数定义CFN_PCI字节表9给出了一个CFN_PCI字节总览表9CFN_PCI字节总览N_PDU名字CFN_PCIbyteByte176543210连续帧0010SN连续帧参数(SN)定义CFN_PDU中参数SN用以说明连续帧的顺序。——对于所有拆分信息,SN开始于0。FF应当分配值0,它不是明确地包含在N_PCI域中,但应当按拆分信息顺序号为0。——第一个流控帧编号(SN)后的连续帧设置为1;——在同一个拆分信息上,每一个新增的连续帧编号(SN)增1;——连续帧编号(SN)的值不受流控帧的影响。——当连续帧编号(SN)到达值15时,它在下一个连续帧中重置为0;顺序编号如下表10所示表11所示SN值表10——SN定义总结N_PDUFFCFCFCFCFCFCFCFSN(hex)01…EF01…14百度文库-让每个人平等地提升自我表11——SN值定义16进制值描述0-F连续号(SN)连续号应当在N_PCI字节1的低字位编码。SN设置值范围在0到15.SN出错处理如果接收到一个连续号错误的CFN_PDU信息,网络层则进行出错处理。信息的接收被终止,并且网络层发送一个参数=N_WRONG_SN的指示服务至相邻上层。流控参数N_PCI定义流控参数N_PCI类型表12给出了一个FCN_PCI字节总览表12FCN_PCI字节总览N_PDU名字FCN_PCIbyteByte1Byte2Byte376543210流控帧0011FSBSSTmin流状态参数(FS)定义流状态参数(FS)指示发送网络实体是否继续信息的发送。发送网络层实体应当支持所有FS参数规定(不是保留的)的值。表13——FS值定义16进制值说明0继续发送(CTS)流控帧继续发送参数,通过编码N_PCI第1字节为“0”,表示继续发送。它会促使发送方重新发送连续帧,该值意味着接收者准备好接收最大BS个连续帧。1等待(WT)流控帧等待参数通过编码N_PCI第1字节为“1”。它会促使发送方继续等待新的流控帧(N_PDU)的到来,并重新设置N_BS定时器。2溢出(OVFLW)流控真溢出参数通过编码N_PCI第1字节为“2”。它会促使发送方中止拆分信息的发送并且做传递参数=N_BUFFER_OVFLW的指示服务。该N_PCI流控参数值仅能在跟在首帧N_PDU的流控帧中使用,并且仅能在首帧中FF_DL信息的长度超过了接收实体缓冲区大小时使用。3-F保留该范围的值为该协议保留FS出错处理如果接收到的FCN_PDU信息参数出错,网络层进行出错处理。信息的发送被中止,并且网络层传递一个参数=N_INVALID_FS的指示服务至相邻的上层。块大小(BS)参数定义BS参数应当编码在FCN_PCI字节2中。BS单元存储了每一块中CFN_PDU的绝对个数。例如如果块大小=20(十进制)该块应当包含20个CFN_PDU。拆分数据中最后一块连续帧也可能少于BS个帧。表14提供了FCN_PCI字节总览表14BS值定义16进制值说明15百度文库-让每个人平等地提升自我00块大小(BS)BS参数为0用于指示发送者在拆分数据的发送期间流控制帧不再发送流控制帧了。发送网络层实体应当不停的发送剩下的连续帧以便接收网络层实体另外的流控帧。01-FF块大小(BS)该范围的BS参数值用于指示发送方在没有接收网络实体的流控帧期间能发送的最大数目的连续帧。间隔时间(STmin)参数定义间隔时间(STmin)参数应当编码在FCN_PCI字节3.该时间在拆分数据发送过程中,由接收实体指定,并且由发送网络实体遵守。STmin参数值指定了连续帧协议数据单元发送的最小时间间隔。表15所示。表15——STmin值定义16进制值说明00-7F间隔时间(STmin)范围:0ms-127ms该STmin单元的范围00-7F为绝对单位毫秒(ms)80-F0保留该范围值为该协议保留F1-F9间隔时间(STmin)范围100us-900us该STmin单元的范围F1-F9最小分编为100微秒(us),参数值F1代表100us,参数值F9代表900us。FA-FF保留该范围值为该协议保留STmin的度量是在一个连续帧发送完开始到请求下一个连续帧时的间隔时长。例如如果STmin=10(十进制),则连续帧网络协议数据单元最小时间间隔=10ms。ST出错处理在拆分数据发送期间,如果FCN_PDU信息接收到ST参数值为保留值,发送网络实体则使用最长的ST值,即(7F-127ms),而不使用从接收网络实体接收到的值。6.6帧传递的最大值(N_WFTmax)该变量用于避免在通信发送方出现潜在错误挂起的时候,后者可能会持续等待。该参数用于对等通信并不被传递,因此不包含在FC的协议数据单元里。——N_WFTmax参数应当指示一组能有多少个FCN_PDUWT能被接收者接收。——N_WFTmax参数的上限由用户根据系统时钟定义。——N_WFTmax参数仅由接收网络实体在接收信息的时候使用。——如果N_WFTmax参数值设置为0,流控应当继续仅使用FCN_PDUCTS。流控等待(FCN_PDUWT)不应再该网络实体中使用。6.7网络层定时6.7.1定时参数图6显示了网络层定时参数,表16定义了网络层定时参数值及它们相应的给予数据链路服务的开始及结束时间。运行要求的数值是是对对等通信的约束,以符合该协议。某个应用应指明规定的运行需求,该范围在表16中定义。定义超时的值应比运行要求的值大保证系统工作且使克服运行需求值在(高总线负载)时,绝对不会满足。指定的超时的值认为是执行的最低限。实际超时的发生不应长于指定超时16百度文库-让每个人平等地提升自我值+50%。网络层在检测到错误的时候应传递合适的服务项至服务的使用者。图6网络层定制参数置位表16——网络层定时参数值定时参数描述数据链路服务超时(ms)运行需求(ms)StartEndN_As发送方CAN帧发送时间(任何N_PDU)1000N/AN_Ar接收方CAN帧发送时间(任何N_PDU)1000N/AN_Bs直至下一个流控帧接收的时间(FF)(FC)(FC)(FC)1000N/AN_Br直至下一个流控帧发送的时间(FF)(FC)(FC)N/A(N_Br+N_Ar)=N_TIMEOUT_A的指示N_Ar接收方没有及时发送N_PDU放弃信息的接收并传递=N_TIMEOUT_A的指示N_Bs发送方没有接收到流控帧(丢失,覆盖)或在首帧前收到,或连续帧没有被接收方接收到。放弃信息的发送并传递=N_TIMEOUT_Bs的指示N_Cr接收方没有收到连续帧或之前流控帧未被发送方收到。放弃信息的接收并传递=N_TIMEOUT_Cr的指示6.7.3接收到突如其来的N_PDU意外的N_PDU定义为接收到一个节点规则之外的N_PDU。它可能是该协议定义的某条帧(N_PDU)(SFN_PUD,FFN_PDU,CFN_PDU或者FCN_PDU),但它接收的却不是按正常的顺序,或者它是一个在本协议中无法解释未知的N_PDU。根据网络层支持全双向的或半双向通信的不同,对“意外的”说明也不同:a)半双向的,两个节点之间点对点通信在同一个时刻只能是一个方向。b)全双向的,两个节点之间点对点通信在同一个时刻支持双向的通信。除网络层设计决定,使用同一个地址信息(N_AI)接收或发送到一个节点,认为意外的N_PDU。作为一个统一规则,从任何节点过来的意外的N_PDU应当被忽略,这意味着网络层对该信息的到来无需通知上层。表18定义了在接收到意外N_PDU时,网络层动作。考虑到网络层内部状态(NWL状态)及支持半双向或全双向通信。并应知道在N_PDU接收时候,作为发送者或接收者接收到的N_PDU包含同一个N_AI。表18——意外的N_PDU处理NWL状态接收到。。。SFN_PDUFFN_PDUCFN_PDUFCN_PDUUnknownN_PDU拆分信息发全双向通全双向通全双向通如果等待,忽略18百度文库-让每个人平等地提升自我送过程中信:当接受过程中,看该表中相邻下面部分,否则将SFN_PDU设为新接收的开始信:当接受过程中,看该表中相邻下面部分,否则将FFN_PDU设为新接收的开始信:当接受过程中,看该表中相邻下面部分则处理该帧,否则忽略半双向的:忽略半双向的:忽略半双向的:忽略拆分信息接收过程中止当前接收,传递=N_UNEXP_PDU的指示信号至上层,并且将SFN_PDU为新的接收开始中止当前接收,传递=N_UNEXP_PDU的指示信号至上层,并且将FFN_PDU为新的接收开始如果等待,则处理该帧,并运行必须的检测(例如SN是否顺序正确)否则忽略全双向的如果正在发送过程,看相应表上一单元忽略半双向的:忽略空闲将SFN_PDU为新的接收开始将FFN_PDU为新的接收开始忽略6.7.4等待帧出错处理当接收者发送了N_WFTmax等待流控制帧网络协议数据单元(FCN_PDUWT)发送方无法通过发送网络协议数据单元(FCN_PDUCTS)完成流控清除。接收方中止信息的接收,并发送置位N_WFT_OVRN的至相邻上层。信息的发送者通过接收到=N_TIMEOUT_Bs的确认服务中止信息的接收。(由于丢失了接收方的流控制帧N_PDU,在发送端产生了一个N_Bs的超时信号)6.8交错的信息网络层应当能够实现映射不在一个地址N_AI的不同信息的传输。这能保证接收者接收网络协议数据单元能持续的重组信息。该策略使网关具有在同时在不同子网处理不同信息传递的功能。7数据链路层的使用数据链路层接口服务该请求服务需要通过标识,将数据映射到指定的数据链路层单元。标识需提供参照指定的访问格式发送数据:(19百度文库-让每个人平等地提升自我)该确认服务用于确认请求指定的服务的完成,参数提供服务请求的状态。()该指示服务指示数据链路层到相邻上层的事件并通过标识发送数据。()数据链路层服务参数下列所示数据链路层服务参数在ISO11898-1中定义。:CAN标识:数据长度码:CAN帧数据:发送状态映射到N_PDU域地址格式网络层数据交互有三种地址格式的支持:标准,扩展和混合。不同的地址格式需要不同数据长度的CAN帧对包含数据的地址信息进行打包。因此,选择单个CAN帧的数据长度依赖于地址格式类型的选取。以下(到)说明了地址格式的映射机制,基于数据链路层服务及11898-1定义的服务参数。标准地址对于N_SA,N_TA,N_TAtype,一个特定的CAN标识符被分配。N_PCI和N_Data安置在CAN帧的数据域。如表19.表19——N_PDU参数到CAN帧的映射——标准地址N_PDU类型CAN标识CAN帧数据域字节1字节2字节3字节4字节5字节6字节7字节8单帧(SF)N_AIN_PCIN_Data首帧(FF)N_AIN_PCIN_Data连续帧(CF)N_AIN_PCIN_Data流控帧(FC)N_AIN_PCIN/A标准混合地址标准混合地址是标准地址的子格式,也就是映射到CAN标识的地址信息更多一层定义。在上述标准通信,N_AI和CAN标识之间打开。对于标准混合通信只允许有29bit的CAN标识。表20和21定义了射到CAN标识的目标地址类型(N_TAtype)。N_PCI和N_Data放在CAN帧数据域。表20——标准混合地址,N_TAtype=物理的20百度文库-让每个人平等地提升自我N_PDU类型29bitCAN标识,位地址CAN数据域位地址28…26252423…161587…012345678单帧(SF)110(bin)00218(dec)N_TAN_SAN_PCIN_Data首帧(FF)110(bin)00218(dec)N_TAN_SAN_Data连续帧(CF)110(bin)00218(dec)N_TAN_SAN_PCIN_Data流控帧(FC)110(bin)00218(dec)N_TAN_SAN_PCIN/A表21——标准混合地址,N_TAtype=功能的扩展的地址对于N_SA,N_TA,N_TAtype,一个特定的CAN标识符被分配。N_TA安置在CAN帧数据域第一个字节,N_PCI和N_Data安置在CAN帧数据域剩下的字节。表22——N_PDU参数到CAN帧的映射——扩展地址N_PDU类型CAN标识CAN帧数据域字节1字节2字节3字节4字节5字节6字节7字节8单帧(SF)N_AI,无N_TAN_TAN_PCIN_Data首帧(FF)N_AI,无N_TAN_TAN_PCIN_Data连续帧(CF)N_AI,无N_TAN_TAN_PCIN_Data流控帧(FC)N_AI,无N_TAN_TAN_PCIN/A混合地址21N_PDU类型29bitCAN标识,位地址CAN数据域位地址28…26252423…161587…012345678单帧(SF)110(bin)00219(dec)N_TAN_SAN_PCIN_Data首帧(FF)110(bin)00219(dec)N_TAN_SAN_Data连续帧(CF)110(bin)00219(dec)N_TAN_SAN_PCIN_Data流控帧(FC)110(bin)00219(dec)N_TAN_SAN_PCIN/A百度文库-让每个人平等地提升自我29位CAN标识混合地址是将Mtype设置为远程诊断的地址格式。表23和24定义了地址信息(N_AI)到29位CAN标识符的映射机制。主要是目标地址类型(N_TAtype),N_PCI和N_Data安置在CAN帧数据域剩余字节。表23——29位CAN标识符的混合地址,N_TAtype=物理的表23——29位CAN标识符的混合地址,N_TAtype=功能的11位CAN标识符混合地址是将Mtype设置为远程诊断的地址格式。表25定义了地址信息(N_AI)到11位CAN标识的映射机制。对于N_SA,N_TA,N_TAtype,一个特定的CAN标识符被分配。N_AE安置在CAN帧数据域的第一个字节。N_PCI和N_Data安置在CAN帧数据域的剩余字节。表25——混合地址(11位CAN标识符)N_PDU类型CAN标识CAN帧数据域字节1字节2字节3字节4字节5字节6字节7字节8单帧(SF)N_AIN_AEN_PCIN_Data首帧(FF)N_AIN_AEN_PCIN_Data连续帧(CF)N_AIN_AEN_PCIN_Data流控帧(FC)N_AIN_AEN_PCIN/A22N_PDU类型29bitCAN标识,位地址CAN数据域位地址28…26252423…161587…012345678单帧(SF)110(bin)00206(dec)N_TAN_SAN_AEN_PCIN_Data首帧(FF)110(bin)00206(dec)N_TAN_SAN_AEN_PCIN_Data连续帧(CF)110(bin)00206(dec)N_TAN_SAN_AEN_PCIN_Data流控帧(FC)110(bin)00206(dec)N_TAN_SAN_AEN_PCIN/AN_PDU类型29bitCAN标识,位地址CAN数据域位地址28…26252423…161587…012345678单帧(SF)110(bin)00205(dec)N_TAN_SAN_AEN_PCIN_Data首帧(FF)110(bin)00205(dec)N_TAN_SAN_AEN_PCIN_Data连续帧(CF)110(bin)00205(dec)N_TAN_SAN_AEN_PCIN_Data流控帧(FC)110(bin)00205(dec)N_TAN_SAN_AEN_PCIN/A百度文库-让每个人平等地提升自我CAN帧数据长度码(DLC)DLC参数DLC参数指定了某一个CAN帧中数据字节长度。本文档不指明数据域中长度的任何要求,而只是在网络层协议数据单元的大小给出暗示。应用网络层要么将所有CAN帧打包成完整、全部的长度,要么优化DLC以适合网络协议数据单元。CAN帧数据打包DLC总是设置为8.如果发送的N_PDU比8短,那么发送方将DLC设置为最大值为8(打包了一些不使用的数据字节)。这些会在SF,FC帧或拆分信息的最后一个CF帧中会出现。DLC参数由发送方设置并由接收方决定网络层处理的每一CAN帧的数据字节个数。DLC参数无法用于决定信息长度;该信息应该在信息的开始从N_PCI的信息中提取。CAN帧数据优化DLC不总是为8.如果发送的N_PDU比8短,那么发送方会通过缩减CAN帧到只包含N_PDU占有的字节数(不对无用的数据字节打包)来优化CAN总线负载。CAN帧的优化只能针对SF,FC帧或拆分信息的最后一个CF帧。DLC参数由发送方设置并由接收方决定网络层处理的每一CAN帧的数据字节个数。DLC参数无法用于决定信息长度;该信息应该在信息的开始从N_PCI的信息中提取。数据长度码出错处理依赖于N_PCI的值,网络层可计算一个接收到的CAN帧中CANDLC最小期待的值。接收到的CAN帧中DLC的值比期待的值要小,(使用打包CAN帧时比8要小或者比网络协议数据单元优化后指示的值要小)网络层应该忽略并不做任何更多的操作。附件A(非正式)按照SAEJ1939协议,使用标准与混合地址数据链路层总览该附件描述如何映射地址信息参数,按照SAEJ1939协议,N_AI到CAN帧数据链路层规则标准地址表显示了地址信息参数的映射,当网络目标地址类型N_TAtype使用物理地址,N_AI到CAN帧的映射。Table——标准地址,物理地址信息J1939协议PRDPPFPSSA数据域位31188864内容默认11000218(dec)N_TAN_SAN_PCI,23百度文库-让每个人平等地提升自我(bin)N_DataCAN标识位28–26252423–1615–87–0数据域1–8CAN域标识符Data表显示了地址信息参数的映射,当网络目标地址类型N_TAtype使用功能地址,N_AI到CAN帧的映射。Table——标准地址,功能地址信息J1939协议PRDPPFPSSA数据域位31188864内容默认110(bin)00219(dec)N_TAN_SAN_PCI,N_DataCAN标识位28–26252423–1615–87–0数据域1–8CAN域标识符Data混合地址表显示了地址信息参数的映射,当网络目标地址类型N_TAtype使用物理地址,N_AI到CAN帧的映射。Table——混合地址,物理地址信息J1939协议PRDPPFPSSA数据域位311888856内容默认110(bin)00206(dec)N_TAN_SAN_AEN_PCI,N_DataCAN标识位28–26252423–1615–87–0数据域12–8CAN域标识符Data表显示了地址信息参数的映射,当网络目标地址类型N_TAtype使用功能地址,N_AI到CAN帧的映射。Table——混合地址,功能地址信息J1939协议PRDPPFPSSA数据域位311888856内容默认110(bin)00205(dec)N_TAN_SAN_AEN_PCI,N_DataCAN标识位28–26252423–1615–87–0数据域12–8CAN域标识符Data优先级(P)优先级由用户自定义,默认为6。三个位优先级域用于优化CAN总线信息等待时间。优先级域应当接收者屏蔽(忽略)。CAN总线优先级可设置为最高0(000bin),到最低7(111bin)。保留位(R)应当设置为“0”。数据页(DP)应当设置为“0”。24百度文库-让每个人平等地提升自我协议数据单元格式(PF)格式为PDU1格式,“指明目标地址”诊断信息应当使用如下参数组(PGN)——混合地址:52480(dec)即N_TAtype=功能的,PF=205(dec)。——混合地址:52736(dec)即N_TAtype=物理的,PF=206(dec)。——物理地址:55808(dec)即N_TAtype=功能的,PF=218(dec)。——物理地址:56064(dec)即N_TAtype=物理的,PF=219(dec)。PDU指定域(PS)PDU特定域应当包含目标地址,N_TA源地址(SA)SA域应当包含源地址,N_SA更新速率按照用户的需求数据长度数据长度应当为8字节。25',)