粉丝2416获赞4893

大家好,这期视频和大家简单的说一下 uds 诊断协议的学习路径,现在大家的时间呢都很宝贵,所以我的视频一定要短,要长话短说,毕竟我们工程师的时间不是都是用来刷抖音的,还得留点时间干活。 我这里画了两个梯子,其实是两个一样的梯子,大家如果想学习 uds 和相关的诊断协议,就按照这个梯子爬就可以了,向上爬或向下爬都可以,我建议呢是向上爬, 这个梯子是目前用的最多也是上手最容易的一个梯子。除此之外,这里第三个梯子 现在爬的人也比较多,我这里呢没有画出来,如果是基础不扎实的工程师建议呢,先不爬这个梯子,这个梯子有点长,下面这个梯子和上面实际上 是一样的,只不过呢,画在表格里面。大家平常呢也不要总是来爬梯子,梯子呢你爬不爬他都在那里,所以该干活干活,该吹牛吹牛,累了呢,或者没事了呢,再过来上下爬两遍,锻炼锻炼身体,谢谢大家。

uds 从入门到精通第一期视频什么是 uds? 好, 这里是汽车软件小李。我们这个账号开启的第一个系列是 uds 协议,它是汽车行业中最关重要的一项基本技术。 如果你是一名汽车介入式工程师,或是想进入这个领域,那么这个系列是一个很好的入门内容。在接下来的内容,我将从零开始,一步一步地剖析 uds 协议。 那么 uds 到底是什么? uds 全称 unfair diagnostic service, 也就是统一诊断服务,它对应的国际标准是 iso 幺四二二九。 简单来说, uds 就是 汽车 ecu 和诊断仪之间的通用语言,不管你是博士,大陆还是其他厂商的 ecu, 只要支持 uds 协议,诊断仪就能通用,就能用统一的语指令和它对话。 大家可以看到,在这个方向盘上面有一个 obd 口,当我们的 tester 连接这个 obd 口,然后呃发送不同的诊断服务命令,就可以和 ecu 进行诊断功能交互。 大家可以看到左边这就是 tester, 这边有几个功能,读取故障码、清除故障码和一些其他的诊断功能,可以使用 tester 来与 ecu 交互。 那么在 uds 协议出现之前,汽车诊断领域是怎么样呢?那是一个比较混乱的时代, 各个厂商都有自己的私有诊断协议,比如大众的 v s 宝马 d i s, 丰田等 tax train, 这就导致了很多问题,一个诊断仪只能用于一个品牌,工程师换工作就要重新学习,学习成本比较高, 供应商的开发成本也居高不下。那么当 uds 出现,它彻底改变了这一切,它统一了所有的诊断服务的格式和功能,实现了一次开发多品牌通用的目标。 大家可以看右边这张图,它就展示了 uds 的 标准化框架。 在 o s i 七层七层体系中,七层架构中,你可以看到我们的 s o s o 幺四二二九,这里其实应该是杠一, 它是位于我们的绘画层,也相当于是应用层,所以说它是独立于底层硬件的应用层协议。它不需要管下面是 什么同什么通信协议,什么不同的 ecu, 它可以做到统一标准,一次开发多品牌适用。 很多人以为 uds 只能读取故障码,这是最大对它最大的误解。 uds 的 功能远比你想象的强大。首先最基础的是故障诊断, 通过幺九服务,它可以读故障码,清故障码,读冻结针,精准定位我们汽车或者 ecu 的 一些故障问题。并且它可以 直接控制 ecu, 比如让某个执行器动作或者直接读写内部的参数,帮助我们在开发或维修时快速验证系统逻辑。 最后,他还提供了完善的安全访问机制,用于执行一些高风险的高级操作,如软件刷写或者配置参数的更改。 可以说,从汽车在生产下线检测,到进入四 s 店进行售后维修,再到我们日常使用的远程 ota 升级,汽车全生命周期的所有诊断相关操作都是基于 uds 实现的,它无处不在。 u d s 采用的是经典的客户端服务器框架架构,诊断仪、上位机或者其他的服务器发送请求。而 汽车上的各个 ecu, 比如发动机、变速箱,作为服务器接收请求并作出响应,整个通信非常简单,就是一问一答的请求响应模式。就比如在医院看病,你可以把服务器,你会把客户端作为 作为医生,你可以把服务器作为自己。然后比如说这是一个老中医,他用手,我们 uds 就 像于他的手去耗你的脉, 然后你的脉动,你的脉就通过这个手传递给了老中医,老中医通过这个脉搏就知道你的身体状况是什么样的。 我们再来看一个最简单的例子,诊断绘画控制,客户端发送幺零零幺请求进入默认绘画服务器,如果支持,就会返回以五零零幺开头的正响应, 如果不支持这个子功能,就会返回七 f 幺零幺二这样的负响应,告诉客户端子功能不支持。下面是这些格式, 比如服务请求请求帧的服务 id 值功能参数,帧响应是服务 id 加四零,加子功能加响应参数不不响应帧是七 f, 加它的 nrc 码,也就是否定响应码。 比如请求进入默认绘画帧响应零零三二, max 值是五十,也就是五十毫秒,这是一个, 这是一个关于时间参数,比如你五十毫秒,你需要 e c u, 需要给他一个响应时间, 这是他的副副响应 cf 幺零幺二幺二代表子功能不支持。 今天我们简单了解了一下 uds 的 基本概念、作用和架构,记住三个核心点, uds 是 统一的诊断语言, cs 框架请求响应模式, 下期我会详细讲解 uds 最基础也是最重要的诊断绘画控制服务,也就是幺零服务。关注我,带带你彻底搞懂 uds 协议。

接下来我们看一下 u d s 里面的二二服务,二二服务的话主要是用于我们啊通过 诊断的方式去读取车辆的一些信息,比如说它的车架号以软件版本号以及硬件版本号等等相关信息,那么就需要通过 u d s 诊断里面的二二服务去根据我们的标识符去读数据, 那么我们看一下这个阿尔弗的话,他请求的格式是怎样的,就说,呃,我们请求的数据格式,举例这里,呃,请求,那么我们这里是有 四个 bug 的 数据,对吧?这个是请求的长度,那么 sid 是 我们请求的服务是阿尔弗,那么后面的 bid 的 话就是跟的就是我们请求的标识符 法表示符,那么他带了两个比特的数据,那么后面的话就是填充位, 那么请求之后控制器给我们得到响应,对吧?就是,呃,我们下面所看到的啊,响应,那么具体的长度的话,根据我们那个 d i d 所携带的数据有关说啊哈,呃,就说我们的格式啊,第一个, 第一个 bug 零,他这一位具体的长度跟我们这个 f 幺八六,他请求的请求之后得到响应的数据后面跟着数据有关,那么我们先开始是那个 bug 一, 那么就是六二,他是 s i d, 加了四零就是二二, 加了四零的大的是六二,那么就正响应啊,正响应后面跟的是 d i d, 就是 在标识符,那么是一个啊零叉 f 幺 八六,那么这里多了一个零,这个是写的问题,呃,后面的话就是我响应得到的,嗯,携带的数据,那就是二二服务去读标识符 啊,我们的二服务的话,一般测的话又是测他的正响应, n, r, c, 哎,以及啊,读 正向去读他的那个支持的 nad 和逆向去读他不支持的 nad, 那 我们看他的他的 nrc 的 响应是不是满足我们举证表第一里面的要求啊?这就是二二服务。

u d s 诊断服务系列标准有好几百页,我们只需要牢记这五个服务就够了。第一个是幺零服务,幺零服务是整个诊断绘画的开始,其中幺零零幺可以进入到默认绘画,幺零零三可以进入到拓展绘画。 如果你所测试的 e、 c u 能够重编程,还可以用幺零零二服务对其重编程。那我们再说二二服务。二二服务是读取车辆数据,读取车辆配置的服务。 比如说我们想读取当前的水温是多少,读取当前有哪些功能是开启的,我们都可以用二二服务。我们再说二一服务,二一服务是写数据、写配置的关键服务,我们可以用这 控制车辆的某些功能开启、关闭,也可以引入其他的一些数值,比如说里程 数值。我们再说幺九服务,幺九服务是读取车辆故障码的一个重要服务,测试工程师可以用它读取 当前的车辆故障信息和历史车辆故障信息。最后我们再说幺四服务。幺四服务可以清除 车辆的故障码,在车辆修好以后把故障码清除,免得占用存储空间。掌握上述五个服务,就可以解决我们日常工作中百分之八十的诊断场景,比啃完一本书都要有用。

做车载测试一定要懂 uds 诊断协议吗?我直接跟大家说实话,想入行拿高新, uds 是 必学必考的核心。不管是智能座舱、三电系统,还是实车抬价测试、车企面试、日常工作都离不开它。 像故障码读取、报文诊断、 e c u 刷写、功能排查全都要用到 u d s 协议,零基础入门,不用学的特别深奥,不用很复杂理论,只要掌握常用服务诊断流程、实操用法,就能满足上岗需求。如果你只是想 做点基础的点点功能测试,薪资低没发展,想拿高薪走长远, u d s 必须吃透,这是车载测试硬核基本功。

at unified diagnostic services 统一诊断服务是车在网络中用于故障检测和数据监视的通信协议。在 iso 一四二三零、 iso 一五零三一、 iso 幺五七六五这些标准中都有定义。大子协议为 ecu 电子控制单元设备提供了一种标准化的方式来进行诊断和在编程。大子协议包含以下主要功能 一、数据诊断允许获取存储在 e、 c、 u 内部的数据,如故障码、数据流等。二、控制功能可以对 e、 c、 u 进行控制,如模块复位、进入编程模式等。三、软件编程 可以进行在线或离线的软件升级。 autos r automotive open system mayor kite texture 汽车开放系统 架构是一个全球汽车产业链上的大型联合体,其主要目标是建立一个开放的、标准化的汽车软件架构。基于 otos。 二、工具链软件的开发流程一般包含以下步骤一、系统配置 使用 autos 二工具链进行系统模块配置,包括数据类型、接口、组件、运行实体 runnable、 系统映射等。 二、生成基础软件根据显示配置生成平台相关的基础软件 be stabble, 例如操作系统 os、 内存管理器 map、 通信组件 com 等。 三、编写应用软件 s 根据需要实现的功能编写具体的应用层处理逻辑代码。四、集成 将编写的应用程序和征程的基础软件组合在一起,形成一个完整的系统。五、验证利用模拟器或者实际设备进行功能验证,杜绝存在的问题。需要注意的是, 奥特斯尔还定义了一套规范的软件开发流程,基于此流程,可以很容易对软件系统进行升级和扩展,同时也方便了各个汽车配件供应商的协同工作。

今天给大家说一下 u d s。 协议当中的物理地址和功能地址的一个详情,咱们在使用 u d s。 协议的时候啊,需要在更多设置里面去开启地址的一个配置, e c o 的 地址主要分为物理地址和功能地址。在 u d s。 协议当中,第一个物理地址啊,一般是用来指特定 e c o 的 一个地址的,它主要是直接与特定 e c o 进行通信,每一个 e c o 都有一个唯一的一个物理地址,一般在 o t a 升级的时候, 针对不同升级的一个 e c o 要配要配置不同的一个地址。第二个给大家说一下功能地址,它是用来描述 e c o 功能的地址, 不呃,不是特定的去指某一个 ecu, 因为多个 ecu 可能会去响应同一个功能地址,这也就允许发送者,比如说诊断工具发送同一个请求给执行特定功能的 ecu 的 话,不需要去知道它们各自一个物理地址, 这就对于执行诸多系统诊断之类的一些特定功能的时候非常的有用。如果说呃功能地址不进行详情说明的话,一般都是七 d f, 那 功能地址和物理地址它们在哪方面比较常用呢? 像在 e c o 进行刷写的时候,一般都是用物理地址,一般在进行诊断的时候都是去找对应的一个功能地址,记得点赞关注哦!

大家好,我是贾老师,我们又见面了,我是一名一直坚守在众多车企车载测试领域最前沿的守望者, 贾老师所有视频呢,都会跟大家分享车载测试的技术干货,在最近一年多的时间里呢,贾老师已经成功地帮助超过一百名的小伙伴进入了各家车企 啊,成为一名车载测试工程师啊!是的啊,是贾老师亲手帮助送进去的啊,不是送到橘子里,耗子里啊,是送到车企 啊,贾老师亲力亲为的为这些小伙伴过他们的车载的测试简历,包括过他们车载测试的技术,包括他们车载测试的相关项目啊,给他们一一分析。呃,所以说,希望各位正在观看视频的小伙伴呢,如果对车 车载测试有任何的技术疑问啊,可以在留言区踊跃的留言评论啊,贾老师也会一一回复我们的小伙伴 啊,如果想学习车载测试更多呃技术技能的小伙伴呢,可以一键三连啊,关注 up 主收藏起来啊,去学习贾老师其他的车载测试的技术的这个视频。 那本期视频呢,跟大家分享的是一个非常重要的啊,车载测试领域里面一个非常重要的模块, u d s 诊断,当然 u d s 诊断是很大的一块了啊,那本期给我们的小伙伴分享的是零 x 二七服务 啊,也就是我们说的解锁 e c u。 那何为解锁 e c u? 那就得先谈一谈。呃,我们对 ecu 各种诊断的操作中,有一些非常私密性的操作啊,比如说你想升级刷写我们的 ecu 啊,改变 ecu 中的构建程序, 或者说我们现在现在想向 e c u 中写入一些非常重要的数据, 比如说车架号啊,就是我们汽车的 v i n 码,或者说想写入一些非常重要的软件的、硬件的版本的这样的一些信息,那不是说谁会这个,谁会一点我们诊断的服务,谁就都能像这个 e c u 中所写入的, 那必然需要有一个类似于密码的这种东西,那必须要让我们的 e c u 处于一种解锁的这种状态以后才能去写入这些啊,比较私要的这些 数据,或者说是去刷写我们的这种 e c u, 那这就涉及到可以用我们本期视频所讲解的二期服务来解锁 e c u, 让 e c u 呃处于一个解锁的这种状态, 那怎么样用二期服务解锁我们的这个 e c u 呢?或者说解锁 e c u 的这个流程又是怎么样的呢?我们的小伙伴可以看屏幕上的啊,现在的这样的一个啊,动画视频 啊,我们可以看到左边是诊断仪,右边是 e c u, 诊断仪需要先向我们的 e c u 发送一个请求,请求一个种子,种子就是 e c u 通过自己内部随机算法生成的一个随机的 数值啊,两两个字节啊,四个字节都比较常见。那么然后呢, ecu 就会把生成的这个种子作为本次的响应诊断的响应返回种子给到我们的这个 ecu, 与此同时呢,我们 ecu 那一边啊,就是 ecu 那一边也会用一个啊,特别自己的啊,很安全性很高的安全算法,根据这个种子会计算出一个 t 啊,一个钥匙啊,已被后面去进行验证, 那么这个啊安全算法非常非常的保密啊,外人是拿不到的,车企之外的外人是拿不到的, 那我们的诊断仪如果有这个授权的安全算法,他同样的也会用这个安全算法算出一个 k, 一般也是 这两个字节啊,四个字节的比较多,紧接着他就会把这个 k 作为第二阶段的请求再发送给 e c u, 让 e c u 去进行验证。那 e c u 收到了诊断仪发送过来的这个 k 啊,跟他自己算出来的这个右边的这个 key 去进行对比,这就是我们在验证我们的这个 key, 如果验证通过,他就会返回肯定响应,当然验证失败也会返回否定响应, ok, 这就是我们啊,咱们的这个呃 解锁 e c u 要用二期服务去解锁 e c u 的这样的一个呃流程,那具体的二期服务的豹纹实力是怎么样的呢? 我们来结合刚才啊看到的解锁 ecu 的流程,再来给我们的小伙伴说说二期服务的啊请求响应的相关的这个报文。那我们可以看到现在屏幕上方,同样我们的诊断仪准备 请求一个种子向我们 ecu 发送二七零幺这样的一个子功能的请求,零幺就代表是要请求一个种子 服务,当然是二七零幺同样的 ecu 啊,假设啊收到这个请求以后,利用自己的随机算法生成了一个随机的种子。本例中假设是两个字节 呃右边的三 a f 二,那么他紧接着就会用肯定响应六七零幺三 a f 二把这个三 a f 二发回 为给诊断仪,同时服务器 e c u 这一边会利用自己的安全算法算出一个 k 啊,就是由三 a f 二算出来的一个 k。 本例中假设是九幺五 c, 同样诊断仪内一边用事先呃拿到的呃 e c u 这边的安全算法,它也会计算出一个 t, 那他拿到的算法是正确的,如果算的对,他算出来的必然也是九幺五 c。 紧接着第二步,他就要用二七零二这个请求来发送 t, 他当然就会把算出来的九幺五 c 这个蓝色的九幺五 c 发送给我们的这个 ecu, 那我们的 e c u 拿到诊断仪发送过来的九幺 f 四五呃九幺五 c, 和自己计算出来的九幺五 c 进行对比, 验证这个 k, 那验证这个 k 的结果就有可能有两种,是吧?一个是验证通过,比如说当前情况下,诊断仪发送过来的这个九幺五 c 和我们的这个 ecu 自己算出来的九幺五 c 相等的,那这就是啊,会给出一个肯定响应,如果验证失败,就会给出否定响应。本例中算出来的是对的,那给出的就是一个六七零二这样的一个肯定响应,这个时候 ecu 就解锁成功了, 那这就是我们结合了这个解锁的流程,看到了一个 e c u 的豹纹实力。那我们后面还有几点几个重点要和我们的小伙伴说明。第一啊,咱们必须要在扩展绘画 下啊,才能使用二七服务来解锁 ecu 啊,否则一定会给我们一个否定响应。如果那么不在二七服,不在我们的扩展规划下啊,然后去解锁我们的 ecu, 就会啊给回一个否定响应。 第二一个啊,稍微难一点点理解的就是,其实啊,我们不只有二七零幺二七零二这两个子宫门,可能还会有 零三零四、零五零六这样一对一对的啊,零幺零二是一对,零三零四是一对,零五零六是一对,零七零八是一对。那所有单数的子宫门啊,一三五 代表都是发送请求,请求一个种子,而零二零四、零六零八这样 偶数的子功能都代表要进行发送一个 k, 让我们的 e c u 去进行验证。那为什么会有这么多不同的请求种子啊,并且配套的我们的发送 k 的子功能呢?其实也就是要协议规定 ecu 可以支持不同的啊,多个啊安全级别啊,也叫 level 的这样的一种解锁,也就是说,呃,我们 ecu 是可以定义多个不同的解锁级别状态下各做各的事啊, 这个不同的解锁级别安全级别并不是谁比谁更高啊,就是有几个不同的安全解锁解锁级别,比如说,那么我们啊,假设啊,我们有三 个啊,三个安全级所的这个级别,那我们就可以配置用二七零幺去啊,请求啊一号级别的这样的一个种子,然后用二七零二去发送一号级别的这样的一个 k, 我们可以配置用二七零三啊去。呃,请求二号级别的这个安全的种子用二七零四去发送二号安全级别的 key 用二七零五去啊发送三号级别的这样的请求种子的请求用二七零六去。呃,发送三号级别的这个啊, t 是这样的啊,这个是由我们的呃主机厂或者说 e c u 的供应商自己去定义的,当然一定会有零一和零二 这一组。那第三点我们要说的话呢,就是我们的否定响应时候的否定响应码,这个比较重要了,那像我们的这个解锁 e c u 的时候啊,如果你使用不恰当的请求,可能会得到否定响应。 比较常规的啊,比如说咱们的这个 e c u 解锁的级别啊,没有零三零五、零七,你非要用 二七啊,零三零五、零七,这个时候我们 e c u 就会返回幺二这个 n r c 否定响应码,代表当前请求的这个子宫能不被 e c u 所支持。还有一种很常见的情况,我们还只是处于默认绘画下, 我们就去请求解锁 e c u 了啊,那这个时候呢,我们的 e c u 一般会返回二二 二的否定响应码啊,代表这个解锁 e c u 的前提条件不正确,没有出于扩展,绘画下是不能解锁 e c u 的,我们刚才有提到过。 那如果我们解锁 e c u 的时候啊,使用,比如说二七、零二啊,零四啊,这样发送 k 让 e c u 去验证 k 的这个, 呃,请求的时候,我们的 k 计算出来的不正确,说穿了就是你密码错误啊,理解成这个意思吧,那这个时候我们的 e c u 就会返回否定响应码为三五的否定响应三五就代表我们发送的 k 不正确, e c u 验证失败了。 那么一般而言,我们如果不断地去尝试解锁 ecu, 不断地发送错 购物的这个 k 达到了三次啊,有的是五次,就看 e c o 的研发人员是怎么规定的啊,车企里面一般是三次到,达了三次以后啊 就达,就是达到了这个 e c u 设定的最大的呃验证失败的次数以后,那么我们的呃 e c u 这次就会返回三六否定响应码的否定响应, 那么返回了三六以后,如果诊断仪还是要发送啊解锁 ecu 的这个请求,这个时候我们的 ecu 直接返回 三七否定响应码,这个是什么意思呢?也就是说我们 e c u 一旦达到了失败最大次数,他会把自己锁定一段时间,那在锁定的这段时间啊,有的可以是几十秒,有的甚至 可以是几分钟,如果这段时间我们的诊断仪再发送我们的二期服务,尝试去解锁 ecu, ecu 就会给回一个三七的否定响应码,就代表你不准来解锁我。 好了,这个就是我们嗯二期服务的常见的否定响应码。那支持我们本期视频讲解二期服务解锁 ecu, 也给小伙伴讲解到这,希望我们的小伙伴喜欢。如果想学习车载测试技术的更多细节 啊,请一键三连关注 up 主啊,点个赞啊!如果希望获取本期视频相关资料的小伙伴,也可以加 up 主的微信啊,感谢小伙伴的收看,我们下期再见!

u d s 诊断,其实它就是汽车的专属体检系统,百分之七十五的车载岗位都要会学会直接解锁,薪资加成结合实际案例,一听就懂。 先举个生活化的例子,咱们身体不舒服会去医院做体检,汽车也一样,行驶中出故障、售后、维修、升级固件都得靠诊断,搞清楚问题在哪。而 u d s 就是 行业统一的汽车体检标准,不管是比亚迪、宝马还是特斯拉,未来大部分车载 ecu 都遵循这个标准, 相当于给汽车诊断定了通用语言,不用再为不同车型单独适配。 e u d s 到底是啥?一句话讲透, u d s 的 全称是统一诊断服务,核心依据是 iso 幺四二二九协议。简单说就是车企给汽车的每个 e、 c、 u 都装了诊断接口, 维修人员或工程师用诊断仪连接后就能发送诊断指令,汽车收到后会返回体检结果。比如故障在哪、运行状态如何,还能远程做固件升级、参数配置全程标准化,操作高效又精准。二、 u d s 真实应用案例,车载工作天天见, 别觉得它离你远,这些实际场景里全是 u d s 的 身影。案例一,汽车亮故障灯 u d s 快 速定位问题, 你开车时突然亮起发动机故障灯,慌不慌?四、 s 店师傅会用诊断仪连上车载 o、 b、 d 接口,通过 u d s 的 幺九服务,直接读取到气缸易失火的故障信息,还能通过 u d s 获取故障发生时的转速、水温、喷油压力等数据,不用拆发动机,十分钟就锁定问题,使火花塞老化, 换完直接清故障码,故障灯就灭了,这就是 u d s 最常用的故障排查功能。案例二,汽车远程升级 u d s 实现在线更新软件你的新能源汽车收到厂商推送的 续航优化升级包,不用开去四 s 店,在家就能更新,这背后就是 u d s 在 工作。通过 u d s 的 三六服务下载固件,把升级包传到车载 ecu, 全程不影响用车,相当于给汽车在线更新系统。现在新能源汽车的 o t a 升级核心就是 u d s 诊断协议在支撑。案例三, 出厂配置个性化功能 u d s 统一校准车企出厂时,要给不同配置的车型设置功能参数,比如高配车默认自动空调二十四摄氏度,低配车默认手动模式,或者配置车窗一键升降的灵敏度。这时工程师会通过 u d s 的 二 e 服务, 给每辆车的车身 e、 c u 写入对应的配置参数,标准化操作不会出错,批量生产时效率超高。案例四, 售后维修部件测试 u d s 验证是否合格汽车的车灯不亮了,维修师傅换完新大灯后,会用 u d s 的 二 f 服务发起车灯功能测试,发送指令,让大灯切换近光、远光转向灯, ecu 返回执行成功的响应,就说明新部件安装没问题, 这一步能避免装错或装坏的部件出厂,保障维修质量。简单说, u d s 不是 抽象的理论,而是每天都在车载场景中用的实用技能,求职时直接加分,工作中遇到故障排查、升级配置等问题也能轻松解决。