目录
- 关键词
- 平台说明
- 背景
- 一、请求格式
- 二、常用DID
- 三、响应格式
- 四、NRC
- 五、case
关键词
嵌入式、C语言、autosar、OS、BSW、UDS、diagnostic
平台说明
项目 | Value |
---|---|
OS | autosar OS |
autosar厂商 | vector , EB |
芯片厂商 | TI 英飞凌 |
编程语言 | C,C++ |
编译器 | HighTec (GCC) |
autosar版本 | 4.3.1 |
参考文档 | TechnicalReference_Dcm.pdf AUTOSAR_SRS_DiagnosticLogAndTrace.pdf AUTOSAR_SWS_DiagnosticCommunicationManager.pdf AUTOSAR_SWS_DiagnosticEventManager.pdf AUTOSAR_SWS_FunctionInhibitionManager.pdf- 【14229-1.2.3】,【15765-1.2.3.4】. 【11898】 |
>>>>>>>>>>>>>>>>>>>>>>>>>回到总目录<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<
缩写 | 描述 |
---|---|
DEM | Diagnostic Event Manager |
DET | Development Error Tracer |
DDM | Diagnostic Data Modifier |
DCM | Diagnostic Communication Manager |
LSB | least significant byte |
MSB | most significant byte |
背景
0x22服务作为最基础的诊断服务,主要用于读取ECU数据,如ECU版本号,标定结果,硬件状态等。
一、请求格式
根据ISO 14229 -1 标准如下图所示:请求格式为:
即 0x22 + DID
二、常用DID
DID由两个byte组成,代表的意思请参考ISO_14229_1 Table C.1 — DID data-parameter definitions
三、响应格式
正响应:
即 0x62 + DID +DATA
否定响应:
四、NRC
优先级如下:
例如当请求读取F190的DID值且当前车速条件不满足,此时Client发送诊断指令"22 F1 90"请求Server读取数据,Server将会回复“7F 22 22”b表示当前读取数据的条件不满足,请再次检查读取该DID的条件。
当发送报文长度或者格式不对时,则Server会回复"7F 22 13";
当请求的DID太多导致超出了传输层的限定时,则Server会回复”7F 22 14“;
当请求DID不存在或者在当前Session中不支持时,则Server就会回复“7F 22 31”;
当Server在发生复位前处于security lock状态,那么此时Server则会回复"7F 22 33";
五、case
用F1 90 读取VIN
>>>>>>>>>>>>>>>>>>>>>>>>>回到总目录<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<