SOVD(Service Oriented Vehicle Diagnostics)即面向服务的车辆诊断,是SOA架构的关键组成部分。SOVD是电子电气架构向集中式发展的必然趋势,它的诞生主要解决HPC(High Performance Computer)的诊断需求。
SOVD的核心理念是基于HTTP的诊断,借助RESTful API的增(POST)、删(DELETE)、改(PUT)、查(GET)等方法实现对ECU(即Server)的诊断。数据传输格式为JSON。主要内容如下图,涵盖以下方面:
1.UDS功能的SOVD映射:将传统UDS诊断功能转化为SOVD实现方式,满足当前阶段车辆对于诊断数据的需求,比如数据读写、故障信息读取、参数配置等。
2.SOVD特有交互数据:SOVD同时定义了新的交互内容,这些内容是UDS不支持的数据类型,比如Logging、bulkdata、新的软件刷写方式和脚本。
3.SOVD主要机制:SOVD的通信方式、安全机制等。
4.资源发现:动态的资源发现方式,类似于互联网资源搜索。
5.SOVDtoUDS Adapter:实现UDS报文和SOVD API的路由,兼容UDS ECU。

获取Logging数据是SOVD提出的核心动力。HPC出现故障时,通过UDS获取的DTC及环境数据不足以支撑其故障分析,软件开发专家更需要Logging这类信息,而SOVD为Logging数据的获取提供了统一的方式。
考虑到以HPC为中心的架构中仍存在部分简单ECU支持UDS协议,SOVD架构在设计时也兼容了UDS协议,车辆诊断通信的逻辑架构可归纳如下图所示。具体通过定义SOVD2UDS模块来实现SOVD数据与UDS数据之间的转换。在这一架构下,诊断仪(包括远程、近端和车载类型)可通过SOVD API,经由统一的SOVD Server访问车辆。车内HPC节点或相关APP可直接采用SOVD方式进行交互;而对于仍使用UDS协议的节点,则先通过UDS与SOVD2UDS模块通信,经转换后再与诊断仪进行SOVD格式的数据交互。

在明确SOVD的协议与结构后,我们回到最初的问题:为何说SOVD是面向HPC的特定诊断协议?其核心优势体现在哪里呢?
1.标准化HPC诊断的接口。HPC的诊断需要获取除了故障码之外的log、trace等信息。目前行业中这个接口多由OEM和Tier1共同自定义,缺乏统一标准,甚至同一OEM内部的不同HPC之间也存在差异。SOVD的出现对诊断访问接口进行标准化,长远考虑将有效降低成本。
2.降低诊断仪开发成本。不再必需硬件诊断头,同时省去D-PDU-API、D-Server等复杂驱动,显著降低诊断仪开发成本。
3.采用JSON作为数据交互格式,使诊断数据直观易读(如温度直接呈现为“28℃”),省去繁琐的解码计算过程。配合SOVD提供的统一化脚本,工程师得以从复杂的ODX解析工作中解放出来,从而更专注于诊断数据本身的分析。
4.基于HTTP的诊断可以适配各种智能诊断场景。SOVD支持真正的并行访问,并借助与互联网一致的访问入口,轻松实现远程诊断,同时也为未来诊断场景提供无限的可能性。
SOVD的发展状态
2022年6月底,ASAM组织正式发布SOVD 1.0.0规范,目前该规范已成为诊断领域中SOVD设计和实现的主要参考依据。相应的ISO标准也在制定中,标准号为ISO 17978,预计于2025年底或2026年初正式发布。在AUTOSAR规范中,R22-11版本定义了SOVD的核心模块,而R23-11版本则对其进行了更详细的规范说明。当前,国内外OEM厂商均在积极推进相关研发工作,部分厂商已进入技术探索与商业落地的实施阶段。
Vector解决方案
Vector提供全流程的SOVD开发的解决方案,覆盖诊断数据库开发、代码生成、测试、诊断仪等,能够全面满足开发阶段的各项需求。
SOVD需求编辑
CANdelaStudio是一款用于编辑诊断数据库CDD的工具。在23版本之前,CANdelaStudio主要支持UDS协议、OBD协议等诊断数据的编辑。从23版本起,该工具新增对SOVD API的编辑功能。如需启用此功能,请切换至专家视图(Expert view),依次点击File→Properties,勾选“Supports SOVD”选项。

编辑功能支持以下两种模式:
1.如果当前节点SOVD API与UDS服务有一一对应关系,则可基于UDS服务自动生成相应的SOVD API映射。

2.若ECU支持如log、bulk-Data等原生的SOVD API,CANdelaStudio同样支持此类“Native” SOVD API数据的编辑。


CANdelaStudio支持将SOVD相关数据导出为JSON文件。具体提供两种导出格式:
SOVD OpenAPI export 1.0:适用于通过SOVD2UDS Adapter建立SOVD通信的UDS ECU,可导出对应的JSON文件,CANdelaStudio 18开始支持。
SOVD OpenAPI export 2.0:如勾选“Supports SOVD”选项,工具将自动切换至该模式,为支持原生SOVD的ECU生成能力描述文件,CANdelaStudio 23开始支持。

协议栈
见微信文章:SOVD协议在HPC中的应用
SOVD测试
CANoe.DiVa是诊断测试用例的自动生成工具,CANoe.DiVa 19 SP3计划支持SOVD的测试。若HPC支持原生SOVD API,则可直接导入.json文件自动生成测试用例;若被测节点为SOVD2UDS,则除SOVD API测试外,还需验证SOVD API与UDS服务之间的一致性。此时需同时基于.cdd与.json文件生成测试用例。

在Services&Jobs中可以看到解析后的SOVD API。

在CANoe.DiVa中自动生成测试用例后,可将用例导入CANoe环境中进行自动化测试执行,并生成相应的测试报告,如下图所示。

诊断仪
SOVD底层基于HTTP协议,所以诊断仪的开发可采用互联网领域中常见的客户端-服务器(C/S)架构,实现网页版诊断仪,使其使用更加智能便捷。SOVD Explorer正是基于这一全新思路开发的工具,支持用户导入SOVD API或动态发现诊断资源,并可自定义窗口布局与数据展示方式。SOVD Explorer也提供桌面版。

SOVD Explorer同时支持Console功能,类似UDS中“诊断命令台”,可用于收发SOVD API指令,并结合Trace功能验证接口通信的正确性。

vInspect是一款桌面版的诊断仪,基于SOVD2UDS开发,可以通过SOVD2UDS Adapter兼容UDS ECU。支持基于客户需求进行vInspect的定制开发,满足客户特定诊断需求。

项目咨询
当前,SOVD已成为诊断行业的热点,各OEM都在跃跃欲试。然而,将SOVD真正引入实际项目仍面临诸多挑战。例如,SOVD如何适配OEM现有的诊断开发、测试、生产及售后流程,特别是在远程诊断场景下,如何实现车辆识别、安全认证等关键环节的兼容;SOVD数据库应定义哪些资源类型,能否覆盖OEM需求,尤其是HPC故障分析所需的信息,以及如何实现与现有UDS数据的兼容;此外,SOVD代码的高效性与稳定性、测试自动化能力的建设等问题也需系统考量。
因此,SOVD的成功落地需要具备系统化的思维。Vector能够提供覆盖SOVD需求定义、代码开发、测试仿真、诊断仪等全流程的工具链,完全涵盖SOVD各阶段所需能力。凭借完整的解决方案能力,Vector可协助客户搭建SOVD的规范、工具链和流程体系,为SOVD落地提供有力支持。
小结
SOVD是致力于未来诊断行业的智能协议。SOVD和UDS在诊断信息交互的通信方式上有本质区别,因此量产SOVD面临诸多挑战。Vector提供全流程的解决方案,涵盖需求定义、代码开发、测试和诊断仪等,并可系统性地协助客户梳理SOVD需求,助力其实现项目落地。
全部0条评论
快来发表一下你的评论吧 !