支持检查诊断服务标识符并调整诊断消息
如果识别出新的诊断消息,DSL子模块应触发DSD子模块。DSD子模块将通过分析接收到的诊断消息中包含的诊断服务标识符进行相应的处理。
suppressPosRspMsgIndicationBit
如果“suppressPosRspMsgIndicationBit”为真,DSD子模块不得发送正响应消息。只有在服务具有子功能时才可用。
验证功能
在执行接收到的诊断服务之前,DSD会执行一组验证。只有当所有验证都成功通过,DSD才会接受服务。验证项包括:
● 验证制造商许可
● 验证SID
● 验证当前认证状态下的服务访问控制
● 诊断会话的验证
● 验证服务安全访问级别
● 验证供应商许可
● 验证服务ID的模式规则
检查格式和子功能支持:
在执行所请求的命令之前,DSD子模块会检查是否支持特定的子函数。如果未配置子服务,则DSD应发送负响应NRC:0x12(子功能不支持)。DSD子模块将在执行所请求的命令之前会检查最小消息长度。
将诊断信息分配到DSP子模块
DSD子模块收集DSP子模块新接收的诊断服务标识符的可执行功能,并调用相应的DSP服务解释器。
组装Positive/Negative Response:
当DSP子模块完成了所请求的诊断服务的执行时,DSD子模块应组装诊断响应报文。
启动传输
DSD子模块应将诊断响应信息转发给DSL子模块。