Hello!大家好!
本篇是AP AUTOSAR平台设计(8)——诊断
AP和CP相关资料获取和工具咨询、更多精彩内容欢迎订阅微信公众号“搞一下汽车电子”
整理不易,如果觉得不错,点赞分享支持一下吧~
微信:shactiontech
诊断管理(DM)实现基于ISO 14229-1(UDS)和ISO 13400-2(DoIP)的ISO 14229-5(UDSonIP)。
诊断管理代表Foundation层上Adaptive Platform的功能集群。
注意:在R1903版本中,诊断管理位于Service层上。
该配置基于经典平台的AUTOSAR诊断提取模板(DEXT)。DEXT开始进入市场,已经被多家OEM和供应商使用并提供支持。
支持的传输层是DoIP。DoIP是一种车辆发现协议,旨在与诊断基础架构(诊断Client,生产/车间测试仪)进行车外通信。车载或远程诊断通常使用其他传输协议,因此提供了使用自定义传输层扩展平台的API。
UDS通常在车辆生产中和车间内使用,以便能够维修车辆。在当前(针对HDV)和即将颁布(针对LDV)的法规中,UDS也用于OBD(与排放有关的诊断)。
软件集群
原子可更新/可扩展部分由SoftwareClusters(SWCL)管理。SoftwareCluster包含与安装更新或部署特定的一组新功能/应用程序有关的所有部分。因此,对于每个已安装的具有自己的DiagnosticAddress的SoftwareCluster,Adaptive Diagnostics Manager都支持一个自己的诊断Server实例。
注意:此SoftwareCluster也与UCM软件包结合在一起,以便可以对SoftwareCluster进行更新或将其新引入到Machine中。
诊断通信子集群可实现诊断服务器(如Classic Platform的DCM)。当前,受支持的服务有限,但是在以后的版本中将扩展对其他UDS服务的支持。
除ISO 14229-1的伪并行Client处理外,诊断管理器(DM)进行了扩展,以支持在不同诊断Client的默认会话中进行完全并行处理。这可以满足现代车辆体系结构的需求,包括用于数据收集,从后端访问以及最终一些经典的车间和生产用例的多个诊断Client(测试器)。如果在默认会话中实现了SOTA(无线软件)序列,则可以进行并行Client处理。
自适应应用中的诊断(AA)
DM将诊断请求(如例行控制或DID服务)作为诊断Server调度到相应AA的映射提供端口。为了实现这一点,AA需要提供专门的DiagnosticPortInterface。
类型化接口与通用接口
DiagnosticPortInterfaces有不同的抽象级别:
①RoutineControl消息可以作为
o 类型化的接口
API签名包括所有请求和响应消息参数及其原始类型。DM负责序列化。此API特定于特定的RoutineControl消息。
o 通用接口
API签名仅包含用于请求和响应消息的字节向量。该应用程序负责请求和响应消息的序列化。同一API可用于多个RoutineControl消息。
②DataIdentifier消息可作为
o 类型化的接口
API签名包括所有请求(用于写入)和响应消息(用于读取)参数及其原始类型。DM负责序列化。
o 通用接口
API签名仅包含用于请求和响应消息的字节向量。该应用程序负责请求和响应消息的序列化。
o 单个数据元素
每个请求和响应消息参数都有其自己的接口。这是最高的抽象级别,即请求和响应消息结构的任何更改都不会影响API。此外,同一诊断消息的参数可能处于不同的过程中。
诊断对话
如上所述,由于DM需要伪并行处理,因此它支持诊断对话以反映诊断客户端和诊断服务器之间的独特对话。诊断服务器由根据UDS请求的目标地址标识,并在运行时在Adaptive Platform中动态分配。
事件内存子集群负责DiagnosticTroubleCode(DTC)管理(如Classic Platform的DEM)。
激活的故障诊断代码表示车辆中肯定已发现的问题(对于生产或车间而言通常很重要)。DM管理DTC及其存储的SnapshotRecords(在DTC发生时的一组已配置的环境数据)和/或ExtendedDataRecords(属于DTC的统计数据,如重复发生的次数)的存储。该检测逻辑称为诊断监视器。这样的监视器将其最近的测试结果报告给DM中的DiagnosticEvent。UDS DTC状态来自一个或多个DiagnosticEvent。
DTC可以分配给PrimaryMemory(可通过19 02/04/06访问)或可配置的UserMemories(可通过0x19 17/18/19访问)。支持计数器和时基反跳。此外,DM还提供有关内部转换的通知:通知有关方有关DTC状态字节的更改,需要监视DiagnosticEvents的重新初始化以及是否更改了Snapshot-或ExtendedDataRecord的信息。如果DTC在配置的操作周期数内未激活,则DTC可能会从DTC内存中消失。
DM支持对存储和启用条件的通用处理。启用条件可用于在特殊条件下控制DTC的更新,例如在欠压条件下禁用所有与网络相关的DTC。