怎样做一个不会被淘汰的车载诊断工程师

news2025/1/21 3:03:26

步入中年,不可避免会接触到所谓的中年危机,时刻在提醒自己提高自己的护城河,增强核心竞争力。但是这种事情也不是靠空想,还是要功夫下在平时。

自己是在2016年开始接触车载诊断方面,从事过诊断范畴的开发、测试、偏系统工程师等,因此本文也想粗略的总结下其内容——伴随着新技术引入到车载中,怎样做到一个不被淘汰的诊断工程。

一、车载诊断功能

车载诊断功能是通过技术手段快速定位车身发生故障部位,伴随着功能不断完善,诊断功能具体体现如下几个方面:

-> 通过UDS Servcie快速界定车身发生故障部位;

-> 读取车身控制器相关信息(比如软硬件版本号、电压值、电流值、温度等);

-> 实现ECU软件更新。

业界常用的诊断协议是ISO 14229(UDS)和ISO 15031(OBD II),以协议中定义的服务为载体,实现上述功能。

二、诊断工程师职责

这里区分两个范畴:主机厂和供应商

1、对主机厂,诊断岗位可以细分为诊断系统工程师、样件工程师等。

对于诊断系统工程师(传统主机厂该职位属于电子电器架构E/E部门),需要:

定义基于车身总线的网络架构的诊断系统设计;定义整车所有部件CAN ID(车载CAN总线)、逻辑地址(车载以太网);定义整车部件用到的DID、DTC、NRC触发条件以及优先级(保持符合ISO协议和内容一致性);编辑制定企业级诊断需求规范、刷写规范,维护并管理;编辑企业对应的诊断数据库(ODX\CDD\ARXML),维护并管理;维护企业诊断需求调查表;

对于样件工程师,整车会因功能不同,分为多种控制器(ECU),接触过的几个主机厂内会有一个诊断Team,组内工程师会负责数量不等的ECU验收以及管理工作,在供应商提供样件时,验收其功能。其中常规操作是ECU验收过程中,工程师先基于公司技术积累已经编辑好的诊断测试用例校本库,先跑一遍测试用例(业界较常用是基于V公司工具CANoe+CAPL测试脚本配合CANoe.DiVa实现高覆盖度的测试),需要验收的内容:UDS协议功能实现;Bootloader刷写功能 排放功能检测

测试依据是测试工程师基于OEM诊断需求规范编写测试规范,再基于测试规范编写测试用例,从而验证功能实现是否是按照需求定义实现。

对应供应商,这里主要分为研发工程师和测试工程师

研发工程师需要基于OEM的诊断需求规范实现其功能,现阶段汽车电子行业手写软件代码比重在逐年降低,通过配制工具生成的协议栈实现其功能却在逐渐增加。其优势在于软件运行时的稳健性(这个时候需要看配制工具生成的协议栈优良程度,决定着稳健性的强弱)。研发工程师通过配制工具生成的整个软件工程协议栈,关于具体诊断功能,研发工程师基于其中的API接口实现其功能即可。

e.g. 比如定义一个DID 0x0102,用于读取ECU当前电压值。数据库、起作用、导入、采样模块等等

对应ECU诊断功能也可以分为:Application/Bootloader

Application关注于UDS应用层诊断功能,比如Service 22/2E/19服务等;Bootloader关注于ECU软件更新(Software update)功能实现

测试工程师待研发工程师完成软件功能后,研发工程师集成初步功能自测后,会转测试,这时基于公司技术积累,对ECU进行诊断范畴功能测试;

初步运行测试脚本的自动化测试(持续完善过程); 

基于测试用例的手动测试(提高测试覆盖度)

三、新时期诊断工程师需要的职业技能(职业素养相比传统有哪些变化)

1、车载诊断仪的应用场景:

->现场/远程诊断(有线无线);

->User Tester和专业级Tester;

->车载HUD(抬头显示系统增加人机交互界面)。

伴随着技术不断更新迭代,车载诊断也出现了不同的应用场景

(1)、现场远程 

随着以太网被引入到车载网络中,使无线以及远程诊断成为现实(以前通过3g/4g模块也有远程解决方案,通过T-box内嵌一个这样的模块,连接云端服务器,是远端工程师远程连接车辆实时获取车辆信息,达到远程诊断目的)。车载以太网的应用也使远端一个Tester连接多个车辆,或者多个Tester连接一个车辆成为了现实,只要网关或者域控制器具备无线功能即可。

(2)、User Tester & 专业级Tester

以往车辆去4S点保养时,工作人员会拿着专业级版的手持诊断仪检测车辆状况,伴随着无线功能(车载以太网)在车辆网络的应用,更加个性版或者定制化的Tester出现,比如通过手机App或者PC端直接获取车辆运行状态信息。不过这个时候为了不被外界恶意破坏,释放的权限会非常有限,可能只是查询状态信息以及DTC故障码功能。

 

(3)车内HUD或者其他人机交互界面

以往车辆故障信息在车辆具备提醒驾驶员(具备报警信息的故障类型)都是一些破坏车辆较为严重的故障,现阶段车身具备更多的人机交互,也给更多关于车载诊断信息显示带来了可能性,比如可以通过HUD(抬头显示系统)显示更多的数据交互:比如ADAS域各个模块状态信息,是否存在网络连接不良?是否有最新软件版本更新?

2、新需求下对诊断工程师的要求

随着车身电子电器架构从以前的分布式架构向局部域控制器架构(最后可能会过渡到中央处理器HPC或域控制器与HPC共存)。最近也出现了几个很火的域——智能座舱、ADAS域、整车车身等。

比如以ADAS域为例,简要说明出现该域后,对诊断工程师有了那些新的要求?

->首先该域需涉及毫米波雷达、激光类型、单目或多目摄像头;->域控制器上也需要运行不同模块—高清地图,规划控制(规控模块)。一般这些模块运行在高算力、高实时性的SOC芯片上。

如上内容都是与自动驾驶相关内容,对车驾驶员安全性有很高的关联性。因此关于故障界定排查及时性、发生故障后快速反馈给驾驶员、发生故障后怎么实现功能降级以保证车辆安全等等新的需求,都是对诊断工程师新的技术要求。

以往出现故障后,界定策略采用AUTOSAR中定义DTC策略:

  • 时间消抖;

  • 次数消抖。

而在ADAS域中除了定义界定DTC产生策略外,还需求定义故障产生后以何种方式实现功能降级处理,用于保证车主安全!

另外,现在车身有了更多的人机交互界面,因此在出现故障后,可以考虑使用触发式报文(当故障发生时,除了存储在芯片内容外,还触发报文将故障码对应的故障类型显示在交互界面中,用于提醒驾驶人员),显示故障信息。

反应系统故障点引发的故障,可以使用Snapshot形式来追溯故障引发点

这时候可定义多个故障点对应一个DTC故障码,具体是哪个Error case引起的故障,可以在Snapshot中进行定义区分。

刷写策略除了经典的UDS刷写ECU用于升级Software软件版本,现阶段还可以通过私有协议实现ECU刷写(OTA手段):

HTTP/HTTPS传输数据,SOME/IP控制刷写流程。

 

要做到不被淘汰,需要自己根据新技术发展,与时俱进。提前一步做好准备,不再是一直吃老本。

愿你我相信时间的力量,

做一个长期主义者!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/116327.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

程序员的圣诞节是怎么样的?

2022年圣诞节到来啦,很高兴这次我们又能一起度过~ 一、前言 圣诞节,先在这里祝大家圣诞节快乐~~,用英语来表达就是 Merry Christmas ~~, 为了贴合这个氛围,今天分享种用 Python 绘制圣诞树的方法。 最近用代码绘画圣诞…

非常易用的网络路径中的网络延迟测试和监控以及自动发送报告工具

非常易用的网络路径中的网络延迟测试和监控以及自动发送报告工具。 作为网络管理员或网络工程师,时刻关注网络的交付速度至关重要。不仅需要确保自己有良好的响应时间,还需要确保网络的速度足以满足用户通信所需的每一条路径。而手动测试每个路径将占用…

SpringBoot+Vue项目医院体检中心管理系统

文末获取源码 开发语言:Java 使用框架:spring boot 前端技术:JavaScript、Vue.js 、css3 开发工具:IDEA/MyEclipse/Eclipse、Visual Studio Code 数据库:MySQL 5.7/8.0 数据库管理工具:phpstudy/Navicat JD…

电脑文件数据恢复方法是什么?未备份电脑文件数据恢复的七种方法

在日常生活中,我们总会遇到这样或那样的事情,比如在使用电脑过程中出现文件数据丢失情况,那么在未备份文件下电脑文件数据丢失怎么恢复?电脑文件数据恢复方法有哪些?这里将根据不同情况分享不同的电脑文件数据恢复方法…

L05_课后练习_波士顿房价预测

波士顿房价预测 1.导入所需要的库 import numpy as np import pandas as pd import matplotlib.pyplot as plt import torch import random from sklearn.model_selection import train_test_split2.读入数据 feature pd.read_csv("../data/boston.csv") feature…

Postgresql源码(95)优化器关键数据结构实例

1 测试数据 drop table student; create table student(sno int primary key, sname varchar(10), ssex int); insert into student values(1, stu1, 0); insert into student values(2, stu2, 1); insert into student values(3, stu3, 1); insert into student values(4, st…

Linux的环境变量

目录 什么是环境变量? 那么如何添加自己的程序到命令行上,可以直接执行? 如何查看环境变量? 如何定义环境变量? C语言如何获取环境变量? 什么是环境变量? 在回答这个问题之前,可…

【Linux】之systemd与systemctl

文章目录一、systemd1. systemd 守护进程管理 Linux 的启动2. systemd 提供的功能:3. systemd 使用单元来管理不同类型的对象。4. 服务单元信息二、systemctl1. systemctl输出中的服务状态2. 列出servera上安装的所以服务单元3. 列出servera上所有活动和不活动的套接字单元4.1 …

存档鉴未来,新时代电子档案长期保存之道

(一)电子档案单套制是未来档案管理的趋势 在政府和企业端,办公体系的信息化,电子档案的单套制实施,极大地提高了事务办理的效率,同时节约了大量纸质文件的使用成本。 在政务领域,单套制的推行…

Day840.原子类-Java 并发编程实战

原子类 Hi,我是阿昌,今天学习记录的是关于原子类。 一个累加器的例子,示例代码如下: 在这个例子中,add10K() 这个方法不是线程安全的,问题就出在变量 count 的可见性和 count1 的原子性上。 可见性问题…

Java7的异常处理新特性addSuppressed()方法

学习使用Java7新语法try-with-resources,在查看编译文件时,接触到addSuppressed()方法。记录一下使用方式。 先来看一段代码: private static void testt() {try (InputStream is CatchTest.class.getClassLoader().getResourceAsStream(&…

ThinkPHP 多应用模式初探

还是很久以前用tp3.0开发过项目,之后就再没使用过,现在tp都更新到6了,与之前差距很大,需要重新练习掌握最新的tp框架使用及特性。 目录 1.安装框架 2.安装多应用模式扩展think-multi-app 3.目录结构修改并创建应用子目录 4.应…

年后市场将反弹?服装人做好这些准备,才能赚到2023年第一桶金!

目前,随着防疫政策精准落地、逐步放开,人们对疫情的科学认知不断更新,市场活跃度正逐步恢复。秦丝通过与数万服装老板沟通交流,发现新的模式也在渐渐兴起,国内服装市场将有望迎来反弹。 1、消费氛围活跃,市…

善网ESG周报(第六期)

ESG报告: 宁夏建投城运首份社会责任(ESG)报告正式发布 12月20日,宁夏建投城市运营管理有限公司发布首份ESG报告。报告显示,其公司将业务与环境保护、社会责任、公司治理相结合打造一条绿色发展道路。 国寿股权投资发…

滚动条基本样式设置

::-webkit-scrollbar 系列属性 详细使用说明 ::-webkit-scrollbar注意:如果没有设置滚动溢出的相关属性,滚动条样式系列属性不会生效(resize 除外)。属性 ::-webkit-scrollbar 整个滚动条。::-webkit-scrollbar-button 滚动条上的…

Vue3组件化开发(一)

文章目录p11 组件组件的拆分和嵌套组件的CSS作用域组件的通信父子组件的通信父组件传递给子组件props的对象用法非prop的attribute子组件传递给父组件案例p11 组件 组件的拆分和嵌套 推荐安装的VS Cdoe插件 组件的CSS作用域 组件的通信 父子组件的通信 父组件传递给子组件…

模型初始化

在深度学习模型训练中,权重初始值极为重要,一个好的初始值会使得模型收敛速度提高,使模型准确率更准确,一般情况下,我们不使用全零初始值训练网络,为了利于训练和减少收敛时间,我们需要对模型进…

从入门到项目实战 - Vue 计算属性用法解析

Vue 计算属性用法解析上一节:《Vue 监听器用法解析 》| 下一节:《Vue 样式绑定》jcLee95 邮箱 :291148484163.com CSDN 主页:https://blog.csdn.net/qq_28550263?spm1001.2101.3001.5343 本文地址:https://blog.…

衣服、商品、商城网站模板首页,仿U袋网,vue+elementui简洁实现(二)

一.前言 接上一遍博客:《衣服、商品、商城网站模板首页,仿U袋网,vueelementui简洁实现》 在此基础上增加了和完善一些页面: 商品分类筛选页面登录、注册、找回密码共用页面U袋学堂(视频专区,视频播放&am…

编译原理——参数传递—传名、传地址、得结果、传值

1.传名(替换操作) 把这种方式理解为替换操作,把P函数参数X、Y、Z和P函数内部的Y、Z替换为A、B,然后P函数对Y、Z的操作,其实就是对A、B的操作;需要注意这和传地址一样,上面对A造成的变化&#x…