UDS协议中会涉及到一些专业术语,服务ID(Service ID(SID))、诊断请求(Diagnostic Request)、正响应/负响应(Positive/Negative Response)、负响应码(Negative Response Code - NRC)。 UDS中常用的缩写 UDS —— Unified Diagnostic Service(统一诊断服务) ECU —— Electronic Control Unit(电子控制单元) SF —— Sing...
NRC Code 绝大多数情况下,Server针对Client的请求都会给到正响应,比如发生重启前需确保整车处于安全状态,如引擎熄火,车速不能超过3km/h等,或者为了防止不按照诊断请求格式进行请求,那么Server需要通过某种方式来告诉Client执行不成功的原因在哪里以便于调查问题直至得到正响应。 因此ISO14229-1针对所有的诊断服务提供了一...
即使当ECU中的数据地址发生变化时,改变DID和地址单元的映射关系即可,对于使用者来说DID屏蔽了具体实现细节,而将重点放在了数据本身。 NegativeResponseCode 可以简称为NRC,或者叫负响应码,是一个字节的无符号整数。它是诊断协议为每种执行失败的诊断服务分配的失败原因代号。 Sub-function 有些诊断服务可以支持不同的诊...
This page lists UDS NRC codes for various UDS SID responses.NRC stands for Negative Response Codes.
[UDS] --- UDS服务应该支持的NRC 简介:[UDS] --- UDS服务应该支持的NRC USD诊断服务的否定响应中包含有导致否定响应原因的编码,称为否定响应码(NRC, Negative Response Code)。否定响应码的取值范围为0x00 - 0xFF,被分为三组: 0x00:服务器内部实现否定响应码判断逻辑时使用,表示要给出肯定响应。0x01 – ...
通过UDS协议,诊断工具可以向ECU发送请求消息,ECU则根据请求执行相应的操作并返回响应消息。本文将详细解析UDS协议中的服务ID(Service ID,简称SID)、诊断请求以及否定响应码(Negative Response Code,简称NRC)的回复机制。 一、服务ID(SID) 在UDS协议中,服务ID(SID)是区分不同诊断服务的唯一标识符。每个服务都有一个...
NRC全称为Negetive Responce Code,每个NRC具有唯一的含义来代表当前诊断请求错误的原因所在。当然每个诊断服务支持的NRC不尽相同,具体支持的NRC需要参考ISO14229-1标准文档,对于31服务而言支持的NRC如下图所示: NRC12:请求的SID不在服务支持的范围内时,会发送该NRC ...
NRC:Negative Response Code(否定响应码)。如果ECU拒绝了一个请求,做出否定响应(Negative Response),它会在第三字节回复一个NRC。不同的NRC有不同的含义。本文开头时有一个常见NRC的图,当然完整版请参照ISO14229附录A。 这里提一下一个特殊的NRC——0x78,requestCorrectlyReceived-ResponsePending(RCRRP,请求已被正确...
这个负响应消息同样会以“0x10”作为SID开头,表明这是对“诊断会话控制服务”请求的回应,紧接着的是负响应码(NRC),比如“0x12”(表示会话已被另一工具控制),来具体说明服务未能执行的原因。 3.负响应码(Negative Response Code - NRC) 在UDS(统一诊断服务)协议框架下,当服务请求未能成功执行时,会通过一个称...
深入解析UDS NRC优先级 NRC,即UDS否定相应码Negative response code,用于描述在特定条件不满足时,系统应提供的响应信息。NRC优先级涉及多个条件不满足时,系统应优先回复哪种NRC的问题。此为本文核心探讨内容。根据UDS协议,提供了一般推荐的NRC优先级原则。此外,针对特定服务,USD协议在服务格式定义后,...