UDS 诊断服务系列文章目录
诊断和通信管理功能单元
UDS 诊断 - DiagnosticSessionControl(诊断会话控制)(0x10)服务
UDS 诊断 - ECUReset(ECU重置)(0x11)服务
UDS 诊断 - SecurityAccess(安全访问)(0x27)服务
UDS 诊断 - CommunicationControl(通信控制)(0x28)服务
UDS 诊断 - TesterPresent(测试仪保活)(0x3E)服务
UDS 诊断 - AccessTimingParameter(访问计时参数)(0x83)服务
UDS 诊断 - SecuredDataTransmission(受保护的数据传输)(0x84)服务
UDS 诊断 - ControlDTCSetting(控制DTC设置)(0x85)服务
UDS 诊断 - ResponseOnEvent(基于事件响应)(0x86)服务
UDS 诊断 - LinkControl(链路控制)(0x87)服务
数据传输功能单元
UDS 诊断 - ReadDataByIdentifier(按标识符读取数据)(0x22)服务
UDS 诊断 - ReadMemoryByAddress(按地址读取内存)(0x23)服务
UDS 诊断 - ReadScalingDataByIdentifier(按标识符读取换算数据)(0x24)服务
UDS 诊断 - ReadDataByPeriodicIdentifier(按周期性标识符读取数据)(0x2A)服务
UDS 诊断 - DynamicallyDefineDataIdentifier(动态定义数据标识符)(0x2C)服务
UDS 诊断 - WriteDataByIdentifier(按标识符写数据)(0x2E)服务
UDS 诊断 - WriteMemoryByAddress(按地址写内存)(0x3D)服务
存储数据传输功能单元
UDS 诊断 - ClearDiagnosticInformation(清除诊断信息)(0x14)服务
UDS 诊断 - ReadDTCInformation(读取 DTC 信息)(0x19)服务(1) - 服务说明
UDS 诊断 - ReadDTCInformation(读取 DTC 信息)(0x19)服务(2) - 请求消息
UDS 诊断 - ReadDTCInformation(读取 DTC 信息)(0x19)服务(3) - 响应消息
UDS 诊断 - ReadDTCInformation(读取 DTC 信息)(0x19)服务(4) - 示例
输入输出控制功能单元
UDS 诊断 - InputOutputControlByIdentifier(按标识符的输入输出控制)(0x2F)服务
例程功能单元
UDS 诊断 - RoutineControl(例程控制)(0x31)服务
上传下载功能单元
UDS 诊断 - RequestDownload(请求下载)(0x34)服务
UDS 诊断 - RequestUpload(请求上传)(0x35)服务
UDS 诊断 - TransferData(传输数据)(0x36)服务
UDS 诊断 - RequestTransferExit(请求传输终止)(0x37)服务
UDS 诊断 - RequestFileTransfer(请求文件传输)(0x38)服务
文章目录
一、服务说明
0x2A 服务允许客户端请求对服务器中通过一个或多个 periodicDataIdentifiers(周期性数据标识符)所识别的数据记录值进行周期性传输。
客户端请求消息包含一个或多个识别服务器所维护的数据记录的单字节 periodicDataIdentifier(周期性数据标识符)值。periodicDataIdentifier(周期性数据标识符)表示为此服务所保留的 DID 范围之外的数据标识符的低字节(0xF2XX)。
例如,此服务中所使用的 periodicDataIdentifier(周期性数据标识符)0xE3 为 DID 0xF2E3。
dataRecord(数据记录)的格式和定义应由车辆制造商规定,并且可包含模拟输入和输出信号、数字输入和输出信号、内部数据,以及系统状态信息(若服务器支持)。
接收到 0x2A 的请求而非 stopSending(停止发送)后,服务器应检查是否满足执行服务的适当条件。
给定时间内应仅支持单一 transmissionMode(传输模式)的 periodicDataIdentifier(周期性数据标识符)。应在接收到请求消息之后更改 periodicDataIdentifier(周期性数据标识符)的调度,并按照相同 periodicDataIdentifier(周期性数据标识符)的新调度安排设置 transmissionMode 参数。若车辆制造商要求,则应支持不同 periodicDataIdentifier(周期性数据标识符)的多个调度安排。
若满足适当的条件,则服务器应传输仅包括服务器标识符的肯定响应消息。一旦通过肯定响应接受了初始请求消息,服务器就不得传输否定响应消息。
接受初始肯定响应消息后,服务器应访问 periodicDataIdentifier(周期性数据标识符)参数所指定的记录的数据元素,并就包含管理 dataRecord 参数的每个 periodicDataIdentifier(周期性数据标识符)在单独的周期性数据响应消息中传输这些数据元素的值。
接受初始肯定响应消息后,为了向客户端传输 periodicDataIdentifier(周期性数据标识符)数据二定义的单独周期性数据响应消息应包括 periodicDataIdentifier(周期性数据标识符)及其数据,但不包括肯定相应服务标识符。
特定 transmissionMode 的已编档周期性速率被定义为具有相同 periodicDataIdentifier(周期性数据标识符)的任意两次连续响应消息的间隔时间,再次时间内,仅调度单一 periodicDataIdentifier(周期性数据标识符)。若同事调度多个 periodicDataIdentifier(周期性数据标识符),则相同 periodicDataIdentifier(周期性数据标识符)的有效期将随一下设计参数二变化:
- 周期性调度器的调用率;
- 按照调度器调用所分配的可用协议特定周期性数据响应消息地址信息标识符(例如,CAN 的 CAN 标识符)的数目;
- 可以并行定义待同事传输的 periodicDataIdentifier(周期性数据标识符)的数目。
若同事传输多个 periodicDataIdentifier(周期性数据标识符),则这些参数值将影响相同 periodicDataIdentifier(周期性数据标识符)的有效期的增加范围。因此,前文提及的所有设计参数应均由车辆制造商指定。每次调用周期性调度器时,应确定所有 periodicDataIdentifier(周期性数据标识符)是否准备好传输。
注 周期性速率是周期性调度器调用率的整数倍数。
例如,两个独特的 ECU 实现过程可支持周期性速率为 10ms 的快速 transmissionMode 和单个具有唯一性的周期性数据响应消息的地址信息标识符。若第一个实现过程每 10ms 调用周期性调度器,则相同 periodicDataIdentifier(周期性数据标识符)的间隔时间将可能增至 20ms(调度两个 periodicDataIdentifier(周期性数据标识符)的情况下)和 40ms (调度四个 periodicDataIdentifier(周期性数据标识符)的情况下)。若第二个实现过程每 5ms 调用周期性调度器,则相同 periodicDataIdentifier(周期