前面我们已经介绍了DoIP信息头部处理逻辑和路由激活处理,那根据DoIP报文的顺序,在路由激活处理完成后,接下来我们就需要发送真正的DoIP诊断信息了,那今天我们就来介绍下DoIP诊断消息的处理逻辑。
诊断消息处理逻辑
DoIP诊断报文结构:
上面表格对于DoIP诊断报文的描述还是相当的清晰,前面的软件版本、软件版本取反、负载类型、负载长度在前面我们都已经介绍过,这里不再做介绍,唯一一点需要注意的是,DoIP诊断消息的负载类型是0x8001,这个不能搞错了。对照CAN诊断信息来看,源地址和目标地址实际对应CAN诊断消息的诊断ID,不过由于车载以太网的网路结构模型,这里更加清晰,将发出消息的源地址和接收消息的目的地址都给出了,这样发送消息方和接收消息方都很明确,并且处理的数据量也会更小,给总线更多的 带宽做其他的事情;然后同byte12开始就是ISO 14229的内容了,这里包含了诊断服务以及诊断参数,这里如果大家想要了解可以去看我之前写的诊断篇的内容,这里不做过多的介绍。
上面就是一帧完整的DoIP诊断报文,里面既包含了ISO 13400的内容也包含了ISO 14229的诊断服务内容,并且也有各个公司定制的各类型诊断ID、IOID、RID等信息。简单来说的