首页 购物车 询价
www.GB-GBT.com

[PDF] GB/T 39851.2-2021 - 自动发货. 英文版

标准搜索结果: 'GB/T 39851.2-2021'
标准号码内文价格美元第2步(购买)交付天数标准名称状态
GB/T 39851.2-2021 英文版 695 GB/T 39851.2-2021 3分钟内自动发货[PDF] 道路车辆 基于控制器局域网的诊断通信 第2部分:传输层协议和网络层服务 有效

基本信息
标准编号 GB/T 39851.2-2021 (GB/T39851.2-2021)
中文名称 道路车辆 基于控制器局域网的诊断通信 第2部分:传输层协议和网络层服务
英文名称 Road vehicles -- Diagnostic communication over Controller Area Network (DoCAN) -- Part 2: Transport protocol and network layer services
行业 国家标准 (推荐)
中标分类 T36
国际标准分类 43.040
字数估计 50,599
发布日期 2021-03-09
实施日期 2021-10-01
起草单位 长城汽车股份有限公司、中国汽车技术研究中心有限公司、浙江吉利控股集团有限公司、泛亚汽车技术中心有限公司、北京兴科迪科技有限公司
归口单位 全国汽车标准化技术委员会(SAC/TC 114)
标准依据 国家标准公告2021年第3号
提出机构 中华人民共和国工业和信息化部
发布机构 国家市场监督管理总局、国家标准化管理委员会

GB/T 39851.2-2021 道路车辆 基于控制器局域网的诊断通信 第2部分:传输层协议和网络层服务 Road vehicles -- Diagnostic communication over Controller Area Network (DoCAN) -- Part 2: Transport protocol and network layer services 1 范围 GB/T 39851的本部分规定了车载CAN网络系统(ISO 11898-1:2015)需求的传输层协议和网络层服务,该服务基于ISO 14229-1和ISO 15031-5中定义的诊断服务。 本部分适用于ISO 14229-1和ISO 15031-5定义的诊断服务,也适用于其他车载网络通信。 ISO 11898-1:2015描述了多种长度的CAN帧,这些帧的最大有效载荷大小基于使用设备的协议。CLASSICALCAN协议设备可以收发有效载荷大小为(0~8)字节的帧。CANFD(灵活数据速率)协议设备可以收发有效载荷大小为(0~64)字节的帧。CANFD协议设备也能够收发 CLASSICALCAN帧。 基于控制器局域网(DoCAN)的诊断通信协议支持ISO 14229-2中规定的标准服务原语接口。 本部分提供的传输协议和网络层服务支持不同应用层的应用,例如: ---增强型车载诊断(超出法定功能的排放相关系统诊断、非排放相关系统诊断); ---ISO 15031中规定的排放相关车载诊断系统(OBD); ---ISO 27145中规定的全球协调车载诊断系统(WWH-OBD); ---ISO 26021-1中规定车载点火装置报废期的激活。 传输层协议未定义确定的通信类型。 2 规范性引用文件 下列文件对于本文件的应用是必不可少的。凡是注日期的引用文件,仅注日期的版本适用于本文件。凡是不注日期的引用文件,其最新版本(包括所有的修改单)适用于本文件。 ISO/IEC 7498-1 信息技术 开放系统互联 基本参考模型 第1部分:基础模型 ISO 11898-1:2015 道路车辆 控制器局域网(CAN) 第1部分:数据链路层和物理信令 3 术语、定义和缩略语 3.1 术语和定义 ISO/IEC 7498-1、ISO 11898-1:2015界定的以及下列术语和定义适用于本文件。 3.1.1CAN帧数据长度 以字节为单位的CAN帧数据/有效载荷的物理长度。 3.1.2发送数据链路层数据长度 发送端以字节为单位的数据链路层最大可用有效载荷长度,用于执行本部分中定义的网络层应用。注:TX_DL是一个发送端在发送PDU时固定配置的值。 3.1.3接收数据链路层数据长度 接收端以字节为单位的数据链路层检索最大可用有效载荷长度,用于执行本部分中定义的网络层应用。 注:RX_DL从分段PDU中的首帧CAN_DL中回读,用于验证连续帧中正确的数据长度。 3.2 缩略语 下列缩略语适用于本文件。 BRS:位速率转换 BS:块大小 CAN:控制器局域网 CAN_DL:以字节为单位的CAN帧数据链路层数据长度 CANFD:ISO 11898-1:2015定义的拥有可变数据速率和较大有效载荷的控制器局域网 CF:连续帧 CTS:继续发送 DLC:数据长度代码 DoCAN:基于控制器局域网的诊断通信 ECU:电子控制单元 4 约定 本部分遵循适用于诊断服务的OSI服务公约(ISO/IEC 10731)中的约定。 5 概述 5.1 开放系统互联(OSI)模型 5.1.1 本部分采用ISO/IEC 7498-1规定的开放系统互联(OSI)基本参考模型,该模型将通信系统划分 为七层。 5.1.2 本部分遵循OSI服务公约(ISO/IEC 10731)讨论的适用于诊断服务的约定,这些约定通过服务 原语定义了服务用户和服务提供者之间的交互,目的是概述OSI模型,并将其作为本部分的使用指南, 同时说明OSI服务公约应用于本部分。 5.1.3 OSI模型将数据通信结构划分为七层,从上至下依次是应用层(第7层)、表示层(第6层)、会话 层(第5层)、传输层(第4层)、网络层(第3层)、数据链路层(第2层)和物理层(第1层)。 5.1.4 本部分使用了七层结构模型的一个子集,该子集规定了DoCAN的应用层、会话层、传输层、网络 层、数据链路层和物理层。 5.1.5 各层的目的是向上层提供服务。应用层向诊断应用程序提供服务,应用于软件、硬件或软硬件组合的各层能动部分被称为实体。在OSI模型中,通信发生在不同节点的同层实体间,这种同层的通信实体称为对等实体。 5.1.6 某层提供的服务可在该层的服务访问点(SAP)处获取,上层可通过交换数据参数来使用这些服务。 5.1.7 本部分区分了某层为上层提供的服务及该层对等实体间发送报文所使用的协议,区分目的是使服务(尤其是应用层和传输层服务)可在CAN网络和其他类型网络中复用。通过该方式,该协议对服务的用户不可见;若有特殊的系统需要,则可更改该协议。 5.1.8 图1给出了使用DoCAN协议最合适的应用实施方法。 5.2 诊断网络架构 5.2.1 诊断网络 5.2.1.1 诊断网络作为一个整体,包含可相互通信的所有客户端和服务端。 5.2.1.2 诊断网络可以是客户端和服务端之间简单的点对点连接,也可以是通过网关连接多个物理子 网的复杂分布式网络架构。 5.2.2 诊断子网 同一子网的所有客户端和服务端都连接相同的物理通信链路。在本部分范围内,同一子网的所有 客户端和服务端都连接相同的物理CAN网络且相互间可直接通信。 5.2.3 诊断网关 5.2.3.1 诊断网关是连接到两个或多个物理子网的网络节点,且具备在子网间传输诊断报文的能力。 5.2.3.2 通过诊断网关连接各个子网建立更大的诊断网络架构。 5.3 DoCAN用例概述 DoCAN协议用例来源于以下诊断通信的使用领域: ---车辆/ECU工程(开发); ---车辆/ECU制造(生产车间、装配线); ---服务(经销商、售后维修店); ---标准检查(排放检测、安全检测)。 注:本部分关注支持上述用例所需要的通信协议规定,未指定数据内容、信号更新频率、信号有效性。 6 CAN数据链路层扩展 6.1 CLASSICALCAN和CANFD帧特征对比 6.1.1 ISO 11898-1:2015中CLASSICALCAN帧支持的最大有效载荷长度为8字节,CANFD帧支持的最大有效载荷长度为64字节,因此在使用首帧、流控帧和连续帧对分段数据进行发送时,需要在不改变原始协议概念的前提下通过使用一个可变可配置的有效载荷长度来执行。单帧经过调整可支持CANFD帧中增加的有效载荷长度。 6.1.2 表2列出了ISO 11898-1:2015提供的CAN帧类型的不同特征。 6.2 传输层协议和网络层服务的CAN参数说明 图2展示了CAN参数对网络层/传输层寻址信息N_AI的映射。N_AI说明了网络层/传输层参数的适用性、有效性及CLASSICALCAN和CANFD对数据链路层的支持。图2描述示例既适用常规寻址也适用常规固定寻址。对于扩展寻址和混合寻址,一般在概念上适用,但N_AI参数到CAN帧上的映射是不同的,见附录A。 6.3 CANFD的额外要求 6.3.1 如果使用了CANFD协议设备,设备可以配置成CLASSICALCAN帧或CANFD帧。当使用数据链路层CANFD类型帧时,需要满足以下要求: ---CANFD帧中的BRS位,决定了数据段和仲裁段的传输速率是否一致。数据段的位速率被定义为等于或高于仲裁段的位速率。位速率的转换并不影响传输协议(图2); ---允许的最大有效长度[CAN_DL,(8~64)字节]见表3。 6.3.2 发送节点根据不同最大有效载荷长度值提供一个新的附加配置变量“数据链路层数据长度”(TX_DL),见9.5。 6.3.3 可配置的TX_DL值可转换为发送节点的有效CAN帧数据长度(CAN_DL)和上限: ---TX_DL=8:传输协议的使用与ISO 11898-1:2015(8字节有效载荷的CLASSICALCAN)相同,参见表2中的参照号#1;该协议产生用于传输的CAN帧只能使用DLC值为2~8,同时适用于CLASSICALCAN和CANFD类型的帧; ---TX_DL >8:仅应用于ISO 11898-1:2015中CANFD类型的帧,参见表2中的参照号#1和#3。 说明: ①---CAN_DL的值由DLC值决定,该值是一个CAN帧数据/有效载荷的物理长度。在接收端中CAN_DL用于决定发送端TX_DL的值; ②---N_AI映射仅是作为常规寻址和常规固定寻址的示例; ③---在“格式”信息中的BRS位定义了数据段的传输速率。 7 网络层概述 7.1 概述 7.1.1 本部分定义了网络节点间数据交互使用的未确定的网络层通信协议,例如从一个ECU到另一 个ECU或外部测试设备和一个ECU之间的通信。如果要传输的数据不适合单帧,则需要使用分段的 方式传输。 7.1.2 为描述网络层的功能,应考虑提供给上层服务及网络层的内部操作。 7.2 网络层提供给上层的服务 服务接口定义了一组在访问网络层功能时需要用到的服务,即传输/接收数据及协议设置参数,两种类型服务定义: a) 通信服务:以下定义的服务可以传输最多4294967295字节的数据: 1) N_USData.request:该服务用于请求传输数据;必要情况下网络层会对这些数据进行分段; 2) N_USData_FF.indication:该服务用于指示上层开始接收分段报文; 3) N_USData.indication:该服务用于向上层提供接收到的数据; 4) N_USData.confirm:该服务用于向上层确认请求的服务已经被执行(成功或失败)。 b) 协议参数设置服务,以下定义的服务可用于对协议参数进行动态设置: 7.3 网络层内部操作 7.3.1 网络层内部操作提供了分段、流控制传输和重组的方法。网络层主要任务是传输报文,无论该 报文是否适合单个CAN帧,不适合单个CAN帧的报文会被分段为多个部分,每个部分以1个CAN帧的形式传输。一个未分段报文传输的示例见图3,一个分段报文传输的示例见图4。 7.3.2 流控制用于对发送端进行调整以适应接收端网络层的接收能力,流控制策略允许使用诊断网关 和子网。 8 网络层服务 8.1 概述 8.1.1 所有网络层服务拥有统一的结构。为定义这些服务,规定了以下三种服务原语类型: ---请求服务原语:用于上层通信层或应用层向网络层传递控制信息及数据; ---指示服务原语:用于网络层向上层通信层或应用层传递状态信息及接收到的数据; ---确认服务原语:用于网络层向上层通信层或应用层传递状态信息。 8.1.2 该服务规范没有指定具体的应用程序接口,只提供三种具体实施的服务原语。所有网络层服务 拥有统一的格式。 8.1.3 服务原语定义了服务用户(例如:诊断应用程序)如何与服务的提供者(例如:网络层)协同运行。 本部分规定了以下服务原语:请求、指示和确认: ---使用请求服务原语(service_name.request):服务用户向服务提供者请求服务; ---使用指示服务原语(service_name.indication):服务提供者向服务用户通知网络层的内部事件 或对等协议层实体服务用户的服务请求; ---使用确认服务原语(service_name.confirm):服务提供者向服务用户通知之前的服务请求结果。 8.2 网络层服务原语规范 8.2.1 N_USData.request 8.2.2 N_USData.confirm N_USData.confirm服务由网络层发送,该服务原语用于确认N_USData.request服务已完成,服务通过“N_SA、N_TA、N_TAtype和[N_AE]”中的地址信息标识。参数< N_Result >提供了服务请求的状态(参数定义见8.3)。服务原语的书写格式如下: 8.2.3 N_USData_FF.indication 8.2.3.1 N_USData_FF.indication服务由网络层发送,该服务原语用于向相邻上层指示从对等协议实 体接收的分段报文首帧(FF)已到达,该对等实体通过“N_SA、N_TA、N_TAtype和[N_AE]”中的地址 信息标识(参数定义见8.3),该指示应在接收到分段报文首帧后发送。服务原语的书写格式如下: 8.2.3.2 网络层总是在调用N_USData_FF.indication服务后调用N_USData.indication服务,用于指 示报文接收的完成(或失败)。 8.2.3.3 只有分段报文的首帧被正确接收,网络层才会发出N_USData_FF.indication服务调用。 8.2.3.4 如果网络层检测到首帧中任何类型错误,网络层应忽略该报文,并且N_USData_FF.indication 服务不应被发送至相邻的上层。 8.2.3.5 如果网络层接收到首帧中的数据长度值(FF_DL)大于接收端缓冲区的大小,应被认为是一个 错误的条件并且N_USData_FF.indication服务不应被发送至相邻的上层。 8.2.4 N_USData.indication 协议实体接收到的< Length >字节的< MessageData >传送给相邻上层,对等实体通过“N_SA、N_TA、 N_TAtype和[N_AE]”中的地址信息标识(参数定义见8.3)。 8.2.4.2 < MessageData >和< Length >的参数只有在< N_Result >等于N_OK时有效。服务原语的 书写格式如下: 8.2.4.3 N_USData.indication服务调用是在接收到单帧(SF)或分段报文接收完成(或失败)后发送的。 如果网络层检测到单帧中任何类型的错误,该条报文应当被网络层忽略并且N_USData.indication服务 不应当被发送至相邻的上层。 8.2.5.1 服务原语用于请求修改本地协议实体上的内部参数值。< Parameter >由< Parameter_Value >赋值(参数定义见8.3)。 8.2.5.2 参数可被修改,除了接收到首帧(N_USData_FF.indication)开始到完成相应报文(N_USData. indication)的接收为止。服务原语的书写格式如下: 和[N_AE]”中的地址信息标识(参数定义见8.3)。服务原语的书写格式如下: 8.3 服务数据单元规范 8.3.1 Mtype:报文类型 8.3.1.1 类型:枚举。 8.3.1.2 范围:诊断、远程诊断。 8.3.1.3 描述:Mtype用于标识服务调用中地址信息参数的类型及范围。本部分指定了该参数的两个 值,使用者可通过指定地址信息参数(应用本部分制定的网络层协议)的其他类型和组合来扩展这些值 的范围。对于每个新地址信息范围,均应指定一个新的 Mtype参数值来标识新地址信息: ---如果 Mtype=诊断,地址信息N_AI应包含N_SA、N_TA和N_TAtype参数; ---如果 Mtype=远程诊断,地址信息N_AI应包含N_SA、N_TA、N_TAtype和N_AE参数。 8.3.2 N_AI:地址信息 8.3.2.1 N_AI描述 这些参数指的是地址信息,N_AI参数用于标识报文发送端和报文接收端的源地址(N_SA)、目标 地址(N_TA)、报文通信模式(N_TAtype)和可选扩展地址(N_AE)。 8.3.2.2 N_SA:网络源地址 类型:8位。 范围:0016~FF16。 描述:N_SA参数应用于对发送端网络层协议实体进行编码。 8.3.2.3 N_TA:网络目标地址 类型:8位。 范围:0016~FF16。 描述:N_TA参数应用于对一个或多个(取决于N_TAtype:物理或功能)接收端网络层协议实体进行编码。 8.3.2.4 N_TAtype:网络目标地址类型 类型:枚举。 范围:见表4。 描述:N_TAtype参数是对N_TA参数的扩展,N_TAtype参数应用于编码网络层的通信对等实体使用的通信模式(图2)应满足以下要求: ---网络层协议应当具备对没有映射到相同N_AI参数的不同报文执行并行传输的能力; ---非预期的PDU错误处理只适用于拥有相同N_AI的报文: ● CLASSICALCAN帧不会造成CANFD报文的终止,反之亦然; ● 明确避免单个报文中CANFD和CLASSICALCAN帧类型的混淆。 8.3.2.5 N_AE:网络扩展地址 类型:8位。 范围:0016~FF16。 描述:N_AE参数用于扩展大型网络上的现行地址范围,对发生通信的非本地网络中的发送端与接 收端的网络层实体进行编码。如果将 Mtype设置为远程诊断,则N_AE仅作为寻址信息的一部分。 8.3.3 < Length > 8.3.3.1 类型:32位。 8.3.3.2 范围:0000000116~FFFFFFFF16。 8.3.3.3 描述:该参数包含要发送/接收数据的长度。 8.3.4 < MessageData > 8.3.4.1 类型:字节串。 8.3.4.2 范围:不适用。 8.3.4.3 描述:该参数包含上层实体交换的所有数据。 8.3.5 < Parameter > 类型:枚举。 范围:STmin,BS。 描述:该参数用于标识网络层的一个参数。 8.3.6 < Parameter_Value > 8.3.6.1 类型:8位。 8.3.6.2 范围:0016~FF16。 8.3.6.3 描述:该参数由9.6.5.3和9.6.5.4中指示的协议参数< Parameter >赋值。 8.3.7 < N_Result > 8.3.7.1 类型:枚举。 8.3.7.2 范围: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。 8.3.7.3 描述:该参数包含服务执行结果的状态。如果同时发现两个或更多错误,网络层实体应使用最 先匹配的列表参数值向上层指出错误: ---N_OK:该值表示服务成功执行,可将该值同时发送给发送端和接收端的服务用户; ---N_TIMEOUT_A:在N_Ar/N_As计时器超过超时值N_Asmax/N_Armax时,该值被发送给协议用户;可将该值同时发送给发送端和接收端的服务用户; ---N_TIMEOUT_Bs:在N_Bs计时器超过超时值N_Bsmax时,该值被发送给服务用户;仅可将该值发送给发送端的服务用户; ---N_TIMEOUT_Cr:在N_Cr计时器超过超时值N_Crmax时,该值被发送给服务用户;仅可将该值发送给接收端的服务用户; ---N_WRONG_SN:在收到非预期的序列号(PCI.SN)值时,该值被发送给服务用户;仅可将该值发送给接收端的服务用户; ---N_INVALID_FS:在接收到流控帧(FC)N_PDU中无效的或未知的流状态值时,该值被发送给服务用户;仅可将该值发送给发送端的服务用户; ---N_UNEXP_PDU:在接收到非预期的协议数据单元时,该值被发送给服务用户;仅可将该值发送给接收端的服务用户; ---N_WFT_OVRN:当接收端已传输N_WFTmax个“流状态=等待”的流控帧N_PDU时,并且在此之后无法满足传输“流状态=继续发送”的流控帧N_PDU的性能要求时,该值会被发送给服务用户。仅可将该值发送给接收端的服务用户; ---N_BUFFER_OVFLW:在接收到“流状态=溢出”的流控帧(FC)N_PDU时,该值被发送给服务用户。该值指出分段报文传输接收端的缓冲区无法存储首帧中的首帧数据长度(FF_DL)参数规定的字节数,因而放弃了分段报文传输。仅可将该值发送给发送端的服务用户; ---N_ERROR:一个通用错误值,在网络层检测到错误并且无其他参数值可用于更好地描述该错误时,该值应发送给服务用户,可将该值发送给发送端和接收端的服务用户。 8.3.8 < Result_ChangeParameter > 8.3.8.1 类型:枚举。 8.3.8.2 范围:N_OK、N_RX_ON、N_WRONG_PARAMETER、N_WRONG_VALUE。 8.3.8.3 描述:该参数包含服务执行结果的状态: ---N_OK:该值表示服务成功执行,可将该值发送给发送端和接收端的服务用户; ---N_RX_ON:该值发送给服务用户,用于指示接收到由< N_AI >标识的报文而未执行的服务,仅可将该值发送给接收端的服务用户; ---N_WRONG_PARAMETER:该值发送给服务用户,用于指示由于存在未定义的< Parameter >而未执行的服务,可将该值发送给接收端和发送端的服务用户; ---N_WRONG_VALUE:该值发送给服务用户,用于指示由于存在超出范围的< Parameter_Value >而未执行的服务,可将该值发送给接收端和发送端的服务用户。 9 传输层协议 9.1 协议功能 传输层协议具有以下功能: ---最多可传输/接收4294967295(232-1)数据字节报文; ---报告传输/接收完成(或失败)。 9.2 单帧传输 9.2.1 TX_DL=8的单帧传输 9.2.1.1 通过唯一的N_PDU(见9.4.2)即SF,传输6个(TX_DL-2,扩展或混合寻址)或7个(TX_DL- 1,常规寻址)数据字节,见图7所示。 9.2.1.2 通过唯一的N_PDU接收最多6个或7个数据字节。 9.2.2 TX_DL >8的单帧传输 9.2.2.1 通过唯一的N_PDU(见9.4.2)即SF,最多传输TX_DL-3(扩展或混合寻址)或TX_DL-2个 (常规寻址)数据字节。 9.2.2.2 通过唯一的N_PDU接收最多TX_DL–3或TX_DL–2个数据字节。 9.3 多帧传输 9.3.1 如需传输较长报文,需要先将其分段再传输多个N_PDU。如需接收较长报文,先接收多个N_ PDU,再重组接收的数据字节。多个N_PDU包括首帧(报文的第一个N_PDU)及连续帧(所有后续N_ PDUs)。 9.3.2 多个N_PDU报文的接收端采用流控制协议数据单元(FCN_PDU),通过流控机制使传输吞吐 量适合自身容量。 9.3.3 TX_DL传输超过所允许最大SF_DL的报文,将被分段: ---一个首帧协议数据单元(FFN_PDU)包含第一组数据字节; ---一个或多个连续帧协议数据单元(CFN_PDU),每个包含一系列连续的数据字节最后一个(或仅一个)CFN_PDU包含最后一组数据字节。 9.3.4 报文长度在FFN_PDU中传输所有的CFN_PDU都被发送端编号以帮助接收端用相同的顺序进行重新组合。 9.3.5 流控机制(图8)允许接收端将其能力通知发送端,发送端应遵循这个能力。 9.3.6 这些能力的定义如下: ---BlockSize(BS):在等待授权继续发送下一个N_PDU之前,接收端允许发送端发送N_PDU的最大个数。当接收端将BS设置为0的时候,发送端不需要等待对继续发送的授权; ---最短间隔时间(STmin):传输两个CFN_PDU期间,发送端最短等待时间。 9.3.7 由每个接收到的流控帧提供BS和STmin值,对于分段报文的接收端有两种不同的方法来接收这些值: ---动态:报文后续PDU的通信,BS和STmin被更新; ---静态:报文的通信,使用不变的BS和STmin值。 9.3.8 车辆诊断可能执行的决策和需求,见9.6.5.6。 9.3.9 所有区块均由BS个N_PDU构成,最后一个除外。最后一个区块将包含剩余的N_PDU(从1到BS)。 9.3.10 在发送端/接收端等待接收端/发送端发出的N_PDU时,超时机制可检测出传输失效(见9.8.2)。 9.3.11 当传输字节数超出接收端缓冲区存储能力时,接收端能通过FCN_PDU授权后续CFN_PDU 传输,以延迟此项传输授权或拒绝接收分段报文: a) FC.CTS:继续发送,继续授权; b) FC.WAIT:继续等待; c) FC.OVFLW:缓冲区溢出,指示分段报文首帧规定字节数大于接收端实体所能储存字节数。 9.3.12 接收端允许连续发送的FC.WAIT数量上限为N_WFTmax,该参数为系统设计常数,不在FC N_PDU中传输。 9.3.13 图8展示了发送端的分段和接收段的重组。 9.4 传输层协议数据单元 9.4.1 协议数据单元类型 9.4.1.1 通过交换N_PDU,实现不同节点网络层对等实体间通信。 9.4.1.2 本部分规定了4种不同类型传输层协议数据单元,即单帧(SFN_PDU)、首帧(FFN_PDU)、 连续帧(CFN_PDU)和流控帧(FCN_PDU),这些数据单元均用于网络层对等实体间建立通信路径,以 交换通信参数、传输用户数据及释放通信资源。 9.4.2 SFN_PDU 根据单帧协议控制信息(SFN_PCI)确定SFN_PDU。SFN_PDU应通过网络发送实体发出,并由 一个或多个网络接收实体接收。通过发送SFN_PDU传输服务数据单元(经单个服务请求传输至数据 链路层)和未分段报文。 9.4.3 FFN_PDU 根据首帧协议控制信息(FFN_PCI)确定FFN_PDU。分段报文传输期间,FFN_PDU通过网络发送实体发出,并由唯一网络接收实体接收。FFN_PDU能确定由网络发送实体传输的首个N_PDU。 收到FFN_PDU后,网络层接收实体应开始重组分段报文。 9.4.4 CFN_PDU 根据连续帧协议控制消息(CFN_PCI)确定CFN_PDU。CFN_PDU传输各部分服务数据单元报 文数据。发送实体应将FFN_PDU 之后传输编码为CFN_PDU 的所有 N_PDU。接收最后一个 CFN_PDU后,接收实体应将重组报文传送至网络接收实体服务用户。分段报文传输期间,CFN_ PDU应通过网络发送实体发出,并由唯一网络接收实体接收。 9.4.5 FCN_PDU 9.4.5.1 根据流控制协议控制信息(FCN_PCI)确定FCN_PDU。FCN_PDU要求网络发送实体启 动、停止或继续传输CFN_PDU。正确接收以下a)或b)消息并准备接收更多数据时,网络层接收实体 应将FCN_PDU 发送至网络层发送实体。 a) 一个FFN_PDU,或 b) 连续帧块的最后一个CFN_PDU,如需继续发送连续帧。 9.4.5.2 如果发送实体传输的FFN_PDU长度(FF_DL)超出接收实体缓冲区大小,FCN_PDU也可以在分段报文传输期间指示网络发送实体暂停传输CFN_PDU,或终止传输分段报文。 9.4.6 协议数据单元字段描述 9.4.6.1 N_PDU格式 协议数据单元(N_PDU)能在一个节点网络层和一个或多个其他节点(对等协议实体)网络层间进 行数据传输。所有N_PDU均由三个字段构成,见表5。 表5 N_PDU格式 地址信息 协议控制信息 数据场 N_AI N_PCI N_Data 9.4.6.2 地址信息(N_AI) N_AI用于标识网络层通信对等实体。将N_SDU(N_SA、N_TA和N_TAtype[和N_AE])接收到 的N_AI信息复制到N_PDU。若N_SDU接收到的报文数据(< MessageData >和< Length >)需要网 络层进行分段才能传输完整报文,N_AI应当被复制到各N_PDU中传输。 本字段包括地址信息,该地址信息标识了报文交换的类型以及发生数据交换的接收端和发送端。 注:地址信息的详细描述,见8.3.2。 9.4.6.3 协议控制信息(N_PCI) 本字段用于确定交换N_PDU的类型,也用于交换网络层通信实体间的其他控制参数。 注:N_PCI所有参数的详细说明,参见9.6。 9.4.6.4 数据场(N_Data) N_PDU中N_Data用于传输N_USData.request服务调用< MessageData >参数中所接收到的服务用户数据。如有必要,进行网络传输前将< MessageData >分为更小部分,使其适应N_PDU数据场。 N_Data大小取决于N_PDU类型、所选寻址方式以及TX_DL的值。 9.5 发送数据链路层数据长度(TX_DL)配置 9.5.1 TX_DL配置值的定义 9.5.1.1 发送数据链路层数据长度(TX_DL)对数据链路层最大可用有效载荷长度进行配置,以用于本部分定义的网络层应用。TX_DL的值被定义为以字节为单位的真实有效载荷长度,为N_PCI类型(见9.6定义)长度的定义提供简单的计算与合理性检查。TX_DL有效值取决于DLC从8~15的有效长度(见ISO 11898-1:2015的DLC表)。 9.5.1.2 TX_DL=8时,本部分中描述的协议与基于ISO 11898-1:2015(有8字节的有效载荷的CAN)的版本相同。表6描述了有效传输数据链路层数据长度(TX_DL)值。 9.5.2 基于N_TAtype和TX_DL创建CAN帧 CAN帧是基于N_AI(见8.3.2)、给定N_AI配置的寻址方式(见10.3.1)、配置的TX_DL值以及传输报文的大小生成的。 9.5.3 验证接收到的CAN帧的正确性 9.5.3.1 由于接收端对发送节点的 TX_DL配置未知,所以接收节点应实时适应发送端的 TX_DL设置。 9.5.3.2 本地配置的N_TAtype允许检查接收到的CAN帧类型(CLASSICALCAN/CANFD)并且通常会忽略错误N_TAtype的帧。如果N_TAtype正确,不同N_PCItype的值将被检查并且可以假设推断RX_DL(发送端TX_DL)。 9.5.3.3 接收CAN帧进行处理的完整状态流程图见图9所示。 说明: 1---除了最后一个(或仅一个)CF外,对于所有CF,如果值与RX_DL匹配,CAN_DL应正确。如果CAN_DL比RX_DL少且满足9.6.4.2中分段要求,则最后一个(或仅一个)CF应通过这个检查。PDU接收过程中首帧的RX_DL是固定的。 9.5.4 接收端RX_DL的确定 9.5.4.1 RX_DL由接收到FFN_PDU中的以字节为单位的有效载荷长度(CAN_DL)确定: ---在CAN_DL值小于8字节时,RX_DL值是无效的(有效FF的CAN_DL值应大于或等于8); ---在CAN_DL值等于8字节时,RX_DL的值应为8; ---在CAN_DL值大于8字节时,RX_DL的值等于CAN_DL的值。 9.5.4.2 表7定义了接收到的CAN_DL向RX_DL映射的表。 9.6 协议控制信息规范 9.6.1 N_PCI 9.6.1.1 每个N_PDU都是由N_PCI标识的见表8、表9。表8定义了N_PCItype位的值。 对于CAN_DL≤8的未分段报文,报文长度由PCI第一个字节的低4位决定。对于CAN_DL >8的未分段的报文。在PCI第一个字节的低位被设置成00002 时,应使用单帧转码序列并且报文长度由PCI第二个字节决定。单帧(SF)是用来支持符合单个CAN帧传输的报文第一帧(FF)只能用于传输不适用于单个CAN帧传输的报文(即分段报文)。收到FF后,网络层接收实体应开始重组分段报文: ---对于报文长度小于或等于4095的分段报文,PCI第一个字节的低4位和PCI第二个字节包含了报文长度; ---对于报文长度大于4095的分段报文,PCI第一个字节的低位被设置成00002 并且PCI第二个字节被设置为0时,应使用首帧转码序列并且报文长度被包含在接下来的4字节(第三个字节至第六个字节,高字节优先)中发送分段数据时,将FF以后所有连续的帧编码为连续帧(CF)。收到连续帧后,网络层接收实体应重组接收到的数据字节,直到所有报文接收完毕。 10 数据链路层的使用 10.1 数据链路层服务参数 ISO 11898-1:2015定义的以下数据链路层服务参数: ---< Data >:CAN帧数据; ---< DLC >:数据长度代码; ---< Identifier >:CAN标识符; ---< Transfe......
英文版: GB/T 39851.2-2021  
相关标准:GB/T 39851.3-2021  GB/T 33014.11-2023  
英文版PDF现货: GB/T 39851.2-2021  GB/T 39851.2-2021