当代电子/电气架构中的车辆诊断
如何在软件中高效地获取、定义和实现诊断数据

在典型的汽车开发流程中,诊断描述与软件实现往往各自为政。不同人员使用不同的编写工具。需要手动验证一致性,这不仅容易引发错误,还会拖慢进度。集成化的、基于模型的方法可以改变这种状况。我们将展示如何直接在车辆电子电气(E/E)系统中描述诊断功能,并将其与实现软件无缝关联。
在车辆诊断项目中,团队通常会将诊断规范与软件开发割裂开来。工程师在考虑生产线或维修车间所需的诊断功能之前,往往早已完成软件和E/E系统的大部分设计。职责分散在不同部门,工程师使用各自独立的工具,缺乏统一的数据库。团队只能通过电子邮件或会议进行非正式的信息交流,在缺乏标准化同步机制的情况下进行临时性修改。
为了打造面向未来的车辆,我们认为成功的诊断设计必须涵盖整个生命周期。生产和客户服务专家专注于测试仪的参数化配置,而系统开发人员则专注于车辆软件的内部设计。通常情况下,这些团队往往将对方的需求视为次要的。
然而,两者之间存在着不可否认的依赖关系。如果诊断规范中的数据类型定义与已实现的应用软件不一致,就会产生矛盾。在配置AUTOSAR基础软件组件(如诊断事件管理器DEM和诊断通信管理器DCM)的后期阶段,您将面临这些问题。在ECU启动过程中发现错误会消耗大量资源。工程学定律表明:越晚发现错误,修正成本就呈指数级增长。
借助基于模型的集成弥合差距

我们提供一种高效的方法来应对这些挑战。Vector实现两款强大工具之间的无缝集成。可以在基于模型的PREEvision环境中开发诊断和软件方案,并将所有相关数据与CANdelaStudio进行交换,从而生成正式的诊断规范。
更高层次的电子电气(E/E)数据模型确保系统需求、软件架构、硬件组件及线束之间的技术一致性。可在共享数据库中映射所有相互关系。一旦发生技术变更,所有受影响的开发人员将立即看到更新内容,能够及早识别潜在冲突。通过强大的版本控制功能,可以追踪发布节点。可轻松管理变体,在同一位置描述相同部件及差异,从而支持模块化软件堆栈。
掌控诊断与软件之间的依赖关系
ECU软件与诊断描述之间存在哪些关联?开发工具通常从外部测试仪的角度描述诊断功能,详细说明测试仪从故障存储中读取的诊断故障代码(DTC),或ECU提供的数据标识符(DID),定义据类型、转换规则和物理单位。
应用软件通过诊断端口实现这些规定。对于一个DID数据对象而言,这意味着一个被分配了数据类型、转换公式和单位的特定数据元素。符合AUTOSAR标准的建模将这些细节分布在多个对象中。例如,可以使用单个DID来访问由多个软件端口传输的若干温度值。尽管粒度不同,但信息内容保持一致。
应将诊断与软件共同定义,从而消除冗余。可以在软件中描述数据类型,而诊断描述则引用这些类型;或者,可以先定义诊断内容,再利用这些详细信息进行软件实现。
在统一的工具链中实现具体功能

诊断规范规定应用软件的需求。诊断例程需要软件组件来实现。故障代码(DTC)需要监控功能。AUTOSAR设定严格的结构要求。I/O控制需要用于监控数据的记录类型。例程需要客户端/服务器接口。只需定义这些结构一次,即可同时应用于两个领域。
我们通过专用的诊断抽象层扩展PREEvision。可以系统级地描述诊断对象,并将其与应用软件关联。可以定义DID、I/O控制、例程以及DiagnosticEvents和OperationCycles等AUTOSAR事件处理元素。可与CANdelaStudio建立双向数据交换,以支持协同工作模型。

将数据流返回至PREEvision,能够以现有诊断描述中的主数据作为起点。我们采用基于文件的方法,以实现跨组织边界的数据交换。交换文件包含诊断对象及相关软件详细信息。
关于将诊断对象分配给应用软件端口的信息通过引用传递。在基础软件配置工具中,系统集成商无需手动进行端口映射。系统会根据引用自动确定连接关系。既节省时间,又减少了错误。

自动确保符合AUTOSAR标准
AUTOSAR标准对诊断软件组件的描述进行严格定义。要完全掌握这一庞大的标准需要一定时间。PREEvision可直接从诊断对象生成诊断端口,从而确保严格符合AUTOSAR标准。如果后续进行的修改偏离标准,工具会立即发出警报,使得在质量保证过程中能够实现实时处理。
整体开发流程的关键要点
可以集中管理所有数据,可以查看全系统的诊断信息,可以导出某个ECU的诊断内容,在CANdelaStudio中进行优化,并生成AUTOSAR诊断提取(DEXT)或ODX格式的文件。随后,将系统描述和DEXT文件导入DaVinci Configurator。这一流程具有明显的优势:
- 无需手动将诊断对象与诊断端口进行关联,引用机制将自动完成分配。
- 依赖于自动建模且符合AUTOSAR标准的诊断端口。
- 将诊断端口的属性与诊断对象完美对齐,以防止数据类型冲突。

这种集成方式降低协调工作量,减少人工操作,并消除潜在的错误。可以自动从其他模型层级获取诊断数据,例如直接从线束设计中生成测试序列。
我们诚邀您采用这种基于模型的方法。在各部门之间培养团队精神,将网络安全和诊断功能无缝集成到架构中,并为真正的创新积蓄动力。与Vector携手,实现卓越的工程成果。