在这里插入图片描述

1.引言

当前车辆诊断主要使用UDS诊断协议,通过诊断功能可实现获取车辆ECU的状态信息及进行数据刷写。但随着汽车架构的日益复杂,数据爆炸及远程诊断等状况逐渐出现,传统的诊断方法已不足以应对这些复杂性和快速变化,因此,SOVD(Service-Oriented Vehicle Diagnostics)诊断协议于2019年在ASAM启动,通过标准化的诊断服务和接口,旨在提高诊断效率、灵活性和准确性,以满足车辆的远程诊断、近端诊断和车内诊断需求。

为什么需要SOVD:
 高效的数据传输:汽车产生的数据量日益增加,涵盖从车辆状态到行车习惯的各种信息,需要更强大的协议来处理和分析数据。SOVD协议实现了高速数据传输,显著提升了诊断效率和响应速度。
 远程需求:随着车联网技术的发展,对远程诊断和服务的需求逐渐增加。
 灵活性:SOVD协议允许在运行时动态地定义和调用服务,而不是依赖于静态的API描述,满足不同车辆和场景的诊断和服务需求。
 标准化:SOVD协议提供了一个标准化的诊断框架和统一的诊断接口,使不同OEM和供应商的系统可以互操作,减少了专有协议带来的兼容性问题。
 跨平台兼容:支持不同的硬件和软件平台,确保各种设备和系统之间的无缝通信。
在这里插入图片描述

图1 汽车诊断发展历程


2. SOVD——面向服务的动态诊断

相较于传统诊断协议,SOVD采用了面向服务的动态诊断特性:
 服务独立性:在SOVD协议中,诊断功能被分解成独立的服务模块。例如,发动机诊断服务、制动系统诊断服务和电池管理诊断服务都是独立的。这些服务各自运行,不相互依赖,确保系统的灵活性和稳定性。

 松耦合:服务之间通过标准化接口进行通信,而不是直接调用。这意味着一个服务的变化不会直接影响其他服务。这种松耦合设计使得系统更易于维护和扩展。

 服务重用:某个诊断服务可以在不同的车辆和系统中重复使用。例如,标准化的发动机诊断服务可以应用于多种车型,而无需为每个车型单独开发。这种重用性提高了开发效率,降低了成本。

 服务发现机制:诊断服务可以在需要时动态发现,而不是预先绑定到特定的服务实现。这意味着车辆系统可以在运行时根据当前需求发现和调用最合适的诊断服务。

 按需服务调用:SOVD协议支持按需调用诊断服务,而不是在系统启动时加载所有可能的服务。这种按需调用确保了系统资源的高效利用和服务的灵活性。当车辆某个部件需要诊断时,系统会发出请求,调用相关的诊断服务。诊断完成后,服务可以释放资源,等待下次调用。

 实时响应和数据处理:动态诊断要求系统能够实时响应诊断请求,并处理和传输诊断数据。这种实时性对于确保车辆安全和性能至关重要,通过高效的通信协议(如HTTP、MQTT)和优化的服务实现,确保诊断请求能够快速响应,并实时传输诊断结果。

 自适应能力:SOVD协议的动态诊断特性使得系统可以根据实际情况调整诊断策略和服务。例如,在不同的驾驶条件下或车辆状态下,系统可以自适应地选择合适的诊断服务和策略。

3. SOVD协议架构

在这里插入图片描述

图2 SOVD协议架构图

SOVD协议可支持远程诊断、近端诊断及车辆内部诊断三种场景:
 远程诊断:允许技术人员或服务系统在不需要直接接触车辆的情况下,通过移动宽带网络远程访问车辆数据和控制系统。
 近端诊断:当技术人员在车辆附近时,可以通过有线或无线方式连接到车辆的SOVD服务器,进行诊断操作。
 车辆内部诊断:车辆内部的诊断任务可以独立于外部服务器或近场测试器运行,例如,车辆健康监测、预测性维护等。

SOVD协议在车端主要由SOVD网关、SOVD2UDS适配器、SOVD库及诊断管理器(AUTOSAR AP)四部分组成:
 SOVD网关:为SOVD边缘节点,用于接收SOVD请求,使用mDNS进行设备的发现和连接,将其正确的分发到不同的终端。每个车辆中只有一个该组件。
 SOVD2UDS适配器:可将基于SOVD协议的诊断请求和数据转换为符合UDS协议的格式,反之亦然。该组件原生支持DoIP,且可扩展自定义TP。每个车辆中只有一个该组件。
 诊断管理器(AUTOSAR AP):为车辆内部适用于AUTOSAR AP应用的本地SOVD服务器,可通过ara::diag (C++) 接口实现SOVD的功能。该组件的数量取决于ECU/系统的数量。
 SOVD库:适用于不具备完整AUTOSAR环境的应用,可以使用该组件实现SOVD功能。该组件的数量取决于ECU/系统的数量。

4. SOVD测试解决方案

北汇信息在对SOVD协议进行了深入理解及分析后,推出了系统级SOVD自动化测试解决方案及实车级SOVD自动化测试解决方案,下面就给大家介绍一下SOVD测试解决方案的整体构成。

通过对SOVD协议特性的解读,总结出针对SOVD协议,需覆盖以下测试场景:

SOVD API测试:验证整车SOVD全部的API接口。

 通过HTTP指令调用车端SOVD接口,并验证其协议一致性。
 通过HTTP指令调用车端SOVD接口,观察SOVD2UDS适配器的表现是否符合预期
 难点:远程诊断服务器及车端SOVD接口的自动化调用。
   可使用北汇定制化开发的Test Center软件完成自动化调用远程诊断服务器及车端SOVD接口
 测试环境:系统级+实车级
 测试输入物:API文档

SOVD2UDS测试

 协议转换测试:验证SOVD协议的诊断请求和数据符合UDS协议格式转换的正确性。
   通过HTTP指令调用车端SOVD接口,观察SOVD2UDS适配器的表现是否符合预期。
   测试环境:系统级+实车级
   测试输入物:API文档+诊断数据库
 逆向场景测试:验证在ECU异常情况下,SOVD协议的诊断请求和数据符合UDS协议格式转换的正确性。
   模拟UDS协议控制器的异常响应(否定响应或无响应),通过HTTP指令调用车端SOVD接口,观察SOVD2UDS适配器的表现是否符合预期。
   难点:
    逆向场景模拟
     UDS控制器异常响应模拟:系统级SOVD测试台架环境下自动化实现总线/供电硬线故障注入、ECU总线信号无响应/否定响应等多种类型的逆向测试场景
   测试环境:系统级
   测试输入物:API文档+诊断数据库

鉴于以上SOVD自动化测试的内容,北汇信息在对SOVD协议做了深入分析后,推出了通用化的系统级及实车级SOVD自动化测试解决方案,在此基础上,再针对不同客户进行定制开发,从而实现系统级及实车级的SOVD自动化测试。下面就给大家介绍一下SOVD自动化测试系统的整体方案构成。

硬件层面,SOVD自动化测试方案针对不同客户的测试需求,可分为系统级测试系统及实车级测试系统两种形态。

系统级SOVD测试系统由测试机柜和测试台架两部分组成,其中测试台架上集成SOVD相关控制器及程控BOB设备,其中,通过北汇定制化开发的程控BOB设备,可实现控制器的故障注入,以完成逆向测试;测试机柜作为解决方案中的测试执行核心工具,通过总线仿真及采集接口卡进行总线报文的监控和仿真,工控机进行测试工程配置及执行,测试接口与测试台架进行连接。通过系统级SOVD测试系统可完成SOVD API测试、SOVD2UDS协议转换测试及SOVD2UDS逆向测试。

实车级SOVD测试系统由测试机箱和户外电源两部分组成,其中户外电源是为SOVD测试机箱进行供电,主要针对燃油车和混动车进行配置,而针对具有自动补电功能的电车,可以考虑由车辆12V蓄电池为SOVD测试机箱进行供电。SOVD测试机箱作为解决方案中的测试执行核心工具,通过总线仿真及采集接口卡进行总线报文的监控和仿真,工控机进行测试工程配置及执行,测试接口与车辆进行连接。通过实车级SOVD测试系统可完成SOVD API测试&SOVD2UDS协议转换测试。
在这里插入图片描述

图3 SOVD测试系统硬件架构

在软件层面,SOVD测试解决方案由五大部分组成,分别是:
(1) 逻辑定义模块(PAVELINK.Test Center):通过北汇定制化开发的Test Center可实现图形化测试用例编辑、测试用例管理及设备管理、测试任务安排以及测试任务执行等工作,同时通过定制化模块也可实现自动化调用远程诊断服务器及车端SOVD接口。
(2) 逻辑转发模块(PAVELINK.Test Agent):通过北汇定制化开发的Test Agent可实现转发由上方Test Center下发的逻辑执行请求,包括CANoe工程调用,控制CANoe测试工程的自动运行,停止。
(3) 数据库转换模块(PAVELINK.SOA-Converter):通过北汇定制化开发的SOA-Converter可实现将OpenAPI及诊断数据库(ODX及DEXT等格式)的文件格式转换,用于测试用例生成工具生成测试用例
(4) 测试用例自动生成工具:
① 通过北汇定制化开发的测试用例自动生成工具,基于导入的数据库,可实现SOVD测试用例的自动生成
② 通过VECTOR的CANoe.Diva,基于OpenAPI,可实现测试用例的自动生成,并进行特定用例的手动修改,从而对外部和内部的SOVD API接口进行测试,
(5) 测试执行软件(CANoe):基于VECTOR的CANoe软件,可实现包含报文仿真、电源控制、信号仿真、以及BOB控制等
在这里插入图片描述

图4 SOVD测试系统软件架构

SOVD协议测试的测试流程如下:
 测试前置条件
   输入物:API及诊断数据库
 输入物格式转换
   通过PAVELINK.SOA-Converter自动化完成输入物的格式转换,并将其输入到测试用例自动化生成工具
 测试用例生成
   系统级SOVD测试用例:通过测试用例生成器解析输入物自动生成SOVD API测试用例、SOVD2UDS协议转换测试用例及SOVD2UDS逆向测试用例
   实车级SOVD测试用例:通过测试用例生成器解析输入物自动生成SOVD API测试用例
 测试执行及测试管理
   测试用例输入到PAVELINK.Test Center,Test Center借助PAVELINK.Test Agent自动化调用CANoe、远程诊断服务器及车端SOVD接口进行测试执行,并根据测试结果生成测试报告

5. 总结

在汽车行业的数字化转型浪潮中,SOVD(Service-Oriented Vehicle Diagnostics)协议的提出,不仅标志着车辆诊断技术的一次质的飞跃,更是对汽车安全性和智能化水平的一次深刻革新。

测试环节,对于确保SOVD协议的可行性和稳定性至关重要。北汇信息的SOVD测试解决方案通过覆盖API测试、协议转换测试以及逆向场景测试,确保每一个诊断服务都能在各种工况下准确无误地执行,从而保障车辆系统的可靠性和用户的安全性。

北汇信息的SOVD测试解决方案,采用先进的自动化工具和方法,结合系统级和实车级的测试环境,全面模拟各种可能的应用场景。这种全方位的测试策略,不仅提高了测试的效率和覆盖率,更是确保了技术的成熟度和应用的广泛性。

汽车行业的未来充满无限可能,SOVD协议及其测试解决方案将是我们探索这一未来世界的有力工具。让我们携手并进,以测试为桥梁,连接创新与实践,确保技术的每一步都坚实可靠。感谢您的阅读,期待与您在汽车技术革新的道路上相遇。

在这里插入图片描述

Logo

获取更多汽车电子技术干货

更多推荐