当前位置: 首页 > news >正文

新一代车载诊断框架简介

我是穿拖鞋的汉子,魔都中坚持长期主义的汽车电子工程师。

老规矩,分享一段喜欢的文字,避免自己成为高知识低文化的工程师:

做到欲望极简,了解自己的真实欲望,不受外在潮流的影响,不盲从,不跟风。把自己的精力全部用在自己。一是去掉多余,凡事找规律,基础是诚信;二是系统思考、大胆设计、小心求证;三是“一张纸制度”,也就是无论多么复杂的工作内容,要在一张纸上描述清楚;四是要坚决反对虎头蛇尾,反对繁文缛节,反对老好人主义。

不觉间来到九月,横坐在电脑前,敲击点文字,对自己也算一个时间的记忆,多年后再次点击,也期待那时会像触发记忆的闸口,让现在的这点岁月传递至那时那刻。

在这里插入图片描述

一、背景信息

在当今的汽车诊断领域,当运用统一诊断服务(UDS)开展车辆诊断工作时,所采用的技术架构犹如一座精密运作的“诊断工厂”,各个组件各司其职、紧密协作。

电子控制单元(ECU)作为车辆的“大脑”,负责控制和监测车辆各个系统的运行状态。而车辆通信接口(VCI)硬件则扮演着“桥梁”的角色,它一端与 ECU 建立稳定的通信连接,确保能够准确无误地接收和发送来自 ECU 的诊断数据;另一端通过诊断协议数据单元应用程序接口(D - PDU API)[9] 与诊断服务器相连,将 ECU 的数据传递给诊断服务器进行处理。

诊断服务器就像是这座“诊断工厂”的“中央控制室”,它通过诊断数据库进行参数配置。诊断数据库中存储了大量关于车辆各个 ECU 的详细信息,包括诊断服务标识、数据标识符、故障码定义等。诊断服务器依据这些参数信息,对从 VCI 硬件接收到的数据进行精准解析和处理,从而识别出车辆是否存在故障以及故障的具体类型和位置。

在这里插入图片描述

最后,诊断服务器为测试应用提供一个编程接口(API),测试应用如同“诊断工厂”的“操作员”,通过该接口与诊断服务器进行交互。操作员可以在测试应用中输入各种诊断指令,诊断服务器根据这些指令对车辆进行相应的诊断操作,并将诊断结果反馈给测试应用,以便操作员及时了解车辆的健康状况。

这种传统的技术架构也存在一些局限性,例如组件之间的耦合度较高、扩展性较差等。而 SOVD 的出现,为车辆诊断带来了全新的解决方案,它基于现代网络技术,具有更高的灵活性、可扩展性和互操作性,能够有效克服传统技术架构的不足,为车辆诊断领域的发展注入新的活力。

二、引入新的诊断模式-SOVD

在汽车技术发展的进程中,我们发现一个较为普遍的现象:大多数与车辆诊断相关的组件,其最初的设计和开发目标都是面向桌面操作系统环境。这一点并非无迹可寻,从那些被广泛采用且标准化的编程接口中,我们便能清晰地洞察到这一特点。这些标准化编程接口,无一例外地被定义为C、C++或者Java应用程序编程接口(API)。长期以来,这些传统编程语言凭借其强大的性能和广泛的应用基础,在车辆诊断领域占据着主导地位。然而,随着技术的不断进步和应用场景的日益多样化,这种基于特定编程语言的接口模式也逐渐暴露出一些局限性,比如灵活性不足、开发门槛较高等问题。

在这样的背景下,面向服务的车辆诊断(SOVD)应运而生,它为车辆诊断领域带来了一场革命性的变革。SOVD标准规范了一个极具创新性的表述性状态转移(REST)应用程序编程接口(API),这个接口最大的亮点在于它与所使用的编程语言完全无关。这就好比为车辆诊断打开了一扇通往无限可能的大门,使得新的、轻量级的应用场景在车辆诊断领域如雨后春笋般涌现出来。

基于SOVD的这一特性,诊断工作流的编写不再受限于传统的编程语言。开发者可以充分发挥自己的创意和专业技能,使用任何现代编程语言或脚本语言来编写诊断工作流。以Python为例,它以其简洁易懂的语法和强大的库支持,成为了数据处理和分析领域的佼佼者。利用Python基于SOVD编写诊断工作流,开发者可以轻松地读取和评估来自车辆的各种数据,实现对车辆状态的实时监测和精准诊断。这种灵活性和便捷性,大大提高了车辆诊断的效率和准确性,为汽车维修和保养提供了更加有力的技术支持。

在这里插入图片描述

另一方面,REST API的强大功能还体现在它为企业级(云端)应用的开发提供了广阔的空间。对于诸如下一代维修车间或开发测试仪等大规模应用场景,REST API使得开发者能够轻松地构建出功能强大、性能稳定的企业级应用。这些应用可以采用网页应用的形式,具有跨平台、易部署、易维护等诸多优点。无论是智能手机、平板电脑、笔记本电脑,还是最新款的数据眼镜,只要具备网络连接功能,都能够流畅地运行这些网页应用。这意味着维修人员可以在任何时间、任何地点,通过手中的智能设备对车辆进行诊断和维修操作,极大地提高了工作效率和便捷性。同时,对于开发测试仪来说,基于REST API的企业级应用可以实现更加高效的数据采集和分析,为汽车研发和测试提供更加全面、准确的数据支持。

以下示例将为我们生动地展示诊断应用通过REST与SOVD服务器进行通信的全过程,让我们更加直观地感受到SOVD在车辆诊断领域的强大魅力和巨大潜力。

在当今数字化飞速发展的时代,网络安全问题愈发成为各个领域关注的焦点,车辆诊断领域自然也不例外。值得庆幸的是,网络标准为我们构筑了一道坚固的安全防线,通过一系列标准化且被广泛应用的协议,提供了极为可靠的安全保障。

就拿身份验证和授权控制来说,OpenID Connect 协议堪称身份验证领域的佼佼者。它就像是一位严谨的门卫,能够精准地核实每一个试图进入系统的用户的身份信息,确保只有合法授权的用户才能获得访问权限。而 OAuth2 [7] 协议则在授权控制方面发挥着关键作用,它如同一位精明的权限管理员,根据用户的角色和职责,精确地分配和控制用户对系统资源的访问权限,防止用户越权访问敏感信息。这两个协议相辅相成,共同为网络通信的安全保驾护航。

更为便利的是,我们还可以将这些安全协议与现有的身份提供商进行集成。以微软 Azure AD 为例,它作为企业环境中广泛使用的身份管理平台,已经为企业员工建立了完善的身份体系。通过集成微软 Azure AD,SOVD 可以直接重用这些在企业环境中已经确立的身份信息,无需用户再次进行繁琐的注册和身份验证流程。这不仅大大提高了用户的使用体验,减少了用户的时间成本,还进一步增强了系统的安全性,因为企业级的身份管理通常具备更高的安全标准和更严格的安全策略。

SOVD 的统一接口设计更是其一大亮点。在传统的车辆诊断模式中,近程、远程和车内这三种不同的诊断场景往往需要采用不同的接口和操作方式,这无疑增加了诊断的复杂性和成本。而 SOVD 的统一接口打破了这种局限,它就像是一位全能的指挥官,能够无缝地协调这三种不同场景下的诊断访问和操作。无论是在车辆旁边进行近程诊断,还是通过云端进行远程诊断,亦或是在车辆内部直接进行诊断,技术人员都可以使用相同的接口和操作流程,以统一的方式完成各种诊断任务。这种统一性不仅提高了诊断的效率和准确性,还降低了技术人员的学习成本和操作难度,为车辆诊断的普及和推广奠定了坚实的基础。

在这里插入图片描述

此外,该应用程序编程接口(API)展现出了卓越的多客户端服务能力,它能够像一位高效的多任务处理大师一样,同时为多个客户端提供稳定且优质的服务(具备多客户端能力)。这一特性犹如为车辆诊断领域打开了一扇通往全新应用场景的神奇大门。

想象一下这样的场景:在维修车间里,技术人员正在对一辆汽车进行细致的诊断访问,试图找出车辆存在的故障隐患;与此同时,远在千里之外的制造商技术援助中心,专家们也能通过远程访问的方式,实时获取车辆的诊断信息,为维修车间提供专业的技术支持和指导。这种同时进行的诊断访问模式,在处理那些复杂疑难的车辆故障案例时,具有巨大的优势。它不仅可以显著降低因故障排查而产生的各种成本,还能大大缩短车辆的停机时间,让车辆能够更快地重新投入使用,提高运营效率。

三、面向服务的车辆诊断(SOVD)在未来能提供哪些优势?

SOVD在诞生之初,就将目光聚焦于高性能计算单元(HPC)上软件的诊断领域,同时巧妙地整合了基于统一诊断服务(UDS)的现有电子控制单元(ECU)诊断方法。这一创新性的设计理念,使得新标准如同一位集大成者,既继承了UDS诊断概念经过长期实践验证的强大功能和丰富经验,又融入了现代技术的先进元素,为车辆诊断带来了全新的活力。

尽管目前HPC在汽车领域的应用尚未广泛普及,但SOVD就像是一座坚固的桥梁,为从基于UDS的传统诊断方式向基于软件对HPC进行诊断的未来世界搭建了一条平稳的过渡通道。它让汽车行业能够在不影响现有诊断体系的基础上,逐步探索和应用新的诊断技术,为未来的发展做好充分准备。

当车辆和后端都采用SOVD接口时,测试设备的技术架构将迎来一场革命性的简化。传统的诊断过程中,需要额外的专用硬件(车辆通信接口,VCI)作为车辆和测试设备之间的“翻译官”,才能实现两者之间的通信。而SOVD则凭借其先进的以太网(无线局域网/局域网)通信技术,摆脱了对专用硬件的依赖,就像是为车辆和测试设备之间建立了一条直接的高速信息通道,让通信变得更加高效、便捷。

SOVD所采用的自描述方法更是其一大创新亮点。通过这种方法,车辆的诊断能力就像是一本自我介绍的“说明书”,能够被轻松读取和理解。相比之下,基于UDS的ECU诊断则显得有些繁琐,它需要合适的外部诊断描述文件,就像是一把特定的“钥匙”,只有拥有这把“钥匙”,测试设备才能与车辆进行通信。而且,在传统的诊断应用中,还需要一个内存和计算时间密集型的诊断内核,用于将ECU数据转换为符号值(以及反向转换),这不仅增加了系统的复杂性和成本,还可能


文章转载自:

http://fhwgBKTu.kpnpd.cn
http://4a5DGayr.kpnpd.cn
http://Zo3S0CBW.kpnpd.cn
http://LzkhWVXF.kpnpd.cn
http://IAgP2x82.kpnpd.cn
http://2ETrkhAE.kpnpd.cn
http://0CBMo09X.kpnpd.cn
http://lpJJgfKl.kpnpd.cn
http://aLMklRrB.kpnpd.cn
http://VdJWz9fU.kpnpd.cn
http://1sW6I1eT.kpnpd.cn
http://gCtuDdjb.kpnpd.cn
http://wKBr08xd.kpnpd.cn
http://OapzKYlY.kpnpd.cn
http://72yfQe5h.kpnpd.cn
http://MI6ozUBX.kpnpd.cn
http://l5uCGJTu.kpnpd.cn
http://ZfEAXkmn.kpnpd.cn
http://5FkJGdoD.kpnpd.cn
http://TRgMbTSB.kpnpd.cn
http://S28hyJK5.kpnpd.cn
http://pvTnemQl.kpnpd.cn
http://VpZ0INWK.kpnpd.cn
http://NbAbWL9p.kpnpd.cn
http://LE0vfDmb.kpnpd.cn
http://8cvz7YvK.kpnpd.cn
http://5dODQz2K.kpnpd.cn
http://2DQ1az4x.kpnpd.cn
http://Tl8wkaaJ.kpnpd.cn
http://Ua1Z19fG.kpnpd.cn
http://www.dtcms.com/a/385678.html

相关文章:

  • 05-索引-性能分析
  • 【数据工程】 2. Unix 基础与文件操作
  • 第四课、 TypeScript 中 Cocos 的生命周期
  • 联邦学习论文分享:DPD-fVAE
  • Pairwise排序损失:让机器学会排序的艺术
  • 硬件开发—IMX6ULL裸机—UART通信
  • 蓝牙上位机开发指南
  • 【课堂笔记】复变函数-1
  • 谈谈人大金仓数据库
  • C#调用钉钉API发送通知教程
  • 电子电气架构 --- 产线EOL为何需要智能升级?
  • 无人机姿态控制系统详解与实现
  • 7.Redis 主从复制(重在理解)
  • 从零搭建RAG应用:跳过LangChain,掌握文本分块、向量检索、指代消解等核心技术实现
  • 从0开始做一个完整项目 -- 软件跨平台编译打包全流程
  • comfyUI实战——使用openArt的工作流
  • linux 之 struct attribute
  • 强化学习PPO-分类任务
  • 决策树模型全解析:从分类到回归(基于鸢尾花数据集)
  • shell脚本部署lamp
  • c语言6:static 关键字控制变量/函数的 “生命周期” 与 “可见性”
  • MySQL 数据库对象与视图:从概念到实战,掌握虚拟表的核心价值
  • 【VPX361】基于3U VPX总线架构的XCZU47DR射频收发子模块
  • 消火栓设备工程量计算 -【图形识别】秒计量
  • 基于LangGraph的深度研究智能体技术解析
  • 【哈希表】1512. 好数对的数目|2506. 统计相似字符串对的数目
  • Java--多线程基础知识(2)
  • 活泼解析pthread_join函数:多线程世界的等待仪式
  • 机器视觉的智能手表后盖激光打标应用
  • 第七章 来日方长(2025.8学习总结)