目录
- 关键词
- 平台说明
- 背景
- 一、请求格式
- 二、sub-function definition
- 三、响应格式
- 四、NRC
- 五、case
关键词
嵌入式、C语言、autosar、OS、BSW、UDS、diagnostic
平台说明
| 项目 | Value | 
|---|---|
| OS | autosar OS | 
| autosar厂商 | vector | 
| 芯片厂商 | 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 | 
背景
  RoutineControl (0x31) service作为最基础的诊断服务,主要用于让用户端去执行某个routine,说人话就是去执行某一个复杂或者简单的的操作,例如:bankswitch,内存操作相关,标定相关,某些自定义的过程控制,甚至可以用于打开车窗,遮阳帘等等。
   我们可以通过inputOutputControlByIdentifier 去控制这个routine 开始,停止,获取结果。
一、请求格式
  根据ISO 14229 -1 标准如下图所示:请求格式为:
 
 至少需要1个SID + SubFunction + RID Parameter

二、sub-function definition
  sub-function definition由1个byte组成,代表的意思请参考ISO_14229_1 Table 379 — Request message sub-function definition
 
三、响应格式
  正响应:
 
  即 0x71 + SubFunction + RID Parameter
   否定响应:
四、NRC

优先级如下:
 
例如当请求执行一个routine 的时候,,这个routine 应该在在 external session 下才能执行并且 Parameter 应该为两个字节,但只发出了一个字节的Parameter ,并且在default session 下,这个时候就首先报NRC 0x13,不报NRC 0x31 。
五、case
  用02 01 执行打开车灯的操作,parameter 01 为开,00为关。
 
  
   
 >>>>>>>>>>>>>>>>>>>>>>>>>回到总目录<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<
  
   



















