前言:本篇是作者自己对于常用UDS协议中NRC的总结(更详细就需要大家看协议了,中文版可以找我要)

NRC码:否定响应码。NRC主要是用于协议中负响应的错误码,是我们判断服务时重要的判据。

大致分为三个范围:

0x00:"PR",服务器内部实现的 positiveResponse 参数值;

0x01 ~ 0x7F:与通信相关的否定响应代码;

0x80 ~ 0xFF:针对特定条件的否定响应代码,这些特定条件在服务器接收到请求的时间点不正确。

在作者自己的认知里面,常用的就是ISO14229协议有着正负响应码,然后对于正响应就是服务相关的,负响应码就是用的NRC。

加粗是常用

下面是我们介绍NRC的内容(根据ISO14229协议进行概括):

HEX  Name Description 备注
01 ISOSAEReserved 作者认为此部分是基本没用到保留的,PR是用于定义进入NRC判断
...
0F
10 GeneralReject 无法准确描述错误时报出 很少用
11 ServiceNotSupported 服务不支持 常用
12 Sub-functionNotSupported 子功能不支持 常用
13 NcorrectMessageLengthOrInvalidFormat 报文长度不对 常用
14 responseTooLong 响应时间太长
15-20 ISOSAEReserved 保留
21 BusyRepeatRequest 繁忙请求,一般是请求过快多帧发送
22 ConditionsNotCorrect 条件不满足 这里多为供应商自己定义的。除非主机厂自己规定了条件
23 ISOSAEReserved 保留
24 RequestSequenceError 请求顺序错误。请求有多个子功能的时候顺序限制 这里一般在31,27服务运用较多。27多指没有请求种子就接受秘钥
25 NoResponseFromSubnetComponent 子网无回应
26 FailurePreventsExecutionOfRequestedAction 执行请求操作被拒绝 基本不用
27-30 ISOSAEReserved 保留
31 RequestOutOfRange 请求超出范围 常用
32 ISOSAEReserved 保留
33 SecurityAccessDenied 安全访问模式出错 多用于限制服务的安全等级
34 ISOSAEReserved 保留
35 InvalidKey 秘钥无效 多指27服务秘钥和请求种子不对应
36 ExceededNumberOfAttempts 收到的invalidKey超过了允许的尝试次数 各大主机厂要求不一样
37 RequiredTimeDelayNotExpired NRC36之后,安全访问锁定的时间内再次请求任意种子 一般用于查看上锁次数的
38-4F ReservedByExtendedDataLinkSecurityDocument 扩展数据链路层保留
50-6F ISOSAEReserved 保留
70 UploadDownloadNotAccepted 上传/下载受限。多出现在通过诊断刷写程序 Boot
71 TransferDataSuspended 数据传输中断。多出现在通过诊断刷写程序 Boot
72 GeneralProgrammingFailure 编程失败。多出现在通过诊断刷写程序 Boot
73 WrongBlockSequenceCounter 场序计算错误,多出现在诊断刷写程序 Boot
74-77 ISOSAEReserved 保留
78 RequestCorrectlyReceived-ResponsePending 请求正常接收,但应答正在响应中 这个主要用于响应时间长的服务,但有些主机厂的设备不支持78
79-7D ISOSAEReserved 保留
7E Sub-functionNotSupportedInActiveSession 子功能在当前会话不支持 常用
7F ServiceNotSupportedInActiveSession 服务在当前会话不支持 常用
80 ISOSAEReserved 保留
81 RpmTooHigh 编程地址过高 发动机转速低于某一限值
82 RpmToolow 编程地址过低 发动机转速高于某一限值
83 EngineIsRunning 发动机运转 发动机处于运转状态
84 EngineIsNotRunning 发动机不运转 发动机处于不运转状态
85 EngineRunTimeTooLow 发动机运行时间过短
86 TemperatureTooHigh 温度过高
87 TemperatureTooLow 温度过低
88 vehicleSpeedTooHigh 车速太快
89 vehicleSpeedToolow 车速太慢
8A Throttle/PedalTooHigh 油门刹车踏板太高
8B Throttle/PedalTooLow 油门刹车踏板太低
8C TransmissionRangeNotInNeutral 非空档
8D TransmissionRangeNotInGear 非指定档
8E ISOSAEReserved 保留
8F BrakeSwitch(es)NotClosed 踏板开关未关闭 一般指没踩下
90 ShifterLeverNotInPark 车辆处于非P空挡
91 TorqueConverterClutchLocked 液力变矩器未处于锁止状态
92 VoltageTooHigh 电压过高
93 VoltageTooLow 电压过低
94-EF ReservedForSpecificConditionsNotCorrect 特殊异常条件预留
F0-FE VehicleManufacturerSpecificConditionsNotCorrect 一般是汽车制造商的需求预留
FF ISOSAEReserved 保留

Logo

有“AI”的1024 = 2048,欢迎大家加入2048 AI社区

更多推荐